摘要:针对码垛机器人高速工作时末端易产生抖动现象的问题,文章提出了一种机器人轨迹规划的数学方法。文章分析了机器人轨迹对抖动现象的影响,应用最优化方法建立了机器人关节轨迹问题的数学模型,确定了机器人优化目标,使用遗传算法求解了该优化问题,运用Matlab进行了实验计算,求得了机器人各个关节的近似全局最优轨迹。文中提出的研究方法可以用于确定控制码垛机器人平稳运行的上层算法。
关键词:码垛机器人;遗传算法;轨迹规划
0 引言
目前,码垛机器人已经广泛应用于各类装卸工作中,不仅可以节省人力,还可以提高装卸效率,降低成本。然而,机器人在工作中必须保证运动尽量平滑、平稳,避免产生位置、速度和加速度的突变,如果运动发生波动,就会加剧机械部件的磨损,并导致机器人系统的振动和冲击。同时,产生的突变需要无穷大的动力实现,电动机受物理的限制也无法提供足够的动力。因此,我们必须对机器人的运动轨迹进行规划,以保证机器人系统长期、高效、平稳运行[1]。
时间最优轨迹规划是最早研究的机器人轨迹规划问题。为了避免机械手的振动,提高工作精度,最小冲击连续的轨迹规划受到关注[2]。孙亮[3]采用基本样条插值方法对机械臂轨迹进行规划,未采用算法对轨迹进行优化。王学林[4]等研究了机械臂在多个路径点的约束下连续轨迹的插补算法。朱世强、居鹤华[2, 5]等采用3-5-3样条函数对机器人轨迹进行规划,以机器人运行时间最优为目标,生成的轨迹加速度不连续,易导致机械手振动。Lin[6]采用粒子群算法以最小冲击为目标进行轨迹优化。Guo[7]采用粒子群算法对空间机器人进行动力学约束下的时间最优轨迹规划。Alessandro[8]采用三次样条规划,以最小冲击为目标,用遗传算法搜索,但他们没有考虑到实际情况,机械臂之间会发生碰撞的问题。王鲁平[9]等利用Matlab对码垛机器人进行了运动学逆解并对其轨迹进行规划。苗建伟[10]比较了蚁群算法、模拟退火算法和禁忌算法,分析了三种算法的特点和优劣性。乐英[11]等人采用了非均匀B样条对六自由度机器人运动轨迹进行了规划,得到了较好的效果。遗传算法可以解决领域的任何复杂系统优化问题,有较强的鲁棒性。遗传算法的本质特征在于群体搜索策略和简单遗传算法,使得其可以突破领域搜索的限制,可以实现整个解空间上的分布式信息采集和探索,而遗传算子仅利用适应度函数作为运算指标,降低了一般启发式算法在搜索过程中对人的依赖[12]。
本文以DT-1型码垛机器人为研究对象,提出了一种基于GA的最小冲击三次样条插值码垛机器人轨迹规划方法。在考虑运动学约束以及避免机械臂本体之间碰撞的情况下,实现四自由度机械臂的轨迹规划。在众多研究成果的基础上,改进遗传算法的适应度函数,增加关节空间的约束,得到更加合理优化的运行轨迹。
1 三次样条插值函数的构造
图1为大连某公司开发DT-1型码垛机器人的实物图,图2是该码垛机器人的机构简图,有四个自由度,分别对这个四个关节进行轨迹规划。
图1 DT-1型码垛机器人实物图
图2 码垛机器人机构简图
假设机器人需要连续通过四个位置点,为了保证关节轨迹的起始和终止加速度为零,需要在序列的第二个和倒数第二个的位置,加入两个额外点。因此,对于每个关节的6个位置点,相邻位置点之间,共包括5个时间间隔。为表述简便,使用hj表示第j段时间段时长,其中(j=1,…,5),将第i个关节预设点的位移表示为{qi1,qi2,qi3,…,qi6},其中,i=1,…,4。
使用三次样条插值,用三次曲线连接两个相邻点,代表运动轨迹,并保证相邻轨迹之间平滑过渡。因此,第i个关节的第j个时间段之间的轨迹可以描述为:
Qij(t) = 0xij+1xijt+2xijt2+3xijt3
(1)
其中,t是时间变量,t∈hj。每次时间段的起始和结束的位移和速度作为0x,1x,2x,和3x的系数。根据相邻点位置和速度连续的条件,系数可表示为:
0xij=qij
(2)
1xij=vij
(3)
(4)
(5)
其中,vij代表第i个关节在第j个关键点的速度。各参数如表1所示。
表1 轨迹规划参数说明
对于第i个关节,第一个预设点的位置qi1,速度vi1和加速度ai1已知。最后一个预设点的qi6,vi6和ai6已知,中间预设点qi3、qi4的位置已知。而第二个额外增加点qi2和倒数额外增加点qi5的位置未知。
为求得6个未知参数,需要6个方程,利用加速连续条件,以及初始和终止加速度为零的条件,可以得到以下方程:
AX=B
(6)
其中,
X=[qi2,vi2,vi3,…,vi4,qi5,vi5]T
2 冲击最小问题求解
针对码垛机器人,其始末点轨迹要求严格,而对于运动过程中机器人的轨迹并没有严格要求,只要不发生碰撞现象即可。因此将以关节坐标系下的轨迹规划为目标。
图3 遗传算法流程图
求解X得到6个参数后,就可以根据下式求得第i个关节第j段轨迹的冲击:
(7)
将每个关节中,每一段曲线的冲击求出后,将其平方积分求出,积分值越小,冲击之和越小,越利于机械臂的减振。优化问题可以表述为:
搜寻:
(8)
约束条件:
其中,T为机器人单元节拍时间。遗传算法流程图如图3所示。
3 仿真结果
仿真的目的是给每个关节规划一个光滑的运动曲线,遗传算法的搜索空间为五段轨迹的时间,输入的预设点为5个,因此M=5,由等式(3)得X=[qi2,vi2,vi3,vi4,qi5,vi5]T。使用的遗传算法的参数为:种群数目500,迭代代数30,交叉变异参数0.8,变量的二进制位数为22,求得结果h=[0.7867,2.5221,2.6514,2.3880,0.7518]T,关节的预设点为逆运动学解出的各关节必须经过的点,在表2给出,各个关节的运动学限制在表3中给出。关节轨迹图见图4。
表2 各个关节输入轨迹
表3 各个关节运动学限制
优化目标函数值如式(8)所示,当得出的轨迹不能满足约束条件时,目标函数值记为5×106,即最大值;满足约束条件,目标函数值为公式(8)计算得出的值。遗传算法迭代得出的每一代最小目标函数值在表4中列出,目标函数值由5×106降低到3.7968×104,使得整个轨迹的目标函数值大大降低,达到了预期的仿真效果。
图4 各个关节轨迹
表4 迭代代数与目标函数值
4 结束语
码垛机器人在工作时,合理的运行轨迹至关重要,既要保证目标的完成,运行时间最短,又要保证各关节速度,加速度和冲击等指标不超限,防止出现抖动现象。本文针对某码垛机器人单元,最短运行时间,提出了一种基于三次样条插值的轨迹优化方法,从理论上搭建了规划问题的数学模型,应用遗传算法,在满足角度、角速度、角加速度和冲击的约束下,应用MATLAB通过迭代运算求解,求得了机器人的运动轨迹方案。结果表明,机器人的轨迹经优化后,在保证搬运效率的同时,能保证机器人运行平稳可靠,避免了振动现象的产生,同时提高了机器人系统的稳定性。