基于对偶数的球型手腕运动学参数识别*

2018-07-27 06:14,,
现代机械 2018年3期
关键词:坐标轴偶数运动学

,,

(大连理工大学 精密与特种加工教育部重点实验室,辽宁 大连 116024)

机器人技术在太空探索、航天领域发展迅速,并广泛应用于制造、医疗、救援等场景。机器人学涉及数学、机构学、力学、仿生学、计算机和控制等领域。随着控制理论、传感技术、计算机技术、仿生学以及人工智能等学科的发展,推动了机器人技术的进步[1-2]。目前,智能机器人受到广泛关注,各国竞相发展,应用日益广泛[3-5]。工业机器人对现代制造业有着重要意义,可提高生产效率、加工精度和产品质量[6]。机器人手腕是连接机械臂和末端执行器的关键部件,具有调整姿态等重要作用。为适应高性能机器人发展,手腕应该具有灵敏度高、小型化,大力矩及模块化等特点。

本文的研究对象是一种三自由度等速解耦球型回转式驱动手腕[7],其结构源于Paljug E等人研制的12自由度勘查机器人[8],关节采用了两半球斜面贴合的球形关节,并且将两个电机分散到关节两端的紧凑结构。Sungmoo Ryew等人在此基础上提出了一种球型二自由度主动手腕[8]。专利在此基础上又增加了一个自转自由度[11]。为解决十字万向节传动不等速的问题,专利提出采用球笼万向节取代十字万向节[7],得到三自由度等速解耦球型手腕,以适应高精度的工作需求。

三自由度等速解耦手腕作为独立的模块,由于三个旋转轴相交于一点,三轴均具有等速传动特性,因此,传动稳定性好[12]。然而,手腕定位精度的影响因素较多,如零件制造误差、装配误差、码盘测量误差等,此外,工作环境温度和末端负载也对精度有影响。因此需要对手腕的运动学参数进行标定,以保证其定位精度。机器人的标定分为三个层次:关节标定、运动学标定和非运动学标定。每个层次可以分为四个步骤:建模、测量、参数识别和误差补偿[13-14]。本文主要讨论当手腕理论运动学参数未知时,对运动学参数进行识别。为此,Peter I.Corke提出一种基于Java的识别方法,适于机器人新型结构的研究,可快速获得机器人DH参数[15]。Saha S K等人利用线几何的方法从机器人的3D模型中,根据已知轴线位置提取DH参数[16]。Chittawadigi R G提出基于空间圆的机器人模型DH参数识别方法[17],但不能解决机器人相邻轴线近似平行时,运动学参数奇异的问题。张旭等利用轴线测量法,将DH参数转化为最小连续运动学问题求解,以获取DH参数模型,但计算量较大[18]。

由于手腕结构紧凑且封闭,难以对其内部结构进行测量,得到准确的运动学参数、偏置斜面倾角和手腕球心关于参考点位置,无法得到准确的运动学模型,从而影响整个系统的定位精度。因此需要一种利用外部特征,如手腕末端轨迹,识别手腕运动参数和手腕参考点位置的方法。首先分析手腕可能出现的运动学误差;之后引入对偶数和Plücker坐标的概念,对空间直线位置关系进行判断;最后基于对偶数的运算规律,结合空间圆识别法得到的关节轴线和DH参数定义,对手腕的运动学参数进行识别。

1 三自由度等解耦手腕误差模型

1.1 手腕工作原理

三自由度等速解耦手腕的机械结构如图1,内部为双半球结构,偏置斜面角Ф=16°,外部为球笼万向节。手腕的运动链如图2,下半球由电机M1(对应驱动转角q1)通过齿轮系直接驱动,输出关节空间转角θ1;上半球由电机M2(对应驱动转角q2)通过齿轮系经过内球笼万向节驱动,输出关节空间转角θ2;手腕的自转运动由电机M3(对应驱动转角q3)通过齿轮系由外球笼驱动,输出关节空间转角θ3。上下半球的复合运动实现俯仰和侧摆两个自由度,加上外部球笼万向节驱动的自转运动,实现三个自由度的运动。三个自由度运动的旋转轴相交于一点,实现了手腕的结构解耦;内外双球笼的等速万向节实现了传动的双等速解耦[7]。

图1 球型手腕模型

1.2 手腕误差模型的建立

图2 手腕运动链传递简图

图3 手腕运动学误差模型

在实际模型中,零件存在加工误差,手腕本体存在装配误差,手腕模块与机械臂配合时存在误差,因此需要对手腕存在误差的模型进行建模分析,如图3。将误差模型理解为一个三自由度的串联机器人。采用DH参数来建立模型,各参数如表1所示,θi是关节角,其中θ12=θ2-θ1,是上半球相对于下半球的运动。根据手腕结构是否解耦进行讨论:

a.当di≠0或ai≠0 (i=1,2)时,手腕的结构不解耦,此时判定手腕结构存在缺陷;

b.当di=0且ai=0 (i=1,2)时,手腕的结构解耦,此时可通过对运动学参数的识别,对误差进行补偿。

本文的识别过程,只针对b情况。α1是上半球斜面倾角,α2是下半球斜面倾角,理论模型中α1=α2=16°,在识别过程中应对两者进行区分。

表1 手腕运动学参数表

2 空间直线关系判断

2.1 对偶数

1873年Clifford最早提出对偶数(Dual Numbers)概念[19],Kotelnikov与Study把对偶数应用于运动学研究[20],将表示空间中任意两直线位置关系的两个参数组合成如下对偶角表达式:

(1)

其中:α为空间中两直线夹角,d为空间中两直线距离,ε为对偶数单位,具整数性质:

ε2=0(ε≠0)

(2)

在20世纪60年代,Yang等人利用对偶数对空间四杆、五杆结构进行运动学分析[21]。在机器人技术高速发展的过程中,20世纪60年代Gu和Luh等将对偶数应用于机器人运动学,将旋转运动与直线运动通过对偶数单位区分,进而对机器人的运动学模型进行描述[22]。为了进一步完善对偶数在运动学中的应用,Brodsky与Shoham在上世纪90年代,利用Kotelnikov提出的惯量二元,对简单的串联机器人进行分析,建立了简洁紧凑的动力学模型[23-25]。

本世纪初,对偶数成功应用于计算机图形学,Ketchel和Larochelle利用空间对偶角的概念,来判断三维空间中圆柱体之间的位置关系,并将该方法应用在空间机构设计[26]。

2.2 空间直线的Plücker坐标

图4 直线的Plücker坐标

在欧式坐标系中,定义一条空间直线至少需要四个参数。Plücker坐标是一个冗余度为2的六维矢量,由表示直线方向的单位方向向量e以及关于坐标原点的矢量矩k构成[27],如图4。

Plücker坐标定义表达式为:

(3)

其中:s是六维列向量,c参考位置向量。

为了表达空间中任意两直线的位置,利用对偶数来表示Plücker坐标[28],表达式简化为:

(4)

直线的虚部为关于坐标原点的矢量矩,对于任意λ∈R,有如下等式成立:

c×e=(c+λe)×e

(5)

上式表明,直线Plücker坐标的对偶数表达式,只与所描述直线的实际位置有关,而与参考位置向量c的选取无关。利用这个性质,可以求解直线间的交点,直线与平面的交点,并且参考位置向量可以任意调整位置,为之后的运动学参数的识别提供便利。

2.3 空间直线关系判断

图5 空间直线位置关系

为判断两直线关系,根据对偶数的性质计算两直线Plücker坐标的点乘Ad和叉乘Ac,结果为:

=cos(β)+ε(-dsinβ)

(6)

=sin(β)d1+ε(cos(β)dd1+sin(β)kd)

(7)

利用点乘结果Ad和叉乘结果Ac可以判断两条直线之间的关系,判断流程如图6。

图6 空间直线位置关系判断流程图

3 DH参数识别

3.1 DH参数

图7 DH参数示意图

为保证DH参数识别的一致性,在对DH参数提取之前要对连杆坐标系进行定义。根据文献[29]对坐标系∑i以及DH参数di,θi,ai,αi定义,如图7。

因为di、θi是关于坐标轴zi-1的参数,因此本文称为Z方向参数,同理称ai、αi为X方向参数。DH参数如图7。

3.2 DH参数识别

由于DH参数的定义基于各连杆坐标系之间的关系,并且和基坐标系的选取有关,因此首先需要确定基坐标系∑0。基于基坐标系,依次对关节i(i=1,2…DOF)运动时末端执行器轨迹测点进行测量,根据文献中的方法进行空间圆的识别[30],得到空间圆的旋转轴线Zi的单位方向向量zi,以及圆心坐标Ci和轴线的参考位置向量ci。由此可以得到相对于基坐标系的坐标轴Zi的Plücker坐标表达为:

(8)

考虑到实际串联机器人DH参数中扭转角存在αi≠0.5kπ(k=0,±1,±2,…)的可能,坐标轴zi-1与坐标轴zi的关系,和坐标轴xi-1与坐标轴xi关系不存在直接联系。因此在DH参数提取过程中,需要对X方向参数和Z方向参数分别求解。

3.2.1X方向DH参数识别

由机器人基座向末端,根据对偶数计算法则,依次计算相邻旋转轴单位方向向量的Plücker坐标的点乘Zd和叉乘Zc,如下列所示:

(9)

(10)

1)当相邻坐标轴zi-1与坐标轴zi平行时,由DH参数的定义可知坐标原点Oi为坐标轴zi所在直线与xi-1Oi-1-yi-1平面的交点。令交点向量为O0Oi=oi=λizi+ci,(λi∈R),有如下等式成立

oi-1+λxxi-1+λyyi-1=λizi+ci

(11)

根据上式求得λi,得到连杆坐标系∑i的坐标原点关于基坐标系的位置向量为oi=λizi+ci。

2) 当相邻坐标轴zi-1与坐标轴zi同轴时,令oi=oi-1。

3)当相邻坐标轴zi-1与坐标轴zi相交时,令两直线的交点为Oi,O0Oi=oi。根据两直线的方向向量和位置向量分别表示交点Oi的方向向量,oi=λizi+ci,(λi∈R)或oi=λi-1zi-1+ci-1,(λi-1∈R),有如下等式成立:

λizi+ci=λi-1zi-1+ci-1

(12)

求解λi-1、λi,得到连杆坐标系∑i的坐标原点关于基坐标系的位置向量oi=λizi+ci。

4)当相邻坐标轴zi-1与坐标轴zi异面时,坐标原点Oi为坐标轴zi与两直线公垂线的交点Ni,公垂线的另一端与坐标轴zi-1的交点为Ni-1。令ai=zi-1×zi,公法线向量为Ni-1Ni=λaai,(λa∈R),交点Ni-1关于基座标系的位置向量为O0Ni-1=λi-1zi-1+ci-1,(λi-1∈R),交点为Ni关于基坐标系的位置向量为O0Ni=λizi+ci,(λi∈R),根据向量运算的三角形法有如下等式成立:

Ni-1Ni=O0Ni-O0Ni-1

(13)

解得λi-1、λi、λa,得到连杆坐标系∑i的坐标原点关于基坐标系的位置向量oi=λizi+ci。

由坐标oi和式(6)、式(7),可得坐标轴xi、yi以及X方向DH参数,如表2。

表2 DH参数识别表

3.2.2Z方向DH参数识别

经过上述计算,得到坐标轴xi的单位方向向量xi和坐标系∑i的坐标原点位置向量oi,由此可得坐标轴xi的Plücker坐标为:

(14)

其中:hi=oi×xi。

(15)

(16)

由坐标原点oi和式(6)、式(7)可得,Z方向DH参数,如表2所示。其中2-4列为坐标系参数,5-6列为X方向参数,7-8列为Z方向参数。

经过上述计算即可得到机器人的完整的DH参数。由球型手腕的结构图可知,手腕球心位置为旋转轴的交点,即为O2。将偏置斜面的倾角分开考虑,上半球倾角,为坐标轴z0和z1的夹角α1;下半球倾角,为坐标轴z1和z2的夹角α2。

4 仿真及分析

为了验证上述理论的正确性,将根据球型手腕的3D误差模型提取手腕的运动学参数。具体过程如下:

1)在Inventor软件中,根据理论参数建立手腕的简化模型,在结构解耦条件下,给模型添加假设误差,如球心位置的移动,数据标记为“球心xyz”,表明在xyz方向上有误差;偏置斜面倾角的偏差,标记为“倾角(+-)”,表明上半球倾角有正向偏差,下半球有负向偏差;

2)在软件中确定手腕基坐标系为手腕基座平面与第一关节轴的理论交点位置,将手腕模型关节转角归零;

3)令关节i(i=1,2,3)沿关节角增大方向转动,在0~360°之间对手腕末端均匀采集20个点,结束后令关节i归零,记录空间点的数据;

4)将数据导入MATLAB中,利用上述运动学参数的识别方法,可以得到手腕运动学参数,如图8、表3所示。

图8 基对偶数的手腕运动学参数界面

图8中,右侧窗口中,空间圆为手腕末端采样点构成;图中向量表示是识别出的各连杆坐标系。

表3 三自由度球型手腕仿真识别运动学参数

表3中是对球型手腕的模拟数据与识别数据,前者为粗体字,后者为普通字体。可见球心位置的识别误差max(ep)<2×10-3mm,偏置斜面倾角的识别误差max(eq)<10-3°,验证了识别方法的准确性,以及对可能出现的运动学参数误差的适应性。为手腕的实际参数的识别和标定提供了有效的方法。

5 结论

本文考虑等速球型手腕的结构的特殊性,提出基于对偶数的参数识别方法。用对偶数形式的Plücker坐标表示手腕关节轴线的位置,根据对偶数的点乘和叉乘的结果,以及DH运动学参数的定义,识别手腕的运动学参数,得到了球心位置和上下半球倾角。解决了由于手腕结构紧凑封闭,难以对其运动学参数进行测量的问题,得到了较小的识别误差,为球型手腕的标定提供了准确快捷的运动学参数识别方法,具有一定工程意义。

基金项目:国家自然科学基金资助项目(61773084)。

猜你喜欢
坐标轴偶数运动学
用坐标轴平移妙解斜率和(或积)为定值问题
奇数与偶数
偶数阶张量core逆的性质和应用
基于MATLAB的6R机器人逆运动学求解分析
工业机器人在MATLAB-Robotics中的运动学分析
基于D-H法的5-DOF串并联机床运动学分析
巧用仿射变换妙解高考解析几何题
基于运动学原理的LBI解模糊算法
有多少个“好数”?
奇偶性 问题