
《机器人原理及控制技术》第03章 运动学方程.ppt
38页第三章 运动学方程 Chapter Kinematic Equations,3.1 引言 3.8 T6的说明 3.2 姿态描述 3.9 各种A矩阵的说明 3.3 欧拉角 3.10 根据A矩阵来确定T6 3.4 摇摆、俯仰和偏转 3.11 斯坦福机械手的运动方程 3.5 位置的确定 3.12 肘机械手的运动方程 3.6 圆柱坐标 3.13 小结 3.7 球坐标,3.1 引言 ( Introduction ),本章,我们采用齐次变换来描述在各种坐标系中机械手的位置与方向首先介绍各种正交坐标系的齐次变换然后介绍在非正交关节坐标系中描述机械手末端的齐次变换注意,对任何数目关节的各种机械手均可以这样进行 描述一个连杆与下一个连杆之间关系的齐次变换称A矩阵A矩阵是描述连杆坐标系之间的相对平移和旋转的齐次变换 连续变换的若干A矩阵的积称为T矩阵,对于一个六连杆(六自由度)机械手有 T6 = A1 A2 A3 A4 A5 A6 (3.1) 六连杆的机械手有六个自由度,其中三个自由度用来确定位置,三个自由度用来确定方向表示机械手在基坐标中的位置与方向则变换矩阵有下列元素 nx ox ax px ny oy ay py T6 = nz oz az pz (3.2) 0 0 0 1,如图3.1所示,机器人的末端执行器(手爪)的姿态(方向)由 n、o、a 三个旋转矢量描述,其坐标位置由平移矢量 p 描述,这就构成了式(3.2)中的变换矩阵 T。
由于 n、o、a 三个旋转矢量是正交矢量,所以有 n = oa,图3.1 末端执行器的描述,3.2 姿态描述 ( Specification of Orientation ),对式(3.2)中16个元素一一赋值就可确定T6假定机械手可以到达要求的位置,而单位旋转矢量o和a正交,即 oo 1 (3.3) aa 1 (3.4) oa 0 (3.5) a形成单位向量 a a (3.6) | a | 构成与o和a正交的n n oa (3.7) 在o和a形成的平面上旋转o,使得o与n和a正交 o an (3.8) 单位向量o是 o o (3.9) | o | 根据第二章给出的一般性的旋转矩阵ot (k ,),它把机械手末端的姿态规定为绕k轴旋转角3.欧拉角 ( Euler Angles ),姿态变更常用绕x,y或z轴的一系列旋转来确定欧拉角描述方法是:先绕z轴旋转,然后绕新的y(即y/)轴旋转,最后绕更新的z(z/)轴旋转(见图3.2)欧拉变换Euler(,)可以通过连乘三个旋转矩阵来求得 Euler(,) ot(z,)ot(y,)ot(z,) (3.10) 在一系列旋转中,旋转的次序是重要的。
应注意,旋转序列如果按相反的顺序进行,则是绕基坐标中的轴旋转:绕z轴旋转 ,接着绕y轴旋转,最后再一次绕z轴旋转 ,结果如图3.3所示,它与图3.2是一致的3.4 摇摆、俯仰和偏转 ( Roll, Pitch and Yaw ),摇摆、俯仰和偏转为另一种旋转如图3.4所示,就像水中航行的一条小船一样,绕着它前进的方向(z轴)旋转 称为摇摆,绕着它的横向中轴(y轴)旋转 称为俯仰,绕着它甲板的垂直向上的方向(x轴)旋转 称为偏转借助于这种旋转来描述机械手的末端执行器如图3.5所示规定旋转的次序为 RPY(,)ot(z,)ot(y,)ot(x,) (3.12) 即,绕x轴旋转,接着绕y轴旋转,最后绕z轴旋转 ,这个变换如下 cos 0 sin 0 1 0 0 0 0 1 0 0 0 cos sin 0 RPY(,) = ot(z,) sin 0 cos 0 0 sin cos 0 (3.13) 0 0 0 1 0 0 0 1 cos sin 0 0 cos sinsin sincos 0 sin cos 0 0 0 cos sin 0 RPY(,) = 0 0 1 0 -sin cossin coscos 0 (3.14) 0 0 0 1 0 0 0 1,图3.4 摇摆、俯仰和偏 转角,图3.5 机械手的末端执行器 的摇摆、俯仰和偏 转,RPY(,) = cos cos cos sinsin sin cos cos sincos + sin sin 0 sin cos sin sinsin + cos cos sin sincoscos sin 0 -sin cossin coscos 0 0 0 0 1,3.5 位置的确定 ( Specification of Position ),一旦方向被确定之后,用一个相应的p向量的位移变换可得到机器人末端执行器在基坐标中的位置: 1 0 0 px 0 1 0 py T6 = 0 0 1 pz (3.16) 0 0 0 1,旋转 变换 矩阵,3.6 圆柱坐标 ( Cylindrical Coordinates ),如图3.6所示,在圆柱坐标中确定机械手的位置是沿x轴 平移r,接着绕z轴旋转,最后沿着z轴平移z。
Cyl(z, ,r) = Trans(0,0,z)Rot(z, ) Trans(r,0,0) cos -sin 0 0 1 0 0 r sin cos 0 0 0 1 0 0 Cyl(z, ,r) = Trans(0,0,z) 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 (3.17) 1 0 0 0 cos -sin 0 rcos 0 1 0 0 sin cos 0 rsin Cyl(z, ,r) = 0 0 1 z 0 0 1 0 0 0 0 1 0 0 0 1 (3.18),注意:圆柱坐标只能绕 z 轴旋转,cos -sin 0 rcos sin cos 0 rsin Cyl(z,r) = 0 0 1 z (3.19) 0 0 0 1 如用一个绕z轴旋转-的变换矩阵右乘式(3.19),结果如下 cos -sin 0 rcos cos(-) -sin(-) 0 0 sin cos 0 rsin sin(-) cos(-) 0 0 Cyl(z,r) = 0 0 1 z 0 0 0 0 (3.20) 0 0 1 1 0 0 0 1 cos -sin 0 rcos cos sin 0 0 sin cos 0 rsin -sin cos 0 0 Cyl(z,r) = 0 0 1 z 0 0 0 0 (3.21) 0 0 0 1 0 0 0 1 1 0 0 r cos 0 1 0 r sin Cyl(z,r) = 0 0 1 z (3.22) 0 0 0 1 上式表明平移矢量未变,旋转矩阵为单位阵,此时末端坐标的姿态未变,而只是改变了它的空间位置。
3.7 球坐标 ( Spherical Coordinates ),如图3.7所示,用球坐标来确定位置向量的方法是: 沿着z轴平移,然后绕y轴旋转,最后绕z轴旋转 Sph(,) = Rot(z,) Rot(y,) Trans(0,0,) (3.23) cos 0 sin 0 1 0 0 0 0 1 0 0 1 1 0 0 Sph(,) = Rot(z,) -sin 0 cos 0 0 0 1 0 0 0 1 0 0 0 1 (3.24),cos -sin 0 0 cos 0 sin rsin sin cos 0 0 0 1 0 0 Sph(,) = 0 0 1 0 -sin 0 cos rcos (3.25) 0 0 0 1 0 0 0 1 coscos -sin cossin cossin sincos cos sinsin sinsin Sph(,) = -sin 0 cos cos (3.26) 0 0 0 1 同样,如果不希望改变末端坐标的姿态,而只是改变其空间位置,我们可以用Rot(y,-)和Rot(z, -)右乘式(3.26) Sph(,) = Rot(z,)Rot(y,)Trans(0,0,) Rot(y,-) Rot(z,-) (3.27) 1 0 0 cossin 0 1 0 sinsin Sph(,) = 0 0 1 cos (3.28) 0 0 0 1,3.7 T6的确定 ( Specification of T6 ),T6可以用旋转和平移的方法来确定。
T6 =平移旋转 (3.29) 表3.1 各种平移与旋转的表达式 Translation Eqn Rotation Eqn px, py ,pz ox o y oz ax a y a z Rot(k,) 2.32 Cyl( z, , r ) 3.22 Euler(,) 3.11 Sph(,) 3.26 RPY(,) 3.12 我们已经研究过的各种平移与旋转的式子,总结在表3.1中如果我们使用Cyl和Sph的非旋转的形式,那么矩阵积(3.29)仅仅是一个平移变换3.9 各种A矩阵的确定 ( Specification of matrices A ),现在考虑方程(3.1)右边各A矩阵的确定串联杆型机械手是由一系列通过连杆与其活动关节连接在一起所组成 如图3.8所示,任何一个连杆都可以用两个量来描述:一个是公共垂线距离an,另一个是与an垂直的平面上两个轴的夹角n,习惯上称an为连杆长度,n称为连杆的扭转角图3.8 连杆的长度与扭转角,如图3.9所示,在每个关节轴上有两个连杆与之相连,即关节轴有两个公垂线与之垂直,每一个连杆一个两个相连的连杆的相对位置用dn和n确定, dn是沿着n关节轴两个垂线的距离, n是在垂直这个关节轴的平面上两个被测垂线之间的夹角, dn和n分别称作连杆之间的距离及夹角。
为了描述连杆之间的关系,我们对每个连杆赋一个坐标系 转动关节:关节变量为n连杆n的坐标原点设在关节n和关节n+1轴之间的公共垂线与关节n+1轴的交点上在关节轴相交的情况下(无公垂线),这个原点就在两个关节轴的相交点上(an0)如果两个关节轴平行(有无数条公垂线),则原点的选择要使下一个连杆的关节距离为0(dn0),连杆n的z轴与n+1关节轴在一条直线上x轴与任何存在的公共垂线成一条直线,并且沿着这条垂线从n关节指向n+1关节在相交关节的情况下,x轴的方向平行或者逆平行zn-1zn的向量叉积,应该注意,这个条件对于沿着关节n和n+1之间垂线的x轴同样满足当xn-1和xn平行,且有相同的指向时,则对于第n个转动关节n0表3.2 连杆参数,棱形关节:关节变量为dn关节轴的方向就是关节的运动方向与转动关节不同,轴的运动方向被确定了,但在空间的位置并没有确定(见图2.10)对于棱形关节,连杆长度an没有意义,所以被设置为0棱形关节坐标的z轴(zn)与下一个连杆的轴在一条直线上,x轴(xn)平行或逆平行棱形关节轴的方向(zn-1)与zn的叉积对于棱形关节,当dn=0时,定义为0位置(即坐标原点)因此棱形关节坐标原点与上一个关节(n-1)坐标原点重合,上一个关节的z轴(zn-1)与棱形关节的轴向相同,其关节长度an-1为上一个关节的轴线与zn-1的公垂线长度,xn-1轴向为公垂线向下一个关节延伸的方向。
根据上述模式用下列旋转和位移我们可以建立相邻的n-1和n坐标系之间的关系: 绕 zn-1 旋转一个角度n 沿 zn-1 位移一个距离 dn 沿着被旋转的 xn-1 即 xn 位移 an 绕 xn 旋转的扭转角为n 这四个齐次变换的积为A矩阵,即 An= Rot(z,) Trans(0,0,d) Trans(a,0,0) Rot(x,) (3.30) cos -sin 0 0 1 0 0 a 1 0 0 0 sin cos 0 0 0 1 0 0 0 cos -sin 0 An = 0 0 1 0 0 0 1 d 0 sin cos 0 (3.31) 0 0 0 1 0 0 0 1 0 0 0 1 cos -sincos sinsin acos sin coscos -cossin asin An = 0 sin cos d (3.32) 0 0 0 1,对于棱形关节,an = 0。












