通俗理解齊次變換矩陣複合變換的時候變換順序不可逆——上

這個很多人都會直接說:“就是不可逆啊,你拿兩個矩陣乘以下,在換個順序乘以下,它們的結果就是不一樣的。”是啊,但是爲什麼它們的結果是不一樣的呢?小虎曾經在機器人學課堂上問過老師,老師含糊其詞,想拿上面那句話唬我狂小虎,說這是線性代數的知識,但是小虎上的線性代數課也只給出“矩陣和矩陣相乘不滿足乘法交換律(cummutative property)”的結論。

齊次變換矩陣複合變換不可逆分析

先給出結論:
對於在相對座標系下的固定點P,當相對座標系相對於固定/絕對座標系作同一運動的時候,如果該運動所處的順序不同,那麼P點相對於固定/絕對座標系的運動效果是不一樣的,而我們觀察的往往是物體(比如這個點)相對於固定/絕對座標系的運動

拿一個題目作爲例子好啦。
固連在座標系(𝑛,𝑜,𝑎)上的點P(7,3,2)T 經歷如下變換,求出變換後該點相對於固定參考座標系的座標。

當繞y軸旋轉90°處在第(2)步時

(1)繞z軸旋轉90°;
(2)接着繞y軸旋轉90°;
(3)接着再平移[4,-3,7];
我就拿例子中繞y軸旋轉90°這個運動來說明。
第一個步驟結束後,P座標爲
P(3,7,2)P(-3,7,2)

(1)結束後,我們來看看P在絕對座標系中的位置:
Pnoa=[0010010010000001]×[3721]=[2731]\pmb{P_{noa}''}=\begin{bmatrix} 0 & 0 & 1& 0\\ 0 & 1 & 0& 0\\ -1 & 0 & 0 & 0\\ 0 & 0 & 0 & 1 \\ \end{bmatrix}\times \begin{bmatrix} -3\\ 7\\ 2 \\ 1\\ \end{bmatrix}=\begin{bmatrix} 2\\ 7\\ 3\\ 1\\ \end{bmatrix}
P(2,7,3)P'(2,7,3)

兩個步驟中P的相對位置變換爲
Δ1=(2,7,3)(3,7,2)=(5,0,1)\Delta_1= (2,7,3)-(-3,7,2)=(5,0,1)

當繞y軸旋轉90°處在第(3)步時

倒轉一下(2)和(3)的順序
(1)繞z軸旋轉90°;
(2)接着再平移[4,-3,7];
(3)接着繞y軸旋轉90°;

(2)結束後,P在絕對座標系中座標如下(計算過程略)
P(1,4,9)P(1,4,9)

(3)結束後,我們來看看P在絕對座標系中的位置:
Pnoa=[0010010010000001]×[1491]=[9411]\pmb{P_{noa}'''}=\begin{bmatrix} 0 & 0 & 1& 0\\ 0 & 1 & 0& 0\\ -1 & 0 & 0 & 0\\ 0 & 0 & 0 & 1 \\ \end{bmatrix}\times \begin{bmatrix} 1\\ 4\\ 9 \\ 1\\ \end{bmatrix}=\begin{bmatrix} 9\\ 4\\ -1\\ 1\\ \end{bmatrix}
P(9,4,1)P(9,4,-1)
兩個步驟中P的相對位置變換爲
Δ2=(9,4,1)(1,4,9)=(8,0,10)\Delta_2= (9,4,-1)-(1,4,9)=(8,0,-10)

可以看到Δ1Δ2\Delta_1\neq \Delta_2,可以推測再平移[4,-3,7] 步驟的Δ3\Delta_3Δ4\Delta_4也是不一樣的,而且正是由於Δ1+Δ3Δ2+Δ4\Delta_1+\Delta_3\neq \Delta_2+\Delta_4,最終交換順序才導致結果不同。也就是P在不同順序下進行接着繞y軸旋轉90°相對於絕對座標系位移是不一樣的,對於再平移[4,-3,7]這個移動也是如此。
P可以時相對座標系上的任意一點,特殊地,當P初始座標爲(0,0,0)(0,0,0)時,P就是相對座標系的座標原點,結果也是類似的。

說明

爲防止文章過長乏味,將此博客爲上下兩篇。通俗理解就上篇足夠,下篇是對這篇例題的常規求解和線性代數解釋。

通俗理解齊次變換矩陣複合變換的時候變換順序不可逆——上
通俗理解齊次變換矩陣複合變換的時候變換順序不可逆——下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章