天天看點

Computing Euler angles from a rotation matrix (翻譯)

一、論文翻譯

“從旋轉矩陣中計算歐拉角”

論文連結:http://www.staff.city.ac.uk/~sbbh653/publications/euler.pdf

在翻譯之前,先分析旋轉矩陣,如下圖從二維空間開始計算

Computing Euler angles from a rotation matrix (翻譯)

關于Z軸的旋轉矩陣關系是:

Computing Euler angles from a rotation matrix (翻譯)

則在三維下,剛體繞三個坐标軸的旋轉矩陣為:

Computing Euler angles from a rotation matrix (翻譯)
Computing Euler angles from a rotation matrix (翻譯)

根據R矩陣接下來分析歐拉角的取值:

1)R(3,1) ~= ±1

Computing Euler angles from a rotation matrix (翻譯)
Computing Euler angles from a rotation matrix (翻譯)
Computing Euler angles from a rotation matrix (翻譯)

2)R(3,1) = ±1

-
Computing Euler angles from a rotation matrix (翻譯)

-

對于R(3,1) = ±1時,這種現象稱為萬向節死鎖(Gimbal Lock)。

對于此現象可以看該連結:

http://www.cnblogs.com/driftingclouds/p/6540222.html

Computing Euler angles from a rotation matrix (翻譯)

沿着機身右方軸(+X)進行旋轉,稱為pitch,叫俯仰角。

沿着機頭上方軸(+Y)進行旋轉,稱為Yaw,叫偏航角 。

沿着機頭前方軸(+Z)進行旋轉,稱為Roll,叫翻滾角。

當翻滾角到90度時,其與偏航角會重合,而使陀螺儀的自平衡作用隻有偏航和俯仰起作用,這時候的現象就是萬向節死鎖。故而用從旋轉矩陣求得歐拉角,還是從在一定的局限性。

——————————————————

二、從四元數來解決

在這裡通過旋轉矩陣轉化為四元數,在從四元數轉化為歐拉角,可以有效的避免萬向節死鎖問題。

可檢視部落格:

http://blog.csdn.net/u012750702/article/details/72229117

繼續閱讀