第三章机器人运动学第一节概述第二节机器人的运动学基本问题第三节机器人的雅可比矩阵第一节概述常见的机器人运动学问题可归纳如下:1.对一给定的机器人,已知杆件几何参数和关节角矢量求机器人末端执行器相对于参考坐标系的位置和姿态。2.已知机器人杆件的几何参数,给定机器人末端执行器相对于参考坐标系的期望位置和姿态(位姿),机器人能否使其末端执行器达到这个预期的位姿?如能达到,那么机器人有几种不同形态可满足同样的条件?第一个问题常称为运动学正问题(直接问题);第二个问题常称为运动学逆问题(解臂形问题)。这两个问题是机器人运动学中的基本问题。第二节机器人运动学的基本问题一、运动学基本问题图3-1所示为2自由度机器人手部的连杆机构。图中的连杆机构是两杆件通过转动副联接的关节结构,通过确定连杆长度,以及关节角,,可以定义该连杆机构。在分析机器人的末端手爪的运动时,若把作业看作主要依靠机器人手爪来实现的,则应考虑手爪的位置(图中点的位置)。一般场合中,手爪姿势也表示手指位置。从几何学的观点来处理这个手指位置与关节变量的关系称为运动学(Kinematics)。我们引入向量分别表示手爪位置和关节变量,因此,利用上述两个向量来描述一下这个2自由度机器人的运动学问题。手爪位置的各分量,按几何学可表示为:xry1211212coscos()xLL11212sinsin()yLL(3-1)(3-2)()rff(3-3)用向量表示这个关系式,其一般可表示为式中表示向量函数。已知机器人的关节变量,求其手爪位置的运动学问题称为正运动学(directkinematics)。该公式被称为运动方程式。如果,给定机器人的手爪位置,求为了到达这个预定的位置,机器人的关节变量的运动学问题称为逆运动学(inversekinematics)。其运动方程式可以通过以下分析得到。如图所示,根据图中描述的几何学关系,可得2221122sinarctan()arctan()cosLyxLL22221212()arccos2xyLLLL式中(3-4)(3-5)(3-6)1()frr1如图所示,机器人到达给定的手爪位置有两个姿态满足要求,即图中的也是其解。这时和变成为另外的值。即逆运动学的解不是惟一的,可以有多个解。2(3-7)同样,如果用向量表示上述关系式,其一般可表示为二、机器人位置与关节变量的关系1.表示方法以手爪位置与关节变量之间的关系为例,要想正确表示机器人的手爪位置和姿态,就要首先建立坐标系,如图3-5所示,应分别定义固定机器人的基座和手爪的坐标系,这样才能很好地描述它们之间的位置和姿态之间的关系。图3-3基准坐标系和手爪坐标系基准坐标系,固定在基座上BE手爪坐标系,固定在手爪上2.姿态的变换矩阵如图3-4所示,给出原点重合的两坐标系()AAAAOXY()BBBBOXY则假设点的位置向量的分量在两坐标系中分别表示为PpAxAAypppBxBByppp则从向的变换为:ABBATAATxxxBABAABATAATyyypepeppRppepeApBpATxBAATyeRe其中:它是从坐标向坐标进行位置向量姿态变换的矩阵,称为姿态变换矩阵(或旋转矩阵)。为了加深印象,现在分析如图3-5所示坐标系,它是将围绕轴沿正方向旋转角后构成的坐标系。222ZYXO111ZYXOZ图3-5两个坐标系的旋转坐标变换因此,在坐标系上表示的坐标与在将坐标系绕轴沿正方向旋转角得到的坐标系上表示的坐标之间,存在下列关系式:111ZYXOp1111ZYXOz222ZYXOp2pp211000cossin0sincos由上面知从坐标系向坐标系的坐标变换矩阵为:111ZYXO222ZYXO1000cossin0sincos21R因为上述变换是把某一坐标系上表示的坐标,表示到另一坐标系中,因此有时也称它为坐标变换。在该例子中是从坐标系向坐标系的坐标变换,由于坐标系是围绕轴旋转角后构成的坐标系,则该坐标变换矩阵也可用来表示111ZYXO222ZYXO222ZYXO111ZYXOz)(zR1000cossin0sincos)(21RRz同理,上述例子中,当考虑围绕着轴旋转时(设其旋转量为),可得到如下关系式:xppRpx221cossin0sincos0001)(另外,当围绕着轴旋转时(设其旋转量为),可表示为如下关系式yppRpy221cos0sin010sin0cos)(可以验证该矩阵为单位矩阵式中*表示、、中的任何一个。所以有下列等式成立在分析机器人运动时,当只用围绕一个轴旋转不能表示时,可以通过围绕几个轴同时旋转的组合方式进行表示。)(xR)(yR)(zR均满足100010001)()(TRRxyzTRR)()(13.齐次变换前面讨论了机器人在进行旋转运动时的坐标变换,一般来说,机器人的运动不仅是旋转运动,有时要做平行移动,或以上两种运动的合成,因此也应考虑平移运动时的坐标变换,即齐次变换。现在来看下图的两个坐标系,坐标系是将坐标系单独地平行移动后,再进行适当地旋转得到的坐标系。2222ZYXO1111ZYXO0p这时,某一点其在坐标系和上的坐标分别为、,可以认为,是由旋转而进行坐标变换后,即乘以旋转坐标变换,在加上表示平移的向量而得到的,因此可写出下列表达式:P1111ZYXO2222ZYXO1p2p1p2pR0p021pRpp因旋转而进行的坐标变换,与因平移而进行的坐标变换,可以用一个坐标变换矩阵来表示,记为,称这个矩阵为齐次坐标变换矩阵,或简称为坐标变换矩阵,表示为:AA100pRA三、机器人的运动学的一般表示前面所介绍的是任意两个坐标系之间的坐标变换,我们知道,机器人一般是有多个关节组成的,各关节之间的坐标变换可以通过坐标变换相乘后,结合在一起进行求解。如前所述,可以把机器人的运动模型看作是一系列由关节连接起来的连杆机构。一般机器人具有个自由度,为了分析其运动,可将上述方法扩展一下。通常把描述一个连杆与下一个连杆间相对关系的齐次变换称为矩阵。一个矩阵就是一个描述连杆坐标系间相对平移和旋转的齐次变换。如果用表示第一个连杆在基系的位置和姿态,表示第二个连杆相对第一个连杆的位置和姿态,那么第二个连杆在基系的位置和姿态可由下列矩阵的乘积求得AA01A12A12012AAT同理,若表示第三个连杆相对第二个连杆的位置和姿态,那么第三个连杆在基系的位置和姿态可由下列矩阵的乘积求得23A2312013AAAT于是,对于六连杆的机器人,有下列矩阵成立一般,每个连杆有一个自由度,则六连杆组成的机器人具有六个自由度,并能在其运动范围内任意定位与定向。其中,三个自由度用于规定位置,另外三个自由度用来规定姿态。所以,表示了机器人的位置和姿态。5645342312016AAAAAAT对于具有个关节的机器人,若设坐标系为固定在指尖上的坐标系时,则从坐标系到基准坐标系的坐标变换矩阵可由下式给出:不仅是从坐标系到坐标系的坐标变换,而且同时还可以解释为在基准坐标系上看到的表示指尖位置和方向的矩阵。nnnnnzyxOnnnnzyxO0000zyxOT1231201nnnAAAATTnnnnzyxO0000zyxO0000zyxO四、机器人运动问题的示例1.机器人正运动学问题机器人正运动学问题就是求机器人运动学的正解(forwardkinematics),即在给定组成运动副的相邻连杆的相对位置情况下,确定机器人末端执行器的位置和姿态。通过上述分析可知,运动学正解可用一个反映此相对关系的变换矩阵来表示,这里一般是指开式链的机器人结构。以一个6自由度的机器人为例,如图所示,在该机器人中,除第3个关节为平移关节外,其余均为旋转关节。对于这个机器人,根据图中表示的坐标系为基准坐标系,正运动学问题就是求该机器人末端手指关节6的位置和姿态,也就是在基准坐标系上看关节6,因此找出由到的坐标变换矩阵即可。也就是表示这个机器人的末端指尖的位置和方向,可以由下式给出:0000zyxO6666zyxO0000zyxOT)()()()()()(656545434323212101AAAdAAAT其中10000100cos0sin0sin0cos)(01111101lA10000100cos0sin0sin0cos)(12222212lA100010000100001)(3323ddA100000100cos0sin0sin0cos)(4444434A100000100cos0sin0sin0cos)(5555545A100000100cos0sin0sin0cos)(4444434A100000100cos0sin0sin0cos)(5555545A100010000cossin00sincos)(26666656lA上式即为该6自由度机器人的运动学正解。对于不同类型的机器人,其坐标变换矩阵的形式不同,要根据实际结构求得。2.机器人逆运动学机器人的逆解问题比较复杂,为了说明问题,下面先以2自由度的机器人为例。如图所示,已知机器人末端的坐标值(x,y),试利用表示yx,2根据图中的几何关系可知:)cos(cos21211llx)sin(sin21211lly(3-38)(3-39)联立求解上述两方程,可分别求出的表达式。21,221222122cos2llllyx因此可进一步得到:)2(cos2122212212llllyx将该式代入前面的几何表达式就可求出的表达式。1从机器人的手爪末端位置姿态出发,可以求出机器人对应的各关节的角度。该例的机器人是属于平面多关节机器人,对于一般的机械手来讲,其求解过程比较复杂,往往其解不是唯一的。请有兴趣的读者参考相关的文献书籍。第三节机器人的雅可比矩阵一、雅可比矩阵的定义前面讨论了机器人的指尖位置和方向与各关节的变化位置之间的关系。在本节将进一步讨论指尖的速度与各关节的速度(转动或平移)之间的关系。考虑机械手的手爪位置和关节变量的关系用正运动学方程表示如下:r假定这里考虑的是)(fr121,,,mTmRrrrr121,,nTmR的一般情况,并设手爪位置包含表示姿态的变量,以及关节变量由回转角和平移组合而成的情况。(3-55)若用每个分量表示,则变为在的情况下,将变为手爪位置的关节变量有无限个解的冗余机器人。而工业上常用的多关节机器人手臂,通常用于作业的所需手爪应有3个位置变量和3个姿态变量,总计6个变量。而且由于不采用冗余机器人结构,所以。),,,(21njjfr),,2,1(mjnm6mn将式(3-55)的两边对时间微分,可得到下式Jr(3-57)其中nmnmmnTRfffffJ1111)((3-58)称为雅可比矩阵(Jacobianmatrix)。若在式(3-57)的两边乘