機器人理論(2)齊次座標矩陣:旋轉矩陣與角度的相互轉化

引言

都知道旋轉矩陣表達的是剛體(座標系{B})相對參考座標系{A}的姿態信息,那如何利用已知的旋轉矩陣\large _{B}^{A}\textrm{R},將{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型公式:

重點:先轉的軸的\large R放後面運算,如下

 

舉例:

由角度推旋轉矩陣

由旋轉矩陣推角度

 

【解釋】在這一題,我們可以藉助我在“機器人理論(一)”文章中“旋轉矩陣的特性和作用”的第三小節的公式,直接使用

\large R_{Y}\large R_{X} 兩個矩陣,並且結合定軸旋轉的“先轉的放後面”,直接\large R_{X}\large R_{Y}相乘即可。




歐拉角(Euler angles)

“自旋轉”,圍繞當下(自己)的座標系某軸轉動,就是每次旋轉,都固定被圍繞的某一軸,另兩軸動。

每次旋轉,整個座標系都會改變位置。

以Z-Y-Z型爲例的公式:

重點:先轉的軸的\large R放前面運算,如下

舉例:

矩陣轉角度:

角度推旋轉矩陣直接代公式就行,在這略。

【解釋】在這一題,我們可以藉助我在“機器人理論(一)”文章中“旋轉矩陣的特性和作用”的第三小節的公式,直接使用

\large R_{Z}\large R_{X} 兩個矩陣,並且結合自旋轉的“先轉的放前面”,直接按照順序相乘即可。

 

 


(一)中我們已經知道如何表達位置信息的表達和姿態信息,就可以將它們合在方形矩陣——齊次變換矩陣裏,以此表達剛體的空間信息。

 

齊次變換矩陣(Homogeneous transformation matrix)

也有稱”齊次座標“、”齊次座標系“、”齊次矩陣“的。

包括物體的位置信息與姿態信息的矩陣,其實就是記錄姿態信息的旋轉矩陣和位置信息的合成。最後一行爲固定數字0001。即n維的向量用一個n+1維向量來表示(多加了最後一行),所以稱爲”齊次“。

  • 齊次矩陣的作用

該矩陣的三個作用與旋轉矩陣一致

(1)可以描述座標系{B}相對於{A}的空間信息:\large \large _{B}^{A}\textrm{T}

(2)可以將某物體在座標系{B}上的空間信息轉換到{A}上(Mapping)

它的運算,例如上面提到的定角旋轉——先轉的放後面。

舉例:

(3)可以得出同一個座標系{A}中的某向量P旋轉某角度θ後的座標(operator)

它的運算類似於上面提到的歐拉角旋轉——先轉的放前面。

證明:

舉例:

 

  • 齊次矩陣的運算特性

(1)連續性:\large _{}^{A}\textrm{P}=_{B}^{A}\textrm{T}_{C}^{B}\textrm{T}_{ }^{C}\textrm{P}=_{C}^{A}\textrm{T}_{ }^{C}\textrm{P}

旋轉矩陣也有同樣性質。

(2)反矩陣=轉置矩陣:\large \small _{B}^{A}\textrm{T}^{^{-1}}=\small _{A}^{B}\textrm{T}

 

齊次矩陣特性的實際應用:利用已知的T關係,求解出未知關係的 T 矩陣

 

吐槽:csdn的文章編輯排版也太爛了.....這個圖片縮放跟鬧着玩一樣縮不縮都一樣。

感謝:課程內容、PPT來自林沛羣教授的《機器人學》

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