引言
都知道旋轉矩陣表達的是剛體(坐标系{B})相對參考坐标系{A}的姿态資訊,那如何利用已知的旋轉矩陣
,将{A}旋轉一定角度變成與{B}一樣的姿态呢?有幾種方法:固定角旋轉、歐拉角旋轉、angle-axis表達法、Quaternion表達法等可以求出這個“角度”,在此介紹前兩種。
另外,機器人學裡正常是如何将剛體的位置、姿态資訊融合在一起的呢?
目錄
定角(Fixed angles)
X-Y-Z型公式:
舉例:
歐拉角(Euler angles)
以Z-Y-Z型為例的公式:
舉例:
齊次變換矩陣(Homogeneous transformation matrix)
齊次矩陣的作用
齊次矩陣的運算特性
定角(Fixed angles)
圍繞固定的坐标系轉動。固定坐标系的原點,坐标系再圍繞已經固定的軸轉動,全程原坐标系不動。
注意!移動位置的順序可以調換,但是旋轉的順序不能調換,結果不一樣。
以X-Y-Z型為例子:即先圍繞X軸進行轉動γ°,然後圍繞Y軸進行轉動β°,最後圍繞Z軸進行轉動α°。注意逆時針為正方向。
X-Y-Z型公式:
重點:先轉的軸的
放後面運算,如下
舉例:
由角度推旋轉矩陣
由旋轉矩陣推角度
【解釋】在這一題,我們可以借助我在“機器人理論(一)”文章中“旋轉矩陣的特性和作用”的第三小節的公式,直接使用
、
兩個矩陣,并且結合定軸旋轉的“先轉的放後面”,直接
乘
相乘即可。
歐拉角(Euler angles)
“自旋轉”,圍繞當下(自己)的坐标系某軸轉動,就是每次旋轉,都固定被圍繞的某一軸,另兩軸動。
每次旋轉,整個坐标系都會改變位置。
以Z-Y-Z型為例的公式:
重點:先轉的軸的
放前面運算,如下
舉例:
矩陣轉角度:
角度推旋轉矩陣直接代公式就行,在這略。
【解釋】在這一題,我們可以借助我在“機器人理論(一)”文章中“旋轉矩陣的特性和作用”的第三小節的公式,直接使用
、
兩個矩陣,并且結合自旋轉的“先轉的放前面”,直接按照順序相乘即可。
在(一)中我們已經知道如何表達位置資訊的表達和姿态資訊,就可以将它們合在方形矩陣——齊次變換矩陣裡,以此表達剛體的空間資訊。
齊次變換矩陣(Homogeneous transformation matrix)
也有稱”齊次坐标“、”齊次坐标系“、”齊次矩陣“的。
包括物體的位置資訊與姿态資訊的矩陣,其實就是記錄姿态資訊的旋轉矩陣和位置資訊的合成。最後一行為固定數字0001。即n維的向量用一個n+1維向量來表示(多加了最後一行),是以稱為”齊次“。
-
齊次矩陣的作用
該矩陣的三個作用與旋轉矩陣一緻
(1)可以描述坐标系{B}相對于{A}的空間資訊:
(2)可以将某物體在坐标系{B}上的空間資訊轉換到{A}上(Mapping)
它的運算,例如上面提到的定角旋轉——先轉的放後面。
舉例:
(3)可以得出同一個坐标系{A}中的某向量P旋轉某角度θ後的坐标(operator)
它的運算類似于上面提到的歐拉角旋轉——先轉的放前面。
證明:
舉例:
-
齊次矩陣的運算特性
(1)連續性:
旋轉矩陣也有同樣性質。
(2)反矩陣=轉置矩陣:
齊次矩陣特性的實際應用:利用已知的T關系,求解出未知關系的 T 矩陣
吐槽:csdn的文章編輯排版也太爛了.....這個圖檔縮放跟鬧着玩一樣縮不縮都一樣。
感謝:課程内容、PPT來自林沛群教授的《機器人學》