1.一种爬树机器人关节轨迹优化方法,其特征在于,包括以下步骤:步骤S1.建立机器人关节轨迹优化模型;将机器人运动轨迹映射到关节空间,将机器人轨迹规划问题转化为关节运动的优化问题建立其优化模型;利用伯恩斯坦函数构成机器人各关节运动加速度模型,将伯恩斯坦函数的系数作为优化问题的决定向量,以最小化最大加速度为优化目标;
步骤S2.建立改进的蝴蝶优化算法;在传统蝴蝶优化算法的基础上,引入改进的Tent混队映射策略初始化种群;同时,结合自适应全局引导策略更新蝴蝶位置;最后,在算法后期融合折射学习策略更新种群策略;具体的步骤S2如下:步骤S21.定义算法参数:定义蝴蝶种群大小为N,最大迭代次数为Tm以及优化问题的维度为d;刺激强度I、感觉因子c、幂指数a和切换概率P;
步骤S22.初始化种群:利用改进的Tent混沌映射策略生成初始种群,公式如下:若Xi(t)<0.7,则Xi(t+1)=Xi(t)/0.7;
若Xi(t)≥0.7,则Xi(t+1)=(1‑Xi(t))/0.3其中,Xi(t)为t时刻第i个蝴蝶个体的位置,i=1,2,3,…N;
根据式μ=cI^a,计算蝴蝶香味;
步骤S23.在蝴蝶算法的全局勘探阶段,采用自适应全局引导机制更每个蝴蝶的位置,公式如下:Xi(t+1)=Xi(t)+S*(Xbets(t)‑Xi(t))+γ*(rand‑0.5)*μS=Smin+(Smax‑Smin)/{1+exp^[‑δ*(fbest‑fi)]}其中,S是自适应步长,γ=0.5是扰动因子,rand是一个在[0,1]之间的随机数,Xbets为当前全局最优解;fbest为全局最优适应度值,fi为个体的适应度值,δ=0.25为调整系数,Smax,Smin为步长的上下限,^符号代表乘方;
步骤S24.在蝴蝶优化算法的局部开发阶段,采用折射学习策略对每个蝴蝶的位置进行更新,更新公式如下:Xi(t+1)=Xi(t)+η*(Xr(t)‑Xi(t))η=ηmin+(ηmax‑ηmin)*t/Tm
其中,η为折射系数,ηmax,ηmin分别为最大折射系数和最小折射系数;Xr为随机选取的参考个体位置;t为当前迭代次数,Tm为最大迭代次数;
步骤S25.若优适应度fi小于当前最优适应度fbest,则更新当前最优适应度和当前最优位置;
步骤S26.根据下式,更新感觉因子
c(t+1)=c(t)+0.025/(c(t)*Tm);
步骤S3.改进的蝴蝶优化算法在机器人关节轨迹优化中的应用;将关节运动优化问题的决策向量等价为改进蝴蝶优化算法中蝴蝶的位置向量;决策向量中变量的个数等于位置向量的维数;最优决策向量对应算法中最优位置向量;优化问题中的最大加速度对应算法中的适应度;最小的最大加速度对应为最优适应度;利用改进蝴蝶优化算法对机器人关节轨迹进行优化。
2.根据权利要求1所述一种爬树机器人关节轨迹优化方法,其特征在于,步骤S1建立机器人关节轨迹优化模型为:步骤S11.定义机器人关节初始状态为{ps、vs、αs},经过Time时间,机器人关节最终状态为{pe、ve、αe};其中,ps、vs、αs分别为初始状态机器人关节位置、速度和加速度,Time为轨迹优化的时间,pe、ve、αe分别为终止状态机器人关节位置、速度和加速度;
步骤S12.机器人关节运动位移计算公式为 机器人关节运动速度计算公式为
步骤S13.建立优化目标:以机器人运动过程中关节的最大加速度最小值为优化目标,具体表达式为minαmax=min max{|α(y)|,y∈[0,Time]};
步骤S14.建立约束条件1:机器人运动过程中关节的速度小于最大速度vmax,写成表达式为v(y)≤vmax,y∈[0,Time];
步骤S15.建立约束条件2:关节的加加速度绝对值小于最大加加速度γmax,写成表达式为abs{[α(y1)‑α(y2)]/[y1‑y2]}≤γmax,y1,y2∈[0,Time];
步骤S16.建立约束条件3:初末状态机器人关节位置分别为ps、pe,写成表达式形式为初末状态机器人关节速度分别为vs、ve,写成表达式形式为初末状态机器人关节加速度分别为αs、αe;
步骤S17 .采用伯恩斯坦函数描述机器人关节运动的加速度,具体为:其中,τ=y/Time∈[0,1],τ为归一化后的时间变量;n为多项式最高次数;βk为对应的系数; 为组合数。
3.根据权利要求1所述一种爬树机器人关节轨迹优化方法,其特征在于,步骤S3改进的蝴蝶优化算法在机器人关节轨迹优化中的应用为:步骤S31.根据步骤S21,给定改进蝴蝶优化算法的初始参数;
步骤S32.根据步骤S22,通过改进的Tent混沌映射创建初始种群X;
步骤S33.根据步骤S14—S16中的3个约束条件,判断当前种群是否满足约束条件;若不满足约束条件,则重新生成一组蝴蝶的位置向量,即决策向量;
步骤S34.根据步骤S13计算每个蝴蝶的适应度,即最小的最大关节加速度;
步骤S35.求步骤S34中所有蝴蝶适应度的最小值,并将其作为当前最优适应度,对应的蝴蝶位置为当前最优位置;
步骤S36.初始化循环变量,判断其是否达到最大迭代次数,若满足则停止迭代,输出蝴蝶个体最优适应度值以及最优位置;若不满足则继续执行步骤S37—步骤S312;
步骤S37.对每只蝴蝶执行步骤S38—步骤S312;
步骤S38.生成随机数R,如果随机数R小于切换概率P,则根据步骤S23,由自适应全局最优引导因子更新蝴蝶位置;
步骤S39.如果随机数R大于等于切换概率P,则根据步骤S24,由折射学习策略更新蝴蝶位置;
步骤S310.根据步骤S33判断约束条件;根据步骤S34计算所有蝴蝶的适应度;
步骤S311.根据贪婪策略更新当前最优适应度和当前最优位置;
步骤S312.更新感觉因子。