天天看點

模型預測控制算法(MPC算法)底層邏輯

目錄

​​MPC算法的基本原理​​

​​詳細解析​​

​​預測模型中需要注意的點​​

​​滾動優化需要注意的點​​

​​構造目标函數限制部分​​

​​限制部分​​

​​舉例說明​​

​​複盤總結​​

MPC算法的基本原理

MPC 的基本原理可以分為三個步驟:預測模型、滾動優化、回報校正

(1)預測模型 :根據曆史資訊 X(k)、目前輸入 u(k) 來預測未來輸出Y(k+1)~Y(k+Np)

(2)滾動優化 :局部優化+線上滾動

局部優化:不是采用一個不變的全局優化目标,而是采用滾動式的有限時域優化政策;在每一個采樣時刻,根據該時刻的優化性能名額,求解該時刻有限時段的最優控制率

線上滾動:計算得到的控制量資訊序列隻有目前值(即求解出來的第一組控制量)是實際執行的,在下一個采樣時刻來臨的時候又重新再求一遍又得到一組新的最優控制率

它将系統的性能需求以及限制分别轉化為目标函數的值和該優化問題的解的取值範圍,進而求得未來控制時域内的最優控制量序列。

MPC 與傳統最優控制相比,最大的差別是:它的優化過程不是一次離線完成的,而是在有限時域内線上反複進行的,且MPC可以考慮狀态空間變量的各種限制。

(3)回報校正 :雖然 MPC 隻将計算得到的最優控制序列的第一個元素作用于系統,但是在目标函數的構造和優化求解過程中,我們使用到了未來預測時域内的參考輸出(圖中參考軌迹 1),并将參考輸出量與實際輸出量之間誤差作為目标函數的一部分去優化求解該目标函數的最小值來保證我們的跟蹤效果,将求解出來的第一個控制量傳回來再作用于我們的系統,對下一步行動的進行産生影響。是以在這個過程中不僅有基于未來參考輸入的前饋補償,同時也有基于系統目前狀态的回報補償。

前饋控制指通過觀察未來的情況,掌握規律預測趨勢,正确預計未來可能出現的問題,提前采取措施,将可能發生的偏差消除在萌芽狀态中,為避免在未來不同發展階段可能出現的問題而事先采取的措施,前饋控制發生在實際工作開始之前,是未來導向的。

回報控制是指在某一行動和任務完成之後,将實際結果進行比較,進而對下一步行動的進行産生影響,起到控制的作用。

模型預測控制算法(MPC算法)底層邏輯

詳細解析

預測模型中需要注意的點

根據曆史資訊、目前輸入預測未來輸出的過程中,我們就需要一個模型能夠完成基于曆史資訊和目前狀态,來預測未來輸出這樣一個作用。這就涉及到狀态量的描述,非線性系統的線性化離散化等知識,進而確定預測輸出最大限度接近期望值。

車輛模型具有多個自由度,運動姿态耦合強,受力複雜,可看做一個非線性多自由度運動剛體,我們希望問題簡單化,那麼我們就設法簡化模型,把模型轉化為線性模型。無論是車輛運動學模型,還是車輛動力學模型,皆為非線性系統,而線性模型預測控制較非線性模型預測控制有更好的實時性,且更易于分析和計算,而這對于智能駕駛都非常重要。

滾動優化需要注意的點

滾動優化就是基于我們所設定的限制在有限時段内求解目标函數的最優控制解,使得某一個或某些性能名額達到最優實作控制作用。那麼設計合适的優化目标函數就是結果優越性的關鍵,目标函數的一般可表示為狀态量和控制量的二次函數。

限制部分

舉例說明

繼續閱讀