MPC(模型預測控制,Model Predictive Control)
定義
模型預測控制(Model Predictive Control, MPC)在每個控制週期做三件事:
- 用系統模型預測未來 步的狀態。
- 求解一個最佳化問題,找出讓代價最小、又滿足所有約束的控制序列。
- 只執行序列中的第一步,下一個週期再重新量測、重新求解(滾動時域,receding horizon)。
數學表示
、 權衡「追蹤準不準」與「控制力道大不大」,、 是狀態與輸入的約束。
使用情境
- 足式機器人:MIT Cheetah 以凸優化 MPC 規劃每隻腳的地面反作用力。
- 自駕車與移動機器人:追蹤路徑的同時遵守速度與轉向限制,或結合 CBF 做安全避障。
- 機械手臂:考慮關節限制與碰撞的軌跡追蹤。
常見限制
- 計算量大:必須在控制週期內解完最佳化,對嵌入式平台是挑戰。
- 依賴模型:模型越不準,預測越偏,常與學習方法或自適應控制結合。
延伸閱讀
常見問題
- MPC 和 PID 差在哪?
- PID 只根據目前誤差反應;MPC 會用模型預測未來 N 步,並在最佳化中直接納入速度、加速度、力矩、避障等約束。代價是需要系統模型,計算量也大得多。
- NMPC 是什麼?
- 非線性模型預測控制(Nonlinear MPC),直接使用非線性動態模型做預測與最佳化,比線性 MPC 更準確但求解更困難。機器人推車回收、非完整約束移動機器人的控制常使用 NMPC。
faq_01.log
faq_02.log