Coordinate Frame
- 又稱: Reference Frame, TF Frame
- 類別: Foundations & spatial maths › Frames & transforms
- 標籤: fundamentals, mathematics, transforms, ros
定義原點與方向、用來描述 3D 空間中位置的參考系統,用於建立機器人元件、感測器與物體之間的相對關係。
定義
座標系(又稱參考座標系)定義了在 3D 空間中描述位置與姿態所用的原點與方向。每個機器人零件、感測器與物體都有對應的座標系。常見的座標系包括世界座標系(固定的全域參考)、基座座標系(機器人基座)、末端執行器座標系與感測器座標系。座標系之間的轉換以齊次轉換矩陣或四元數-平移對表示。在 ROS 中,TF2 函式庫以樹狀結構管理座標系之間的關係,讓你能查詢像「相機相對於機器人基座在哪裡?」這樣的問題。
為何重要
座標系說明的是量測從哪裡量起,而機器人領域同時運作著數十個座標系:每個關節一個、每個感測器一個、地圖一個、工具一個。在機器人系統中,幾乎任何東西不知道其座標系就沒有意義:一個位於 (0.3, 0, 0.5) 的點,依它是相對於基座、攝影機還是世界來表示,會是完全不同的地方。機器人領域有很大比例的錯誤是座標系錯誤,而不是演算法錯誤。
主要應用
- 把感測器資料轉換到共同的座標系,以進行融合或規劃
- 以物體而非機器人基座為參考來表示抓取姿態
- 導航,其中 map、odom 與 base 座標系各自扮演不同的角色
- 手眼校正,建立攝影機與手臂之間的座標轉換
- 多機器人協調,把每台機器人的局部座標系與共用座標系建立關係
- 視覺化,每個顯示的項目都需要一個座標系才能繪製
實際應用
ROS 2 以 tf2 處理這件事,它是一棵座標轉換樹,任何節點都可以查詢,把一個點從一個座標系轉換到另一個座標系。慣例很重要:base_link 代表機器人本體,odom 代表會漂移的局部座標系,map 代表經過修正的全域座標系,另外每個感測器各有一個座標系。出問題時,症狀相當有辨識度:點雲浮在地板上方、機器人在視覺化工具中看起來側著穿牆而過,或手臂總是以固定的偏移錯過物體。每一種通常都是某個座標轉換遺失、過時,或從錯誤的原點量起。
常見誤解
- 座標系只是標籤:每個座標系都帶有原點與方向,用錯一個會悄悄產生看似合理但不正確的數字
- 軸的慣例是通用的:有些函式庫與感測器使用不同的左右手規則或軸順序,混用時符號會翻轉
- 座標轉換是固定的:大多數座標轉換每個週期都會改變,使用過時的座標轉換是間歇性錯誤的常見來源
- 平移正確就夠了:錯誤的旋轉所產生的誤差會隨著與原點的距離而增大
誰需要了解
- 任何把感測器整合進既有機器人的人
- 排查資料在視覺化工具中出現在錯誤位置的開發者
- 進行手眼校正或外部參數校正的工程師
- 第一次接觸 tf2 或同類座標轉換函式庫的學生
- 任何結合來自兩個安裝在不同位置之裝置之量測的人
相關技術
- ROS TF2(Transform Library)
- Denavit-Hartenberg 參數
- URDF(Unified Robot Description Format)
- 四元數旋轉表示法
- 齊次轉換矩陣
- 手眼校正(AX=XB 問題)
- 歐拉角(滾轉、俯仰、偏航)
- SE(3) 李群
相關術語
相關專案
- Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
- OpenMower: Open-source project converting commercial mowers into autonomous RTK-GPS guided robots
- PlotJuggler: Fast time-series visualization tool for ROS topics, rosbags, and robot debugging
- ROS 2: Next-gen Robot Operating System for real-time production robotics
- Webots: Cross-platform robot simulator with built-in models, sensors, and development environment
- NVIDIA Isaac Sim: NVIDIA Omniverse app for AI-driven robot simulation and testing
影片
- [ROS in 5 mins] 023 - Understanding ROS Coordinate Frame (Part 1): The Construct Robotics Institute