基于改进麻雀搜索算法的机器人能耗最优轨迹规划*
2022-06-29李纯艳晁永生李佳蓉袁逸萍
李纯艳,晁永生,陈 帅,李佳蓉,袁逸萍
(新疆大学机械工程学院,乌鲁木齐 830017)
0 引言
随着经济的发展,能源短缺已成为一个全球性的问题。然而,为了实现快速、安全的生产,工业机器人在生产线上的应用仍在不断增加,并渐渐成为企业能源消耗的主力军[1]。因此,制造企业必须采取节能措施降低由机器人工作产生的能源浪费。
相较于点位运动(PTP),连续运动轨迹规划(CP)可使机器人末端执行器在其工作空间内沿预定义路径的最佳位置进行工作(满足一个或多个给定目标和约束)。为使机器人平滑通过预定义连续运动路径,B样条曲线[2]在机器人轨迹规划中经常被使用。但采用B样条构造关节空间轨迹时,多数研究为三次或五次B样条轨迹[3],无法保证加加速度的平滑性及其在机器人启停时不产生突变,对机器人使用寿命有较大影响。此外,上述轨迹规划方法只解决了离散路径的连续平滑问题。为满足企业节能降耗目标,轨迹还应满足能耗最低的优化标准。且轨迹的优劣直接影响机器人的工作能耗[4-5],寻找能耗最优轨迹成为轨迹优化领域的研究重点之一。白云飞等[6]提出利用径向基函数(RBF)神经网络构建机器人功耗模型,并通过自适应PSO算法对轨迹进行了优化。PELLICCIARI等[7]推导了串并联机器人的机电模型。再从预定轨迹出发采用定常时间标度法计算能量最优轨迹。YOKOSE[8]提出将梯度法和遗传算法相结合从而快速求解具有非线性摩擦的机器人能耗最小化问题。但由于机器人能耗最优轨迹规划问题是复杂的非线性优化问题,遗传算法、粒子群算法和凸优化算法等性能上存在一定的不足,无法得到全局最优解。
研究表明,麻雀搜索算法[9](SSA)在标准测试函数寻优方面有着出色的表现[10],为此,提出一种基于改进麻雀搜索算法(ISSA)的工业机器人能耗最优轨迹规划方法。首先,以UR5机器人为研究对象确定7次B样条插值函数。其次,利用牛顿-欧拉方法[11]构造机器人逆动力学方程并推导能耗方程。最后,使用改进麻雀搜索算法在多种约束下优化能耗,并据此确定机器人各关节最优运动轨迹。
1 7次B样条轨迹构造
将l个离散笛卡尔位置点通过逆运动学转换为关节位置-时间序列:
TP={(tz0,θz0),…,(tzl,θzl)}(z=1,2,…,m)
(1)
式中,TP为关节位置-时间序列;z为关节数;θzl为tzl时刻所对应关节角。
通过B样条插值可得到机器人每个关节对应关节角点集的平滑轨迹。为保证7次B样条曲线通过第一关节点和最后一关节点,在第一关节点和最后一关节点设置7+1重节点。B样条曲线可以表示为:
(2)
式中,di(i=0,1,...,n)为B样条控制点;Ni,7(i=0,1,...,n)为7次B样条基函数。
机器人B样条位置轨迹求一到三阶导可分别得到各关节的速度vz、加速度az及加加速度jz轨迹。由式(2)可知,为构造B样条函数需反求n个未知控制点,因此需联立n个方程进行求解。其中,l个插值点可构造l个方程,只需再将B样条的r阶导数作为边界条件即可得到剩余n-l个附加方程。
(3)
(4)
2 动力学分析
将机器人连杆视为刚体,则机器人为多刚体串联/并联机构。若机器人各关节均为转动关节,则第i点的牛顿-欧拉逆动力学方程一般表达式为:
(5)
式中,
(6)
(7)
(8)
(9)
式中,m为连杆质量;f、n为实际施加在连杆上的力和力矩;F、N为作用在连杆上的力和力矩;R为旋转矩阵;P为平移矩阵;CI为刚体在坐标系{C}中的惯性张量。根据式(2)及式(3)所得各关节θi、vi、ai可计算出每个连杆质心的线加速度vCi和角加速度ωi。
3 优化模型建立
为了使机器人以有限的能源更高效地执行更多的任务,降低其工作过程中消耗的能量变得尤为重要,不考虑摩擦和电机发热,将运动过程中消耗的机械能视为机器人总能耗。
(10)
(11)
4 改进麻雀搜索算法
麻雀搜索算法根据麻雀发现、觅食、观察3种行为将种群内麻雀划分为3类。3类麻雀更新公式见文献[9]。然而,SSA算法也存在一定缺陷,即初始种群质量差且易陷入局部最优解导致算法产生“早熟”现象。为提高算法初始解质量、进一步加快收敛速度、增强全局搜索能力,提出以下改进策略。
4.1 精英反向学习策略
相较于随机生成初始种群的标准麻雀搜索算法,使用精英反向学习策略优化初始种群能在扩大算法搜索范围的基础上,使算法的收敛速度进一步加快。
(12)
4.2 最优麻雀高斯-柯西变异
为了防止算法陷入局部最优产生“早熟”现象,并提高算法的精度,在其迭代过程中引入了高斯-柯西变异策略使每代最优个体发生突变。变异后麻雀位置更新为:
(13)
(14)
式中,λ为高斯/柯西随机数。
由式(14)可知,高斯变异具有较强局部搜索能力,柯西变异具有较强的全局搜索能力[12]。因此当全局最优麻雀的能量储备变化率小于阈值时(取10-2)意味着算法陷入局部最优,需对最优麻雀进行柯西变异,引导麻雀跳出局部最优,增加麻雀种群的多样性。否则对最优麻雀进行高斯变异,加快算法收敛。
4.3 非支配排序
标准麻雀算法属多维无约束优化方法。而机器人能耗最优轨迹规划问题为多运动学约束优化问题,为使算法具有处理约束问题的能力,首先将约束条件转换为违反约束度目标,再采用非支配排序策略即可对种群内所有麻雀进行排序及分类。
根据以上设计,多运动学约束的ISSA算法流程如下:①设置算法参数,产生初始种群;②精英反向学习优化初始种群,排序得初代全局最优麻雀;③更新麻雀种群并排序;④当代最优麻雀高斯-柯西变异;⑤对比变异前后当代最优麻雀及全局最优麻雀适应度值,适应度值最低的为全局最优麻雀;⑥若达到最大迭代次数则结束算法,输出优化结果,否则,返回③获取新的种群。算法流程图如图1所示。
图1 ISSA算法流程图
5 仿真实验及分析
UR5机器人有6个转动关节,使其能够在笛卡尔工作空间中到达任何位姿,故用UR5机器人对所提方法进行验证。以不加负载的码垛后归位行程为例预定义8个路径点,逆解后得到各关节对应角度如表1所示。
表1 关节角序列
使用MATLAB软件进行仿真。设定算法的迭代次数为50次;种群数量为100;发现者数量占种群总数的14%;观察者数量占种群总数的15%;警戒值为0.8;UR5机械臂各关节速度、加速度、加加速度约束分别为vc=180 °/s、ac=35 °/s2、jc= 35 °/s3;以速度、加速度、加加速度曲线控制顶点作为约束条件,按多次实验结果设定约束放大系数kv、ka、kj均为2.8。将提出的ISSA算法与SSA算法、粒子群优化算法(PSO)进行了比较,每种算法独立运行20次,取PSO算法和SSA算法最优迭代曲线与ESSA算法最劣迭代曲线进行对比,得到如图2所示的最优个体进化图。
图2 寻优迭代图
如图2所示, PSO算法迭代15次后收敛,最优解为664.2 J,与其余两种算法相比,求解质量最差,在迭代过程中会陷入局部最优,需浪费大量计算时间进行多次迭代才能跳出。相较于PSO算法,SSA算法具有更高质量的最优解,最优能耗为634.9 J,但收敛速度最慢,在18次迭代后才收敛,可以说算法的求解质量是由求解速度换来的。由于精英反向策略的加入使得ISSA有最优初始解,最优初始解质量较PSO算法提升38%,较SSA算法提升13%,且高斯-柯西变异策略使算法仅需12次迭代便收敛到最优解为603.9 J,最优解质量较PSO算法提升9%,较SSA算法提升5%。结果表明,ISSA算法在求解质量,收敛速度,初始解质量上均有出色的表现。
ISSA算法优化所得最优能耗对应的时间序列如表2所示,为验证ISSA算法所得解的可行性,绘制如图3所示各关节位置、速度、加速度、加加速度曲线。由图3a可知,规划所得机器人各个关节轨迹能精准通过预设目标点。由图3b~图3d可知,7次B样条可在平滑轨迹的同时保证机器人启停时各关节速度、加速度、加加速度均为0,能有效减少关节间磨损,延长机器人的使用寿命。因此,采用ISSA算法进行机器人能耗最优轨迹规划是可行的。
表2 时间序列
(a) 关节位置 (b) 关节速度
为验证ISSA算法求解效率,将三种算法20次运行时间的平均值进行对比,结果如表3所示。结果表明,ISSA算法较其余两种算法平均运行时间有明显降低,证明ISSA算法在轨迹优化方面有一定优越性。
表3 算法平均运行时间
用MATLAB机器人工具箱对机器人的末端码垛轨迹进行仿真,如图4所示。由图可知,将机器人关节空间轨迹转换为机器人末端笛卡尔空间轨迹时仍能保证轨迹的连续平滑。进一步验证了所提方法求解能耗最优作业轨迹的可行性。
图4 机器人末端码垛路径
6 结论
(1)提出一种基于7次B样条插值的轨迹规划方法,保证了各关节速度、加速度、加加速度的连续平滑,使得机器人在通过每个指定路径点的基础上,提高其运行平稳性。
(2)改进麻雀搜索算法,引入非支配排序策略,使得算法具有求解非线性多约束问题的能力;同时增加精英反向学习和高斯-柯西变异策略,提高种群多样性,避免算法“早熟”陷入局部最优,并使得算法求解质量、求解效率及收敛速度得到提高。
(3)根据算法所求得最优解仿真得到机器人关节空间轨迹及笛卡尔空间轨迹,轨迹连续平滑且满足各运动学约束条件,验证了所提方法的可行性。