Reduced Coordinates
- 又稱: minimal coordinates, joint coordinates
- 類別: Software & tooling › Simulation & twins
- 標籤: physics-simulation, rigid-body-dynamics, multibody-systems, kinematics, simulation
一種只以關節變數描述具關節機構的方式,讓關節在建構上就保持相連,而不是以自由物體之間的約束來強制滿足。
定義
像機器手臂這樣的多體系統,大致可以用兩種方式模擬。在最大座標(maximal coordinates)中,每個連桿都是具有六個自由度的自由剛體,關節則以約束的形式加入,求解器必須在每一步強制滿足這些約束。在約化座標(reduced coordinates)中,系統只以其關節變數描述,例如關節角度與線性關節的位移,對浮動基座機器人則再加上基座姿態。每個連桿的姿態接著透過正向運動學由這些變數計算而得,因此關節不可能分開:約束在建構上就已滿足。
約化座標是經典機器人動力學演算法的自然框架。遞迴牛頓-歐拉演算法(recursive Newton-Euler algorithm)、複合剛體演算法與 Featherstone 的鉸接體演算法,都直接在關節空間的量上運算,計算逆動力學或正動力學的時間隨連桿數量線性或接近線性地成長。運動方程式採用熟悉的形式 M(q) q̈ + C(q, q̇) q̇ + g(q) = τ,可以直接對應到機器人控制。採用這種方法的模擬器包括 MuJoCo、Drake、以 Pinocchio 為基礎的工具,以及 PhysX 與 Bullet 中的 articulation 類型;例如 Isaac Gym 就把每個機器人都當作 PhysX 約化座標 articulation 來模擬。
主要優點是長鏈條的精度與穩定性:沒有關節漂移或關節拉伸,關節極限與驅動作用在實際的關節變數上,需要積分的變數也較少。限制則是結構必須是一棵運動學樹,因此四連桿機構或並聯機器人等閉迴路需要額外的閉迴路約束,而且與環境的接觸仍必須以約束或懲罰力來處理。最大座標在遊戲物理以及鬆散連接的物體上仍很常見,因為它簡單且容易平行化。
為何重要
模擬器如何表示機器人,會影響關節在高負載下是否保持相連、可以使用多大的時間步長,以及模擬的關節動力學與控制器的模型有多接近。知道一個工具使用的是約化座標還是最大座標,就能解釋各物理引擎在穩定性、效能與建模選項上的許多差異。
主要應用
- 機器手臂、足式機器人與人形機器人的物理模擬
- 用於控制與模型預測控制的剛體動力學函式庫
- 用於強化學習的 GPU 平行模擬
- 使用關節空間動力學模型的軌跡最佳化
- 鉸接系統的可微分模擬
實際應用
一位工程師把一個人形機器人的 URDF 匯入 GPU 模擬器進行強化學習。以約化座標 articulation 載入後,機器人的狀態是基座姿態與速度,再加上每個關節各一個位置與速度,可直接對應到觀測向量以及策略輸出的關節 PD 目標。先前同一個模型以關節約束連接的獨立剛體建構時,膝關節在猛烈落地時明顯分離,而且需要多得多的求解器迭代次數。這個機器人還有一個閉鏈踝關節連桿機構;由於 articulation 必須是樹狀結構,工程師將其建模為一棵帶有一個額外閉迴路約束的樹,並檢查所得的關節扭矩限制是否與真實機構相符。
常見誤解
- 約化座標與最大座標描述的是不同的物理 — 理想上兩者描述相同的動力學;差異來自數值求解、漂移與約束剛性
- 約化座標可以直接表示任何機構 — 並聯機器人與連桿機構中的封閉運動鏈需要額外的閉迴路約束
- 使用約化座標就不需要約束求解器 — 接觸、關節極限與閉迴路仍是必須求解的約束
誰需要了解
- 模擬與物理引擎開發人員
- 使用 GPU 模擬器的機器人學習工程師
- 使用剛體動力學函式庫的控制工程師
- 準備 URDF 與 MJCF 檔案等機器人模型的工程師
相關技術
- PhysX Articulations
- MuJoCo
- Pinocchio
- Drake
- 遞迴牛頓-歐拉演算法(Recursive Newton-Euler Algorithm)
相關術語
相關專案
- GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
- RLinf: Scalable infrastructure for post-training foundation models via RL
- 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