APP下载

基于改进粒子群算法的时间最优机械臂轨迹规划

2021-01-10向朝兴阮大文

上海工程技术大学学报 2020年3期
关键词:插值适应度轨迹

黄 超, 茅 健, 马 丽, 向朝兴, 王 琛, 阮大文

(上海工程技术大学 机械与汽车工程学院, 上海 201620)

关节型工业机器人凭其良好的空间灵活性和高效、精准等特点,被广泛应用于现代工业自动化生产,如搬运、码垛、焊接、切割等[1].诸多实际应用表明,对机器人的运动轨迹进行规划不能仅关注运动效果和任务要求,还要考虑工作效率、能量消耗和平稳性等因素,从而实现最优规划[2].迄今国内不少学者围绕关节空间轨迹规划的时间最优、能量最优和冲击最优3个方面展开了大量研究,而时间最优的轨迹规划也最热门.

时间最优轨迹是指在一定约束条件下,工业机器人完成相同路径所用时间最短的轨迹.对关节轨迹进行时间优化的方法有多种,如采用遗传算法、粒子群算法、模拟退火算法等[3].殷凤健[4]采用三次样条插值方法进行轨迹规划,并通过自适应遗传算法对插值时间进行优化,但遗传变异过程中存在收敛速度慢、后期寻优效率不高的问题.邓伟等[5]提出一种基于双种群遗传的混沌优化算法,提高了进化速度和搜索能力.李国龙等[6]提出了改进粒子群算法,采用动态变化的惯性权重实现粒子的个性化搜索,并引入随机算子和随机局部搜索,避免陷入局部最优解.刘国强等[7]通过添加交叉算子、动态惯性因子、混沌变异等对粒子群算法作出改进,使群体在迭代初期能以较短时间搜索到最优值,迭代后期又能快速准确收敛到最优解,显著提高了搜索结果的精度.

本文针对线性递减改变惯性权重的粒子群优化(LPSO)算法易陷入局部收敛的问题,提出基于非线性动态改变惯性权重的粒子群优化(NPSO)算法,并利用NPSO算法进行关节运动时间最优求解.

1 机械臂运动学模型

达明TM900型机器人如图1所示,首先建立机械臂6连杆坐标系,如图2所示.

图1 TM900型机器人Fig.1 TM900 robot

图2 连杆坐标系Fig.2 Link coordinate system

坐标系{O}代表基座参考系,固连于基座底面中心,坐标系{Oi}代表连杆i的坐标系.由连杆坐标系可得到D-H参数表,见表1.

表1 D-H参数表Table 1 D-H parameters table

通过D-H参数和连杆坐标系建立机械臂正运动学方程,相邻连杆坐标系间的变换公式[6]为

(1)

根据以上各连杆变换矩阵可以建立机械臂末端运动学模型,得到机械臂末端相对于坐标系{O}的总变换矩阵为

60T=10T21T32T43T54T65T=

(2)

式中:c123=cos(θ1+θ2+θ3);s123=sin(θ1+θ2+θ3);其他同理.

(3)

式中:fkine()为正向运动学求解函数;robot_1为在Matlab中构建的机械臂对象;Po、Pe均为正向运动求解得到的位姿矩阵;ctraj()为轨迹规划函数;Pc为将整条路径划分为3段可获得4个路径点的位置矩阵;Xji为机械臂末端在第i个路径节点通过逆运动学求解得出的第j个关节的角度,得到前3个关节的关节角度,见表2.

表2 路径节点坐标和关节逆解Table 2 Path node coordinates and joint inverse solutions

2 基于改进粒子群算法的3-5-3多项式插值函数

2.1 3-5-3多项式插值函数的构造

工作路径1→2→3→4如图3所示,可划分为3段,机械臂末端在初始位置1和终止位置4处的速度和加速度均为0,起始段1→2采用3次多项式插值,中间段2→3采用5次多项式插值,终止段3→4采用3次多项式插值.使用3-5-3多项式插值函数进行轨迹规划,具备有效减小机构冲击,计算量小等优点.

图3 工作路径Fig.3 Work path

关节j的运动位置与时间的关系式分为以下几种情况.

当0≤t≤t1时,为

(4)

当t1≤t≤t1+t2时,为

(5)

当t1+t2≤t≤t1+t2+t3时,为

(6)

式中:未知系数aj1i,aj2i,aj3i(j=1,2,3,…,6)分别为第j个关节轨迹第1,2,3段插值函数的第i个系数,θj1(t),θj2(t),θj3(t)分别为第j个关节第1,2,3段的多项式轨迹.

已知条件:1) 第j个关节的4个插值点分别为Xj1,Xj2,Xj3,Xj4;2) 第j个关节在第1个插值点(初始点)和第4个插值点(终点)的速度和加速度均为0;3) 第j个关节在4个插值点处的速度和加速度均连续.将已知条件代入式(4)至式(6)中得到矩阵方程

A·a=ba=A-1·b

(7)

故当3段时间t1、t2、t3确定时,可解出系数矩阵a,然后将其回代入式(4)至式(6)中,可得到关节j的3段运动学方程,为

2.2 改进粒子群算法

采用改进粒子群算法寻求最短的关节运动时间,对机械臂的每个关节单独进行优化,选取单个关节完成运动所用的时间(t1、t2、t3)组成一个三维粒子群,随机生成N个粒子,粒子的适应度函数为

fitness=t1+t2+t3

(8)

式中,t1,t2,t3分别为起始段、中间段、终止段的关节运动时间.

根据适应度函数计算粒子的适应度值,选取当代粒子中适应度值最小的作为局部最优粒子pbest,迭代n次后所有粒子中适应度值最小的作为全局最优粒子gbest,可得

(9)

(10)

(11)

式中:k为当前迭代次数;n为全局总迭代次数.

本文引入一种非线性动态调整ω的方法,首先定义粒子i与粒子j间的相似度公式为

(12)

式中:d(i,j)为第i个粒子与第j个粒子的欧氏距离;dmax为空间粒子的最大距离.当d(i,j)→0时,s(i,j)=1;当d(i,j)→dmax时,s(i,j)=0,且s(i,j)⊂(0,1).故两个粒子距离越近,相似度就越高.

(13)

除满足普通约束条件外,机器人关节由伺服电机驱动,速度v和加速度a均有能安全工作的范围值,不能超过规定的最大速度vmax和最大加速度amax,具体约束条件见表3.

表3 关节运动约束条件Table 3 Joint motion constraints

求解关节运动最优时间的步骤如下.

Step1针对关节j的3段运动,随机产生N个粒子(t1、t2、t3),ti为[1,2]上的随机数,构成初始种群,并初始化粒子的位置和速度.

Step2根据产生的N个插值时间组合代入式(7),可求解出系数矩阵a,进而得到关节j的3段运动学方程.

Step4经n次迭代后,选出适应度值最小的粒子,即为最优粒子.

Step5完成所有关节的时间优化后,每段时间取各关节在该段时间中的最大值t1=max(tj1)、t2=max(tj2)、t3=max(tj3),以确保所有关节都能满足运动学约束.具体求解流程如图4所示.

图4 求解流程Fig.4 Solution flow

3 优化结果分析

针对关节1,按Step1至Step4进行时间优化:随机产生N=20个初始粒子,总迭代次数n=50,达到最优解的迭代次数记为m.在其他条件相同前提下,惯性权重ω分别采用式(11)和式(13)变化,分析其对算法的收敛速度和解的精度的影响.共进行8组试验,每组试验包含LPSO和NPSO优化后的结果,数据记录见表4.

表4 关节1的优化数据Table 4 Optimization data of joint 1

关节1的第1组试验迭代曲线如图5所示.LPSO曲线在第22次迭代时就已经达到收敛,收敛时粒子的适应度为4.720 4,而NPSO曲线一直到第50次迭代结束才达到收敛,收敛时粒子的适应度为4.601 3,比LPSO的收敛适应度更小.因此可得到结论:尽管LPSO比NPSO的收敛速度快,但是解的精度不如NPSO算法.第2、3、4组曲线如图6至图8所示,也证实了该结论的正确性.

图5 第1组迭代曲线Fig.5 Iterative curves of group 1

图6 第2组迭代曲线Fig.6 Iterative curves of group 2

图7 第3组迭代曲线Fig.7 Iterative curves of group 3

图8 第4组迭代曲线Fig.8 Iterative curves of group 4

本文目的在于求解出最优时间,因此选用NPSO算法进行关节运动时间优化.关节1的第8组试验为最优组.同理,采用NPSO算法分别对关节2和关节3进行优化,试验数据记录见表5和表6.关节2的第3组试验为最优组,关节3的第6组试验为最优组.

表5 关节2的优化数据Table 5 Optimization data of joint 2

表6 关节3的优化数据Table 6 Optimization data of joint 3

关节1,2,3的最优试验组对应的各段时间分量见表7,t1时间段内3个关节同时处于运动状态,t1越小关节速度和加速度越大,为保证各个关节都能满足运动约束条件,t1=max(tj1),tj1为第j个关节在第1段的运动时间,同理取t2=max(tj2)、t3=max(tj3),因此得到最终的最优时间组合为(1.466 7,1.129 1,1.844 4),总时间为4.440 2 s,与优化前相比缩短了1.559 8 s,缩短约26%.

表7 最优时间分量Table 7 Optimal time component

优化前后的位置,速度,加速度曲线如图9至图11所示.未优化前,关节j给定时间组合为t1=2、t2=2、t3=2,按3-5-3插值函数运动,关节j的运动曲线均连续,图10(a)所示速度的绝对值最大值约为0.3,远小于vmax(vmax=2),图11(a)所示加速度的绝对值最大值约为0.7

经优化后,各曲线段运动时间有所缩短,位置曲线较之前更平滑,如图9(b)所示;速度的绝对值最大值约为0.41,较之前有所提高,如图10(b)所示;加速度的绝对值最大值约为1.2,已非常趋近amax,如图11(b)所示.

图9 优化前后的位置曲线Fig.9 Position curves before and after optimization

图10 优化前后的速度曲线Fig.10 Velocity curves before and after optimization

图11 优化前后的加速度曲线Fig.11 Accelerated velocity curves before and after optimization

4 结 语

本文针对机械臂关节空间轨迹规划的时间最优问题,提出NPSO算法,并对比分析LPSO算法和NPSO算法的性能.结果表明:在收敛速度方面,LPSO算法比NPSO算法快;而在解的精度方面,NPSO算法比LPSO算法更精确.最终选用NPSO算法进行关节运动时间优化,优化后运动时间由原来的6 s缩短为4.440 2 s,缩短约26%,达到了优化目的.与遗传算法等优化方法相比,使用粒子群算法进行优化不仅结构简单易于实现,并且能在较短时间内快速搜索到最优值.通过提高解的精度,使得关节运动时间进一步缩短,证明了NPSO算法的可行性和有效性.

本文采用3-5-3多项式插值方法得到关节加速度曲线,存在局部过渡不均和插值节点有增减时计算需重新进行的问题,虽然NPSO算法实现了时间优化,但该算法的收敛速度存在缺陷,后续将在这些方面展开进一步研究.

猜你喜欢

插值适应度轨迹
改进的自适应复制、交叉和突变遗传算法
滑动式Lagrange与Chebyshev插值方法对BDS精密星历内插及其精度分析
解析几何中的轨迹方程的常用求法
轨迹
轨迹
基于pade逼近的重心有理混合插值新方法
混合重叠网格插值方法的改进及应用
启发式搜索算法进行乐曲编辑的基本原理分析
基于人群搜索算法的上市公司的Z—Score模型财务预警研究
基于混合并行的Kriging插值算法研究