基于改进量子遗传算法的机器人关节轨迹优化
2022-09-19代瑞恒杨先海孙阳陈晓虎谭帅薛鹏
代瑞恒,杨先海,孙阳,陈晓虎,谭帅,薛鹏
(1.山东理工大学机械工程学院,山东淄博 255049;2.胜利油田高原石油装备有限公司,山东东营 257000)
0 前言
随着电子产品的消费数量增加,报废的电子产品也越来越多,处理不合理将会造成严重的环境污染及资源浪费,因此分拣回收可以最大程度上减少污染、增加资源的回收率。目前,电子元器件回收已经成为回收行业的热点。经分拣的电子元器件回收率会大幅提高,然而分拣工作非常繁杂,应用机器人将大大提高分拣效率并减少对环境及工人的危害。若要完成对小部件的分拣,就要减少机器人的运动冲击,避免因运动惯性错过最佳分拣位置,减少机器人的运行时间,提高机器人分拣效率。20世纪90年代,首先由NARAYANAN等提出量子遗传概念;21世纪初,由HAN等提出了真正意义上的量子遗传算法(Quantum Genetic Algorithm,QGA)。如今,量子计算已经成为当下研究的热门,将量子计算和遗传算法结合起来可以更快地解决更加复杂的问题,与一般算法相比,它优化问题的效果更好。采用五次多项式及三次多项式的轨迹规划方法时,角急动度曲线变化都存在突变、精度不高等问题,甚至低阶的轨迹规划方法根本无法保证机械臂的冲击。本文作者采用七次多项式插值对关节轨迹进行规划,提出正态分布旋转门步长策略,改进量子遗传算法,以最短时间为目标函数对机器人关节轨迹进行优化,提高机器人的分拣效率。
1 多项式插值运动轨迹规划
1.1 串联机器人简介
使用四自由度串联机器人能够完成分拣电子元器件的工作,其外形特征如图1所示,规格参数如表1所示。
图1 机器人外形特征
表1 机器人规格参数
由于串联机器人角加速度影响机器人手臂运行的平稳性,角加速度曲线越连续平滑机器人运行越平稳,因此对角急动度的研究也非常重要。为获得机器人角急动度的平滑连续轨迹,增加角急动度在初始和终止时刻的条件。
1.2 建立七次多项式数学模型
由8个边界条件可以确定唯一一个七次多项式数学模型,如式(1)所示:
(1)
边界条件为
将边界条件代入方程可得到一组唯一的多项式系数、、、、、、的值。
由于用单纯的多项式规划轨迹最大的问题是没有匀速段,且速度、加速度变化幅度比较大,因此采用控制中间点选取的方法控制曲线的变化趋势。拾取机器人关节轨迹上的多个途径点,采用式(2)控制曲线中间点选取:
(2)
其中:
式中:()表示中间点的角度位置;(+1)表示下一个数据点的角度位置;(-1)表示上一个数据点的角度位置;表示时刻。
建立的该机器人的七次多项式数学模型可输入已知条件,经七次多项式计算得到输出向量。
1.3 轨迹规划分析
图2 优化前关节2运动曲线
由图2中的角加速度-时间曲线可以看出,整个过程中机器人角速度变化较小,有利于控制电机进行机械臂动作;从角急动度-时间曲线可以看出,随着时间推移,该曲线保持平稳,有利于延长电机寿命,从而减少机器人的冲击损耗。可以看出,规划的机器人轨迹各曲线平滑稳定,能够完成经过途径点的轨迹规划需求。
构造目标函数如式(3)所示:
(3)
其中:为各关节节点时间差。
2 基于改进的量子遗传算法的最短时间轨迹优化
2.1 量子遗传算法
量子遗传算法是一种概率算法,其进化方式是改变量子比特的相位完成种群进化。当前最常用的是一种量子门旋转策略表,需要不断查表确定旋转角,因此,造成算法的进化方向单一,易陷入局部最优,在算法求解过程中造成目标函数提早收敛,无法到达理想点。因此,提出一种自适应的动态旋转门,可以在一定程度上解决这一问题。
(4)
其中:=2π×,为(0,1)中的随机数,=1,2,…,,=1,2,…,;为种群规模;为空间维数。当前最优量子量子位的概率幅为
(5)
2.2 基于正态分布的旋转门步长策略
旋转角值的选取直接关乎算法的收敛效果,旋转角的更新应尽可能根据实时情况进行动态调整。
(+1)=()-sgn()·Δ·
(6)
其中:
(7)
(8)
(9)
(10)
图3 k值选取示意
将公式(8)转化为标准正态分布:
(11)
可通过式(12)计算得出:
(12)
2.3 概率幅的更新
量子旋转门转角方向可改变量子位的相位,实现余弦位置和正弦位置的同时更新。其概率幅更新为式(13):
(13)
其中:=1,2,…,;=1,2,…,;s表示sin;c表示cos。
3 算法流程与仿真实验
3.1 算法流程
(1)初始化全局种群规模,随机生成个染色体,并用量子比特编码;初始化迭代次数=1,并设置最大迭代次数为100、初始步长为、变异概率为0.05;
(2)测量所有染色体,根据编码方案,进行解空间变换,并评估适应度,记录梯度;
(3)比较各染色体的适应度,记录当代最优染色体的最优解,判断是否符合终止条件,若符合则结束;不符合则继续进行步骤(4);
(4)测量所有染色体,根据编码方案,对其进行解空间变换,记录梯度值;
(5)根据各梯度值统计计算方差和梯度均值,根据式(6) (12)确定下一个旋转角大小,根据式(5)确定旋转角方向为-sgn();
(6)执行所有染色体量子非门,按照变异概率进行变异操作,得到下一代种群,记录最优个体和对应的适应度;
(7)判断是否满足收敛条件或者达到最大迭代次数,若是,则输出结果跳出循环,否则=+1返回步骤(3)进行循环计算;
(8)输出最优结果,结束程序。
3.2 测试函数
测试函数1:
(,)=10cos(2π)+10cos(2π)---20
其中:∈(-512,512)。
测试函数2:
其中:∈(-512,512)。
分别运用GA、PSO、改进的量子遗传算法(Improved Quantum Genetic Algorithm,IQGA)测试函数1,结果如表2所示。
表2 三种算法的结果对比
可知:IQGA的搜索能力优于粒子群算法和传统遗传算法。这是因为量子位概率幅的编码机制增加了搜索能力,正态分布的旋转门步长策略能够有效提高IQGA的搜索能力,其平均步数比其他2种算法少。
3.3 仿真实验
将式(3)作为目标函数代入IQGA算法得到该算法的进化曲线如图4所示。
图4 IQGA算法进化曲线
优化前后关节运动轨迹如图5所示。可知:经过改进的量子遗传算法优化后,机械臂动作时间明显缩短,优化后的时间序列为[0 1.53 3.21 4.22 7.43] s,总时间为7.43 s,比优化前时间缩短38.08%。
图5 优化前后关节运动轨迹
根据逆运动学求解得到各关节轨迹节点,应用以上算法计算其余3个关节的轨迹规划如图6所示。可知:机械臂在轨迹规划后能够完成动作的前提下,其急动度变化幅度越来越小,即冲击减小,符合机器人实际工况,利于机械臂抓取目标工件时,在整个动作过程中角加速度连续无突变点,且能够保证角急动度连续平滑变化,验证了轨迹优化算法的正确性;该优化算法能够有效缩短机器人运行时间。
图6 各关节最优轨迹曲线
4 结论
针对关节型机器人运动规划及优化问题,以最短时间为研究目的,提出一种改进的量子遗传算法,并得到如下结论:
在量子旋转门的步长选取策略中引入了正态分布函数,使量子旋转门具有统计学特性,减少了因个别数值的选取引起的算法不收敛,增加了算法的鲁棒性;以机器人关节动作最短时间为优化目标,仿真结果显示,优化后时间缩短了38.08%,提高了机器人的运行效率。