第2章 间描述与坐标变换

ching

2019/09/02 发布于 教育 分类

文字内容
1. 第2章 空间描述与坐标变换 机器人学简明教程 第2章 间描述与坐标变换 2.1 位置姿态表示与坐标系描述 2.2 坐标变换 2.3 齐次坐标变换 2.4 齐次变换算子 2.5 复合变换 2.6 齐次变换的逆变换 2.7 变换方程 2.8 姿态的欧拉角表示
2. 第2章 空间描述与坐标变换 2.1 位置姿态表示与坐标系描述 1.位置描述 假设已经建立了坐标系,我们可以用一个3×1的位置矢 量对世界坐标系中的任何点进行定位。因为经常需要定义多 个坐标系来描述机器人的几何关系和运动,在描述一个位置 矢量的时候需要指明是用哪一个坐标系描述的。如图2-1表 示的一个坐标系和位置矢量,用三个单位正交基矢量表示坐 标系{A},坐标原点和沿坐标轴的单位矢量均用下标“A”表 示它们属于{A}坐标系。矢量Ap表示箭头指向点的位置矢量, 其中右上角标“A”表示该点是用{A}坐标系描述的。位置矢 量Ap可以用分量表示为  px  A p   p y   p z  (2-1)
3. 第2章 空间描述与坐标变换 图2-1 坐标系和位置矢量
4. 第2章 空间描述与坐标变换 2.姿态描述 一个刚体除了需要描述它的位置外,还需要描述它的方 位(姿态)。任意平面刚体都可以用三个参数(x,y,θ)唯一 描述其姿态。例如图2-2所示的机器人,为了完整描述地面 上的机器人,除了机器人的位置(质心OB坐标x,y)以外, 还需要知道机器人的方位(头的方向θ)。平面机器人位置 一般用两个坐标系来描述,一个是固定的场地坐标系{A}, 另一个是与机器人固连在一起的机器人(运动)坐标系{B}。 机器人的位姿可以用机器人坐标系{B}的原点和坐标轴在固 定坐标系{A}中的方向来描述。
5. 第2章 空间描述与坐标变换 图2-2 平面机器人位姿表示
6. 第2章 空间描述与坐标变换 三维刚体的描述比较复杂,如图2-3所示的机械手末端 工具,需要描述工具的空间位置和姿态(方位),三维姿态 的描述一般通过固定在物体上的坐标系来实现。 图2-3 机械手末端工具及坐标系
7. 第2章 空间描述与坐标变换 图2-3中坐标系{B}与机械手末端工具固连,工具的位 置可以用固连坐标系{B}的原点描述、工具的姿态可以由坐 标系{B}的方向来描述。而坐标系{B}的方向可以用沿三个 坐标轴的单位矢量来表示: A B R  A XB A YB A ZB   r11  r21  r31 r12 r22 r32 r13  r23  r33  (2-2)
8. 第2章 A B 空间描述与坐标变换 R 称为旋转矩阵,即坐标系可以用旋转矩阵来描述。根据坐 标矢量的正交性和单位长度条件,可以得到 6 个约束方程,因 此旋转矩阵只有 3 个独立变量,后面将介绍采用 3 个独立变量 描述刚体姿态的方法。式(2-2)中旋转矩阵的元素可以用坐标 系{B}的单位矢量在坐标系{A}单位矢量上的投影来表示 A B R  A XB A YB A ZB   X TA X B    Y AT X B  Z TA X B  X TA YB Y AT YB Z TA YB X TA Z B   B X TA     Y AT Z B    BY AT  Z TA Z B   B Z TA  (2-3)
9. 第2章 空间描述与坐标变换 式(2-3)中内积运算的矢量都是在坐标系{A}下表示 的,因此,为了简单省略了矢量的上标。事实上,矢量的内 积与所选择的坐标系无关,由矢量内积的定义得 r11  X B  X A  X BT X A  X B X A cos  cos (2-4) 其中  表示矢量 XB 和 XA 的夹角, X B 表示矢量的长度。因为 XB 是单位矢量,所以 X B =1。式(2-4)表明,r11 是两个坐标系 X 轴夹角的余弦,旋转矩阵的其余元素的表示与(2-4)类似,因 此,旋转矩阵的元素也称为方向余弦。
10. 第2章 空间描述与坐标变换 A 旋转矩阵 B R 是用坐标系{A}来表示坐标系{B}沿坐标轴方向单位 矢量组成的矩阵,同样我们也可以用坐标系{B}来表示坐标系{A} B 的单位矢量得到旋转矩阵 A R B A R  B XA B YA B ZA   X BT X A  T   YB X A  Z BT X A  X BT Y A YBT Y A Z BT Y A X BT Z A   A X BT   A T T YB Z A    YB  (2-5) Z BT Z A   A Z BT  对比式(2-3)和式(2-5)可知两个旋转矩阵互为转置,再 根据正交矩阵的性质可得以下关系: B A A B T A B R R  R 1
11. 第2章 空间描述与坐标变换 根据坐标系单位矢量的正交关系可以验证式(2-6)成立。  A X BT  A T A T A R R  B B  YB   A Z BT     A XB A YB A ZB  1 0 0  0 1 0 0 0 1 (2-7)
12. 第2章 空间描述与坐标变换 3.坐标系描述 从前面介绍的位置和姿态描述可知,刚体的位姿可以用 固连在刚体上的坐标系来描述,坐标原点表示刚体的位置, 坐标轴的方向表示刚体的姿态。因此,固连坐标系把刚体位 姿描述问题转化为坐标系的描述问题。图2-3中坐标系{B} 可以在固定坐标系{A}中描述为 { B} { BA R, A PBo } A (2-8) A 旋转矩阵 B R 描述坐标系{B}的姿态,矢量 PBo 描述坐标系{B}的原点位置。
13. 第2章 空间描述与坐标变换 2.2 坐标变换 1.平移坐标变换 在图2-4中,BP为坐标系{B}描述的某一空间位置,同 样,我们也可以用AP(坐标系{A})描述同一空间位置。假 设坐标系{A}和坐标系{B}姿态相同,则坐标系{B}可以理解 为坐标系{A}的平移。APBO称为坐标系{B}相对坐标系{A}的 平移矢量,也可以理解为坐标系{B}原点在坐标系{A}描述 下的位置矢量。因为两个坐标系具有相同的姿态,同一个点 在不同坐标系下的描述满足以下关系 A B A P  P  PBo (2-9)
14. 第2章 空间描述与坐标变换 式(2-9)表明了不同坐标系描述同一个点位置矢量之间的变 A 换关系,变换关系由平移矢量 PBo 唯一确定。可以从另外一个角 度理解式(2-9)表示的变换关系,假设开始坐标系{B}与坐标系{A} 重合,矢量 BP 与坐标系{B}固定,将坐标系{B}连同矢量 BP 一起平 A 移 PBo 。这样理解式(2-9)表示的是同一坐标系描述的位置矢量 之间的平移关系。
15. 第2章 空间描述与坐标变换 图2-4 平移坐标变换
16. 第2章 空间描述与坐标变换 2.旋转坐标变换  A px  B X TA B P  A B T B p  YA P  y A B T B  pz  Z A P (2-10)
17. 第2章 空间描述与坐标变换 图2-5 旋转坐标变换
18. 第2章 空间描述与坐标变换 将(2-9)式写成矩阵形式得(参见(2-3)式)  B X TA   B T B A B A P  YA  P B R P  B Z TA    (2-11) 式(2-11)即为我们要求的旋转变换关系,该变换是 通过两个坐标系之间的旋转变换实现的。式(2-11)实现 了空间点在不同坐标系下描述的转换,下面用平面旋转坐 标变换的例子说明上述算法。
19. 第2章 空间描述与坐标变换 例2-1 图2-6给出了两个平面坐标系的位置关系,计 算旋转变换矩阵BAR和同一矢量P在两个坐标系下表示之间 的关系,假设矢量长度为r。 解: 因为坐标轴为单位矢量,根据几何关系得  A X B   cos  X A  sin YA A  YB   sin  X A  cos YA 所以,根据式(2-3)可知旋转变换矩阵为 A B cos  R  sin   sin   cos  
20. 第2章 空间描述与坐标变换 再根据式(2-11)可得矢量间的变换关系 A cos   sin   r cos   P R P   r sin   sin  cos     cos  cos   sin  sin   r  cos  sin   sin  cos    cos(   )  r  sin(    )   A B B 观察图2-6,根据几何关系直接计算P在{A}下的表示显然 与上式相同,印证了坐标变换方法的正确性。
21. 第2章 空间描述与坐标变换 图2-6 平面旋转变换
22. 第2章 空间描述与坐标变换 也可以从另一个角度获得矢量P在{A}下的表示,首先 将矢量在{B}下表示 B P  r cos  X B  r sin  YB 再根据前面的结果,将坐标系{B}的基矢量用坐标系{A}的 基矢量表示,得 A P  r cos  A XB  r sin  AYB  r(cos  cos  sin  sin ) X A  r(cos  sin  sin  cos )YA  r cos(   ) X A  r sin(   )YA 结果与前面计算的相同。
23. 第2章 空间描述与坐标变换 图2-7给出了两个坐标系关系的示意图,为了得到位置 矢量BP和AP之间的变换关系,我们建立一个中间坐标系{C}。 坐标系{C}与坐标系{B}原点重合,且与坐标系{A}的姿态相 同。通过引入坐标系{C},可以采用前面介绍的平移与旋转 变换得到一般情况下的变换关系: C A C (2-12) P BC RBP BARBP A A B B A P  P  PCo  R P  PBo (2-13)
24. 第2章 空间描述与坐标变换 图2-7 复合变换
25. 第2章 空间描述与坐标变换 2.3 齐次坐标变换 式(2-13)表示了一般情况下的变换关系,在机器 人学中经常需要计算多个坐标系之间的坐标变换,采用上述 表达不够简明和清楚。因此,常用所谓的“齐次坐标变换” 来描述坐标系之间的变换关系。坐标变换式(2-13)可以 写成以下形式  A P   BA R    1   0 A PBo   B P    1  1  (2-14)
26. 第2章 空间描述与坐标变换 将位置矢量用4×1矢量表示,增加1维的数值恒为1,我们仍 然用原来的符号表示4维位置矢量并采用以下符号表示坐标 变换矩阵 A  A BR BT    0 A PBo   1  (2-15) 可以得到齐次坐标变换关系 A P  AB T BP (2-16) A B T 是 44 矩阵,称为齐次坐标变换矩阵。ABT 可以理解为坐 标系{B}在固定坐标系{A}中的描述。齐次坐标变换的主要作 用是表达简洁,同时在表示多个坐标变换的时候比较方便。
27. 第2章 空间描述与坐标变换 2.4 齐次变换算子 1.平移算子 上面介绍了同一个点在不同坐标系下描述的变换关系(2-15) 。 在机器人学中还经常用到下面的变换,如图 2-8,矢量 AP1 沿矢量 A Q 平移至的 AQ 终点,得一矢量 AP2。已知 AP1 和 AQ 求 AP2 的过程 称之为平移变换,与前面不同,这里只涉及单一坐标系。 A A A P2  P1  Q (2-17)
28. 第2章 空间描述与坐标变换 图2-8 平移算子
29. 第2章 空间描述与坐标变换 可以采用齐次变换矩阵表示平移变换 A A A P2  Trans ( Q ) P1 (2-18) Trans(AQ)称为平移算子,其表达式为 I A Trans( Q )   0 Q  1  A (2-19) 其中I是3×3单位矩阵。例如若AQ=ai+bj+ck,其中i、j和k分 别表示坐标系{A}三个坐标轴的单位矢量,则平移算子表示 为 1 0 Trans( a, b, c)   0  0 0 1 0 0 0 0 1 0 a b  c  1 (2-20)
30. 第2章 空间描述与坐标变换 2.旋转算子 同样,我们可以研究矢量在同一坐标系下的旋转变换, 如图2-9所示,AP1绕Z轴转θ角得到AP2。则 A P2  Rot ( z ,  ) A P1 (2-21) Rot(z,θ)称为旋转算子,其表达式为 c  s Rot( z, )   0  0 s c 0 0 0 0 0 0 1 0  0 1 (2-22)
31. 第2章 空间描述与坐标变换 图2-9 旋转算子
32. 第2章 空间描述与坐标变换 同理,可以得到绕X轴和Y轴的旋转算子 1 0 0 c Rot( x, )   0 s  0 0  c  0 Rot( y, )   s   0 0 s c 0 0 0 0  1 0 s 0 1 0 0 0 c 0  0 0 1 式中“c”,“s”分别代表“cos”和“sin”。 (2-23)
33. 第2章 空间描述与坐标变换 定义了平移算子和旋转算子以后,可以将它们复合实现 复杂的映射关系。变换算子与前面介绍的坐标变换矩阵形式 完全相同,因为所有描述均在同一坐标系下,所以不需上下 标描述(坐标系)。 A P2  T A P1 (2-24)
34. 第2章 空间描述与坐标变换 例2-2 已知矢量AP1=[370]T,先将其绕ZA旋转30°,再 沿XA轴平移10个单位、沿YA轴平移5个单位,计算变换后得 到的矢量AP2。 解: 根据式(2-15)得变换算子: cos 30o  o sin 30 T   0   0 A  sin 30o cos 30o 0 0 0 10 0.866 0.5 0 10    0 5   0.5 0.866 0 5   0 1 0 1 0  0    0 0 1 0 1  0 P2  T A P1  [9.098 12.562 0]T
35. 第2章 空间描述与坐标变换 3.齐次坐标变换总结 A B (1)坐标系的描述。 T 表示坐标系{B}在坐标系{A}下的 描述,BA R 的各列是坐标系{B}三个坐标轴方向的单位矢量, 而APBO表示坐标系{B}原点位置。 (2)不同坐标系间的坐标变换。如 A P  ABT B P。 (3)同一坐标系内的变换算子。如 A P2  T A P 1 。 齐次坐标变换是复杂空间变换的基础,必须认真理解和 掌握。具体应用的关键是理解它代表的是上面三种含义的哪 一种,而不是简单的套用公式。
36. 第2章 空间描述与坐标变换 2.5 复合变换 复合变换主要有两种应用形式,一种是建立了多个坐标 系描述机器人的位姿,任务是确定不同坐标系下对同一个量 描述之间的关系;另一种是一个空间点在同一个坐标系内顺 序经过多次平移或旋转变换,任务是确定多次变换后点的位 置。 如图2-10表示的三个坐标系,已知坐标系{A}、{B}和 {C}之间的变换矩阵 A B T, B C T 和位置矢量CP,求在坐标系{A} 下表示同一个点的位置矢量AP。先计算在坐标系{B}下表示 同一个点的位置矢量BP,然后计算在坐标系{A}下表示同一 个点的位置矢量AP。
37. 第2章 空间描述与坐标变换 P  CB T CP (2-25) P  ABT BP  ABT CBT CP (2-26) B A 根据坐标变换的定义得 A C T  ABT CBT (2-27)
38. 第2章 空间描述与坐标变换 图2-10 复合坐标变换
39. 第2章 空间描述与坐标变换 例2-3 已知点u=7i+3j+2k,先对它进行绕Z轴旋转90° 的变换得点v,再对点v进行绕Y轴旋转90°的变换得点 w,求v和w。 解:由旋转变换的公式得  0 1 1 0 v  Rot( z ,90o )u   0 0  0 0 0 0 1 0 0   7   3  0   3   7   0 2  2      1  1   1  0 0 w  Rot( y,90o )v    1  0 1 0 0 0 0  3 2 0  7  7  0  2   3      1   1  1  0 1 0 0
40. 第2章 空间描述与坐标变换 如果只关心最后的变换结果,可以按下式计算 w  Rot ( y,90o )v  Rot ( y,90o ) Rot ( z,90o ) u 0 1  0  0 0 0 1 0 1 0 0 0 0  7   2  0   3  7   0 2 3     1  1  1  计算结果与前面的相同,R=Rot(y,90°)Rot(z,90°)称为复合 旋转算子。图2-11(a)给出了变换前后点的位置。如果改 变旋转顺序,先对它进行绕Y轴旋转90°,再绕Z轴旋转90°, 结果如图2-11(b)所示。比较图2-11(a)和图2-11(b) 可以发现最后的结果并不相同,即旋转顺序影响变换结果, 从数学角度解释就是矩阵乘法不满足交换率,Rot (y,90°) Rot(z,90°)≠Rot(z,90°)Rot(y,90°)。
41. 第2章 空间描述与坐标变换 图2-11 旋转顺序对变换结果的影响
42. 第2章 空间描述与坐标变换 2.6 齐次变换的逆变换 A 已知坐标系{B}相对坐标系{A}的描述 BT ,求坐标系{A}相对 B 坐标系{B}的描述 AT ,即为齐次变换的求逆问题。一种直接的方 法是采用线性代数中的矩阵求逆,另一种方法是根据变换矩阵的 特点直接得出逆变换。后一种方法使用起来更加简单方便。 A A B B 给定 ABT 计算 BAT 等价为:已知 B R 和 PBo ,求 A R 和 PAo 。根据 前面的讨论,旋转矩阵关系为 B A R BAR 1  BART (2-28)
43. 第2章 空间描述与坐标变换 将坐标变换用于坐标系{B}的原点得 B BP PBo  AB R APBo  BPAo (2-29) BO是坐标系{B}的原点在坐标系{B}中的描述,显然为零矢 量。由式(2-29)得 B PAo   AB R A PBo   BA R T A PBo (2-30) 因此,逆变换可以直接用正变换的旋转矩阵和平移矩阵表示 A T  B BR AT    0 逆变换矩阵推导的另一种方法  BART A PBo   1  (2-31)
44. 第2章 空间描述与坐标变换 根据坐标变换式(2-13)AP  BAR B P  APBo 可得: B P  BAR1( AP  APBo )  BART ( AP  APBo )  BART AP  BART APBo (2-32) 将坐标系{A}到坐标系{B}的变换: B P  ABR AP  B PAo 比较式(2-32)和式(2-33)得 B A R  BART , B PAo   BART APBo 结果与前面推导的式(2-31)完全相同。 (2-33)
45. 第2章 空间描述与坐标变换 例2-4 如图2-12给出的楔形块角点坐标系,求齐次 A B A T , T , 坐标变换 B C CT 图2-12 楔形块角点坐标系
46. 第2章 空间描述与坐标变换 解:为了简化公式表示,用“c”和“s”分别代表“cos”和 “sin”。 (1){A}沿xA平移3个单位,再绕新的zA轴转180°得{B}。 c180  s180 0   1 0 0   s180 c180 0    0 1 0  A R  B      0 0 1   0 0 1  因此  1 0  0 1 A  BT  0 0  0 0 0 0 1 0 3 0  0  1
47. 第2章 空间描述与坐标变换 (2){B}沿zB平移2个单位,然后绕yB轴转90o再绕新xB 轴转150°得{C}。  c90  0 B R  C    s90 0 0   0 1  1 0 0 s90 1 0 0  1 0  0 c150  s150 0 c90 0 s150 c150  1  1 0 0  0 0  3 2 1 2  0 0 1 2  3 2   3  1 0 2 2    3  1 0 2 2   1 0 0  
48. 第2章 空间描述与坐标变换 因此  1 0  0 1 A A B  T  C BT CT  0 0  0 0  0  12  3 0 2   1 0  0 0 也可以按以下方法计算: 3 1 2 2 0 0 0 3  0  0 0   0 1 0   1  0 1  0 3  0 2  1 1  3 2  3 2 1 2 2 0 0 0 0 0  0 2  1
49. 第2章 空间描述与坐标变换 ③{A}沿xA和zA平移3个和2个单位,然后绕yA轴转90°, 再绕新xA轴转-30°得{C}。 0 0   c90 0 s90  1  0  0 c 30  s 30  A R  1 0     C     s90 0 c90 0 s  30  c  30    0 0 1  1   0 1 0  0  1 0 0  0 0 3 1 2 2 0  0  1   2  0 3   1 2  1 3 2 2 0   1 2  0  3 2
50. 第2章 空间描述与坐标变换 因此可以得到相同的结果,  0  12  3 0 2 A  T  C  1 0  0 0 3 1 2 2 0 0 3  0 2  1 事实上,对于像本例题这种简单的情况,可以直接利用齐次 坐标变换的定义得到变换矩阵。即直接写出坐标系{C}坐标 轴矢量在坐标系{A}下表示的旋转矩阵,平移矢量为坐标系 {C}的原点在坐标系{A}下的矢量表示。
51. 第2章 空间描述与坐标变换 2.7 变换方程 图2-13表示了多个坐标系的关系图,可以用两种不同的 方式得到世界坐标系{U}下坐标系{D}的描述。 U D T UAT DAT (2-34) T UBT CBT CDT (2-35) U D 可以利用变换方程(2-36)求解其中任意一个未知变换。例 如,假设除UBT以外其余变换均为已知,则该未知变换可以用 下式计算 T  UAT DAT CDT 1 CBT 1 U B (2-37)
52. 第2章 空间描述与坐标变换 图2-13 坐标变换序列
53. 第2章 空间描述与坐标变换 我们在坐标系的图形表示方法中,采用从一个坐标系的 原点指向另一个坐标系原点的箭头表示坐标系的描述关系。 例如在图2-14中,相对{D}定义坐标系{A}。在图中将箭头 串联起来,通过简单的变换矩阵相乘即可得到起点到终点的 坐标系描述。如果一个箭头的方向与串联的方向相反,只需 先求出该变换的逆再相乘即可。例如在图2-14中坐标系{C} 的两种描述为 U C U B B C T T T (2-38) T  UAT DAT 1 DCT (2-39) U C
54. 第2章 空间描述与坐标变换 图2-14 坐标变换序列
55. 第2章 空间描述与坐标变换 例2-5 假设已知图2-15中机械臂末端工具坐标系{T} 相对基座坐标系{B}的描述,还已知工作台坐标系{S}相对 基座坐标系{B}的描述,并且已知螺栓坐标系{G}相对工作 台坐标系{S}的描述。计算螺栓相对机械臂工具坐标系的位 姿。 解:添加从工具坐标系{T}原点到螺栓坐标系{G}原点的 箭头,可以得到如下变换方程 B S T GST  BTT GTT (2-40) 螺栓相对机械臂工具坐标系的位姿描述为 T  BT T 1 BST GST T G (2-41)
56. 第2章 空间描述与坐标变换 图2-15 机械臂对螺栓操作
57. 第2章 空间描述与坐标变换 2.8 姿态的欧拉角表示 2.1节采用3×3的旋转矩阵描述了三维刚体的姿态,但9 个分量中只有3个独立的分量。能否使用3个独立的分量描述 三维刚体的姿态呢?答案是肯定的,比较常用的是下面的Z YZ欧拉角描述方法。欧拉角用一个绕Z轴旋转角,再 绕新的Y轴旋转θ角,最后绕新的Z轴旋转ψ角来描述任何可 能的姿态,见图2-16。图中虚线表示旋转形成的新坐标轴。 根据旋转关系可以得到变换矩阵 Rzyz  Rot  z,   Rot  y,  Rot  z,  (2-42)
58. 第2章 空间描述与坐标变换 图2-16 Z-Y-Z欧拉角
59. 第2章 空间描述与坐标变换 具体计算结果计算如下: Ryz  Rot  y,   Rot  z,   c   0   s 0 s  c 1 0   s 0 c   0  s c 0 0   c c 0    s 1    s c  c s c s s s  0  c  c s 0  c c c s s  Rzyz  Rot  z,  Ryz  s c 0  s c 0   0 0 1 s c s s c  cc c  s s cc s  sc c s   sc c  c s sc s  cc s s   s c s s c 
60. 第2章 空间描述与坐标变换 另一种常用的旋转组合是横滚(roll)、俯仰(pitch) 和偏转(yaw)。图2-17给出了变换的示意图,这三个角 度表示了船航行的三个方位描述。需要注意的是,横滚、俯 仰和偏转表示都是相对固定坐标系表述的,而前面介绍的Z -Y-Z欧拉角描述是相对动坐标系描述的。规定变换顺序 为偏转ψ角、俯仰θ角和横滚¢角。根据旋转关系可以得到 变换矩阵 Rxyz  Rot  z ,   Rot  y ,   Rot  x , c s 0  c 0 Rxyz  s c 0  0 1  0 0 1 s 0 cc cs s  sc  sc ss s  cc  s c s  s  1 0 0  0  0 c s  c  0 s c  csc  ss  (2-43) ssc  cs   cc
61. 第2章 空间描述与坐标变换 图2-17 横滚、仰俯和偏转表示姿态
62. 第2章 空间描述与坐标变换 1.通用旋转算子 我们已经研究了绕坐标轴的旋转变换,下面研究绕任意 轴(用单位矢量f表示)旋转θ角的旋转矩阵。如图2-18所 示,假设矢量f在固定坐标系{A}下表示,另外,我们通过矢 量Ap绕任意轴f旋转θ角得到旋转矩阵。以f为Z轴建立与{A} 固连的坐标系{C},其原点与{A}的原点重合,因此可以用 旋转矩阵描述坐标系{C}。用n、o和f表示坐标系{C}三个坐 标轴的单位矢量,在坐标系{A}下表示为  n  nx i  n y j  nz k   o  o x i  o y j  oz k f  f i f j f k x y z  (2-46)
63. 第2章 空间描述与坐标变换 则旋转矩阵表示为  nx A  C R  ny   nz ox oy oz fx  fy   fz  (2-47) 因为固连的坐标系{C}与{A}固连,所以绕 f 旋转等价于绕 ZC 旋转。为此我们先将 Ap 在坐标系{C}下表示,再绕 ZC 旋转  角,最后再把旋转得到的矢量用坐标系{A}表示。 Ap 1 C A = Rot(f,) Ap A C p R p R C A T A (2-48) p p1  Rot ( z ,  ) Cp  Rot ( z ,  ) CA RT A p C (2-49) (2-50)
64. 第2章 空间描述与坐标变换 图2-18 绕任意轴旋转变换
65. 第2章 空间描述与坐标变换 再将Cp1在坐标系{A}下表示 A p1  CA R C p1  CA R Rot ( z ,  ) CA R T A p (2-51) 比较式(2-48)和式(2-51)可得 Rot ( f ,  )  CA R Rot ( z ,  ) CA RT  nx  ny   nz ox oy oz f x  c f y   s  fz   0  nx  ny   nz  n1   n2 n  3 ox oy oz f x   nx c  ox s f y   nx s  ox c  f z   fx o1 o2 o3 a1  a2  a3   s c 0 0   nx 0   ox   1  f x  ny oy fy nz  oz   f z  n y c  o y s n y s  o y c fy nz c  oz s  nz s  oz c   fz  (2-52)
66. 第2章 空间描述与坐标变换 式中,旋转矩阵的各表达式如下 n1  nx nx c  nx ox s  nx ox s  ox ox c  f x f x n  n n c  n o s  n o s  o o c  f f x y y x x y x y x y  2 n3  nx nz c  nz ox s  nx oz s  ox oz c  f x f z o  n n c  n o s  n o s  o o c  f f x y x y y x x y x y  1 o2  ny ny c  ny oy s  ny oy s  oy oy c  f y f y o  n n c  n o s  n o s  o o c  f f y z z y y z y z y z  3 a1  nx nz c  nx oz s  nz ox s  ox oz c  f x f z a2  ny nz c  ny oz s  nz oy s  oy oz c  f y f z  a3  nz nz c  nz oz s  nz oz s  oz oz c  f z f z (2-53)
67. 第2章 空间描述与坐标变换 上式中的n和o各分量是未知的,需要用f的各分量表示, 根据坐标系的右手规则知n×o=f,叉积可以按下式计算 i n  o  nx ox j ny oy k nz  ( n y oz  nz o y ) i  ( nz ox  nx oz ) j  ( nx o y  n y ox ) k oz (2-54) 因此  ( n y oz  nz o y )  f x ,   ( nz ox  nx oz )  f y , ( n o  n o )  f y x z  x y (2-55)
68. 第2章 空间描述与坐标变换 再根据旋转矩阵的正交性可以得到与下式类似的一系列等式 nx o y  ox ox  f x f x  1, nx o y  ox o y  f x f y  0 (2-56) 最后可以得到绕f旋转θ角的旋转矩阵  f x f x v  c Rot ( f ,  )   f x f yv  f z s   f x f z v  f y s f x f y v  f z s f y f yv  c f y f z v  f x s f x f z v  f y s  f y f zv  f x s  , v  1  c  f z f z v  c  (2-57)
69. 第2章 空间描述与坐标变换 2.等效转轴与转角 前面讨论了给定转轴和转角可以得到旋转矩阵,那么是 否任意给定的旋转矩阵都可以确定等效的转轴f和转角θ呢? 也就是两个坐标原点重合的坐标系可以通过绕固定轴转一定 的角度来实现从一个坐标系转换到另一个坐标系。实际上是 可以的,假设给定旋转矩阵,令其与式(2-57)相等  r11 A  C R  r21 r  31 r12 r22 r32 r13   f x f x v  c r23    f x f y v  f z s   r33   f x f z v  f y s 将上式对角线相加得 f x f y v  f z s f y f y v  c f y f z v  f x s f x f z v  f y s  f y f z v  f x s   f z f z v  c  (2-58) r11+ r22+ r33=1+2cθ  cθ=( r11+ r22+ r33 -1)/2 (2-59)
70. 第2章 空间描述与坐标变换 将关于对角线对称的两个元素分别相减得 (2-60) 将式(2-60)平方求和得 4s2θ=( r32-r23)2+( r13-r31)2+(r21-r12)2 (2-61) 假设限定绕矢量f正向旋转,且0≤θ≤180°,则 1 s  ( r32  r23 ) 2  ( r12  r31 ) 2  ( r21  r12 ) 2 (2-62) 2
71. 第2章 空间描述与坐标变换 由式(2-59)和式(2-62)可得θ的值  s    atan    c  (2-63) 至此,我们已经获得转角θ的值,再由式(2-57)可以得到 方向矢量f各分量的值 r32  r23 fx  2s (2-64) r13  r31 fy  2s (2-65) r21  r12 fz  2s (2-66)
72. 第2章 空间描述与坐标变换 在应用中需要注意的是,当转角θ的值接近0°或180°时, 方向矢量f各分量的值计算出现问题,属于奇异情况。