ROS tf轉換中三維空間剛體運動----歐拉角

     

什麼是歐拉角?

    用一句話說,歐拉角就是物體繞座標系三個座標軸(x,y,z軸)的旋轉角度。

   1,靜態:即繞世界座標系三個軸的旋轉,由於物體旋轉過程中座標軸保持靜止,所以稱爲靜態。

   2,動態:即繞物體座標系三個軸的旋轉,由於物體旋轉過程中座標軸隨着物體做相同的轉動,所以稱爲動態。

對於分別繞三個座標軸旋轉的情況,下述定理成立:

物體的任何一種旋轉都可分解爲分別繞三個軸的旋轉,但分解方式不唯一。
 

      旋轉本身就是一個很直觀的現象。歐拉角可以提供一種非常直觀的方式。他利用3個分離的轉角,把一次旋轉分解成3次繞不同的軸進行旋轉。例如先繞x軸旋轉,再繞y軸旋轉,最後繞z軸旋轉,這樣就得到一個xyz軸的旋轉。在歐拉角中一個常用的是“航偏-俯仰-翻滾”(yaw-pitch-roll)。可以簡單記憶rpy-xyz。其中roll-對應着繞x軸旋轉後的翻滾角。Pitch對應着繞y軸旋轉後的俯仰值,yawd對應着繞z軸旋轉後的航偏值。那麼旋轉部分就可以通過roll-pitch-yaw這三個量來描述。

      在使用歐拉角這種表達方式的時候,會存在萬象鎖的問題(靜態不存在萬向鎖的問題)

假設繞y軸旋轉爲heading,繞x軸旋轉爲pitch,繞z軸旋轉爲bank;對於動態歐拉角,即繞物體座標系旋轉。無論heading和bank爲多少度,只要pitch爲±90°(即繞第二個軸的旋轉),就會出現萬向鎖現象。

也就是一旦旋轉pitch爲 90度,就會導致第一次旋轉和第三次轉換等價,丟失了一個表示維度。萬象鎖現象如下圖所示

 爲了對這一現象有一個感性的認識,請拿起自己的手機(沒有?不會吧)和一支筆(用作旋轉軸),親手做如下的幾個旋轉。

    首先確定手機的物體座標系朝向,爲了方便記憶,我們假設z軸與手機屏幕垂直(手機平放於桌面)指向上方,手機較短的一條邊爲x軸,較長的一條邊爲y軸(方向由手機尾部指向頭部),物體座標系的原點是手機左下角的頂點。(注意旋轉順序爲zyx)

    繞z軸旋轉任意角度(注意x和y軸也跟着一起旋轉),再繞y軸旋轉90°,再繞x軸旋轉任意角度。通過多次嘗試,你會發現一個共同點:z軸永遠是水平的,通俗的說,手機永遠也不會立起來!本來我們以爲手機會指向任何方向,但實際上手機好像是被鎖在桌面上,只能指向水平的某個方向,這個現象就稱爲萬向鎖。

     而如果繞y軸旋轉不等於90°(1°也好89°也好),只要選擇適當的繞x和z的角度,就可以讓手機指向三維空間中的任何一個方向,手機是自由的,也就不會遇到萬向鎖現象。

關於更詳細出現萬向鎖造成的影響以及如何解決詳見:

https://blog.csdn.net/huazai434/article/details/6458257

 

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