李慰萱, 李 凯, 邢志勇
(上海宝冶集团有限公司,上海 201908)
随着机器人技术的快速发展,工业机器人逐渐被应用于航天工业、卫星制造等高端制造领域[1-2]。“十三五”规划期间的“智能机器人”重点专项指出,工业机器人应用于高端制造领域时,其绝对定位精度应优于0.05 mm。目前工业机器人的绝对定位精度仍仅为毫米级,尚无法满足高端制造领域的精度要求。
引起工业机器人定位误差的因素较多,而运动学参数误差是影响工业机器人定位精度的主要误差源之一[3]。机器人运动学参数误差的标定步骤主要包含参数误差模型建立、机器人误差测量、误差参数辨识和机器人误差补偿4个基本步骤。目前工业机器人广泛使用DH模型、POE模型等,而在建立机器人运动学参数误差模型时,还有ZRM模型、CPC模型等[4]。机器人误差测量主要采用激光跟踪仪、多拉线传感器、立体视觉测量系统等。其中,激光跟踪仪是目前机器人标定过程中最常用的测量设备[5]。但根据测量靶标的不同,能够测量的机器人误差数据分为位置误差和姿态误差。根据测量误差数据的不同,可以建立位置误差模型、距离误差模型和位姿误差模型[6]。由于当前工业现场对于位置精度要求较高,因此目前机器人标定技术中常用位置误差模型除运动学参数误差以外,还有柔性参数误差和关节参数误差等影响机器人精度性能的误差[7]。在关节参数误差中,减速比和耦合比参数误差也会导致机器人精度的下降。
通过忽略高阶项可以对误差模型进行线性化,但所得到的误差模型仍然是一个多参数的优化求解问题。传统的最小二乘法、LM算法都受到目标函数的雅可比矩阵奇异性的影响,从而导致算法优化效果不稳定。除了传统的优化算法以外,譬如粒子群优化算法、遗传算法等智能算法能够很好地避免雅可比矩阵奇异性的问题。温秀兰等[8]利用改进乌鸦优化算法实现Staubli TX60机器人的运动学参数误差辨识,将该机器人位姿精度提升了70%。房立金等[9]基于量子粒子群算法实现了并联机器人的运动学参数标定,将该并联机器人的误差从0.091 2 mm降低到0.010 8 mm。Liu[10]利用遗传算法实现六自由度串联机器人的运动学参数标定,将该机器人的位置误差从8.72 mm降低到0.427 mm。乔贵方等[11]基于 BAS-PSO优化算法实现机器人的运动学参数辨识,将机器人的平均综合位置误差从0.312 0 mm降低为0.093 8 mm。以上文献仅考虑了运动学参数误差对机器人精度性能的影响,忽略了减速比参数等。为进一步提高机器人的标定效果,本文针对串联机器人标定技术开展研究。首先建立了运动学参数和减速比参数的统一误差模型,其次提出了一种改进布谷鸟搜索算法(Cuckoo Search Algorithm,CSA)以实现多参数的精确辨识,最后通过实验验证了该统一模型和改进布谷鸟算法的有效性。
图1 DH模型中的坐标系转换
(1)
式中:i=1,2,…,6为自由度,即关节点;n为该转换矩阵代入名义运动学参数值,即模型基座到机械手的矩阵量作乘。
而当相邻两轴平行或接近平行时,则存在奇异性问题。MDH模型在相邻平行关节的描述参数上增加了角度参数βi[11],如式(2)所示。
(2)
减速比是指机器人关节减速机的传动比值,一般关节编码器安装在伺服电机的末端,减速机安装在伺服电机的输出端,关节编码器的值无法精确反馈机器人关节位置。因此,机器人关节每转动一定角度都会造成一定比例的关节角度偏差,因此,本文在运动学模型的基础上加入减速比ki和耦合比h两个参数,其中减速比ki与关节角度名义值θni、关节角度实际值θri之间的关系如式(3)所示。
θri=kiθni
(3)
耦合比h仅存在于关节6中,该参数表示关节5对关节6的影响,h与关节角度名义值θn5、θn6和减速比k5和k6之间的关系如式(4)所示。
θr6=k6θn6+hk5θn5
(4)
将式(3)和式(4)代入运动学模型矩阵(2)中可以得到包含运动学参数、减速比参数和耦合比参数的统一模型表达式。
机器人的名义末端位姿Tn矩阵可表示为
(5)
式中:Rn和Pn分别为名义旋转矩阵和名义位置向量。
而实际情况中机器人的运动学模型参数ai、di、αi、θi、βi,减速比ki和耦合比h存在一定误差Δai、Δdi、Δαi、Δθi、Δβi、Δki、Δh。因此,机器人实际末端位姿矩阵Tr可表示为
藜麦购买于沽源县天然园农场;辛/癸酸甘油酯(MCT),印度尼西亚Britz Networks Sdn. Bhd.;尼罗红,阿拉丁试剂有限公司,其它化学试剂均为国产分析纯,实验所用水为二级蒸馏水。
(6)
式中:Rr和Pr分别为实际旋转矩阵和实际位置向量。
本文所采用的测量设备在能够测量机器人末端位置的情况下,通过对Pn的每一列运动学参数进行微分,可以得到机器人的位姿误差模型,如式(7)所示。
dP=Pr-Pn=HpΔη
(7)
CSA[12]是剑桥大学Yang教授提出的一种启发算法。CSA是一种通过模拟布谷鸟的寄生育雏来求解最优问题的算法,该算法采用Levy飞行搜索机制,有效地提升了CSA的效率。典型的CSA算法流程如下所示。
① 随机产生初始化种群,n个鸟巢位置;
② 根据目标函数计算适应度,计算并保留最好的鸟巢位置;
③ 根据Levy飞行更新鸟巢位置;
④ 计算新位置的适应度,并同原鸟巢的适应度对比,择优保留;
⑤ 将发现概率Pc与代表外来鸟蛋被发现概率的随机数作比较,若发现概率Pc较大,则重新随机生成一个新鸟巢位置并计算适应度;
⑥ 若满足终止条件,输出最好的鸟巢位置,否则回到步骤③。
CSA的寻优效率受限于Levy搜索策略,Levy搜索步长和方向的随机性很大,如图2所示。基于Levy搜索的CSA收敛速度慢,求解精度低,易陷入局部最优。为了提高算法求解效率和精度,本文引入对数调整系数修正Levy搜索步长,从而提高算法的全局收敛性和收敛速度。在迭代前期,对数调整的系数曲线下降更快,从而有利于全局探索、快速定位最优解的大致范围;在迭代后期,对数调整的系数曲线下降平缓,有利于局部精细搜索,进而找到全局最优解。因此,本文采用的对数调整系数如式(8)所示。
图2 CSA中Levy维飞行轨迹
(8)
式中:Xi为第i维迭代参数;t为当前迭代次数;κmax,κmin为κ的初值和终值;η为对数调整系数;max_number为最大迭代次数。本文设定κmax=0.9,κmin=0.4,η=1,max_number=1 000。
采用改进CSA优化计算机器人误差参数误差时,其适应度函数如式(9)所示。该适应度函数是运动学参数、减速比参数和耦合比参数误差集(Δai,Δdi,Δαi,Δθi,Δβi,Δki,Δh)的函数,通过改进CSA优化算法搜索误差参数,使适应度函数f为最小。在优化过程中搜索误差参数的取值范围定为[-1,1]。
(9)
式中:N为标定点数目,一般为50。
本文所搭建的机器人标定试验系统使用Leica AT930激光跟踪仪和Staubli TX60工业机器人,如图3所示。相关数据处理软件是Spatial Analyzer和MATLAB。本文待标定的Staubli TX60工业机器人的重复定位精度为±0.02 mm,额定负载为3 kg。所涉及的测量过程均符合GB/T 12642-2013《工业机器人 性能规范及其试验方法》标准[13]。实验中以机器人的基坐标系为参考坐标系,在Staubli TX60工业机器人前方的正方体空间内随机选择160个测量点,并且保证测量点能够尽可能地分布在立方体的空间内,其中110个测量点作为参数辨识数据集,50个点作为模型参数验证数据集。为评价机器人精度性能参数的提升效果,本文定义了平均综合位置误差如式(10)所示。
图3 工业机器人标定实验系统
(10)
式中:M为数据集中的测试点个数。
本文待标定的机器人参数名义值如表1所示,利用改进CSA优化算法辨识机器人的运动学参数误差如表2所示。具体辨识数据集和验证数据集的处理结果如图4所示。辨识点集中的Staubli TX60机器人的平均综合位置误差从0.648 5 mm降低为0.062 9 mm,机器人的位置精度性能提升了90.3%,验证点集中的Staubli TX60机器人的平均综合位置误差从0.646 4 mm降低为0.085 9 mm,机器人的位置精度性能提升了86.7%。从而说明,经过改进CSA算法辨识得到的机器人运动学参数误差、减速比参数误差以及耦合比参数误差值更符合机器人实际结构参数。同时也验证了本文提出的运动学参数、减速比参数和耦合比参数的统一建模,能够有效地提升机器人的精度性能。
表1 Staubli TX60机器人的名义参数
表2 待标定机器人的参数辨识误差值
图4 Staubli TX60机器人标定前后的实验结果对比
本文首先阐述了工业机器人关节误差和运动学误差的统一建模方法,将关节的减速比参数和耦合比参数与运动学参数进行统一建模;其次提出了一种改进CSA优化算法的多参数辨识方法,采用对数调整系数修正Levy搜索步长,提升了算法的收敛性和精确性。为了验证以上模型和辨识方法的有效性,本文构建了串联型工业机器人标定实验系统。通过在Staubli TX60机器人的运动空间内测量160个测量点,分别构成辨识点集和验证点集。实验结果表明,利用本文提出的误差模型和辨识方法,能够将机器人位置误差降低86.7%以上,能够将辨识点集中的Staubli TX60机器人的平均综合位置误差从0.648 5 mm降低为0.062 9 mm,相较于优化前机器人位置误差降低为0.072 2 mm,模型定位误差进一步降低了12.9%;同样,利用本文提出的误差模型和辨识方法,验证点集中的Staubli TX60机器人的平均综合位置误差从0.646 4 mm降低为0.085 9 mm,相较于优化前机器人位置误差降低为0.090 2 mm,模型定位误差进一步降低了4.77%。本文提出的改进CSA优化算法能够较好地提升工业机器人的精度性能。