使用MPCDesigner應(yīng)用程序設(shè)計MPC控制器時,要先提供系統(tǒng)模型。盡管一個MPC控制器能調(diào)節(jié)非線性系統(tǒng),但控制器內(nèi)部的模型必須是線性的。也就是說,控制器使用了非線性系統(tǒng)的線性近似模型。而且這個近似模型的精度對控制器的效果有很重要的影響。松洋變頻供水設(shè)備廠為了獲得這樣的線性近似模型,可以在某個指定的工作點線性化非線性模型。使用MPCDesigner應(yīng)用程序線性化Simulink模型,必須從有一個MPCController的Simulink模型啟動這個應(yīng)用程序。
由于整個履帶車輛系統(tǒng)是非線性的,要設(shè)計預(yù)測控制器,也要線性化整個模型。啟動MPCDesigner應(yīng)用程序后,例如可以指定在車輛速度v=9m/s的工作點線性化模型,然后就可以對這個線性系統(tǒng)來設(shè)計預(yù)測控制器。這個模型也就是控制器內(nèi)部的預(yù)測模型。
MPC控制器用一個離散時間,沒有延遲,輸入和輸出變量是無量綱的狀態(tài)空間系統(tǒng)進行所有的估計和優(yōu)化計算。因此,當在MPC控制器里指定了一個系統(tǒng)模型,如果需要的話,軟件會執(zhí)行以下動作:
(1)轉(zhuǎn)換成狀態(tài)空間模型。ss函數(shù)將提供的模型轉(zhuǎn)換成LTI狀態(tài)空間模型。
(2)離散化或重新采樣。如果系統(tǒng)是連續(xù)的,c2d函數(shù)用控制器的采樣時間將其轉(zhuǎn)換為離散時間的LTI對象。因此,線性化后的系統(tǒng)模型是一個離散的狀態(tài)空間模型。
表1:不同采樣時間下轉(zhuǎn)向角速度的響應(yīng)
采樣時間r(s) | 角速度(rad/s) | 響應(yīng)時間(s) |
0.001 | 0.09747 | 1.72 |
0.002 | 0.09915 | 1.62 |
0.005 | 0.09958 | 1.35 |
0.01 | 0.09951 | 1.191 |
0.02 | 0.08517 | 2.701 |
當控制變量數(shù)多于輸出量數(shù)時,默認的MPC控制器設(shè)置能保證沒有誤差的跟蹤給定的輸出值。然而,控制變量的值可能漂移??梢酝ㄟ^設(shè)置控制變量的目標值來阻止其漂移。如果有N個多的控制變量,為了經(jīng)濟或操作原因保持他們在目標值,其余的控制變量達到要求的值來減少輸出值的穩(wěn)態(tài)誤差。
模型預(yù)測控制器用線性模型來控制線性系統(tǒng)和工作在某局部范圍內(nèi)的非線性系統(tǒng),如果對象是非線性的,設(shè)計來在某個目標區(qū)域內(nèi)工作的控制器或許在其他區(qū)域里控制效果就會很差。而履帶車輛正好是一個非線性很強的系統(tǒng),不同的工作點得到的線性化模型不一樣,當工作點偏離設(shè)計時的工作點較大時,根據(jù)原來的預(yù)測模型預(yù)測的輸出值就會有較大的誤差,所以控制器也就控不準了。
1、切換機制
履帶車輛在低速段是調(diào)節(jié)變頻水泵排量,在高速段調(diào)節(jié)變量馬達排量,從控制泵排量到控制馬達排量的變化過程中需要控制器的切換;另一方面,由于系統(tǒng)非線性的影響,在不同的工作區(qū)間內(nèi)需要控制器的切換。本文根據(jù)兩側(cè)履帶相對于地面的實際速度來確定切換信號。
2、多控制器的設(shè)計
通過仿真,最終設(shè)計了5個MPC控制器,可以使履帶車輛在整個行駛速度范圍內(nèi)均能快速準確的實現(xiàn)給定的轉(zhuǎn)向指令,系統(tǒng)響應(yīng)良好。