什麼是歐拉角?
用一句話說,歐拉角就是物體繞座標系三個座標軸(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