第3章机器人运动学—运动学方程3.1引言3.8T6的说明3.2姿态描述3.9各种A矩阵的说明3.3欧拉角3.10根据A矩阵来确定T63.4摇摆、俯仰和偏转3.11斯坦福机械手的运动方程3.5位置的确定3.12肘机械手的运动方程3.6圆柱坐标3.13小结3.7球坐标3.1引言(Introduction)采用齐次变换来描述在各种坐标系中机械手的位置与方向。通过各种正交坐标系的齐次变换和非正交关节坐标系中机械手末端的齐次变换,最后建立运动方程。注意,对任何数目关节的各种机械手均可以这样进行。描述一个连杆与下一个连杆之间关系的齐次变换称A矩阵。A矩阵是描述连杆坐标系之间的相对平移和旋转的齐次变换。连续变换的若干A矩阵的积称为T矩阵,对于一个六连杆(六自由度)机械手有T6=A1A2A3A4A5A6(3.1)六连杆的机械手有六个自由度,其中三个自由度用来确定位置,三个自由度用来确定方向。T6表示机械手在基坐标中的位置与方向。则变换矩阵T6有下列元素nxoxaxpxT6=nyoyaypynzozazpz(3.2)0001如图3.1所示,机器人的末端执行器(手爪)的姿态(方向)由n、o、a三个旋转矢量描述,其坐标位置由平移矢量p描述,这就构成了式(3.2)中的变换矩阵T。由于n、o、a三个旋转矢量是正交矢量,所以有n=o×a图3.1末端执行器的描述nxoxaxpxT6=nyoyaypynzozazpz(3.2)00013.2姿态描述(SpecificationofOrientation)对式(3-2)中16个元素一一赋值就可确定T6。假定机械手可以到达要求的位置,而单位旋转矢量o和a正交,即o·o=1(3.3)a·a=1(3.4)o·a=0(3.5)a形成单位向量aa(3.6)|a|构成与o和a正交的nno×a(3.7)在o和a形成的平面上旋转o,使得o与n和a正交oa×n(3.8)单位向量o是oo(3.9)|o|根据第三章(1)给出的一般性的旋转矩阵Rot(k,θ),它把机械手末端的姿态规定为绕k轴旋转θ角。3.3欧拉角(EulerAngles)姿态变更常用绕x,y或z轴的一系列旋转来确定。欧拉角描述方法是:先绕z轴旋转,然后绕新的y(即y/)轴旋转θ,最后绕更新的z(z//)轴旋转ψ(见图3.2)。欧拉变换Euler(,θ,ψ)可以通过连乘三个旋转矩阵来求得:xx’x’’x’’’yy’’y’θøθøψψψθz’’’z’’z’zy’’’图3.2欧拉角ø0Euler(,θ,ψ)=Rot(z,).Rot(y,θ).Rot(z,ψ)(3.10)xx’x’’x’’’yy’’y’θøθøψψψθz’’’z’’z’zy’’’图3.3基于基坐标的欧拉角ø0øθ在一系列旋转中,旋转的次序是重要的。应注意,旋转序列如果按相反的顺序进行,则是绕基坐标中的轴旋转:绕z轴旋转ψ,接着绕y轴旋转θ,最后再一次绕z轴旋转,结果如图3.3所示,它与图3.2是一致的。3.4摇摆、俯仰和偏转(Roll,PitchandYaw)图3.4摇摆、俯仰和偏转角图3.5机械手的末端执行器的摇摆、俯仰和偏转摇摆、俯仰和偏转为另一种旋转,如图3.4所示。就像水中航行的一条小船一样,绕着它前进的方向(z轴)旋转称为摇摆,绕着它的横向中轴(y轴)旋转θ称为俯仰,绕着它甲板的垂直向上的方向(x轴)旋转ψ称为偏转。借助于这种旋转来描述机械手的末端执行器如图3.5所示。3.4摇摆、俯仰和偏转(Roll,PitchandYaw)规定旋转的次序为RPY(ø,θ,ψ)=Rot(z,)Rot(y,θ)Rot(x,ψ)(3.12)即绕x轴旋转ψ,接着绕y轴旋转θ,最后绕z轴旋转,这个变换如下:cosθ0sinθ0100001000cosψ–sinψ0RPY(,θ,ψ)=Rot(z,)–sinθ0cosθ00sinψcosψ0(3.13)00010001cos–sin00cosθsinθsinψsinθcosψ0sincos000cosψ–sinψ0RPY(,θ,ψ)=0010-sinθcosθsinψcosθcosψ0(3.14)000100013.5位置的确定(SpecificationofPosition)100px010pyT6=001pz(3.16)0001旋转变换矩阵RPY(,θ,ψ)=cosøcosθcosøsinθsinψ–sinøcosψcosøsinθcosψ+sinøsinψ0sinøcosθsinøsinθsinψ+cosøcosψsinøsinθcosψ–cosøsinψ0-sinθcosθsinψcosθcosψ00001(3.15)一旦方向被确定之后,用一个相应的p向量的位移变换可得到机器人末端执行器在基坐标中的位置:一、齐次坐标在选定的直角坐标系{A}中,空间任一点P的位置可用3×1的位置矢量Ap表示,其左上标代表选定的参考坐标系:机器人运动学—刚体位姿描述和齐次变换式中PX,PY,PZ是点P在坐标系{A}中的三个位置坐标分量,如图2-1所示。如用四个数组成的(4×1)列阵表示三维空间直角坐标系{A}中点p,则列阵[PxPyPz1]T称为三维空间点P的齐次坐标必须注意,齐次坐标的表示不是唯一的。我们将其各元素同乘一非零因子w后,仍然代表同一点P,即式中:a=wpx;b=wpy;c=wpz二、齐次变换刚体的运动是由转动和平移组成的。为了能用同一矩阵表示转动和平移,有必要引(4×4)的齐次坐标变换矩阵。齐次坐标变换:纯平移、绕一个轴的纯旋转、平移与旋转的结合。cos0sin010sin0cos)y,R(1000cossin0sin-cos)z,R(comsin0sincos0001)R(x,三个基本旋转矩阵:定义1:如果所有的变换都是相对于固定坐标系中各坐标轴旋转或平移,则依次左乘,称为绝对变换。定义2:如果动坐标系相对于自身坐标系的当前坐标轴旋转或平移,则齐次变换为依次右乘,称为相对变换。),(),(),RR44xRzRy(1000701030014100)R(Z,90)90R(y,7),3,Trans(4Too为机器人的每一个连杆建立一个坐标系,并用齐次变换来描述这些坐标系间的相对关系,也叫相对位姿。通常把描述一个连杆坐标系与下一个连杆坐标系间相对关系的齐次变换矩阵叫做A变换矩阵或A矩阵。如果Al矩阵表示第一个连杆坐标系相对于固定坐标系的位姿,A2矩阵表示第二个连抨坐标系相对于第一个连杆坐标系的位姿,那么第二个连杆坐标系在固定坐标系中的位姿可用A1和A2的乘积来表示:机器人运动学—运动学方程•T2=A1A2•同理,若A3矩阵表示第三个连杆坐标系相对于第二个连杆坐标系的位姿,则有T3=AlA2A3•如此类推,对于六连杆机器人,有下列T6矩阵T6=AlA2A3A4A5A6此式右边表示了从固定参考系到手部坐标系的各连杆坐标系之间的变换矩阵的连乘,左边T6表示这些变换矩阵的乘积,也就是手部坐标系相对于固定参考系的位姿,我们称为机器人运动学方程。计算结果T6是一个如下的(4×4)矩阵:式中,前三列表示手部的姿态,第四列表示手部的位置。3.5位置的确定(SpecificationofPosition)100px010pyT6=001pz(3.16)0001变换矩阵一旦方向被确定之后,用一个相应的p向量的位移变换可得到机器人末端执行器在基坐标中的位置:3.6圆柱坐标(CylindricalCoordinates)如图3.6所示,在圆柱坐标中确定机械手的位置是沿x轴平移r,接着绕z轴旋转α,最后沿着z轴平移z。Cyl(z,α,r)=Trans(0,0,z).Rot(z,α).Trans(r,0,0)zaCzyxBAoαrn图3.6圆柱坐标注意:圆柱坐标只能绕z轴旋转cosα-sinα00100rsinαcosα000100Cyl(z,α,r)=Trans(0,0,z)0010001000010001(3.17)1000cosα-sinα0rcosα0100sinαcosα0rsinαCyl(z,α,r)=001z001000010001(3.18)cosα-sinα0rcosαsinαcosα0rsinαCyl(z,α,r)=001z(3.19)0001如用一个绕z轴旋转-α的变换矩阵右乘式(3.19),结果如下cosα-sinα0rcosαcos(-α)-sin(-α)00sinαcosα0rsinαsin(-α)cos(-α)00Cyl(z,α,r)=001z0000(3.20)00110001cosα-sinα0rcosαcosαsinα00sinαcosα0rsinα-sinαcosα00Cyl(z,α,r)=001z0000(3.21)00010001100rcosα010rsinαCyl(z,α,r)=001z(3.22)0001上式表明平移矢量未变,旋转矩阵为单位阵,此时末端坐标的姿态未变,而只是改变了它的空间位置。3.7球坐标(SphericalCoordinates)如图3.7所示,用球坐标来确定位置向量的方法是:沿着z轴平移γ,然后绕y轴旋转β,最后绕z轴旋转α。Sph(α,β,γ)=Rot(z,α)Rot(y,β)Trans(0,0,γ)(3.23)cosβ0sinβ0100001001100Sph(α,β,γ)=Rot(z,α)-sinβ0cosβ0001γ00010001(3.24)αaonzyx图3.7球坐标γβcosα-sinα00cosβ0sinβrsinβsinαcosα000100Sph(α,β,γ)=0010-sinβ0cosβrcosβ(3.25)00010001cosαcosβ-sinαcosαsinβγcosαsinβsinαcosβcosαsinαsinβγsinαsinβSph(α,β,γ)=-sinβ0cosβγcosβ(3.26)0001同样,如果不希望改变末端坐标的姿态,而只是改变其空间位置,我们可以用Rot(y,-β)和Rot(z,-α)右乘式(3.26)Sph(α,β,γ)=Rot(z,α)Rot(y,β)Trans(0,0,γ)Rot(y,-β)Rot(z,-α)(3.27)100γcosαsinβ010γsinαsinβSph(α,β,γ)=001γcosβ(3.28)00013.8T6的确定(SpecificationofT6)T6可以用旋转和平移的方法来确定。T6=[平移][旋转](3.29)表3.1各种平移与旋转的表达式[Translation]Eqn[Rotation]Eqnpx,py,pzoxoyozaxayazRot(k,θ)2.32Cyl(z,α,r)3.19Euler(ø,θ,ψ)3.10Sph(α,β,γ)3.26RPY(ø,θ,ψ)3.12我们已经研究过的各种平移与旋转的式子,总结在表3.1中。如果我们使用Cyl和Sph的非旋转的形式,那么矩阵积(3.29)仅仅是一个平移变换。3.9各种A矩阵的确定(SpecificationofmatricesA)现在考虑方程(3.1)右边各A矩阵的确定。串联杆型机械手是由一系列连杆通过与其活动关节连接在一起所组成,如图3.8所示。任何一个连杆都可以用两个量来描述:一个是公共垂线距离an,另一个是与an垂直的平面上两个轴的夹角αn,习惯上称an为连杆长度,αn称为连杆的扭转角。图3.8连杆的长度与扭转角T6=A1A2A3A4A5A6(3.1)如图3.9所示,在每个关节轴上有两个连杆与之相连,即关节轴有两个公垂线与之垂直,每一个连杆一个。两个相连的连杆的相对位置用dn和θn确定,dn是沿着n关节轴两个垂线的距离,θn是在垂直这个关节轴的平面上两个被测垂线之间的夹角,dn和θn分别称作连杆之间的距离及夹角。图3.9连杆参数xn-1连杆本身的参数连杆长度an连杆两个轴的公垂线距离(x方向)连杆扭转