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