2.1–2.2 已建立单个旋转矩阵及其三重身份。接下来自然要问:把多个旋转接在一起时,它们该如何合成?本节回答这个问题,给出两条规则——绕当前轴右乘、绕固定轴左乘——并建立贯穿全章的性质:合成不可交换。本节内容对应录播第 1 周 2:18–2:24(链式合成与不可交换),以及第 2 周 0:02:47–0:08:54 的回顾与 0:30:07–0:30:54 的收束。
先把记号约定清楚。记 pi 为同一点(向量)在坐标系 i 中的表示;记 Rji 为坐标系 j 相对坐标系 i 的旋转矩阵,它的每一列就是 j 系各轴在 i 系中的方向余弦。有了这套记号,链式合成可以写得很紧凑。对三个共原点系 0,1,2(原书式 2.12–2.15):
p1=R21p2,p0=R10p1 ⇒ p0=R10R21p2 ⇒ R20=R10R21
原理 2.3.A · 相对当前轴的连续旋转 → 右乘
若每次旋转都绕上一个旋转产生的新坐标系的轴进行(「当前轴」),则按旋转发生顺序依次右乘:
R20=R10R21,一般地 Rn0=R10R21⋯Rnn−1.
且逆关系就是上下标对换(原书式 2.16):
R10=(R01)−1=(R01)T.
原理 2.3.B · 相对固定轴的连续旋转 → 左乘
若每次旋转都绕固定参考系的轴进行,则规则恰好相反:新旋转依次左乘(前乘)。以两次旋转为例,先绕固定系转 ϑ1、再绕固定系转 ϑ2,总旋转为
R=Rϑ2Rϑ1(先转的在右边).
这一点原书也有对应表述(式 2.17 后一句):固定系下的连续旋转合成,是「按给定旋转顺序对各单个旋转矩阵依次前乘」(premultiplication in the order of the given sequence)。
原理 2.3.B 的证明(两种看法)
看法一 · 映射复合(一行证完):姿态矩阵 R10 把刚体坐标映到固定系坐标;而绕固定系某轴的新旋转,是作用在固定系坐标上的映射 Rϑ2(也就是可直接查表的基本旋转矩阵)。于是合成映射「先 Rϑ1、后 Rϑ2」按复合写法就是 Rϑ2Rϑ1——后作用的映射写在左边。推广到任意多次:第 k 次固定轴旋转到来时 Rk0=RϑkRk−10,归纳即得「按发生顺序依次左乘」。
看法二 · 原书三步,翻译成当前轴(原书式 2.17 的推导思路):换一个角度,绕固定轴转 Rϑ2 可等价拆成三步当前轴旋转:① 把刚体系转回与固定系对齐(转 (R10)−1)→ ② 在对齐姿态下施加 Rϑ2(此刻「当前轴」恰与固定轴重合)→ ③ 再把刚体系转回原位(转 R10)。三步都按 2.3.A 依次右乘:
Rˉ20=R10①(R10)−1Rϑ2③R10=Rϑ2R10,
与看法一的结果一致,证毕。□
□
一句话记住两条规则
右乘 = 「转完再在新位置上接着转」(站在刚体上看);左乘 = 「始终绕原地那几根定轴转」(站在地上看)。 两条规则的时序互为镜像:当前轴「先 z 后 y′」与固定轴「先 y 后 z」给出同一个终态,而且乘积写出来完全相同(Rz(φ)Ry(ϑ),先转的在右端)——固定轴的时序与乘积排列互为逆序。哪一条用得更多?录播 0:25:40 老师点明:用得最多的是绕固定轴左乘,如 2.5 节的角和轴;而机器人关节则是典型的绕当前轴右乘,见 2.8 节。
录播 0:30:07 老师把这条规则落回到机器人上:对关节链 0→1→2→3,「从 3 的指向到 0 的指向」就是
R30=R10R21R32,
这就是「一次右乘、依次连乘」的含义;而它正是 2.8 节正运动学 Tn0=A10A21⋯Ann−1 的旋转部分。
另外,Rji 的行同样有几何意义(原书):列是动系轴在固定系中的方向余弦,行(即 RT 的列)是固定系轴在动系中的方向余弦——也就是说,逆矩阵免费给出了反向变换。
两条规则到这里就齐了。下一个问题自然浮现:既然左乘、右乘各对应一种参照系,那么把两次旋转的先后顺序换一换,终态会不会变?下面用原书例 2.3 来回答。
例 2.3(原书)· 先 ϑ1 后 ϑ2 ≠ 先 ϑ2 后 ϑ1
对同一物体施加同样的两次基本旋转,只要交换顺序,终态姿态一般就不同——无论绕当前轴还是绕固定轴:绕当前轴时,「先 ϑ1 后 ϑ2」与「先 ϑ2 后 ϑ1」结果不同(原书图 2.6);绕固定轴同理(原书图 2.7)。有趣的对偶:绕固定轴按序 (ϑ1,ϑ2) 的终态 = 绕当前轴按序 (ϑ2,ϑ1) 的终态——因为固定轴左乘顺序恰好是当前轴右乘顺序的逆序排列。
例 2.3.C · 90°+90° 数值验证(本教程补)
取 ϑ1 为绕 y 转 90°、ϑ2 为绕 z 转 90°。先看固定轴(先 y 后 z):新旋转左乘,R=Rz(90∘)Ry(90∘)——先转的 Ry 落在右边。再看当前轴:要得到同一终态必须反着来,先绕 z 转 90°、再绕新的 y′ 转 90°,依次右乘同样得到 Rz(90∘)Ry(90∘)。两条路线数值完全一致(代入 2.2 的基本旋转矩阵即可验证),这正是上面那条「对偶」。反过来,若固定轴也按「先 z 后 y」走,得到的是 Ry(90∘)Rz(90∘)=Rz(90∘)Ry(90∘)——不可交换。
把例 2.3 画出来就是下图:同一初始姿态、同样两把「90°」,只交换先后顺序,终态的三根体轴指向就完全不同——这就是「角度集合不能当向量相加」的几何根源。
例 2.3 的几何(本教程绘):绕固定轴「先 y 后 z」与「先 z 后 y」给出两个不同终态——彩色体轴指向一目了然。同一终态 R = Rz(90°)Ry(90°) 还可读成绕当前轴「先 z 后 y′」,这就是 原理 2.3.B 与 原理 2.3.A 的镜像关系。
默写点 · 合上书再写(主动回忆)
不看正文与速查卡,先自己写出下面几条,再展开核对。写不出来,就说明这一节还没真正「拿走」。
- 绕当前轴、绕固定轴,分别用左乘还是右乘?
- 写出 ZYZ 与 RPY 的乘积顺序,并说明各属哪一族。
- ϕ=[φ ϑ ψ]T 能像向量一样相加吗?为什么?
核对
绕当前轴用右乘,绕固定轴用左乘。口诀:右乘当前轴、左乘固定轴。
ZYZ:Rz(φ)Ry′(ϑ)Rz′′(ψ)——三个因子都绕当前轴,依次右乘;RPY:Rz(φ)Ry(ϑ)Rx(ψ)——都绕固定轴,依次左乘。两者互为左乘 / 右乘对偶。
不能。角度集合只是打包记号,而旋转不可交换(R1R2=R2R1),所以它没有向量加法。
- 一条主线:右乘(当前轴)/ 左乘(固定轴)两条规则 → 合成不可交换(例 2.3.C);而且两条规则互为镜像(固定轴顺序 = 当前轴逆序)。
- 一句口诀:「转完接着转 = 右乘」「原地定轴转 = 左乘」;另外记住,Rji 的列是 j 系轴在 i 系中的像(上下标读反即全错)。
常见错误清单 · 自查三条
- 把 ϕ=[φ ϑ ψ]T 当向量——角度集合只是「打包记号」,而旋转不满足交换律,所以它没有向量加法(录播 0:06:51–0:07:20 老师专门澄清;习题 B5 把这一点算给你看);
- 背错乘法方向:口诀是「当前右、固定左」,检验方法是把序列复述成中文——「在转完的基础上再绕它的 y′ 转」就是右乘;
- 忘记 R−1=RT 只对旋转矩阵成立——2.7 节的齐次变换矩阵就不再有此性质。