机器人DH模型建模及标定一DH模型介绍二利用DH模型标定过程内容三标定实例一DH模型介绍在1955年,Denavit和Hartenberg在“ASMEJournalofAppliedMechanics”发表了一篇论文,后来利用这篇论文来对机器人进行表示和建模,并导出了它们的运动方程,这已成为表示机器人和对机器人运动进行建模的标准方法。背景Denavit-Hartenberg(D-H)模型表示了对机器人连杆和关节进行建模的一种非常简单的方法,可用于任何机器人构型,也可用于表示在任何坐标中的变换。目前使用它已经开发了许多技术,例如,雅克比矩阵的计算和力分析等。假设机器人由一系列关节和连杆组成。这些关节可能是滑动(线性)的或旋转(转动)的,它们可以按任意的顺序放置并处于任意的平面。连杆也可以是任意的长度(包括零),它可能被弯曲或扭曲,也可能位于任意平面上。所以任何一组关节和连杆都可以构成一个我们想要建模和表示的机器人。前提首先给每个关节指定一个参考坐标系,然后,确定从一个关节到下一个关节(一个坐标到下一个坐标)来进行变换的步骤。如果从基座到第一个关节,再从第一个关节到第二个关节直至到最后一个关节的所有变换结合起来,就得到了机器人的总变换矩阵。基本思路图(a)表示了三个顺序的关节和两个连杆。虽然这些关节和连杆并不一定与任何实际机器人的关节或连杆相似,但是它们非常常见,且能很容易的表示实际机器人的任何关节。每个关节都是可以转动或平移的。第一个关节指定为关节n,第二个关节为关节n+1,第三个关节为关节n+2.在这些关节的前后可能还有其他关节。为了用D-H表示法对机器人建模,第一件事就是为每个关节指定一个本地的参考坐标系。因此,对于每个关节,都必须指定一个Z轴和X轴。给每个关节指定本地参考坐标系如果关节是旋转的,Z轴位于按右手规则旋转的方向。绕Z轴的旋转角是关节变量;如果关节是滑动的,Z轴为沿直线运动的方向。沿Z轴的连杆长度d是关节变量;注意:在每一种情况下,关节n处的Z轴下标为n-1。例如,表示关节n+1的Z轴是Zn指定Z轴指定X轴当两关节不平行或相交时,z轴通常是斜线,但总有一条距离最短的公垂线,它正交于任意两条斜线。在公垂线方向上定义本地参考坐标系的x轴。如果an表示Zn-1与Zn之间的公垂线,则xn的方向将沿an特殊情形两关节Z轴平行,就会有无数条公垂线,此时可挑选与前一关节的公垂线共线的一条,可简化模型;两关节Z轴相交,它们之间没有公垂线(或者说公垂线距离为零)。这时可将垂直于两条轴线构成的平面的直线定义为X轴(相当于选取两条Z轴的叉积方向作为X轴),可简化模型;关节变量在图(a)中,角表示绕Z轴的旋转角,d表示在Z轴上两条相邻的公垂线之间的距离,a表示每一条公垂线的长度(也叫关节偏移量),角表示两个相邻的Z轴之间的角度(也叫关节扭转)坐标变换假设现在位于本地坐标系,那么通过四步标准运动即可到达下一个本地坐标系nnzx11nnzx1、绕轴旋转,使得和互相平行。因为和都是垂直于轴的,因此绕轴旋转使它们平行(并且共面)。如下图所示:nx1n1nxna1nanznz1nnz2、沿轴平移距离,使得和共线。因为和已经平行并且垂直于,沿着移动则可使它们互相重叠在一起。如下图所示:nz1ndnx1nxnx1nxnznz3、沿轴平移的距离,使得和的原点重合。这时,两个参考坐标系的原点处在同一位置。如下图所示:nx1nanx1nx4、将轴绕轴旋转,使得轴与轴对准,这时坐标系n和n+1完全相同。至此,我们就成功的从一个坐标系变换到了下一个坐标系。如下图所示:nz1nx1nnz1nz综上可知,坐标变换的步骤为:旋转平移平移旋转在n+1和n+2坐标系间严格地按照同样的四个运动顺序可以将一个坐标变换到下一个坐标系。从参考坐标系开始,我们可以将其转换到机器人的基座,然后到第一个关节,第二个关节……,直至末端执行器。通过右乘表示四个运动的四个矩阵就可以得到变换矩阵A,矩阵A表示了四个依次的运动。由于所有的变换都是相对于当前坐标系的(他们都是相对于当前的本地坐标系来测量与执行的),因此所有的矩阵都是右乘。从而得到结果如下:111111,0,0,,0,0,nnnnnnnaxRotaTrandTranzRotAT10001000010000110000100000011111nnnnndCSSC10000000000110000100001000111111nnnnnCSSCa10000111111111111111111nnnnnnnnnnnnnnnnnndCSSaSCCCSCaSSCSCA上式中:C=cosS=sin1n1n1n1n比如,一般机器人的关节2与关节3之间的变换可以简化为:1000033333333333333333332dCSSaSCCCSCaSSCSCAT推广到n个自由度在机器人的基座上,可以从第一个关节开始变换到第二个关节,然后到第三个关节……,再到机器人的末端执行器。若把每个变换定义为,则可以得到许多表示变换的矩阵。在机器人的基座与手之间的总变换则为:其中n是关节数iiT1nnnRHRAAAATTTTT321132211为了简化A矩阵的计算,可以制作一张关节和连杆参数的表格,其中每个连杆和关节的参数值可从机器人的原理示意图上确定,并且可将这些参数代入A矩阵。例题:对于如下图所示的简单机器人,根据D-H表示法,建立必要的坐标系,并填写相应的参数表。图1.具有六个自由度的简单链式机器人图2.简单六个自由度链式机器人的参考坐标系图3.简单六个自由度链式机器人的参考坐标系线图机器人参数表#da1009020030040-90500906000122a33a44a5610000010000011111CSSCA1000010000222222222aSCSaCSCA1000010000333333333aSCSaCSCA1000001000444444444aSCSaCSCA10000010000055555CSSCA10000100000066666CSSCA在机器人的基座和手之间的总变换为:654321AAAAAATHR1000)()()()()()()()(22323423452346234652346523422323423415152341651623465234165162346523412232342341515234165162346523416516234652341aSaSaSSSCCCCSCCSaCaCaCSCCSCSSSCCSCCCSSSCSSCCCSaCaCaCCCSSCCSSSCSCCCCCSSSSCCCC机器人标定过程介绍二利用DH模型标定过程工具坐标系的标定工件坐标系的标定机器人标定过程介绍建立模型参数辨识补偿测量建立模型建立描述机器人几何特性和运动性能的数学模型。运动学模型的选择是决定机器人绝对定位精度的重要因素之一。最经典的运动学模型是D-H模型,此模型的不足是相邻两关节平行或接近平行时模型具有奇异性。修正的D-H模型(MDH)可以克服奇异问题:当相邻两关节平行时,引入绕y轴的转角ß。建立符合DH模型的坐标系机器人基准坐标系{R},是一个不可设置的缺省的坐标系,固结在机器人机座上,可用作通用坐标系。机器人末端坐标系{E},即与机器人最后一个连杆固结的坐标系,原点位于机器人末端法兰盘中心。工具坐标系{T},用来定义TCP(toolcenterpoint)的位置及工具的姿态。工件坐标系{U},用户在工作空间中自定义的坐标系,是程序中记录的所有位置的参考坐标系。建立DH模型体现在建立符合DH模型的坐标系,工业机器人上的坐标系一般可以分成四类:图1,坐标系的位置及关系工具坐标系标定指的是工具坐标系相对于末端坐标系的位姿参数的确定,即坐标变换矩阵的确定。工件坐标系的标定指的是工件坐标系相对于基坐标系的位姿参数的确定,即坐标变换矩阵的确定。坐标系建立过程依照上节知识,按照以下步骤建立坐标系确定Zi轴。确定Xi轴。确定原点Oi。确定Yi轴。测量用于机器人标定的测量工具包括双经纬仪测量系统,球杆仪,三坐标测量机和激光跟踪仪等。测量的手段极其重要,由于机械的运动存在各种不确定因素,选择测量的方法对数据的精确度影响很大。方法有:施加物理约束或增加冗余传感器。施加物理约束是指通过在机器人工作空间施加位置己知或形状已知的物理约束,利用机器人末端执行器与这些约束接触建立约束方程来求解运动学参数。增加冗余传感器是指利用传感器提供的位姿信息来求解机器人运动学参数。参数辨识基于机器人运动学模型和误差模型,通过合理的数值算法辨识机器人的运动学参数。参数辨识过程如图所示补偿修改控制器中的参数,使得理论值与实际值误差达到最小。一般需通过逆运动学计算来对机器人各关节角度进行补偿。误差补偿的方法:关节空间补偿:将运动学参数误差等效在关节上,对机器人的关节角度进行补偿,从而提高机器人的末端定位精度。微分误差补偿:根据已建立的运动学误差模型,辨识机器人运动学参数误差,然后利用此误差对机器人运动学参数进行修正,从而提高机器人末端定位精度。基于神经网络的补偿:神经网络能够自学习,通过训练,找到误差源的作用规律,从而提高机器人末端定位精度,这一过程中不必建立运动学误差模型,而且能够进行实时补偿。工作时,机器人的末端必须固定工具,在更换工具时,必须重新标定机器人的工具坐标系。工具坐标系标定把工具坐标系相对于末端坐标系的转换矩阵信息计算出来,传送到机器人控制器中。工具坐标系标定分两部分偏移:确定工具坐标系原点相对于机器人末端坐标系的位置偏移。旋转量:确定工具坐标系相对于机器人末端坐标系的旋转量。确定偏移根据DH模型建立坐标系,有(齐次坐标变换)。测量四个点,基中工具末端必须只在一个固定点,而机器人必须以不同的姿态使机器人的末端处于不同的位置,其中第四点以竖直方向接近于固定点,如图。这四个点确定一个球体,并且可以计算其球心,工具的末端中心与球心重合。球心坐标为:。确定偏移将化成向量表示:其中,由i=1,2,3,4时的4个方程组可求得P。确定旋转量另外取两个点第5点,第6点,如图。设工具末端在4,5,6点的位置为为,为,(式中X表示叉乘,下同),,把单位正交化得将原点,上节求出的偏移P及第四点的位姿P8带入公式得:由上式可求得旋转量。工件坐标系:它定义工件相对于大地坐标系(或者其他坐标系)的位置。工件坐标系建立在工件侧面,坐标系原点定位在侧面中心,坐标系固接在工件上。工件坐标系标定当工件不同或者工件摆放位置和姿态发生变化时,需要重新建立工件坐标系并进行标定。由于工件位置确定以后,工件坐标系{U}相对于{R}的齐次转换矩阵也就确定,故其不随机器人的运动而变化。工件坐标系的标定计算某点在机器人基坐标系下的齐次坐标为,在工件坐标系下的齐次坐标为,有下式:其中取三个点,第一点取为工件侧面中心为原点,其余两点如图所示。3点在机器人基坐标系下的坐标分别为:在工件坐标系下坐标分别为:工件坐标系的标定计算将第一,第二点代入,化简