文档介绍:工业机器人时间最优轨迹规划仿真研究
摘 要:为了使工业机器人在某个轨迹下执行焊接任务的时间最短,采用改进的模拟退火算法作为优化方法,对工业机器人关节轨迹进行时间最优规划。仿真结果表明,与其它同约束条件下的轨迹规划算法相比,采用多项式构成的轨迹位置表示如下:
本文将机器人运动轨迹分为3个区间,求取通过3个区间对应时间最短的运动轨迹。假设机器人关节1通过3个区间的运动位置分别为 P1(t1)、P2(t2)、P3(t3) ,机器人关节1经过3个区间所用时间分别为 h1、h2、h3,则:
速度与加速度表达式为:
其中[i=1,2,?m-1;aji(j=0,1,?5)为第i]段轨迹对应的多项式。
使用五次多项式描述运动轨迹时,为避免机器人在轨迹节点处产生关节冲击,需要保证关节位置、速度、加速度以及二阶加速度和三阶加速度的连续性,所以一般要考虑其约束条件。在实际关节运算过程中,一般将轨迹始末节点处的速度和加速度值设置为零[17]。
通过MATLAB求出关节位置、速度、加速度、二阶加速度的极值点,作为轨迹优化的约束条件范围。 2 模拟退火算法原理及其改进
模拟退火算法原理
模拟退火算法(Simulated Annealing)源于统计物理学[18],物体中每个分子的状态服从Gibbs分布,即:
式中,[E(ri)]为第[i]个分子的能量函数,[ri]为第[i]个分子所处状态,[k]为玻尔兹曼函数,TW表示温度,[ρ(ri)]为第[i]个分子的概率密度。为方便计算,[k]一般取值为1。
算法源于对实际固体退火过程的模拟,先将固体加热到足够高的温度,然后逐渐冷却。加热时,固定内部粒子为无序状态,内能增大,逐渐降温时,粒子趋于有序并达到平衡状态,最后常温时内能减为最小。因此,该算法实际是将优化问题类比于退火过程中的能量最低状态。
模拟退火算法流程
模拟退火算法具体步骤如下:
(1)给定模型每个参数带的变化范围,在该范围内确定初始模型[x],计算相应目标函数值[E(x)]。
(2)对当前模型进行扰动,产生一个新解[x-new],计算相应的目标函数值[E(x-new)],得到增量[ΔE=E(x-new)-][E(x)],其中[E(x)]为优化目标。
(3)若[ΔE<0],则接受[x-new]作为新的当前解,否则以概率[exp(-ΔE/kTW)]接受该值,[x-new]作为新的当前解,TW为温度。
(4)在温度TW下重复一定次数的扰动和接受過程,即重复步骤(2)、(3)。
(5)缓慢降低温度TW,重复步骤(2)-(4)。
(6)如果满足终止条件,则输出当前解作为最优解,结束程序(终止条件为当连续若干个新解都没有被接受时,则终止算法)。
模拟退火算法改进
模拟退火算法具有较强的全局优化搜索能力,整体搜索速度一般。因此,对模拟退火算法进行改进。
模型参数产生
加入遗传算法的变异、约束条件控制与粒子群算法的二次迭代思想,可增强局部搜索能力,改变新模型接受概率,进而提高收敛速度。改进方法如下:
此处根据一种遗传算法的非均匀变异思想[19],采用非均匀变异策略对当前模型参数扰动产生新的模型参量。其中r为(0,1)之间的随机数;t为当前温度;N为最大迭代次数,N与最高温度、最低温度有关;[λ]是确定非均匀程度的常数,在本文中[λ]取2。
同时,引入粒子群算法思想,新模型参量的产生追随当前最优值,并为[xi]设置优化边界为[ximin,+ximax],在满足该约束条件的情况下进行概率运算。在轨迹优化中,该约束条件为对应位置、速度、加速度的约束条件。
该变异方法结合了遗传算法变异思想和粒子群算法追随当前最优值的思想,能够增加种群多样性,提升全局收敛速度,避免陷入局部最优值。
接受概率优化改进
模拟退火算法采用广义带的Gibbs分布产生接受概率P,即:
式中,[Δf]表示能量差,TW表示温度,h为实数,按照该公式计算得到的概率判断是否接受新模型。但上式只单纯考虑了能量的绝对变化,没有考虑相对变化。为此,顾汉明等[20]提出一个修正后的概率函数,即:
式中,E为新模型目标函数,E1为当前模型目标函数。本文在此基础上保留原公式不变,对[α]、[β]及h的取值范围进行改进,如式(13)所示。
当新模型E1>旧模型E时,h>1,概率P则越大。
在传统模拟退火算法中,以公式(11)表达式中的概率进行温度跳变,温度越高,接受差解的概率越大,而在改进的接受概率中,不仅要考虑新