方 波,高立新,黄 练
(广东机电职业技术学院,广州 510515)
随着工业自动化时代的开启,智能工业机器人在生产制造领域中发挥的作用越来越大。使用智能工业机器人需保证控制的精准性及稳定性,本研究设计的机械臂为7自由度冗余机械臂,相较于6自由度机械臂,冗余机械臂与人体手臂的形状更为接近,具备避障、奇异位形回避及优化关节力矩等性能[1-3]。但冗余机械臂具备7自由度,对其进行逆运动学求解时,由于关节角数量过多导致求解过程更加复杂,目前能进行逆运动学问题求解的方法主要有数值法、解析法及智能优化算法[4-6]。解析法主要通过几何形式或代数形式对机械臂的关节角进行直接求解,但该方法主要应用于满足于Pieper准则的机械臂结构中[7-8],不适用于本次逆运动学求解。数值法通过雅可比矩阵、梯度投影法等方法进行求解,通过不断求导形式对机械臂进行逆运动学求解,用于自由度数较少的机械臂求解过程中[9-11]。针对数值法与解析法对冗余机械臂逆运动学求解误差较大的问题,研究人员利用智能优化算法对冗余机械臂进行逆运动学求解,将机械臂的运动学问题转换成寻求最优解问题,提高寻求最优解的精度[12-13]。目前主要的智能化算法有鲸鱼算法、蜂群-BP算法、粒子群算法及麻雀算法等。相较于其他求解方式,算法结构简单,求解过程更快,求解精确性更高[14-15]。
本研究从4个方面对标准粒子群算法进行改进,包括种群初始化、惯性权重参数调整、差分变异及局部深度搜索等,形成的改进粒子群算法(IPSO2)具备粒子群进化及差分变异进化两种性质。使用该算法对7自由度冗余机械臂进行逆运动学求解,使用Matlab软件进行仿真分析,对比改进粒子群算法与其他算法的计算精度,为相关研究提供参考。
研究对象为7自由度冗余机械臂,根据该冗余机械臂建立的连杆坐标系如图1所示:
图1 7-DOF机械臂运动Fig.1 7-DOF mechanical arm movement
设计的7自由度冗余机械臂具备的自由度包括3个自由度肩位置、1个自由度肘关节及3个自由度腕关节。建立参数表,其中ai/mm表示机械臂的连杆长度,ai/rad表示机械臂连杆转角度数di/mm表示连杆偏距距离,θi/rad表示机械臂关节角活动范围,具体参数如表1所示。
表1 7-DOF机械臂运动参数
通过上述D-H参数,利用欧拉角法对坐标轴进行转换矩阵,对坐标轴进行旋转,使坐标轴旋转前后呈正交状态。冗余机械臂关节角与连杆间的变化矩阵计算公式为:
(1)
将式(1)得出的转换矩阵变换成齐次转换矩阵:
(2)
式中,(px,py,pz)—冗余机械臂末端关节质心在基座坐标系的实际位置。
(3)
式中,f(θ)—当逆解值为θ时冗余机械臂各个关节的目标适应值。λ—调节因子,主要用于位置误差及位姿误差的平衡。min(·)—最小逆解值函数。
粒子群算法主要通过观察鸟类捕食过程而制成,并将群鸟的捕食过程设计成优化算法。主要过程为使用探寻粒子进入到某区域发现目标后,通过信息传递换来更多的粒子对该区域进行搜索,最终经过迭代完成该区域的最优解搜索,搜索过程中主要考虑粒子的速度及位置变化关系,计算式为:
Vij(t+1)=ωVij(t)+c1·r1·[Pij(t)-Xij(t)]+c2·r2·[gij(t)-Xij(t)]
(4)
式中,Vij(t)—经过迭代搜索后粒子达到的速度,ω—惯性权重,Pij—经过迭代搜索后粒子到达空间最佳位置,gij—经过迭代搜索后种群到达空间最佳位置,c1—粒子的学习因子,c2—种群的学习因子,r1—粒子随机搜索系数,取值范围为(0,1),r2—种群随机搜索系数,取值范围为(0,1)。
Xij(t+1)=Vij(t+1)+Xij(t)
(5)
式中,Xij(t)—经过迭代计算后粒子所达到的位置。
对标准粒子群算法进行分析及优化改进,主要包括种群初始化、惯性权重参数调节、粒子转变、粒子位置及速度、局部深度搜索等,将改进优化后的粒子群算法称为IPSO2,相较于IPSO1,IPSO2算法具备的惯性权重参数调整及局部深度搜索能力更加优秀,精确度更高,更适用于冗余机械臂的逆运动学求解问题。
2.2.1 种群初始化
为增加初始分布多样性,避免种群初始化阶段出现粒子分布搜索不均匀的现象,IPSO2算法使用混沌技术对粒子搜索速度及位置进行初始化设计:
(6)
式(6)中,混沌技术的变量参数变化函数为:
(7)
2.2.2 粒子群算法优化
改进粒子群算法IPSO2对惯性权重参数进行调整,采用随机变量参数r使粒子在搜索中具备不同的惯性权重,增加种群粒子多样性。粒子群优化算法IPSO函数如下:
Vij(t+1)=ωiVij(t)+c1·r1·[Pij(t)-Xij(t)]+c2·r2·[gij(t)-Xij(t)]
(8)
θij(t+1)=θij(t)+vij(t)
(9)
(10)
式中,r—随机变量参数,取值范围(0,1);wi—种群初始化后粒子的惯性权重。
2.2.3 局部深度搜索优化
IPSO2算法的局部深度搜索功能更强,采用差分变异理论减少无效空间的搜索,增强局部空间的深度搜素,其构造函数为:
(11)
式中,Pi(t)、Pr1(t)—搜索粒子经过迭代后所到达的最佳位置,G(t)—搜索种群经过迭代后到达的最佳位置。
式(11)对粒子与种群迭代后的位置Xi(t)及G(t)进行优化改进,通过引进[Xr1(t)-Xi(t)](1-wi)及[Pr1(t)-Pi(t)](1-wi)增加了种群多样性,使计算精度及收敛精度更好,计算更加简洁高效。
使用IPSO2算法对冗余机械臂进行逆运动学问题求解的过程步骤为:
步骤1:种群搜索初始化设计,对搜索范围、种群数量、迭代次数等参数进行确定。明确冗余机械臂末端执行机构的设定位置,对搜索种群采用混沌技术。明确搜索粒子的位置及飞行速度。
步骤2:将随机搜索系数r取值为1,进行搜索模式。按照公式(8)~(10)进行粒子群搜索,确定粒子搜索的边界范围,确定搜索粒子i的适应值f(Xi)。若f(Xi)≤f(pi),则搜索粒子i到达最佳位置;若f(Xi)≤f(G),则搜索种群到达最佳位置。若i=m则进行步骤3,若i=i+1,则进行步骤1。
步骤3:将随机搜索系数r取值为1,使用差分变异方法进行搜索模式。按照公式(11)进行粒子群搜索,确定粒子搜索的边界范围,确定搜索粒子i的适应值f(Xi)。若f(Xi)≤f(pi),则搜索粒子i到达最佳位置;若f(Xi)≤f(G),则搜索种群到达最佳位置。若i=m则进行步骤4,若i=i+1,则进行步骤1。
步骤4:达到迭代搜索次数的最大值,其逆运动学问题最优解满足设计要求即可,若无则返回步骤2继续搜索。
3.1.1 参数设定
对冗余机械臂逆运动学问题求解采用IPSO2算法,将最优解与传统PSO、IPSO1、PSOTD及PSOd算法进行比较。其中设计的连杆长度ai取值为1,i=(1,2,…,7);冗余机械臂的关节角θi取值范围为[-π,π],i=(1,2,…,7)。群数量为30,迭代次数为300次,设计的调节因子λ=1,粒子最快飞行速度为vmax(j)=0.2θmax(j),最慢飞行速度为vmin(j)=0.2θmin(j)。
仿真试验使用的算法均在Matlab 2018a进行编程模拟,试验使用的电脑配置为:Inetel Creoi7-11800H、2.3 GHz、16 G内存、Win10操作系统。
3.1.2 不同算法的最优解比较
冗余机械臂末端执行器设计的理论位置位姿矩阵为:
(12)
表2 不同算法的性能指标参数
表3 不同算法逆解值对应的关节角适应值
表4 不同算法逆解值对应的位姿误差
图2 不同算法的适应度收敛曲线Fig.2 Convergence curves for the adaptation of different algorithms
通过表2参数可知,IPSO2算法的最优、最差及平 均适应值、标准差、最优解成功率数据均优于传统PSO、IPSO1、PSOTD及PSOd算法。在最优解成功率参数模拟中,IPSO2达到87%,IPSO1达到32%,其余算法0%,因此IPSO2在最优解的获得中具有领先优势。IPSO2算法除了最优适应值与IPSO1相差不大,其余数据均明显优于IPSO1算法。由此可知,算法性能按照优劣排序为:IPSO2、IPSO1、PSOd、PSOTD、传统PSO算法。根据图2可知,IPSO算法的收敛精度及收敛速度明显高于其他算法。
通过表2、表3可知,不同算法在获得最差适应值时,其冗余机械臂末端执行器实际位姿误差相差较大。其中IPSO2算法在最差适应值的状态下冗余机械臂末端执行器与设定位姿误差相差非常接近。IPSO1算法在最差适应度中的数据明显优于传统PSO、PSOTD及PSOd算法,虽然收敛精度及位姿误差相较于其他算法更为优秀,但实际位置精度相较于IPSO2算法仍有差距。
综上所述,在逆运动学问题最优解的搜索过程中,IPSO2算法整体的收敛速度、收敛精度、位姿误差优于其他算法。
为了验证IPSO2算法在冗余机械臂逆运动学求解中的准确性及可靠性,将IPSO算法应用于PUMA型机器人,使用IPSO2算法优化冗余机械臂末端执行机构的期望位姿,构造的目标函数为:
(13)
(14)
表5 PUMA型机器人最优解对应的位姿误差
为增强搜索过程中局部的深度搜索,提高收敛精度及收敛速度,采用差分变异思想理念改进PSO算法,形成IPSO2算法,相较于其他粒子群优化算法,算法进化流程简单高效,方便实用。对冗余机械臂进行正运动学D-H参数构造,通过矩阵转换获得冗余机械臂末端执行器的实际坐标位置,构造最小位姿误差及最优适应值的优化目标函数,使用IPSO2算法进行逆运动学问题求解。以PUMA型机器人为试验对象,验证IPDO2算法的可靠性及稳定性。通过仿真试验可知,IPSO2算法在冗余机械臂的逆运动学问题求解过程中具有良好的使用效果,最优解的位姿误差保持在10-15数量级,收敛精度及收敛速度与设定位姿相差不大。