Forward Dynamics Model
- 又稱: forward model, dynamics model, transition model
- 類別: Learning & autonomy › RL & simulation
- 標籤: dynamics, model-based-control, model-based-rl, simulation, prediction
一種模型,根據系統目前的狀態與施加的動作預測其狀態將如何改變,讓機器人在採取動作之前先模擬其效果。
定義
正向動力學模型(Forward dynamics models)根據系統目前的狀態與施加於其上的動作,預測系統的下一個狀態。簡要地寫,它們把狀態與動作對應到下一個狀態,或對應到狀態的變化率。它們回答的是「如果我這麼做,會發生什麼事?」這個問題,因此成為模擬、以模型為基礎的規劃與以模型為基礎的強化學習的核心要素。
在傳統機器人學中,正向動力學有明確的意義:給定剛體機器人的關節位置、速度與扭矩,計算由此產生的關節加速度。這些加速度由運動方程式得出,使用質量矩陣以及科氏項、離心項與重力項,並以鉸接體演算法等演算法有效率地計算。MuJoCo、PyBullet 與 Drake 等物理模擬器都是圍繞這項計算建構,並在時間上向前積分。
在機器人學習中,正向動力學模型常常是從資料中學習而得,而不是推導出來的。神經網路以記錄下來的狀態轉移訓練,根據目前的狀態與動作預測下一個狀態或其潛在表示。學習而得的模型能捕捉難以手動建模的效應,例如不平地形上的車輪打滑、纜線或布料的變形,或整個由感知驅動之系統的反應。當狀態是影像或學習而得的嵌入時,同樣的想法通常稱為世界模型。
規劃器使用正向模型的方式,是取樣或最佳化動作序列,透過模型推演(rollout)這些序列,再為預測的結果評分。主要弱點是誤差累積:單步的小錯誤會在較長的預測時域中逐漸放大,而規劃器也可能利用模型中不準確的部分。
為何重要
任何靠預測自身動作後果來規劃的機器人,都需要正向動力學模型,無論它是由物理推導而來或從資料中學習而得。這個模型的精度決定了機器人能可靠地往前規劃多遠,以及在從未見過的情境中能多安全地行動。
主要應用
- 剛體機器人的物理模擬
- 模型預測控制與以取樣為基礎的規劃
- 以模型為基礎的強化學習
- 預測機器人在崎嶇或可變形地形上的運動
- 用於從影像進行規劃的影片與潛在空間預測模型
實際應用
對於剛性機器手臂,團隊通常從物理引擎或 Pinocchio、Drake 等函式庫取得正向動力學,並使用含有已識別質量與慣量的 URDF。對於難以建模的系統,例如在混合地形上行駛的地面機器人,他們會在遠端操作或自主運行時記錄狀態、動作與感測器資料,訓練神經網路預測未來狀態,再於保留的運行資料上比較規劃時域內預測與實際的軌跡來驗證它。接著,學習而得的模型會接入 MPPI 等以取樣為基礎的控制器,由控制器透過模型推演大量候選動作序列並挑出最佳者。工程師會追蹤預測誤差隨時域長度的變化,因為這決定了控制器能有效地往前規劃多遠。
常見誤解
- 正向動力學與逆向動力學可以互換 — 正向動力學把動作對應到由此產生的運動,逆向動力學則把期望的運動對應到產生它的動作
- 單步預測準確的模型就能規劃得好 — 誤差會在多步推演中累積,而規劃器可能利用模型的不準確之處
- 正向動力學模型一定是學習而得 — 在傳統機器人學中,它們是由機器人的運動方程式解析推導出來的
誰需要了解
- 以模型為基礎的控制與規劃工程師
- 研究以模型為基礎的強化學習(RL)與世界模型的機器人學習研究人員
- 模擬開發者
- 為地形互動建模的野外機器人團隊
相關技術
- MuJoCo
- Pinocchio
- Drake
- 模型預測路徑積分(Model Predictive Path Integral,MPPI)
- 鉸接體演算法(Articulated Body Algorithm)
- 世界模型(World Model)
相關術語
相關專案
- 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