萬向鎖(Gimbal Lock)

定義

萬向鎖(Gimbal Lock)是用尤拉角描述三維旋轉時出現的退化現象:當三個連續旋轉中的中間那一軸轉到 ±90 度,第一個與第三個旋轉軸會重合,原本三個獨立的旋轉自由度只剩兩個,某個方向的旋轉就再也無法透過微調角度做到。

直覺理解

想像飛機的偏航(yaw)、俯仰(pitch)、滾轉(roll)。當機頭垂直朝上(pitch = 90°)時,「左右轉機頭」和「沿機身滾轉」變成繞同一根軸轉,兩個旋鈕做的是同一件事——這就是「鎖住」的意思。

數學表示

以 ZYX 尤拉角為例,旋轉矩陣為 R=Rz(ψ) Ry(θ) Rx(ϕ)R = R_z(\psi)\,R_y(\theta)\,R_x(\phi)。當 θ=90∘\theta = 90^\circ 時:

R=Rz(ψ) Ry(90∘) Rx(ϕ)  =  f(ψ−ϕ)R = R_z(\psi)\,R_y(90^\circ)\,R_x(\phi) \;=\; f(\psi - \phi)

矩陣只依賴 ψ−ϕ\psi - \phi 這個差值,ψ\psi 與 ϕ\phi 不再能各自獨立影響姿態,自由度從 3 降成 2。

使用情境

  • 機器人姿態控制:末端執行器若用尤拉角做誤差回授,接近奇異姿態時控制量會暴衝。
  • 無人機與 IMU 姿態估測:飛控韌體內部多以四元數積分角速度,避免大角度機動時失效。
  • 3D 動畫與遊戲引擎:骨骼旋轉插值改用四元數球面插值(slerp)。
  • 歷史案例:阿波羅登月艙的慣性導航平台使用實體萬向環,任務中曾出現接近萬向鎖的警報。

常見誤解

  • 不是硬體故障:萬向鎖是姿態「表示法」的數學性質,換成四元數就不存在。
  • 不等於機構奇異點:機械手臂的運動學奇異點來自機構本身,跟用什麼方式描述姿態無關。

延伸閱讀

常見問題

faq_01.log
萬向鎖、萬象鎖、gimbal lock 是同一件事嗎?
是同一件事。gimbal 指萬向環(萬向節),標準中文譯名是「萬向鎖」,「萬象鎖」是常見的同音誤寫。
faq_02.log
怎麼避免萬向鎖?
最常見的做法是在內部計算改用四元數或旋轉矩陣表示姿態,只在顯示給人看時才轉成尤拉角。四元數沒有這種奇異點,插值也比較平滑。

相關文章

相關術語