天天看點

線性時變模型預測控制推導

預測方程的推導的核心思想是通過建立基于誤差量的狀态空間方程來推導。我們采用的是非線性系統線性化方法中的第一種:存在參考系統的線性化方法。後面有時間再寫另一種方法。

需要詳細資源和代碼(5套simulink模型+10份代碼+5篇參考論文)的朋友加我微信(Jeossirey-LSJ)擷取。

以自行車模型為例,在推導過程中下角标 r (reference),即參考的意思

圖1中,我們首先建立運動學模型,選取3個狀态量(橫、縱坐标以及車輛橫擺角)和兩個控制量(速度和前輪轉角);其次進行系統線性化。

這裡闡述一下車輛位姿的概念:位姿就是位置+姿态,位置我們用橫縱坐标來表示,姿态就是車輛在這個橫縱坐标下的車頭朝向。

注:在推導過程中下角标 r (reference),即參考的意思

線性時變模型預測控制推導

圖1

圖2中,在由上述推導得到的線性化方程後,該狀态方程是連續的,不嗯呢更直接用于模型預測控制器的設計,是以有必要對其進行離散化處理。經過離散化後我們就能實作了由目前的狀态量誤差和目前時刻的控制量誤差推導得到下一時刻的狀态量誤差。但是要注意在每一次程式設計的過程中 ,我們不一定要把所有的狀态量誤差都要輸出來,比方說我可能隻需要輸出橫向位置的誤差,縱向位置和橫擺角沒必要輸出,是以我們定義c矩陣來實作這個功能,進而有了輸出方程的定義。

注:B以及B飄矩陣第三行第一列參考橫擺角書寫錯誤,應改為參考前輪轉角。

感謝這位同學的回報!

線性時變模型預測控制推導

圖2

以下我們通過建構一個新的狀态空間,這個空間包含k時刻的狀态量誤差以及k-1時刻的控制量誤差,我們可以進行下一時刻狀态空間的預測推導。推導完後我們一定要清楚矩陣A、B、C的維數,A為5*5的矩陣,B為5*2的矩陣,C為3*5的矩陣。k+1時刻的狀态空間推導出來以後,繼續進行k+2、k+3....一直到k+Np時刻的狀态空間的預測,在此過程中通過找規律可以發現等号左邊和等号右邊的聯系。進而拼湊出我們想要的矩陣。
線性時變模型預測控制推導

圖3

線性時變模型預測控制推導

圖4

轉化為二次規劃問題

二次規劃詳見:https://blog.csdn.net/m0_50888394/article/details/115257655

線性時變模型預測控制推導

圖5

線性時變模型預測控制推導

有效集法和内點法

在預測控制模型中一般選用 ASM (Active Set Method)有效集法來對目标函數進行優化,但是IPM(Interior Point Method)内點法具有廣泛的應用範圍,既可以解決帶限制的線性規劃問題,又可以求解帶限制的二次規劃問題。有效集法适用于解決隻有不等式限制的二次規劃問題,而内點法是用于解決任何形式的二次規劃問題。是以我們之後的每一章選用内點法來求解。

需要詳細資源和代碼(5套simulink模型+10份代碼+5篇參考論文)的朋友加我微信(Jeossirey-LSJ)擷取。

繼續閱讀