基于分步式自适应学习的参数辨识方法

2020-12-18 03:43付树兵高兴宇陆佳琪赵东升
桂林电子科技大学学报 2020年2期
关键词:折线图经验值位姿

付树兵, 高兴宇, 陆佳琪, 赵东升

(桂林电子科技大学 机电工程学院,广西 桂林 541004)

机器人的定位误差95%是由于初始运动学模型不准确所造成的[1]。提高机器人定位精度的方法主要有2类:1)提高机器人零件的加工及装配精度,该方法对减少机器人几何误差,提高绝对定位精度有一定作用,但是对于高精度作业要求的机器人,提高精度效果不明显,投入成本骤增;2)建立运动学模型,测量末端位置误差,辨识几何参数误差值,在控制器上进行误差补偿,该方法是提高机器人精度标定的主要方法,其中参数辨识算法是提高定位精度、降低成本最有效、最直接的方法。目前,使用最广的辨识算法仍然是最小二乘算法,但是传统的最小二乘算法对部分相关参数辨识精度低,且无法对冗余参数进行辨识,从而导致部分参数误差无法补偿或补偿精度低。张虎[1]采用DH建模,先后对比最小二乘法、优化算法、遗传算法和退火算法补偿效果,最大定位误差从17.966 8 mm降至1.350 0 mm,MDH模型比DH模型最大定位误差降低了约0.001 0 mm。王坤[2]以HSR-JR605机器人为实验对象,采用二级标定方法,采用不同的方法对几何参数误差和非几何参数误差进行补偿,机器人的平均定位误差由4.111 3 mm降至1.060 8 mm。目前机器人标定的最大定位误差大多数还停留在毫米级。为此,提出一种基于分步式自适应学习参数辨识方法,此方法辨识精度高,辨识结果稳定,算法程序化方便,可执行性强,补偿后最大定位误差降低至0.2 mm以内。

1 运动学模型的建立

目前的工业机器人仍然主要采用经典的D-H模型建模。此模型下,当机器人相邻关节旋转轴线平行或近乎平行时,存在奇异点,对末端位置精度影响很大[3-4]。为了减少辨识参数,采用D-H模型与MDH模型相结合的运动学模型,在平行或近乎平行的关节间引入绕Y轴的旋转参数β,在不平行的关节间仍保留传统的D-H模型。

以欧姆龙公司的Viper650机器人为实验对象,结构参数名义值如表1所示,坐标关系图如图1所示,MATLAB仿真各参数误差预设值如表2所示。

表1 运动学参数名义值

表2 运动学参数误差预设值

图1 Viper650机器人坐标关系图

根据图1,相邻的2个关节坐标系间的D-H变换矩阵为

(1)

其中,2、3关节间的MDH变换矩阵为

A2=

(2)

则机器人位姿矩阵

(3)

其中:n(nx,ny,nz)、o(ox,oy,oz)、a(ax,ay,az)为机器人末端法兰相对于基坐标系的姿态向量;p(px,py,pz)为机器人末端执行器的位置向量。

机构的雅可比矩阵能够反映机构位姿的微小变化以及各部件参数的微小变化之间的关系,可以描述机器人在末端执行器微分运动和各关节微分运动之间的联系[5]。机器人运动学误差模型为

(4)

其中Δp为实际位置pr与名义位置pn之差。式(4)简化后模型为

Δp=J·Δδ,

(5)

其中:J为3×25的机器人误差系数矩阵,又称雅可比矩阵,

(6)

Δδ为25×1的几何误差参数矩阵,

Δδ=(Δθ1…Δθ6,Δd1…Δd6,Δa0…Δa5,

Δα0…Δα5,Δβ2)T。

(7)

因此,求解时应选择测量点数N>25/3,为了提高辨识精度,一般取N≥9构成雅可比矩阵的超定方程组。当雅可比矩阵列满秩时可直接进行求解,

Δδ=J-1Δp。

(8)

通过对雅可比矩阵的分析以及参数辨识的运算发现,其秩rank(J)<25,导致求解结果不唯一。因此,对J矩阵的列向量进行冗余性分析,可对J矩阵进行QR分解,

(9)

其中:Q为N×N的正交矩阵;R为25×25的上三角矩阵,R矩阵对角线上的元素为J矩阵的列特征值。特征值为0的列代表不起作用参数所对应的参数列,特征值很小非常接近于0的列代表相关参数列,不起作用参数以及部分相关参数属于冗余参数,在最小二乘算法中无法辨识。通过QR分解获知冗余参数后,对独立参数进行误差补偿。图2为QR分解的x、y、z方向的各参数特征值除以1 000后的折线图,图3为传统最小二乘算法在X、Y、Z轴的参数辨识折线图。

图2 QR分解特征值分布折线图

图3 传统最小二乘算法参数辨识折线图

由图2、3可知,连杆长度误差Δai和连杆偏移误差Δdi的QR分解特征值趋于0,连杆长度误差Δai和连杆偏移误差Δdi的部分误差值辨识结果不一致,同时参数辨识精度低,这也验证了当QR分解特征值趋于0时,最小二乘法参数辨识精度较低。另外,冗余参数Δθ6、Δd5、Δa5、Δα6的参数辨识结果基本为0,根据文献[5],Δθ6和Δα6对末端位置精度的影响基本可忽略,所以最终需要辨识和补偿的参数为23个。其中Δθi、Δαi、Δβ2的辨识采用传统的最小二乘法,能基本满足辨识精度要求。Δdi和Δai的辨识采用区域搜索法,q11、q12、q13、q14、q15、q16代表Δdi区域搜索后辨识结果。同理,p11、p12、p13、p14、p15、p16代表Δai区域搜索后辨识结果。

2 工业机器人误差模型参数辨识方法

相同参数误差条件下,不同位姿对末端位置造成的误差存在差异性[5],因此在进行参数误差辨识之前,需要获取n组合适位姿并进行误差测量。为此,采用方差作为参数辨识稳定性指标。其中,区域搜索环节步长不能设置过小,否则在参数误差较大的情况下,容易陷入局部最优,步长过大则会影响区域搜索分辨率。鉴于此,采用多步长区域搜索法。具体操作流程为:

1)每个关节在活动范围内产生随机数,以40组数据为单位,对求解的雅可比矩阵进行QR分解,区分独立参数、相关参数和不起作用的参数。

2)补偿独立参数误差。

3)设置步长0.03 mm进行区域搜索,搜索完毕后进行辨识精度微调,分别设置步长为0.02、0.01 mm进行单次搜索,逐次补偿后方差为评判标准,从100个40组数据中找到方差最小的一组,同时参考Δdi和Δai的辨识情况。重复步骤1)~3),直至筛选出合适的位姿且稳定的参数辨识方程。

4)反求Δθ5和Δα5的经验值,经验值补偿后重新辨识参数误差。

5)重新设定误差值,验证整体的参数辨识效果,证明本方法的辨识精度和可靠性。

经实验证明,采用最小二乘法进行参数辨识,Δθ5的辨识结果总是大于预设值,Δα5的辨识结果总是小于预设值,为了使区域搜索法参数误差辨识结果更加精准,需要对这2个参数分别乘以一个经验值。实验证明,这个经验值不是定值。关节角Δθ5和扭角Δα5的误差变化对Δθ5和Δα5的辨识精度影响不大,但会随杆长偏差Δai和连杆偏移误差Δdi的变化而变化。有无经验值补偿对整体定位精度影响不是很大,只会影响部分相关参数的辨识精度,所以可以先初步辨识各参数误差,然后计算当前参数误差需要的经验值。步骤3)是整个参数辨识的关键,主流程图和区域搜索流程图如图4、5所示。

图4、5中,Vr1代表当前参数误差补偿后的方差,通过不断遍历,将Vr1最小值赋值给Vr。Vr2代表正向搜索参数误差补偿后方差,Vr3代表负向搜索参数误差补偿后方差。n1根据误差预估值而定,l为搜索步长。暂定n1为40,li为0.03,则最终区域搜索区间为[-1.2,1.2]。输出结果中,Mx、Vr、Av分别为参数误差补偿后的最大定位误差、方差及平均误差,Er为最终辨识的误差参数矩阵,Tr为从随机数中选取的40组较佳辨识位姿矩阵,Tr=[Tr1Tr2Tr3Tr4Tr5Tr6]T。若测量点选择太少,部分参数的辨识精度可能会发生较大跳变,最终导致部分参数的补偿精度不足;若测量点太多,一方面会增加参数的辨识时间,另一方面测量组数据增加时,辨识精度的提高不明显,最终选定测量点数为40。测量位姿的确定犹如机器学习和训练的过程,根据随机数的变化,不断更新获取最佳辨识位姿,辨识精度也不断提高。

图4 主流程图

3 仿真分析

根据流程图选出测量位姿,并进行仿真实验。设置较小参数误差和较大参数误差2种情况,分别对Δθ5和Δα5有无经验值补偿的辨识进行对比。表3为不同预设值参数辨识结果对比。从表3可以看出:

1)Δθ5和Δα5的辨识精度对Δd5和Δa5的辨识结果影响很大。从QR分解的特征值分析,Δd5和Δa5属于相关性较强的参数,传统最小二乘法对其辨识结果趋于0,为无法辨识。

2)Δθ5和Δα5的辨识精度对其他参数的辨识波动基本可以忽略,可以先根据初步辨识结果反求Δθ5和Δα5的经验值,然后进行二次参数辨识。

图6为第1组误差预设值未标定前,X、Y、Z轴定位误差分布,图7~9为第1组误差预设值参数辨识并补偿误差后的定位误差折线图。图10~12为第2组误差预设值参数辨识并补偿后的定位误差折线图。从图6~12可知:

图5 区域搜索流程图

表3 不同预设值参数辨识结果对比

图6 未标定前误差折线图

图7 第1组X轴误差分布折线图

图8 第1组Y轴误差分布折线图

图9 第1组Z轴误差分布折线图

图10 第2组X轴误差分布折线图

图11 第2组Y轴误差分布折线图

1)当整体参数都存在微小误差时,对机器人末端位置的精度影响较大。

2)区域搜索法比传统的最小二乘法参数辨识精度更高,误差的补偿效果更好。

3)当参数误差Δθ5和Δα5较小时,有无经验值补偿对定位误差精度的提高效果不明显;当参数误差Δθ5和Δα5较大时,经验值补偿可一定程度上提高机器人定位精度,特别是Z轴的定位精度。

4)Δθ5、Δd5、Δa5、Δα5误差值对末端定位精度影响较小。

2种算法的误差对比如表4所示。由表4可知,第1组数据,与标定前相比,区域搜索算法的最大定位误差降低了99.33%,方差降低了99.99%,平均误差降低了99.62%;与传统最小二乘法对比,最大定位误差降低了86.73%,方差降低了98.74%,平均误差降低了85.38%。第2组数据,与标定前相比,

图12 第2组Z轴误差分布折线图

表4 2种算法的误差对比mm

区域搜索算法的最大误差降低了98.95%,方差降低了99.99%,平均误差降低了99.39%;与传统最小二乘法相比,最大定位误差降低了51.90%,方差降低了81.61%,平均误差降低了98.76%。这也验证了基于区域搜索法参数辨识的高精度和高可靠性。

4 结束语

针对工业机器人标定环节中最小二乘法部分参数辨识不稳定、冗余参数无法辨识等问题,提出了一种分步式自适应学习参数辨识方法。考虑到相同误差值情况下,不同位姿对末端位置精度的影响各不相同,同时,不同位姿对参数辨识精度也会存在差异,为此,采用随机数方法,MATLAB遍历仿真,自适应学习当前型号机器人参数辨识的最佳位姿测量点,测量点对相同型号的机器人参数辨识同样适用,后续的参

数辨识可直接跳过测量位姿选取环节。经验值的补偿可提高相关参数的辨识精度,从而提高机器人整体定位精度。但单步长搜索分辨率不能设置过小,否则当参数误差值较大情况下,可能会陷入局部最优。MATLAB仿真结果表明,机器人最大定位误差降低至0.2 mm,证明本方法是有效的,为机器人精度标定的实施提供了理论依据。

猜你喜欢
折线图经验值位姿
融合二维图像和三维点云的相机位姿估计
结合游戏活动打造园本建构课程体系
数据增加折线图自动延长
船舶清理机器人定位基准位姿测量技术研究
优化ORB 特征的视觉SLAM
基于蓝墨云班课的分子生物技术课程过程性评价的研究
让折线图显示在一个单元格中
再多也不乱 制作按需显示的折线图
企业专业经验值结构化
美化Excel折线图表