基于改进海洋捕食者算法的机械臂逆解求解*

2024-03-01 00:39巫启源熊瑞平何智东胡英达周程胜
组合机床与自动化加工技术 2024年2期
关键词:测试函数捕食者位姿

巫启源,熊瑞平,何智东,胡英达,李 静,周程胜

(1.四川大学机械工程学院,成都 610065;2.新达泵阀股份有限公司,达州 635000)

0 引言

机械臂逆解求解[1]是指给定机械臂末端的位置和姿态求出机械臂各关节角度,是机器人学领域的基础问题,对其合理求解才能更好地实现机械臂轨迹规划、运动控制等关键性工作[2],因此研究机械臂逆解求解问题具有重要意义。

传统的逆运动学求解方法有解析法和数值法[3]等。解析法可求得逆运动学封闭解,但只适用于满足Pieper准则的机械臂,冗余机械臂不满足Pieper准则[4],因此对其不适宜采用解析法求解。数值法[5]是指将逆解求解转化为数学迭代过程,经过一步步迭代逼近最终结果,但迭代过程中存在累积误差,影响求解精度。

冗余机械臂逆解求解是一个非线性、高耦合的复杂问题[6],传统的求解方法有时可能无法满足求解精度和速度要求。近年来,很多学者将智能优化算法应用于逆解求解问题,将问题转化为目标函数极值优化问题,实现了高效和精确的求解。丛明等[7]提出一种基于经验进化的珊瑚礁优化算法,并将其应用于逆运动学求解,获得了比基础珊瑚礁算法更快的收敛速度和更好的求解精度。邵长春等[8]将反向学习策略、柯西变异机制、余弦指引机制引入蝴蝶优化算法中,实现了逆运动学求解的高精度。石建平等[9]采用混合学习果蝇优化算法进行逆运动学求解,降低了机械臂末端的位置和姿态误差。于权伟等[10]提出的自适应混沌麻雀搜索算法具有精度高、收敛速度快的特点,在逆解求解问题上有良好效果。李志敏[11]在机械臂末端位姿精度约束下,以减小关节角变化量为目标,提出了基于带修复策略自适应差分进化算法的逆运动学求解方法。

海洋捕食者算法是由FARAMARZI等[12]提出的一种智能优化算法,由于其全局搜索能力强、收敛速度快的特点,将其应用于逆运动学求解问题。但其存在易陷入局部最优、后期收敛精度不高等问题,因此有必要加以改进。本文将精英反向学习、高斯变异机制、非线性收敛因子引入MPA,将其应用于逆运动学求解问题,达到了提高求解精度的目的。

1 冗余机械臂逆运动学求解模型

1.1 机械臂运动学分析

本文以KUKA LBR iiwa7 R800七自由度机械臂为研究对象,对其进行逆运动学求解。该机械臂简易模型如图1所示,D-H参数及关节角度上下限如表1所示。表1中,θi、αi、di、ai、li和ui分别表示关节角、连杆扭转角、连杆偏距、连杆长度、关节角下限和关节角上限。

表1 机械臂D-H参数

图1 机械臂简易模型

(1)

将7轴机械臂的7个齐次变换矩阵依次相乘得到机械臂末端坐标系相对于基坐标系的齐次变换矩阵为:

(2)

由上述分析可知,该型7自由度机械臂的正运动学方程是以7个关节变量为自变量的复杂函数。给定关节变量,通过上述位姿矩阵即可求得机械臂末端相对于基坐标系的位姿,且结果唯一。

1.2 逆运动学求解目标函数

本文求解逆运动学问题的思路是将问题转化为最小优化问题,再应用改进海洋捕食者算法求解问题。因此,需构造优化目标函数。设机械臂末端期望位姿Tdes和当前实际求得的位姿矩阵Tcur分别为:

Tdes=[px,py,pz,rx,ry,rz]

(3)

(4)

式中:px、py、pz为末端位置坐标,rx、ry、rz为绕X、Y、Z三轴旋转的角度,即表示末端姿态。

为使末端实际位姿和期望位姿误差最小,初步构造目标函数为:

(5)

(6)

F=αf1+f2

(7)

式中:f1为位置误差,采用欧式距离计算;f2为姿态误差,为对应旋转角度差值的绝对值之和;α为调整因子,位置误差与姿态误差间存在数量级上的差距,引入α均衡两种误差的收敛,本文取α=0.02。

由于冗余机械臂在关节空间内的可行解有无穷多个,采用“最柔顺”准则,即关节角变化量最小,消耗能量最少,对目标函数进行修正为:

(8)

(9)

2 改进海洋捕食者算法

2.1 海洋捕食者算法(MPA)

MPA其灵感来源于海洋适者生存理论,模拟了海洋捕食者的觅食行为。在初始化阶段,MPA通过式(10)在搜索空间中随机产生一组解构成初始种群X0:

X0=Xmin+rand·(Xmax-Xmin)

(10)

式中:Xmax和Xmin分别是搜索空间的上下限,rand是[0,1]间的随机数。

MPA优化过程分为3个阶段。在迭代初期,当猎物速度比捕食者速度快时,基于勘探策略的MPA优化过程数学描述为:

Si(t)=RB⊗(Ei(t)-RB⊗Pi(t))

(11)

Pi(t+1)=Pi(t)+p·R⊗Si(t)

(12)

式中:RB表示基于布朗运动的随机向量,⊗为逐项乘法运算符,i=1,2,…,N,N为种群规模,E为由顶级捕食者构造的精英矩阵,P为与精英矩阵具有相同维数的猎物矩阵,p=0.5是一个常数,R是[0,1]间的随机向量,t为当前迭代次数,Si为移动步长。

在迭代中期,捕食者和猎物以相同的速度移动,探索和开发能力同等重要。因此,一半种群以布朗运动规则移动负责全局探索,另一半种群以莱维(Lévy)飞行方式移动致力于局部开发。具体数学模型为:

(13)

(14)

(15)

式中:RL为基于Lévy飞行的随机向量,CF是用来控制捕食者步长的参数,T为最大迭代次数。

在迭代终期,捕食者的转移速度要远快于猎物,为了避免被捕食,猎物以Lévy飞行进行运动,其数学模型为:

Si(t)=RL⊗(RL⊗Ei(t)-Pi(t))

(16)

Pi(t+1)=Ei(t)+p·CF⊗Si(t)

(17)

MPA中还考虑到了涡流形成和鱼类聚集装置对捕食者的影响,此阶段的数学模型为:

Pi(t+1)=

(18)

式中:FADs=0.2表示优化过程中受FADs影响的概率,R是[0,1]间的随机向量,U为包括0和1的二进制向量,r为[0,1]间的随机数,Pr1和Pr2分别是从种群中随机选择的个体。

作为教师,首先要有作为一个人的修养,当我们不断割掉自己特别主观的部分时,会对外界有越来越敏锐的感知,接近真相,捕捉到他人真实的情绪、情感,更好地做出回应。一个生命和生命相互联结、相互激发、充满活力的课堂,需要去除那些表面的、有形的迷惑,进入一种生命的真相。因为生命不能够说谎,它可以披上一些外衣迷惑我们,但生命本身只能也只会诉说真相。

2.2 混沌初始化

研究表明,初始种群的多样性有助于提高算法的收敛速度和求解精度。采用混沌映射代替随机方式能够在搜索空间中生成具有良好多样性的初始种群。由于Tent映射可以生成遍历性较高的混沌序列,本文采用Tent映射初始化种群,其表达式为:

(19)

式中:α是介于[0,1]的常数,本文取α=0.7;i=1,2,…,N表示种群规模,j=1,2,…,d表示混沌变量序号。

Tent映射对初值的选取具有较高的敏感性,式中选用多种不同的初始值,可得到其对应的混沌序列,再将混沌序列映射到算法的搜索空间,混沌初始解生成的数学公式为:

(20)

2.3 精英反向学习策略

(21)

式中:α为[0,1]内的随机数,Xij∈[lbj,ubj],lbj=min(Xi,j),ubj=max(Xi,j),ubj和lbj表示个体第j维分量的动态上、下边界。

(22)

2.4 自适应t分布变异

针对基本海洋捕食者算法易陷入局部最优的特点,引入自适应t分布变异策略。t分布又称为学生分布,它的曲线形态和自由度参数n有关,标准高斯分布和柯西分布是t分布的两个边界特例分布。若算法迭代过程中陷入局部最优,以算法第iter次迭代和第iter-3次迭代的最优适应度值大小关系来判断,若两者相等,则判断其陷入局部最优,收敛停滞,此时随机选取种群中的一半个体采用自适应t分布变异以跳出局部最优,具体描述为:

(23)

式中:Xi为种群中随机选择的一半个体中的第i个个体,iter为当前迭代次数,Bestfit为最优适应度值,t(iter)为以iter为参数自由度的t分布。

2.5 IMPA流程步骤

IMPA的具体步骤为:

步骤1:设定算法相关参数,采用Tent映射初始化种群;

步骤2:计算适应度值,记录最优位置;

步骤3:根据迭代阶段,从式(12)、式(14)和式(17)中选择对应的更新方式,更新猎物位置;

步骤4:采用精英反向学习策略变异并更新猎物位置;

步骤5:计算适应度值,更新最优位置;

步骤6:根据式(18)应用FADs效应,更新猎物位置;

步骤7:判断收敛是否停滞,若是,则根据式(23)随机选取一半个体进行自适应t分布变异;

步骤8:判断是否满足停止条件,如果不满足则重复步骤2~步骤8,否则输出最优结果。

3 仿真实验与结果分析

3.1 典型函数测试

通过几种典型测试函数对IMPA、MSMPA[13]和MPA的求解性能进行对比分析。测试函数的相关信息如表2所示,其中F1、F2为单峰基准测试函数,F3、F4为多峰基准测试函数。对这4种函数依次采用3种算法进行50次的独立计算,设定3种算法的相关参数为:种群大小为50,最大迭代次数为500。求解结果如表3所示。

表2 测试函数相关信息

表3 典型函数测试结果

通过表3数据可以看出,IMPA在F1和F3测试函数上取得了最优解,最优值、最差值、平均值和标准差均为0,寻优成功率达100%,且结果稳定,而MPA和MSMPA没有取得这种求解效果。对于F2测试函数,IMPA的求解精度比MSMPA和MPA高200多个数量级,且具有稳定的求解性能。对于F4测试函数,IMPA的求解结果稳定,求解平均值比MSMPA高3个数量级,比MPA高5个数量级。以上结果表明本文提出的IMPA的求解精度和求解稳定性均更佳。

3.2 冗余机械臂逆运动学求解

为验证IMPA逆运动学求解的可行性和有效性,建立仿真实验将IMPA、MSMPA和MPA分别应用于机械臂点到点运动和连续轨迹运动两种运动情况进行对比验证。

设定3种算法的相关参数为:种群大小为50,最大迭代次数为500。给定机械臂末端的期望终点位姿为:Tdes=[21.84,72.69,125.34,0.88,0.26,1.6],初始关节角θini=[0,0,0,0,0,0,0,],以上文提出的式(8)为目标函数,采用3种算法分别进行50次独立的计算,得到如表4所示的计算结果、如表5所示的50次求解所得平均位置、姿态误差和如图2所示的某次求解所得适应度迭代曲线。

表4 3种算法最优适应度统计

表5 位置、姿态误差

图2 适应度迭代曲线图

由表4可知,在最优值、最差值、平均值和标准差4个评价指标上,本文IMPA的结果均比其余两种算法的结果要好,同时,从表5可知,IMPA的求解精度更高,实际求得位姿和期望位姿的误差更小,表明其进行逆运动学求解更加精确。从图2可知,IMPA的收敛速度和收敛精度较另外两种方法具有明显优势。

为进一步验证IMPA逆运动学求解时具有精度高、速度快、鲁棒性好的特性,给定空间中一段连续轨迹,以螺旋曲线为例来进行逆运动学求解,螺旋曲线方程为:

(24)

式中:-2π≤t≤2π,在该曲线上等步长均匀选取100个点作为轨迹点,每一个轨迹点的姿态均设为相同,仅考虑位置误差。设定初始关节角θini=[0,0,0,0,0,0,0],以上文提出的式(8)为目标函数,求解这100个轨迹点的逆解,采用IMPA求解出的实际点和理论轨迹如图3所示,位置误差用轨迹实际点与理论点的欧式距离表示,采用上文提到的3种算法求解出的结果如表6所示。

表6 轨迹实际点与理论点位置误差

从图3可知,IMPA求解出的实际轨迹点与理论轨迹大致重合。表6表明,在对空间连续轨迹求解时,在位置误差的最大值、最小值、平均值和标准差4个指标上,IMPA均优于MSMPA和MPA,充分验证了IMPA进行空间连续轨迹逆运动学求解时具有求解精度高和稳定性好的优势。

4 结论

本文针对冗余机械臂逆运动学求解问题,提出了改进海洋捕食者算法(IMPA)这一求解新方法。将IMPA应用到逆运动学求解实例中,对于点到点运动情况,仿真实验结果表明,IMPA的求解精度和稳定性均优于MPA和MSMPA,三轴位置误差可达1~2 mm,姿态误差可达10-2rad。对于连续轨迹运动情况,IMPA求解所得实际点与理论点位置误差最小可达10-1mm,求解精度明显优于MSMPA和MPA。实验验证了IMPA在冗余机械臂逆运动学求解问题的可行性和有效性,能够有效降低机械臂末端的位姿误差,具有一定优势。

猜你喜欢
测试函数捕食者位姿
交错扩散对具有Ivlev型功能反应的捕食模型共存解存在性的作用
具有Allee效应随机追捕模型的灭绝性
一类随机食饵-捕食者模型的参数估计
具有收缩因子的自适应鸽群算法用于函数优化问题
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
疯狂的捕食者
带势函数的双调和不等式组的整体解的不存在性
小型四旋翼飞行器位姿建模及其仿真
约束二进制二次规划测试函数的一个构造方法