Model Predictive Path Integral
- 又稱: MPPI, MPPI control, information-theoretic MPC, path integral MPC
- 類別: Control › Feedback control
- 標籤: model-predictive-control, sampling-based-control, optimal-control, gpu-computing, navigation
一種以取樣為基礎的模型預測控制方法,透過動力學模型模擬許多隨機擾動的控制序列,並依成本加權求平均,以選出下一個動作。
定義
模型預測路徑積分(Model Predictive Path Integral,MPPI)控制是一種以取樣為基礎的模型預測控制形式,由 Grady Williams、Evangelos Theodorou 及其同事提出,其中一個廣受引用的 2016 年展示,是一台小比例自主拉力賽車在泥土賽道上高速行駛。和其他模型預測控制器一樣,MPPI 在短時域內規劃一串控制輸入,執行第一個,並在下一個時間步重新規劃。它的特別之處在於規劃的計算方式。
在每一步,MPPI 從上一次的控制序列出發,加入隨機雜訊產生大量擾動後的版本。每個擾動序列都會透過動力學模型推演(rollout),以預測由此產生的軌跡,再用成本函數為該軌跡評分。新的控制序列是所有樣本的加權平均,權重依溫度參數隨成本呈指數遞減。低成本的樣本在平均中占主導,同時更新仍保持平滑。
這個方法源自路徑積分控制理論,該理論把一類隨機最佳控制問題與對取樣軌跡的期望值連結起來。實務上,MPPI 最大的吸引力在於它不需要梯度:動力學模型與成本函數可以是非線性、不連續或學習而得的,只要能被多次求值即可。各次推演彼此獨立,因此能在 GPU 上良好地平行化。
其代價是運算成本會隨樣本數與時域長度增加,而且對雜訊水準與溫度很敏感。雜訊太少,控制器探索不足;雜訊太多,指令會變得抖動,因此常會對取樣序列或輸出做平滑處理。
為何重要
MPPI 讓機器人能以複雜或學習而得的動力學模型,以及難以微分的成本(例如障礙物地圖與地形風險)來規劃。由於推演是平行執行的,它重新規劃的速度足以應付即時運作的地面載具、無人機與足式機器人。
主要應用
- 高速與越野自動駕駛
- 移動機器人的局部導航,包括 ROS 2 Nav2 導航堆疊
- 敏捷的四旋翼控制
- 以學習而得的動力學模型與世界模型進行規劃
- 具有非平滑接觸成本的操作與移動
實際應用
將 MPPI 用於戶外導航的團隊,通常會在機載 GPU 上執行它,每個週期在幾秒的時域內取樣大量控制序列。每個序列都會透過載具模型傳播,這個模型可以是運動學或動力學模型,也可以是學習而得的正向動力學模型,再依一個綜合了朝目標前進的程度、障礙物與可通行性成本以及控制平滑度的成本來評分。現有開源實作,包括 ROS 2 Nav2 導航堆疊中的 MPPI 控制器。大部分的工程心力都花在成本函數與取樣參數上:團隊會在模擬中調整雜訊共變異數與溫度,再到硬體上確認載具不會振盪,且能迅速對新出現的障礙物做出反應。
常見誤解
- MPPI 只是隨機搜尋 — 它利用隨機性來探索,但依成本加權的平均是由隨機最佳控制理論推導而來
- 增加樣本總能補救不佳的表現 — 設計不良的成本函數,或調整不當的雜訊與溫度,無論樣本數多少都會限制結果
- MPPI 不需要模型 — 它仰賴動力學模型預測每一次推演;不需要的只是模型的梯度
誰需要了解
- 自動駕駛車輛與移動機器人控制工程師
- 無人機與四旋翼控制開發者
- 結合學習而得的模型與規劃的研究人員
- 設定局部控制器的 Nav2 使用者
相關技術
- 模型預測控制(Model Predictive Control)
- Nav2
- 交叉熵法(Cross-Entropy Method)
- iLQR
- 正向動力學模型(Forward Dynamics Model)
- CUDA
相關術語
相關專案
- Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
- DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
- ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
- MRPT: Comprehensive C++ toolkit for mobile robotics, SLAM, and sensor-based navigation
- TurtleBot3: ROS packages for TurtleBot3 — the standard educational mobile robot platform
- MuJoCo MPC: DeepMind's interactive real-time model predictive control framework for MuJoCo