Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Yaw / Pitch / Roll

  • 又稱: Euler Angles, RPY, Roll Pitch Yaw, Orientation Angles
  • 類別: Foundations & spatial maths › Frames & transforms
  • 標籤: orientation, rotation, fundamentals, imu, drones

三個旋轉角(偏航、俯仰、滾轉),描述繞垂直、橫向與前後向軸的姿態。

定義

偏航、俯仰與滾轉是描述物體在 3D 空間中姿態的三個旋轉角,採用機器人學廣泛沿用的飛機/載具慣例。

三個角度: - 滾轉(繞前後向/X 軸旋轉):向左或向右傾斜。想像飛機壓坡度轉彎,或移動機器人在斜坡上側傾。 - 俯仰(繞橫向/Y 軸旋轉):向前或向後傾斜。例如飛機爬升或俯衝,或機器手臂的手腕上下點動。 - 偏航(繞垂直/Z 軸旋轉):向左或向右轉動。例如飛機轉動機頭、移動機器人原地旋轉,或無人機改變航向。

這些角度在 ZYX 慣例(先偏航、再俯仰、最後滾轉)中也稱為歐拉角。歐拉角雖然直觀,卻有一個眾所周知的限制,稱為萬向鎖:當俯仰角達到 90 度時,偏航與滾轉變得無法區分,造成數學上的奇異點,並失去一個自由度。

由於萬向鎖的緣故,許多機器人系統在內部以四元數(一種以四個數字表示的方式)進行姿態計算,只在需要供人閱讀的顯示時才轉換成偏航/俯仰/滾轉。四元數精簡、能避開萬向鎖,而且內插平滑。

在機器人學中,偏航/俯仰/滾轉用來描述: - IMU 姿態:IMU 透過加速度計與陀螺儀的融合,直接輸出滾轉、俯仰與偏航。 - 無人機控制:飛手與自動駕駛儀下達期望的滾轉、俯仰與偏航速率。 - 攝影機雲台姿態:水平旋轉(偏航)、垂直傾斜(俯仰)與滾轉穩定。 - 末端執行器姿態:夾爪相對於工作表面的接近角度。 - 移動機器人航向:偏航通常代表機器人的羅盤航向。

為何重要

偏航、俯仰與滾轉是描述物體朝向的三個旋轉,也是幾乎所有機器人相關討論中談論姿態時所用的語彙。它們很直觀(轉向、傾斜、翻倒),這正是它們儘管不適合當作內部表示法卻仍沿用至今的原因。同時了解它們為何方便、以及軟體為何要把它們轉換成四元數,對於讀懂機器人訊息、避開一整類姿態錯誤至關重要。

主要應用

  • 以人看得懂的方式回報與指揮無人機和載具的姿態
  • 操作介面與遠端操作,三個直觀的滑桿勝過四個抽象的數字
  • 攝影機與感測器的安裝規格
  • 記錄與除錯,歐拉角遠比四元數容易閱讀
  • IMU 輸出,融合後通常以滾轉、俯仰與偏航呈現
  • 航點定義,指定機器人應保持的航向

實際應用

無人機的飛行控制器以偏航、俯仰與滾轉回報姿態,因為那是飛手能理解的方式,但在內部維護的是四元數。這樣劃分的原因是萬向鎖:當俯仰角達到九十度時,偏航與滾轉描述的是同一個旋轉,一個自由度就在不知不覺中消失了。任何看過模擬手臂在手腕通過垂直姿態時意外翻轉的人,都見識過這個現象。另一個日常陷阱是慣例:三個旋轉的套用順序因函式庫而異,因此同樣的三個數字可能代表兩種不同的姿態。

常見誤解

  • 順序無關緊要:旋轉不滿足交換律,以不同順序套用會得到不同的姿態
  • 每個函式庫都使用相同的慣例:軸的順序以及旋轉是內旋還是外旋各不相同,混用會在不知不覺中破壞姿態
  • 萬向鎖是繪圖上的假象:它是表示法中真實失去的一個自由度,這也是內部改用四元數的原因
  • 歐拉角能平滑內插:對歐拉角內插可能讓機器人擺過非預期的中間姿態

誰需要了解

  • 任何在機器人訊息中讀取或寫入姿態值的人
  • 處理姿態估計的無人機與載具開發者
  • 除錯機器人在特定姿態下意外翻轉或旋轉的工程師
  • 學習為什麼內部以四元數取代歐拉角的學生
  • 任何在整合兩個各自以不同方式回報姿態之系統的人

相關技術

  • 四元數表示法
  • 旋轉矩陣
  • 歐拉角(一般)
  • 萬向鎖
  • IMU 與 AHRS(姿態與航向參考系統)
  • 座標轉換與 SE(3)
  • SLERP(球面線性內插)
  • 軸角表示法

相關術語

  • Coordinate Frame
  • Transform
  • IMU
  • DOF

相關專案

  • ArduPilot: World's most trusted open-source autopilot for drones, planes, rovers, and submarines
  • PX4 Autopilot: Open-source flight control software for drones and other unmanned vehicles
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
  • OpenCat: An open-source Arduino and Raspberry Pi-based quadruped robot pet framework
  • QGroundControl: Cross-platform ground control station for mission planning and drone flight monitoring
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required

影片

  • Pitch, Roll & Yaw: Explained: Pilot Ems

維基百科

  • 欧拉角

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。