时间:2024-07-28
张永贵,牟亚雄,冯飞翔
(兰州理工大学机电工程学院,甘肃 兰州 730000)
随着机器人的发展,对机器人的误差研究越来越多,其中主要采用标定法,此方法可以提高机器人精度的目的,但是只能补偿由于连杆参数静态因素引起的误差,是目前应用最多的误差补偿方法。但在标定法中常用的是预测误差法和运动学标定法[1]。预测误差法是尽可能减少加工误差和装配误差,尽量使用高性能的控制器提高控制精度,这样在源头上减少机器人误差[2]。运动学标定是通过对机器人建模,测量,辨识和补偿四个步骤来提高机器人精度[3]。对于机器人建模及运动学标定,其中最经典的是D-H法,文献[4]首先指出当相邻的关节平行或者接近平行时,经典D-H模型存在奇异点的缺陷,在参数辨识中可能会出现无法辨识的现象。虽然后来他又提出了修正的D-H法,即MD-H(在经典的D-H法上增加一个绕y轴旋转的附加角β)来克服奇异点的缺陷,但这也说明该模型参数不具备连续性[5]。文献[6]建立多种构型的六自由度机器人利用POE方法和遗传算法求机器人正逆解。
对于上述模型的不足,提出基于指数积公式(POE)以MOTOMAN UP50为研究对象,对该机器人进行建模。与D-H法建模相比,POE法建模简单只需要建立两个坐标系即可,同时也避免了奇异解的问题。通过实验验证了所建立的运动学误差模型以及参数辨识方法能够提高该机器人的绝对定位精度。
对于MOTOMAN UP50机器人来说,该工业机器人具有六个关节,而且六个关节都是旋转关节,如果采用D-H法对机器人建模,则需要对机器人每个关节都要建立坐标系,对六轴机器人来说要建立六个关节,相比之下采用指数积公式只需要建立两个坐标系,即基础坐标系{B}和工具坐标系{T}与末端执行器相关联,对于六轴机器人就有六个关节旋量。MOTOMAN UP50型工业机器人的运动学模型,如图1所示。图中机器人的尺寸是根据标准机器人来绘制的,即a1=145mm,a2=870,a3=110mm,d4=1025mm,d6=175mm。
图1 MOTOMAN UP50机器人的几何模型Fig.1 Geometric Model of MOTOMAN UP50 Robot
假设机器人基础坐标为{B}和与末端执行器固连的工具坐标为{T},则机器人运动学正解的指数积公式为:
公式中θi表示第i各关节的旋转角度或者平动关节的位移,gbt(0)表示机器人在i位于参考位形时{T}和{B}之间的刚体变换,也就是当θ=[θ1,θ2,…,θn]时工具坐标系到基础坐标系的位姿变换矩阵,表示第i个关节的旋量,运动旋量具有以下的形式:
其中,ν=[ν1,ν2,ν3]T∈R3,ω∧∈SO(3)为向量ω=[ω1,ω2,ω3]T∈R3的反对称矩阵,即:
对于第i个是旋转关节时,ξi可表示为:
式中:ω—为该轴方向的单位矢量;q—旋转轴上的任意一点。对于第i个平动关节,ξi可表示为:
由Rodriguez公式可知:
其中,v=-ω×q+hω,在纯转动情况下,h=0 且与旋量有关的运动旋量简化为:
当在纯移动情况下,若设θ为移动量,则由旋量表示的刚体运动为式(9),即运动旋量可简化为ξ=(v,0)。
根据所建立的坐标系,如图1所示。可得各个关节轴线矢量和各个关节轴线上指定点的位置矢量,如表1、表2所示。
表1 MOTOMAN UP50机器人各关节轴线矢量Tab.1 MOTOMAN UP50 Axis Vector of Each Joint
表2 MOTOMAN UP50机器人各关节轴线上位置矢量Tab.2 MOTOMAN UP50 Position Vector on Axis of Each Joint
由公式以及表1和表2的矢量值可得关节旋量参数如下:
即MOTOMAN UP50工业机器人整个运动学正解方程为:
θi=0时基础坐标系与工具坐标系的变换为:
当机器人在初始状态时,即θi=0(i=1…6),带入式中可得:
从计算的结果可知与图1所示的末端执行器的位姿一致。
对于MOTOMAN UP50机器人的运动学正解POE式(11)中,θ=0时工具坐标相对于基础坐标的位姿gbt(0)可以写成某个常量的指数形式,即gbt(0)=可得:
对于机器人误差补偿模型通过对运动学方程等式两边微分可得[7]:
其中,ξ=[ξ1,ξ2…ξ6]∈R6×6,ξbt∈R6。
从式(13)可知,机器人末端执行器的几何参数误差是由δξ,δξbt和δθ造成的,这些误差可以看成是旋量误差和关节误差δθ共同作用。其中δθ可表示为δθ=[δθ1δθ2δθ3δθ4δθ5δθ6]带入式(12)可得:
上式是仅考虑仅存在关节误差时的误差模型讨论,这里是以指数积公式对机器人建模,以旋量理论为依据,所以旋量误差应该是最大的误差源,假设只有旋量误差,记机器人旋量实际值为,可得:
由式(14)和式(15)可得:
对于关节的零位置误差可以归结为旋量误差,不必单独辨识[8]。关节的零位偏置误差可以看作是旋量误差的一个误差源,在运动学参数的标定过程中仅需识别补偿旋量误差[9],则式(13)可写成:
在机器人的参数识别过程中,总是需要建立一个测量坐标系{N},所有的测量数据都应该在该坐标系下表示,一般情况下测量坐标系的建立应与基础坐标系重合,但是通常情况下很难重合,为了能够解决这一情况需要引入一个齐次变换矩阵来表示由测量坐标系到基础坐标坐标系的位姿变换,记这个齐次变换矩阵为g0。对式(12)写成矩阵的形式,做以下的调整:
对式(19)两边微分可得:
由式(13)可知:
式(20)和式(13)可知机器人末端点的误差δg与基础坐标系误差以及关节旋量误差和各关节偏置误差及初始误差之间的关系。对于δξbt,δθ和δgbt(0)无法同时辨识,有时要单独辨识,有时还要假设δθ和δξbt中没有误差,只考虑关节旋量误差δξ和机器人基础坐标系误差δξbt。则式(20)可表示为:
其中,I3∈R3×3表示单位矩阵∈so(3)表示三维向量g(θ)的反对称矩阵,其中:
令y=(δgg-1)∧则式(22)可改写成:
其中,J=[J1,J2,J3,J4,J5,J6,Jbt]∈R6×48;
x=[δξ1,δq1,…,δξ6,δq6,δξbt]T∈R48,Ji的表达式如下:
基于指数积公式的机器人运动学参数辨识实际就是一个最小二乘问题,目的是为了找到一组旋量参数使得根据运动学模型计算得到的末端执行器端点的位置尽可能逼近实际测量值,即:
式中:m—测量次数,则最小二乘的解:
经过每一次迭代之后更新x,把更新后的x作为下一次更新的初值,不断的迭代,使得达到预设的迭代次或者‖‖x的值小于给定的求解精度。
参数辨识的过程,如图2所示。首先让机器人进行某零件的修型加工,然后得到在运动过程中的标定位姿,即末端执行器的位姿和各轴的旋量坐标值,计算末端执行器的名义值及各关节的变量值,然后根据式(27)最小二乘公式对x进行求解,通过不断的迭代更新δξi和δξbt,使得整个迭代过程中x逼近某个值或‖‖x小于给定的精度值即可结束。
图2 参数辨识过程流程图Fig.2 Parameter Identification Process Flow Chart
这里主要是以MOTOMAN UP50型机器人为研究对象,而该机器人控制器是采用D-H模型进行控制的,在上文中我们采用的是指数积公式辨识出来的参数是旋量参数,不能直接在示教器上修改,所以应当把D-H转换成旋量坐标参数。采用文献[10]提出的转换方法,就得到D-H参数与旋量参数之间的相互转换,为后面参数辨识实验数据处理提供方便。
通过对MOTOMAN UP50型安川工业机器人标定仿真实验,在机器人工作空间范围内随机测量产生30组机器人不同位姿,通过示教器上读取机器人各个关节的转角,分别代入式(4)和式(6)计算各指数值,把表3各关节轴旋量值带入式(1)运动学方程可得末端执行器的名义位姿,同时也可根据旋量真实值计算末端执行器的实际位姿。按照图2进行参数辨识,完成旋量坐标的迭代识别,如图3所示。当迭代次数达到10次时运动学参数已经收敛到稳定值。参数识别的结果,如表3所示。
表3 MOTOMAN UP50 机器人各关节轴旋量坐标Tab.3 MOTOMAN UP50 Screw Coordinates of Each Joint Axis of Robot
图3 末端执行器在迭代过程的位置误差Fig.3 Position Error of End-Effector During Iteration
根据表3的名义值,真实值以及辨识值,利用式(16)分别计算末端执行器理论值,真实值及补偿值,分别计算各个测试位置上的各个测试点的值,然后对误差值进行补偿,如图4所示。在随机产生30个测试位置上末端执行器的位置误差都有明显的降低,由辨识前位置误差的标准方差4.705mm 降低到辨识后的0.124mm可知此参数辨识方法能够提高机器人的绝对定位精度。
图4 末端执行器在各测试点的位置误差Fig.4 Position Error of End Effector at Each Test Point
(1)主要以指数积公式为基础,对MOTOMAN UP50 机器人建模仿真,与以往D-H法相比该方法建模相对简单能够避免DH法变换时出现的奇异性。
(2)利用指数积公式对该机器人运动学建模并推导误差模型,通过最小二乘法对其参数辨识。虽然在研究的过程中利用了D-H参数与旋量之间的转换公式,只是为了数据之间的转换,对于这里研究内容还是基于指数积公式。实验表明该方法能够对MOTOMAN UP50机器人运动学参数修正,提高了其绝对定位精度,说明其方法的可行性。
(3)不足之处在于机器人实验时未考虑周围环境对其影响,比如实验室温度以及噪音等都会对测量有影响,此外在测量数据时是从机器人示教器上直接读取,因为机器人本身可能有制造误差会造成读取数据精度不高等,但这些因素的影响在这里研究的误差可控的范围之内,而多种因素的影响有待后续研究。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!