Open Source Robotics

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

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)

相關術語

  • World Model
  • Inverse Dynamics Model
  • Model Predictive Control

相關專案

  • 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

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