基于改进灰狼算法的机械臂运动学高精度逆解*

2023-10-21 08:43:28田国富
组合机床与自动化加工技术 2023年10期
关键词:灰狼运动学插值

田国富,张 毅,姜 娇

(1.沈阳工业大学机械工程学院,沈阳 110870;2.辽宁科技学院机械工程学院,本溪 117004)

0 引言

工业机械臂以可替代工人在单调、重复和恶劣等作业环境下长时间作业的同时,又具备重复精度高、可靠性强和适用性强等特点,被视为现代智能制造装备的代表,在工业各领域应用广泛[1]。串联机械臂逆运动学求解是研究机械臂的运动控制和动态特性前提和基础,该问题可描述为给定在直角坐标空间下的机械臂末端位姿,反解出对应的关节变量,本质为求解具有高维、强耦合和强非线性特点的超越方程组,且随机械臂的自由度数增加,求解难度也愈困难[2]。因此,对于机械臂逆运动学求解的研究一直以来都是研究机械臂的理论应用中的重难点内容之一[3]。

机械臂逆运动学求解目前的主要方法有解析法[4]、数值法[5]和人工智能法[6-7]。其中解析法因受限于Pieper准则,其通用性较弱。数值法和人工智能法的主要思想是迭代求解,在数值法中依赖初参数优劣决定梯度方向,因此该法求解性能不易保证。而人工智能方法由于其随机性强,所以存在收敛精度和收敛效率较低的问题。

灰狼优化(grey wolf optimization,GWO)算法[8]是新兴的一种简单高效的群智能算法,但在处理复杂优化问题时,仍存在早熟收敛、收敛速度慢等问题。本文针对基本灰狼优化算法的特性和不足,提出一种多策略协调改进的灰狼优化算法(MSCIGWO),引入多种群混沌协同搜索策略、最优学习策略、多重变异扰动策略及跳出局部最优策略,提高算法的收敛性能。并在MATLAB环境下开展针对各类串联机械臂逆运动学求解的仿真试验和算法比较,验证了MSCIGWO算法的有效性和通用性。

1 逆运动学求解优化模型的描述

1.1 机械臂模型的建立

本文主要的研究对象为IRB 2600-20/1.65型工业六自由度机械臂,且该构型符合Piper准则。采用改进D-H法建立该机械臂的连杆坐标系如图1所示,连杆参数如表1所示。

图1 机械臂连杆坐标系

表1 IRB 2600-20/1.65型机械臂连杆参数

补充各关节角范围为:

θL=(-180,-95,-180,-400,-120,-400)°
θu=(180,155,75,400,120,400)°

式中:θu和θL分别表示为关节角上下边界。

(1)

式中:Φ=(θ1,θ2,…,θ6)表示为机械臂的关节变量,n3×1、o3×1和a3×1分别表示为机械臂末端执行器坐标系的3个单位轴方向矢量,P3×1和R3×3分别表示为在直角坐标空间下的机械臂末端坐标系相对于机械臂基座坐标系间的位置矢量和姿态矩阵。

1.2 优化模型的构建

本文将串联机械臂逆运动学求解转化为求解带约束的非线性优化问题,目标是最小化机械臂末端执行器位姿误差,建立优化模型为[10]:

(2)

式中:EP表示为位置误差函数,表示为:

(3)

式中:Pt和Pc分别表示为目标和当前位置矢量。

ER为姿态误差函数,表示为:

(4)

式中:Rt和Rc分别表示为目标姿态矩阵和当前姿态矩阵,Re为方向余弦矩阵,α为四元数旋转角。

ωP和ωR分别为位置误差和姿态误差的权重系数,用于平衡二者的重要程度,分别表示为:

(5)

式中:k为连杆尺寸系数,参考该型机械臂连杆参数,大量测试后,取在3.5~5.5之间为宜;λ为机械臂的所有连杆长度和偏距之和,本文改进Pb表示为机械臂末端的当前位置矢量相对于基座坐标系原点位置间的欧式距离,使得Pb在求解过程中自适应变化,更好发挥式(5)的平衡能力。

2 灰狼优化算法的改进

2.1 基本IGWO算法

基本IGWO算法是在基本GWO算法的基础上增加了基于维度学习(DLH)[11]的搜索策略,提高了算法的搜索性能。在基本IGWO算法中,Xi(t)为第t次迭代的灰狼i个体位置,并将适应度值最好的前3只狼依次记为α、β和δ狼,其余记为ω狼。狼群围捕的数学模型表示为:

A=2a(t)r1-a(t)
C=2r2
a(t)=2-(2×t)/Maxlter

(6)

式中:A和C为系数向量,r1和r2是在[0,1]中的随机向量,a为收敛因子,在迭代过程中由2线性递减到0,Maxlter为最大迭代次数。

狼群攻击的数学模型表示为:

(7)

式中:Xα、Xβ和Xδ为α、β和δ狼位置。

在DLH搜索阶段,先以欧式距离计算灰狼i位置Xi(t)与Xi~GWO(t+1)间的距离Ri(t)为:

(8)

然后构建Xi(t)的邻居灰狼群为:

(9)

再完成多邻居学习,表示为:

Xi~DLH(t+1)=Xi(t)+rand×(Xn(t)-Xr(t))

(10)

式中:Xn(t)为任意邻居灰狼个体,Xr(t)为原灰狼群中任意灰狼个体。

最后依据适应度值更新个体位置,表示为:

(11)

然后循环直至到达总迭代次数或精度阈值。

2.2 改进的策略

为改善IGWO算法在求解复杂优化问题时易出现陷入局部最优的缺点,本文提出4种改进策略改善IGWO的求解性能,并将多策略协调改进后的IGWO算法命名为MSCIGWO算法。

2.2.1 多种群混沌协同搜索策略

多种群搜索策略可丰富种群个体多样性,降低陷入局部最优的概率,但随着种群数量的增加,算法的收敛效率易不稳定。因此本文针对多种群策略的不足,做出3方面改进。

(1)多种群混沌映射初始化。混沌系统可有效提高种群多样性,其中Sin混沌模型相较于其他混沌模型具备更佳的混沌特性[12],因此本文采用Sin混沌映射初始化多种群,表示为:

(12)

(2)多种群相异非线性收敛因子。从式(6)可知,收敛因子a是线性递减的,再面对复杂的优化问题,无法充分发挥狼群的搜索能力。因此,本文采用可平衡算法全局和局部搜索能力的非线性时变收敛因子a[13],并设置不同的最值使得各种群以不同的搜索目的相互协作,提高算法的收敛效率,其表达为:

(13)

式中:aini和afin分别为收敛因子的初始值及终值。

为充分利用非线性时变收敛因子a的平衡能力,对系数向量C加以改进[14],表示为:

C=2×r3-a

(14)

式中:r3是[0.5,1.5]之间的随机向量。

(3)多种群信息共享。各种群在搜索过程中,通过移民操作实现各种群间的闭环信息交换,提高算法的收敛速度,如图2所示。

图2 各种群个体的替换流程

且在每次迭代后选取每个种群前Num数量的优秀个体组成精英种群进行保存,而精英种群只更新最优个体,以此作为是否收敛的依据。

2.2.2 最优学习策略

基于教与学和粒子群的位置更新。分析式(7)可知,基本IGWO算法中个体位置更新只依据优秀个体位置,忽略了个体本身经验的学习能力和相异个体间的交互能力。

为弥补该缺陷,受教与学优化算法(TLBO)和粒子群优化算法(PSO)的启发,将TLBO算法中的群体教学和PSO算法中个体记忆引入到基本IGWO算法个体位置更新中,并设置自适应惯性权重和动态比例权重[15]中的微小值η。基于此思路,本文提出一种结合群体交互和个体记忆的个体位置更新公式,其表达为:

X(t+1)=C1·ξ1·XGWO(t)+C2·ξ2·XTLBO(t)+XPSO(t)

(15)

式中:ξ1和ξ2为[0,1]之间的随机数,C1和C2为2,XGWO(t+1)为修正后的基本IGWO算法中个体位置更新部分,表达式为:

W1=|X1|/(|X1|+|X2|+|X3|+η)
W2=|X2|/(|X1|+|X2|+|X3|+η)
W3=|X3|/(|X1|+|X2|+|X3|+η)
XGWO(t+1)=(W1·X1+W2·X2+W3·X3)/3

(16)

XTLBO(t+1)为引入TLBO算法中教学阶段,表示为:

M1=|ΔX1|/(|ΔX1|+|ΔX2|+|ΔX3|+η)
M2=|ΔX2|/(|ΔX1|+|ΔX2|+|ΔX3|+η)
M3=|ΔX3|/(|ΔX1|+|ΔX2|+|ΔX3|+η)
XTLBO(t+1)=(M1·ΔX1+M2·ΔX2+M3·ΔX3)/3

(17)

式中:ΔXi表示为:

(18)

XPSO(t+1)为PSO算法中的个体记忆部分,表示为:

ΔXPSO(t+1)=w·X(t)

(19)

式中:w为惯性权重,在标准PSO算法中,不能随迭代次数变化,影响算法的搜索效率。因此,本文采用非线性动态惯性权重,表达为:

(20)

式中:wmax和wmin分别为惯性权重的最大值和最小值,f为个体当前的适应度值,favg和fmin分别为当前群体的平均适应度值和最小适应度值。

2.2.3 多重变异扰动策略

为增强算法的搜索能力,在每次迭代搜索后期采用柯西变异[16]对α、β和δ狼的位置细致扰动,增加算法的局部搜索能力。再对剩余ω狼群体采用单纯形搜索,增强搜索效率;在每次迭代搜索前期采用莱维飞行变异[17]对α、β和δ狼的位置大范围扰动,增加算法的全局搜索能力。

(1)莱维飞行变异。莱维飞行源自莱维分布,具有随机大小步长特点,本文根据其扰动个体位置的公式为:

(21)

(2)柯西变异。柯西变异算子源自柯西分布,其随机性优异,本文根据柯西变异扰动个体位置表示为:

(22)

式中:cauchy(0,1)为标准柯西分布。

(3)单纯形搜索。单纯形搜索法也被称为凸多面体搜索法,具有计算量小、搜索速度快的特点[18]。如图3所示,该法主要通过反射、扩张、收缩和压缩操作经重复迭代找到或逼近最优的点。

图3 单纯形法的点搜索模型

此外,为保证扰动变异后的个体新位置优于原位置的适应度值。通过比较个体新旧位置的适应度值以确定是否更新位置。

2.2.4 跳出局部最优策略

为增强算法跳出局部最优的能力,设定算法在搜索过程中若满足:

FBest(X(t+1))-FBest(X(t))

(23)

式中:FBest(X(t+1))和FBest(X(t))分别为第t+1代和第t代搜索到的个体最优适应度值,Pre为差异度。

则停滞计数器加1,当累计Cum次时,且:

FBest(X(t+1))>Φ

(24)

式中:Φ为精度阈值。

则可判断种群陷入停滞搜索,初始化重置下一代个体位置,计数器重新置0,待重新计数。

3 仿真试验及结果分析

为验证MSCIGWO算法求解串联机械臂逆运动学的性能,在MATLAB仿真环境下开展4组仿真试验。其中试验1用来分析针对连续轨迹插值点的求解性能;试验2用来分析针对奇异位姿点的求解性能;试验3~4用来分析针对各类型串联机械臂逆运动学求解的求解性能。

3.1 试验1

本组试验利用GWO算法、IGWO算法和本文提出的MSCIGWO算法对IRB 2600-20/1.65型机械臂的运动轨迹插值点求解逆运动学,以对比3种算法的求解性能。3种算法的公共参数取值如表2所示,MSCIGWO算法的种群数设为3个(每个子种群的个体数量为60),精英种群个体数量为30,其余参数取值如表3所示。

表2 算法对比试验公共参数取值

表3 MSCIGWO算法其他参数取值

本组试验轨迹是在机械臂工作空间内任取两点A和B作为轨迹起点和终点,并以五次多项式规划轨迹,且离散为50个插值点,如图4所示。

图4 试验1所用的五次多项式轨迹

该轨迹首末端点对应的关节矢量和保留至小数点后4位数值精度的末端位姿矩阵分别为:

对于连续轨迹插值点,为保证机械臂的运动平稳性,将每次计算过程中的搜索空间以上一点求解的关节矢量为中心,向上下扩张Δθk后作为当前插值点计算时的搜索空间动态变化。在本组试验中,设置θk=15°,且为求解的公平性,对于轨迹起点,搜索空间设置为[θA+15°,θA-15°]。

采用GWO算法、IGWO算法和MSCIGWO算法分别对该段轨迹的50个插值点分别求逆,每种算法独立重复计算3次,每次记为一组。记录各算法每组求解各插值点的适应度最值、均值、标准差及平均位姿误差如表4所示。

表4 3种灰狼算法求逆性能对比

从表4可知,在适应度最值方面,相较于GWO算法和IGWO算法、MSCIGWO算法可收敛至理想的最优值0,说明MSCIGWO算法的收敛质量最高;在适应度均值及标准差方面,相较于各对比算法,MSCIGWO算法的收敛质量无波动,说明MSCIGWO算法的收敛稳定性最强;在平均位姿误差方面,相较于各对比算法,只有MSCIGWO算法的收敛精度为0,即能收敛至机械臂末端理想位姿,说明其收敛精度最高。

进一步为了直观的对比GWO算法、IGWO算法和MSCIGWO算法的收敛精度,将每组求解对应的各插值点位姿误差取均值后绘制于图5所示。

图5 3种算法各插值点收敛精度对比

从图5可知,相较于GWO算法和IGWO算法、MSCIGWO算法的收敛精度始终保持在理想数值精度,完全满足机械臂定位要求。而GWO算法收敛精度最低,达不到收敛要求;IGWO算法的收敛精度虽优于GWO算法,但仍较大。

为对比各算法的收敛速度,将每种算法在各插值点全部求解中适应度最优曲线绘制如图6所示。

图6 最优收敛曲线 图7 关节角的变化曲线

从图6可知,相较于各对比算法,MSCIGWO算法的收敛速度最快,在50代内即收敛到全局最优值。而GWO算法和IGWO算法频繁陷入局部最优解(阶梯曲线),且适应度值较大。

为了验证MSCIGWO算法对于连续轨迹插值点求解的关节变量变化是否平稳,将每组求解对应各插值点的关节变量取均值后绘制于图7。

从图7可知,经MSCIGWO算法求解关节变量变化曲线为连续光滑曲线,说明了MSCIGWO算法的求解满足运动平稳性要求。

3.2 试验2

为验证MSCIGWO算法对于求解奇异位姿点的有效性,在机械臂工作空间内取一个奇异位姿点进行本组试验,其对应关节矢量和位姿矩阵为:

采用GWO算法、IGWO算法和MSCIGWO算法对该点连续求解100次,算法参数与试验1相同,统计结果如表5所示。

表5 3种算法对奇异位姿点求逆结果

由表5可知,相较于对比算法,MSCIGWO算法仍表现最优,可收敛至理想的数值精度。

3.3 试验3

为验证MSCIGWO算法对于不满足Piper准则构型的机械臂逆运动学求解的有效性。本组试验将刘松国等[19]所讨论的一般型机械臂设为本组试验对象,取其所研究位姿点作为本组试验点,对应的关节矢量及保留小数点后12位精度位姿矩阵为:

使用MSCIGWO算法对该点连续100次求逆,总迭代次数为500,Cum为20、Pre为0.01及Φ为0.01,其余参数与试验1相同,统计结果如表6所示。

表6 MSCIGWO算法对一般型机械臂逆运动学求解

由表6可知,MSCIGWO算法仍可收敛至12位数值精度全局最优解,验证了MSCIGWO算法求逆运动学的高收敛精度和通用性。

3.4 试验4

为验证MSCIGWO算法对于冗余型的机械臂逆运动学求解的有效性,取DERELI等[20]所讨论的冗余型机械臂设为本组试验对象,并取该文献研究的位姿点及其对应位置矢量为求解目标,分别为:

θr=(45,0,45,0,45,0,0)°
Pr=[-24.7487,100,9619,50] cm

采用MSCIGWO算法求解该试验点,共同参数设置总迭代次数为1000、个体的总数量为90(MSCIGWO算法分为3个种群,每个种群30个个体),MSCIGWO算法设置Cum为20、Pre为0.1及Φ为0.000 01,其他参数与试验1相同。对该点连续100次求逆,统计结果如表7所示。

表7 对比试验求逆结果

由表7可知,相较于对比文献,MSCIGWO算法可收敛至全局最优解的成功率为100%,证明了MSCIGWO算法不仅求解性能优异,且可推广到其他类型串联机械臂逆运动学分析中。

4 结论

(1)对基本IGWO算法提出4种改进策略,提出一种适用于各类型串联工业机械臂逆运动学求解的MSCIGWO算法,提高了算法的收敛速度、收敛精度及收敛稳定性,有效的平衡了算法的全局搜索能力和局部搜索能力。

(2)在MATALB环境下进行了多组仿真试验,结果表明:相比于使用GWO算法和IGWO算法求解机械臂逆运动学,MSCIGWO算法可在高精度收敛至理想位姿的同时具备更好的收敛速度和收敛稳定性,且所获关节角的变化不会突变,有效解决各类型串联机械臂逆运动学求解,具有较好的工程实用性。后续工作将以高效率语言编译搭载并行处理器,开展机械臂的运动规划应用研究。

猜你喜欢
灰狼运动学插值
基于MATLAB的6R机器人逆运动学求解分析
谷谷鸡和小灰狼
小太阳画报(2019年1期)2019-06-11 10:29:48
基于Sinc插值与相关谱的纵横波速度比扫描方法
基于D-H法的5-DOF串并联机床运动学分析
灰狼的大大喷嚏
灰狼和老虎
快乐语文(2016年15期)2016-11-07 09:46:31
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析
基于运动学原理的LBI解模糊算法
灰狼的幸福
读写算(中)(2015年6期)2015-02-27 08:47:14