尤拉角(Euler Angles)
定義
尤拉角(Euler Angles,也常寫作歐拉角)用三個依序執行的旋轉角度描述剛體在三維空間中的姿態。每個角度代表繞某一根座標軸的旋轉,三次旋轉合成後就是最終姿態。
直覺理解
飛機儀表上的三個數字就是尤拉角:偏航(yaw) 是機頭左右轉向、俯仰(pitch) 是機頭抬起或壓低、滾轉(roll) 是機翼左右傾斜。人看得懂、調得動,這是尤拉角最大的優點。
數學表示
以機器人與航空常用的 ZYX(yaw-pitch-roll)約定:
其中 為 yaw、 為 pitch、 為 roll。改變相乘順序(例如 ZYZ、XYZ)就得到不同的約定與不同的角度值。
使用情境
- 人機介面與參數設定:URDF 的
rpy屬性、Launch 檔中的初始姿態。 - 姿態顯示:飛控地面站、機器人監控面板。
- 小角度控制:姿態變化範圍小、遠離 ±90° 時,尤拉角簡單有效。
常見誤解
- 三個角度可以獨立相加嗎? 不行。旋轉不滿足交換律,兩組尤拉角不能直接逐項相加或平均,要轉成旋轉矩陣或四元數再運算。
- 只要避開 90° 就沒事? 接近 90° 時數值已經變得敏感,控制與插值都可能出現大跳動。
延伸閱讀
常見問題
- 尤拉角和 roll、pitch、yaw 是同一件事嗎?
- roll-pitch-yaw(RPY)是尤拉角的一種常見約定,分別代表繞 x、y、z 軸的旋轉。尤拉角總共有 12 種旋轉順序約定,使用前一定要確認是哪一種。
- 內旋和外旋有什麼差別?
- 內旋(intrinsic)每次繞「旋轉後的新軸」轉,外旋(extrinsic)每次繞「固定的世界座標軸」轉。ZYX 內旋等價於 XYZ 外旋,順序相反、結果相同。
faq_01.log
faq_02.log