基于改进遗传算法的FAST促动器油缸装配机器人运动学

2021-08-03 03:12何启嘉王启明
科学技术与工程 2021年19期
关键词:运动学适应度遗传算法

何启嘉,王启明,雷 政

(1.中国科学院国家天文台,北京 100101;2.中国科学院大学天文与空间科学学院,北京 101408;3.中国科学院FAST重点实验室,北京 100101)

500 m口径球面射电望远镜(five-hundred-meter aperture spherical radio telescope, FAST)被誉为“中国天眼”,是世界上口径最大、灵敏度最高的单口径球面射电望远镜[1]。在望远镜主动反射面系统中,2 225台液压促动器(简称“促动器”)通过联合驱动实现4 450块望远镜反射面变形,是世界罕见的在野外台站大规模应用的设备群[2]。FAST促动器液压缸合计重70.1 kg,其中,缸体重34.6 kg,活塞杆重12.2 kg,传统人力转运装配较为困难。针对FAST促动器油缸装配时间慢、效率低的问题,提出研究一种FAST促动器油缸装配机器人。FAST促动器缸体装配机器人的设计目的是为了将之前拆解下来清洗的耳环、压盖、导向套、活塞杆(含活塞)、缸筒(含法兰)、缸底、铸造缸底、位移传感器进行重新装配。

装配顺序如下:缸筒(含法兰)—活塞杆(含活塞)—导向套—压盖—缸底—位移传感器—铸造缸底—耳环。为了更加方便地研究油缸装配机器人的轨迹规划问题,必须先进行机器人运动学研究。由于机器人的笛卡尔空间和关节空间的映射并非一对一,其逆运动学求解往往不能得到封闭解,因此运动学,尤其是逆运动学也成为了研究机器人的重点问题之一。传统逆运动学求解方法主要有几何法、解析法、数值法等[3]。

传统方法在应用过程中仍存在不足:几何法是一种基本的平面机械臂求解方法,是解析法在二维空间的特例,很难有实用价值;解析法必须满足Pieper准则(实际中因为存在误差常不能满足准则)才能有封闭解,且不能在算法中处理奇异情况、避障约束和动态环境下的机械臂问题;数值法则聚焦迭代求解机器人雅克比矩阵来间接求解机器人逆运动学,存在不能保证100%的求解率、在奇异点附近算法稳定性不高等问题。

基于解析法和数值法的缺点,研究人员尝试采用智能算法求解特定机器人的逆运动学问题。常见的智能算法有遗传算法、粒子群算法等。例如,文献[4]采用实数编码方式的遗传算法以较小的误差产生最优角位移,实现了一种快速的逆运动学求解过程;文献[5]研究了一种双向粒子群算法改进了移动机械手逆运动学的求解方法;文献[6]采用全局、局部遗传算法改善了机械臂运动出现奇异点的情况,有效减少了奇异点个数和误差。

由于不同问题下的算法各有其优劣性,算法比较也成为研究热点。Mustafa等[7]采用多种启发式算法求解了同一个取放问题的逆运动学方程,为研究某特定问题找到了最优算法;Issa等[8]分别采取类电磁算法和遗传算法求解四连杆平面机械臂的逆运动学问题,从收敛速度和计算精度方面进行比较,剖析了两种算法的优缺点。

取长补短,融会贯通的混合算法则是研究者新的方向。例如Khaleel[9]采用遗传算法优化神经网络权值,用遗传算法混合神经网络法解决了一种冗余机械臂的逆运动学问题,Huang等[10]采用混合Taguchi DNA 的群体智能算法研究了六自由度机械臂逆运动学,并将其与遗传算法、蚁群算法进行了对比。

标准传统算法也存在着一些缺陷,算法的革新也一直是研究的重点。Saleh等[11]通过设计一种自适应小生境的遗传算法解决了多解模块化机器人逆运动学问题。Zhou等[12]在不影响末端执行器精度的情况下,利用序列变异遗传算法训练极值学习机,减少了机械臂逆运动学的计算时间。

以FAST促动器油缸装配机器人为研究对象,在分析机器人运动特性的基础上,采用Denavit-Hartenberg(D-H)法建立机器人的运动学模型;采用矩阵逆乘的解析法和基于自适应的多种群遗传算法求解运动学逆解问题,并据此评估改进遗传算法在收敛、精度和稳定性等方面的特性。

1 逆运动学分析

1.1 确定D-H参数

促动器自动化装配操作机器人是一个具有5个旋转关节、1个移动关节的机器人。定义机器人的初始位姿,建立基坐标系和各关节的关节坐标系。令x0、y0、z0分别为基坐标系的三个坐标轴,依次建立关节1~6的关节坐标系,x6、y6、z6代表末端执行器的坐标系,如图1所示。

d表示相邻关节之间的连杆长度;a表示相邻关节的连杆偏移量

建立关节坐标系之后,根据相邻关节坐标系确定关节的D-H参数,机器人的关节运动约束与参数如表1所示。

表1 D-H参数表

逆运动学是一种已知末端执行器位姿来求出各关节角的研究。虽然实际中机器人因为存在误差基本不能满足Pieper准则,但研究者仍然会运用解析法来取得各关节的理想封闭解应用在后续研究中。

下面采用矩阵求逆的逆运动学解析法求得部分关节的封闭解。将正运动学方程的两边分别乘以(0T1)-1,可得

(1)

式(1)中:1T2表示机器人关节2相对于关节1的坐标变换矩阵;px、py、px表示末端执行器位移矢量的x、y、z轴分量,以此类推。

展开式(1)左边,可得

(2)

式(2)中:θ7=θ2+θ3-θ5;C7代表cosθ7;S7代表sinθ7,以此类推。

展开式(1)右边,可得

(3)

1.2 求θ1、θ7

观察式(2)与式(3),对比第2行第4列的元素,得出含有θ1的一元一次方程组为

pyC1-pxS1=0

(4)

在实际应用中,机器人在抓取物体运送的过程中不会经过基坐标系z轴所在的直线上,因此px、py不会同时为0,式(4)不可能为恒等式,因此可得

θ1=atan2(py,px)

(5)

没有采用arcsin或者arccos函数作为最终结果,因为arcsin∈(-π/2,π/2),arccos∈(0,π),既不能遍历所有区间也不能确定方向,还需要再添加一步几何建模来确定。

因此求关节角的解析法将不会使用arcsin或arccos函数,而是使用四象限反正切函数atan2。四象限反正切函数无需确定方向以及正负号,目前已被纳入各运动控制底层函数并广泛运用于编程软件中。

观察式(2)与式(3),对比第1行第3列和第3行第3列的元素,得出含有θ1和θ7的二元一次方程组为

(6)

则有

θ7=atan2(r13C1+r23S1,r33)

(7)

1.3 求θ6

观察式(2)与式(3),对比第2行第1列和第2行第2列的元素,得出含有θ6的二元一次方程组为

(8)

解得

θ6=atan2(r11S1-r21C1,r12S1-r22C1)

(9)

1.4 求θ2

观察式(2)与式(3),对比第1行第4列和第3行第4列的元素,得出含有θ2,θ3,d4的二元一次方程组

(10)

2个方程无法求解3个未知数,证明了本课题研究的机器人逆运动学方程不存在有限个解析解。下面将θ3、d4用θ2表示。

1.5 求θ3,d4,θ5

由式(10)可得

θ3=atan2(pxC1+pyS1-a2C2+d6S7-a1,

pz+a2S2+d6C7)-θ2

(11)

(12)

θ5=θ2+θ3-θ7

(13)

至此,解析法证明了该类型的机器人没有有限个封闭解,因此考虑通过遗传算法求出剩余关节的数值解。解析法帮助摸透了机器人的构型特征,也减少了之后遗传算法的自变量个数,提高了遗传算法的计算速度。

值得注意的是,以θ2为单变量的目标函数去设计遗传算法并不可行,因为无法考虑其余θ3、d4、θ5的取值范围,导致算出的θ3、d4、θ5数值大概率超出实际可取范围。因此,选择将实际逆运动学求解问题转换成一种多元多峰函数求最小值问题。

2 多种群自适应遗传算法的建立

遗传算法在设计时主要有五个步骤:构造目标函数、构造适应度函数、选择编码和解码方式、选择遗传算子、初始参数配置[13]。针对实际工况设计自适应的交叉、变异算子改进遗传过程中的交叉、变异过程;设计多种群并联型的种群结构,改善了遗传算法初期过早收敛、后期最优解附近摆动的问题,提高了算法精度。

2.1 构造目标函数

机器人逆运动学研究中常常需要根据障碍物位置、路径规划要求,能耗最低原则和关节运动角度范围来选取最合适的那一组逆解。

重点关注机器人作业过程中的能耗问题和精度问题,通过构造适当的遗传算法目标函数,使得机器人末端的实际位姿与期望值差距减小的同时,六个关节相对于基状态所运动的幅度也尽量小。

目标函数的第一部分遵循能耗最低原则,要求θ3、θ5的实际转角和d4的实际位移相对于初始状态最小。同时,大臂的运动角度尤其要少。因此建立目标函数

(14)

由于θ、d的单位不同,在叠加两者时还需要进行归一化,ωr、ωp表示归一化系数,其值为

(15)

(16)

式中:θmax、θmin表示角度范围的上限和下限;pmax表示移动关节的最大工作距离。

目标函数的第二部分遵循精度最高原则,要求实际机器人末端位姿和期望位姿的误差最小。位置误差用欧式空间距离来表示,即

(17)

式(17)中:px、py、pz表示通过遗传算法逆运动学计算出的笛卡尔坐标,px0、py0、pz0表示期望笛卡尔坐标,ΔP表示位置误差。

姿态误差用关节空间的俯仰、翻滚、偏航三角度差的绝对值来表示

ΔR=|rx-rx0|+|ry-ry0|+|rz-rz0|

(18)

式(18)中:rx、ry、rz表示遗传算法下的姿态;rx0、ry0、rz0表示期望姿态;ΔR表示姿态误差。

由于姿态和位置方程单位不同,精度函数也需要进行归一化操作,归一化系数同上,形成了精度最高思想下的数学表达式,即

f(p,r)=min(ωpΔP+ωrΔR)

(19)

在分别建立能量与精度函数后,设定一种衡量二者权重的参数α,其表达式为

α=1/2e-f(p,r)+β, 0≤β≤0.5

(20)

式(20)中:β为一需要具体实验后决定的常数。在算法设计完成后分别取β=1/4,2/5,1/2进行了测试,结果表明当取β=2/5时,算法精度可达10-7~10-8,最符合要求。

因此,总目标函数得以确定,即

f(p,r,θ,d)=αf(p,r)+(1-α)f(θ,d)

(21)

显然,当遗传算法进入迭代初期,f(p,r)较大,α接近2/5,(1-α)接近3/5,此时遗传算法会优先考虑能耗问题;当算法进入迭代后期,f(p,r)减小,α接近3/5,(1-α)接近2/5,遗传算法会着重考虑精度问题。

2.2 自适应多种群的遗传算法的改进

传统遗传算法(simple genetic algorithm,SGA)存在初期过早收敛、后期最优解附近摆动、容易陷入极值求不出最值等问题[14]。针对实际工况,提出自适应多种群的改进遗传算法(adaptive multiple population genetic algorithm,AMPGA)。AMPGA具有如下优点。

(1)AMPGA 在保持初始种群独立化、多样化的同时,也保留了移民算子这条交换少数优质个体的桥梁,实现各种群间的定期信息交换。同时在每一代设置人工选择算子,择优放入独立精华种群加以保存利用。这项改进使得算法陷入极值而非最值区域时更易跳出。

(2)AMPGA摒弃传统遗传算法设定固定最大遗传代数的方法,选择设定一个个体可连续保持最优的最大遗传代数的参数。若某个体连续多代已保持最优,则结束遗传算法。这种根据遗传算法搜索情况自适应改变算法结束代数的方式在保持搜索精度的同时灵活地提高了搜索效率。

(3)AMPGA通过动态调整交叉算子(Pc)和变异算子(Pm)的值可自适应的平衡搜索和随机、效率和精度之间的关系,在每一代、每一个子种群、每一个个体中都实时评估其适应度。出于保护高适应度个体的考虑,给予其较低的Pc、Pm值;出于亟需改变低适应度值个体的考虑,给予其较高的Pc、Pm。其具体实现方式为

(22)

(23)

式中:k1、k2、k3、k4为给定常数;fmax为种群适应度最大值;fm为需要交叉的两个个体中适应度更大的值;f为需要变异的个体适应度值;favg为种群适应度平均值。

选用k1=k3=1,k2=k4=0.5,当个体的适应度值小于均值时,直接选择较大的固定交叉概率1和固定变异概率0.5;当个体的适应度高于均值时,其交叉和变异概率由进化代数和个体优劣程度决定。算法处于进化前期,fmax、favg相差较大,种群多样性较好,此时pc、pm较小。随着种群总体向最优值靠拢,种群个体趋同时,fmax-favg变小,pc、pm随之变大。同时,个体越优秀,其适应度值与最大适应度值的间距越小,fmax-f越小,pc、pm越小,反之同理。

显然,采用多种群并行进化和自适应的改进交叉、变异算子可以兼顾算法的收敛能力和寻优能力,提高了算法的效率。AMPGA的结构流程如图2所示。

图2 遗传算法结构流程

3 仿真与结果分析

3.1 逆运动学验证

具体研究的机器人D-H参数为:连杆长a1=0.55 m,a2=1.35 m,连杆偏距d6=0.22 m。给定5个关节具体值为θ1=π/4、θ2=π/6、θ3=3π/4、θ5=2π/3、θ6=π/3,d4=1.2 m。求出末端执行器位姿矩阵为

(24)

在MATLAB机器人工具箱中输入机器人关节空间矩阵,利用函数T=fkine(r,q)求出操作空间位姿阵。将三轴建立笛卡尔坐标系,得出的正运动学机器人仿真模型如图3所示。

图3 正运动学机器人仿真模型

再将矩阵[式(24)]代入AMPGA中,求得一组逆解θ2=0.891 94 rad,θ3=1.570 8 rad,d4=1.006 6 m,θ5=1.677 3 rad。再将其代入已验证的正运动模型中,得出其末端执行器位姿矩阵与式(24)完全相同。测其位置精度与姿态精度,可得数量级均处于10-7~10-8。这验证了兼顾解析法和自适应多种群遗传算法的机器人逆运动学模型的正确性。

3.2 AMPGA求解精度分析

衡量一个算法性能是否优越的重要指标是其求解精度和求解速度。图4为SGA和AMPGA的进化过程对比图。多次进行进化对比实验可得,AMPGA进化速度总更快,所求得的目标函数值更小且总能求得最值而不陷入极值。显然,AMPGA算法性能更优越。

图4 进化曲线对比

表2给出使用AMPGA所得到的欧拉角、期望欧拉角及其误差。表3给出使用AMPGA所得到的笛卡尔坐标值、期望笛卡尔坐标值及其误差。

由表2、表3可得,10-7的误差数量级已经溢出定位精度的极限,因为采用了灵活的算法截止条件,AMPGA 的通用性很好,可以稍加改进以适用于定位要求不太高的工况。

表2 AMPGA所得末端姿态与期望姿态比较

表3 AMPGA所得末端位置与期望位置比较

图5给出了进化过程中三个方向的位置误差变化规律。在迭代至100次左右时,位置误差的数值已在10-2数量级。遇到精度需求比较粗糙的工况时,可灵活变更算法截止条件,适当缩小迭代次数,提高迭代速度。

图5 位置误差变化规律图

3.3 基于MATLAB的运动轨迹仿真验证

算法的稳定性也是衡量一个算法是否优异的重要因素。为验证机器人作业轨迹的稳定性,将机器人作业起点和终点的期望位姿矩阵代入AMPGA中,求得两组机器人关节空间。

分别将两组值作为起点和终点进行油缸装配机器人末端执行器轨迹规划,得出六关节的角度(位移)、速度、加速度变化曲线,如图6所示。观察曲线可知,运用AMPGA方法的机器人关节速度与加速度无突变且过渡平滑,机器人运行平稳、连续,这再次证明了AMPGA可以有效处理机器人逆运动学问题。

图6 AMPGA六关节位移、速度、加速度变化曲线

4 结论

研究了一种FAST促动器油缸装配机器人的运动学问题,主要成果如下。

(1)创造性地采用解析法和数值法相结合的方式建立机器人运动学模型,用解析法求解出有限关节的解析解,减少了遗传算法自变量的个数,从源头提高逆运动学算法的求解速度。

(2)将剩余关节的逆运动学求解问题转化为一种多元多峰函数优化问题,在充分考虑机器人能量最低、精度最高原则的基础上构造适当的目标函数,设定动态权重在算法全周期过程中平衡能量与精度的关系。

(3)针对一般遗传算法在求解机器人逆运动学过程中的缺陷,设计一种改进的自适应多种群遗传算法并进行仿真实验。结果证明,AMPGA可有效在加快收敛速度的同时避免局部收敛,且运算精度非常高。

猜你喜欢
运动学适应度遗传算法
改进的自适应复制、交叉和突变遗传算法
轿车前后悬架运动学仿真分析
基于遗传算法的高精度事故重建与损伤分析
基于遗传算法的模糊控制在过热汽温控制系统优化中的应用
复合切割机器人的运动学分析与仿真研究
基于遗传算法的智能交通灯控制研究
启发式搜索算法进行乐曲编辑的基本原理分析
基于运动学特征的新型滑板对速滑蹬冰动作模拟的有效性
基于人群搜索算法的上市公司的Z—Score模型财务预警研究
基于改进多岛遗传算法的动力总成悬置系统优化设计