《工业机器人运动学运动学方程.ppt》由会员分享,可在线阅读,更多相关《工业机器人运动学运动学方程.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、,第三章 工业机器人运动学-2,主要内容,数学基础齐次坐标变换 机器人运动学方程的建立(正运动学) 机器人逆运动学分析,二、运动学方程的建立(运动学正问题),2.1 引言 2.8 T6的说明 2.2 姿态描述 2.9 各种A矩阵的说明 2.3 欧拉角 2.10 根据A矩阵来确定T6 2.4 摇摆、俯仰和偏转 2.11 斯坦福机械手的运动方程 2.5 位置的确定 2.12 肘机械手的运动方程 2.6 圆柱坐标 2.13 小结 2.7 球坐标,2.1 引言 ( Introduction ),本章,我们采用齐次变换来描述在各种坐标系中机械手的位置与方向。首先介绍各种正交坐标系的齐次变换。然后介绍在非
2、正交关节坐标系中描述机械手末端的齐次变换。注意,对任何数目关节的各种机械手均可以这样进行。 描述一个连杆与下一个连杆之间关系的齐次变换称A矩阵。A矩阵是描述连杆坐标系之间的相对平移和旋转的齐次变换。 连续变换的若干A矩阵的积称为T矩阵,对于一个六连杆(六自由度)机械手有 T6 = A1 A2 A3 A4 A5 A6 (2.1) 六连杆的机械手有六个自由度,其中三个自由度用来确定位置,三个自由度用来确定方向。表示机械手在基坐标中的位置与方向。则变换矩阵有下列元素 nx ox ax px ny oy ay py T6 = nz oz az pz (2.2) 0 0 0 1,如图2.1所示,机器人的
3、末端执行器(手爪)的姿态(方向)由 n、o、a 三个旋转矢量描述,其坐标位置由平移矢量 p 描述,这就构成了式(2.2)中的变换矩阵 T。 由于 n、o、a 三个旋转矢量是正交矢量,所以有 n = oa,图2.1 末端执行器的描述,2.2 姿态描述 ( Specification of Orientation ),对式(2.2)中16个元素一一赋值就可确定T6。假定机械手可以到达要求的位置,而单位旋转矢量o和a正交,即 oo 1 (2.3) aa 1 (2.4) oa 0 (2.5) a形成单位向量 a a (2.6) | a | 构成与o和a正交的n n oa (2.7) 在o和a形成的平面
4、上旋转o,使得o与n和a正交 o an (2.8) 单位向量o是 o o (2.9) | o | 根据数学基础给出的一般性的旋转矩阵ot (k ,),它把机械手末端的姿态规定为绕k轴旋转角。,2.欧拉角 ( Euler Angles ),姿态变更常用绕x,y或z轴的一系列旋转来确定。欧拉角描述方法是:先绕z轴旋转,然后绕新的y(即y/)轴旋转,最后绕更新的z(z/)轴旋转(见图2.2)欧拉变换Euler(,)可以通过连乘三个旋转矩阵来求得 Euler(,) ot(z,)ot(y,)ot(z,) (2.10) 在一系列旋转中,旋转的次序是重要的。应注意,旋转序列如果按相反的顺序进行,则是绕基坐标
5、中的轴旋转:绕z轴旋转 ,接着绕y轴旋转,最后再一次绕z轴旋转 ,结果如图2.3所示,它与图2.2是一致的。,2.4 摇摆、俯仰和偏转 ( Roll, Pitch and Yaw ),摇摆、俯仰和偏转为另一种旋转。如图2.4所示,就像水中航行的一条小船一样,绕着它前进的方向(z轴)旋转 称为摇摆,绕着它的横向中轴(y轴)旋转 称为俯仰,绕着它甲板的垂直向上的方向(x轴)旋转 称为偏转。借助于这种旋转来描述机械手的末端执行器如图3.5所示。规定旋转的次序为 RPY(,)ot(z,)ot(y,)ot(x,) (2.12) 即,绕x轴旋转,接着绕y轴旋转,最后绕z轴旋转 ,这个变换如下 cos 0
6、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 (2.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 (2.14) 0 0 0 1 0 0 0 1,图2.4 摇摆、俯仰和偏 转角,图2.5 机械手的末端执行器 的摇摆、俯仰和偏 转,RPY(,) = cos cos cos sinsin sin cos cos sinc
7、os + sin sin 0 sin cos sin sinsin + cos cos sin sincoscos sin 0 -sin cossin coscos 0 0 0 0 1,2.5 位置的确定 ( Specification of Position ),一旦方向被确定之后,用一个相应的p向量的位移变换可得到机器人末端执行器在基坐标中的位置: 1 0 0 px 0 1 0 py T6 = 0 0 1 pz (2.16) 0 0 0 1,旋转 变换 矩阵,2.6 圆柱坐标 ( Cylindrical Coordinates ),如图2.6所示,在圆柱坐标中确定机械手的位置是沿x轴 平移
8、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 (2.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 (2.18),注意:圆柱坐标只能绕 z 轴旋转,cos -sin 0
9、 rcos sin cos 0 rsin Cyl(z,r) = 0 0 1 z (2.19) 0 0 0 1 如用一个绕z轴旋转-的变换矩阵右乘式(2.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 (2.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 (2.21) 0 0 0 1
10、 0 0 0 1 1 0 0 r cos 0 1 0 r sin Cyl(z,r) = 0 0 1 z (2.22) 0 0 0 1 上式表明平移矢量未变,旋转矩阵为单位阵,此时末端坐标的姿态未变,而只是改变了它的空间位置。,2.7 球坐标 ( Spherical Coordinates ),如图2.7所示,用球坐标来确定位置向量的方法是: 沿着z轴平移,然后绕y轴旋转,最后绕z轴旋转。 Sph(,) = Rot(z,) Rot(y,) Trans(0,0,) (2.23) cos 0 sin 0 1 0 0 0 0 1 0 0 1 1 0 0 Sph(,) = Rot(z,) -sin 0
11、cos 0 0 0 1 0 0 0 1 0 0 0 1 (2.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 (2.25) 0 0 0 1 0 0 0 1 coscos -sin cossin cossin sincos cos sinsin sinsin Sph(,) = -sin 0 cos cos (2.26) 0 0 0 1 同样,如果不希望改变末端坐标的姿态,而只是改变其空间位置,我们可以用Rot(y,-)和Rot(z, -)右乘式(2.26) Sph(,) =
12、Rot(z,)Rot(y,)Trans(0,0,) Rot(y,-) Rot(z,-) (2.27) 1 0 0 cossin 0 1 0 sinsin Sph(,) = 0 0 1 cos (2.28) 0 0 0 1,2.7 T6的确定 ( Specification of T6 ),T6可以用旋转和平移的方法来确定。 T6 =平移旋转 (2.29) 表2.1 各种平移与旋转的表达式 Translation Eqn Rotation Eqn px, py ,pz ox o y oz ax a y a z Rot(k,) 2.32 Cyl( z, , r ) 2.22 Euler(,) 2.
13、11 Sph(,) 2.26 RPY(,) 2.12 我们已经研究过的各种平移与旋转的式子,总结在表2.1中。如果我们使用Cyl和Sph的非旋转的形式,那么矩阵积(2.29)仅仅是一个平移变换。,2.9 各种A矩阵的确定 ( Specification of matrices A ),现在考虑方程(2.1)右边各A矩阵的确定。串联杆型机械手是由一系列通过连杆与其活动关节连接在一起所组成 。 如图2.8所示,任何一个连杆都可以用两个量来描述:一个是公共垂线距离an,另一个是与an垂直的平面上两个轴的夹角n,习惯上称an为连杆长度,n称为连杆的扭转角。,图2.8 连杆的长度与扭转角,如图2.9所示
14、,在每个关节轴上有两个连杆与之相连,即关节轴有两个公垂线与之垂直,每一个连杆一个。两个相连的连杆的相对位置用dn和n确定, dn是沿着n关节轴两个垂线的距离, n是在垂直这个关节轴的平面上两个被测垂线之间的夹角, dn和n分别称作连杆之间的距离及夹角。,为了描述连杆之间的关系,我们对每个连杆赋一个坐标系。 转动关节:关节变量为n。连杆n的坐标原点设在关节n和关节n+1轴之间的公共垂线与关节n+1轴的交点上。在关节轴相交的情况下(无公垂线),这个原点就在两个关节轴的相交点上(an0)。如果两个关节轴平行(有无数条公垂线),则原点的选择要使下一个连杆的关节距离为0(dn0),连杆n的z轴与n+1关
15、节轴在一条直线上。x轴与任何存在的公共垂线成一条直线,并且沿着这条垂线从n关节指向n+1关节。在相交关节的情况下,x轴的方向平行或者逆平行zn-1zn的向量叉积,应该注意,这个条件对于沿着关节n和n+1之间垂线的x轴同样满足。当xn-1和xn平行,且有相同的指向时,则对于第n个转动关节n0。,表2.2 连杆参数,棱形关节:关节变量为dn。关节轴的方向就是关节的运动方向。与转动关节不同,轴的运动方向被确定了,但在空间的位置并没有确定(见图2.10)。对于棱形关节,连杆长度an没有意义,所以被设置为0。棱形关节坐标的z轴(zn)与下一个连杆的轴在一条直线上,x轴(xn)平行或逆平行棱形关节轴的方向
16、(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
17、(a,0,0) Rot(x,) (2.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 (2.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 (2.32) 0 0 0 1,对于棱形关节,an = 0,则式(2.32)A矩阵简化为 cos -sincos sinsin 0 sin coscos -cossin 0
18、An = 0 sin cos d (2.33) 0 0 0 1 一旦给机械手各连杆坐标系都赋了值,各种固定的连杆参数可以确定:对于后面是旋转关节的连杆参数为d, a和,对于后面是棱形关节的连杆参数为和。根据这些参数,的正弦和余弦也可以求出。这样,对于旋转关节,A矩阵变成了关节变量的函数。或在棱形关节的情况下,变成了d的函数。一旦这些值给出,对于六个Ai变换矩阵的值就可以确定。,2.10 根据A矩阵来确定T6( Specification of T6 in Terms of the A matrices ),机械手的坐标变换图如图2.11所示,机械手的末端(即连杆坐标系6)相对于连 杆坐标系n-
19、1的描述用n-1T6表示,即: n-1T6 = An An+1 A6 (2.34),机械手的末端相对于基坐标系(用T6表示)用下式给出 T6 = A1 A2 A3 A4 A5 A6 (2.35) 如果机械手用变换矩阵Z与参考坐标系相联系,机械手末端执 行器用E来描述,末端执行器的位置和方向相对参考坐标系用X来 描述,如图2.11所示有 X = Z T6 E (2.36) 由此可以得到T6的表达式 T6 = Z-1 X E-1 (2.37),2.11 斯坦福机械手的运动方程(Kinematic Equations for the Stanford Manipulator),斯坦福机械手及其各关节
20、坐 标的设置如图2.12所示。 将角的正弦和余弦简化 sini = Si cosi = Ci sin (i+j) = Sij cos (i+j) = Cij 注:将所有关节x轴的方向设置 一致,可简化坐标变换。,图2.12 斯坦福机械手坐标系,表2.2 斯坦福机械手连杆参数 Link Variable a d cos sin 1 1 -90 0 0 0 -1 2 2 90 0 d2 0 1 3 d3 0 0 d3 1 0 4 4 -90 0 0 0 -1 5 5 90 0 0 0 1 6 6 0 0 0 1 0,斯坦福机械手的A变换如下: C1 0 -S1 0 S1 0 C1 0 A1 = 0
21、 -1 0 0 (2.38) 0 0 0 1 C2 0 S2 0 S2 0 -C2 0 A2 = 0 1 0 d2 (2.39) 0 0 0 1 1 0 0 0 0 1 0 0 A3 = 0 0 1 d3 (2.40) 0 0 0 1,C4 0 -S4 0 S4 0 C4 0 A4 = 0 -1 0 0 (2.41) 0 0 0 1 C5 0 S5 0 S5 0 -C5 0 A5 = 0 1 0 0 (2.42) 0 0 0 1 C6 -S6 0 0 S6 C6 0 0 A6 = 0 0 1 0 (2.43) 0 0 0 1,斯坦福机械手A变换的积如下所示,这些是从连杆6开始,然后逐步回到基坐
22、标。 C6 -S6 0 0 S6 C6 0 0 5T6 = 0 0 1 0 (2.44) 0 0 0 1 C5C6 -C5S6 S5 0 S5C6 -S5S6 -C5 0 4T6 = S6 C6 0 0 (2.45) 0 0 0 1 C4C5C6-S4S6 -C4C5S6-S4C6 C4S5 0 S4C5C6+C4S6 -S4C5S6+C4C6 S4S5 0 3T6 = -S5C6 S5S6 C5 0 (2.46) 0 0 0 1,C4C5C6-S4S6 -C4C5S6-S4C6 C4S5 0 S4C5C6+C4S6 -S4C5S6+C4C6 S4S5 0 2T6 = -S5C6 S5S6 C
23、5 d3 (2.47) 0 0 0 1 C2(C4C5C6 - S4S6) - S2S5C6 -C2(C4C5S6 + S4C6) + S2S5S6 S2(C4C5C6 - S4S6) + C2S5C6 -S2(C4C5 S6+ S4C6) - C2S5S6 1T6 = S4C5C6 + C4C6 -S4C5S6 + C4C6 0 0 C2C4S5 + S2C5 S2d3 S2C4S5 - C2C5 -C2d3 S4S5 d2 (2.48) 0 1,nx ox ax px ny oy ay py T6 = nz oz az pz (2.49) 0 0 0 1 其中 nx = C1 C2 ( C
24、4C5C6 - S4S6 ) - S2S5C6 - S1( S4C5S6 + C4S6 ) ny = S1 C2 ( C4C5C6 - S4S6 ) - S2S5C6 + C1( S4C5S6+C4S6 ) nz = -S2 ( C4C5C6 - S4S6 ) - C2S5C6 ox = C1 -C2 ( C4C5S6 + S4C6 ) + S2S5C6 - S1( -S4C5S6 + C4S6 ) oy = S1 -C2 ( C4C5C6 + S4C6 ) + S2S5S6 + C1( -S4C5S6 + C4S6 ) oz = S2 ( C4C5C6 + S4C6 ) + C2S5S6 a
25、x = C1 ( C2C4S5 + S2C5 ) S1S4C5 ay = S1 ( C2C4S5 + S2C5 ) + C1S4S5 az = S2C4S5 + C2C5 px = C1S2d3 S1d2 py = S1S2d3 + C1d2 pz = C2d3,2.12 肘机械手的运动方程( Kineamtic Equations for an Elbow Manipulator ),肘机械手及其各关节坐标的设置如图2.13所示。,表2.3 肘机械手的连杆参数 Link Variable a d cos sin 1 1 90 0 0 0 1 2 2 0 a2 0 1 0 3 3 0 a3 0
26、 1 0 4 4 -90 a4 0 0 -1 5 5 90 0 0 0 1 6 6 0 0 0 1 0 注:在以下的T矩阵中用变量23 =2 +3和234 =23 +4来进 行简化。,肘机械手的A变换如下: C1 0 S1 0 S1 0 -C1 0 A1 = 0 1 0 0 (2.50) 0 0 0 1 C2 -S2 0 C2S2 S2 C2 0 S2a2 A2 = 0 1 1 0 (2.51) 0 0 0 1 C3 -S3 0 C3a3 S3 C3 0 S3a3 A3 = 0 0 1 0 (2.52) 0 0 0 1,C4 0 -S4 C4a4 S4 0 C4 S4a4 A4 = 0 -1
27、0 0 (2.53) 0 0 0 1 C5 0 S5 0 S5 0 -C5 0 A5 = 0 -1 0 0 (2.54) 0 0 0 1 C6 -S6 0 0 S6 C6 0 0 A6 = 0 0 1 0 (2.55) 0 0 0 1,为了得到T6,我们从连杆6开始来算A矩阵的积,逐步往回计算到基坐标。 C6 -S6 0 0 S6 C6 0 0 5T6 = 0 0 1 0 (2.55) 0 0 0 1 C5C6 -C5S6 S5 0 S5C6 -S5S6 -C5 0 4T6 = S6 C6 0 0 (2.56) 0 0 0 1 C4C5C6-S4S6 -C4C5S6-S4C6 C4S5 C4a
28、4 S4C5C6+ C4S6 -S4C5S6+ C4C6 S4S5 S4a4 3T6 = -S5C6 S5S6 C5 0 (2.57) 0 0 0 1,C34C5C6-S34S5 -C34C5S6 -S34C6 C34S5 C34a4+C3a3 S34C5C6+C34S6 -S34C5S6+C34C6 S34S5 S34a4+S3a3 2T6 = -S5C6 S5S6 C5 0 (2.58) 0 0 0 1 C234C5C6-S234S6 -C234C5C6-S234C6 C234S5 C234a4+C23a3+C2a2 S234C5C6 +C234S6 -S234C5S6+C234C6 S2
29、34S5 S234a4+S23a3+S2a2 1T6 = -S5C6 S5S6 C5 0 (2.59) 0 0 0 1,nx ox ax px ny oy ay py T6 = nz oz az pz (2.60) 0 0 0 1 其中 ox = -C1 C234C5S6 + S234C6 + S1S5S6 oy = -S1 C234C5S6 + S234C6 - C1S5S6 oz = -S234C5C6 + C234C6 ax = C1C234S5 + S1C5 ay = S1C234S5 - C1C5 az = S234S5 px= C1 C234a4 + C23a3 + C2a2 py= S1 C234a4 + C23a3 + C2a2 pz= S234a4 + S23a3 + S2a2,2.13 小结 ( Summary ),本节主要介绍了用齐次变换来描述在各种坐标系中机械手的位置与方向。首先介绍了各种正交坐标系的齐次变换。然后介绍了非正交关节坐标系描述机械手末端的齐次变换。上述变换关系对任何数目关节的各种机械手均适用。,
限制150内