這個很多人都會直接說:“就是不可逆啊,你拿兩個矩陣乘以下,在換個順序乘以下,它們的結果就是不一樣的。”是啊,但是爲什麼它們的結果是不一樣的呢?小虎曾經在機器人學課堂上問過老師,老師含糊其詞,想拿上面那句話唬我狂小虎,說這是線性代數的知識,但是小虎上的線性代數課也只給出“矩陣和矩陣相乘不滿足乘法交換律(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)
(1)結束後,我們來看看P在絕對座標系中的位置:
Pnoa′′Pnoa′′Pnoa′′=⎣⎢⎢⎡00−10010010000001⎦⎥⎥⎤×⎣⎢⎢⎡−3721⎦⎥⎥⎤=⎣⎢⎢⎡2731⎦⎥⎥⎤
P′(2,7,3)
兩個步驟中P的相對位置變換爲
Δ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)
(3)結束後,我們來看看P在絕對座標系中的位置:
Pnoa′′′Pnoa′′′Pnoa′′′=⎣⎢⎢⎡00−10010010000001⎦⎥⎥⎤×⎣⎢⎢⎡1491⎦⎥⎥⎤=⎣⎢⎢⎡94−11⎦⎥⎥⎤
P(9,4,−1)
兩個步驟中P的相對位置變換爲
Δ2=(9,4,−1)−(1,4,9)=(8,0,−10)
可以看到Δ1=Δ2,可以推測再平移[4,-3,7] 步驟的Δ3和Δ4也是不一樣的,而且正是由於Δ1+Δ3=Δ2+Δ4,最終交換順序才導致結果不同。也就是P在不同順序下進行接着繞y軸旋轉90°相對於絕對座標系位移是不一樣的,對於再平移[4,-3,7]這個移動也是如此。
P可以時相對座標系上的任意一點,特殊地,當P初始座標爲(0,0,0)時,P就是相對座標系的座標原點,結果也是類似的。
說明
爲防止文章過長乏味,將此博客爲上下兩篇。通俗理解就上篇足夠,下篇是對這篇例題的常規求解和線性代數解釋。
通俗理解齊次變換矩陣複合變換的時候變換順序不可逆——上
通俗理解齊次變換矩陣複合變換的時候變換順序不可逆——下