黃瑩,陳恩策,唐厚君
(上海交通大學(xué) 電氣工程系,上海 200240)
模型跟蹤控制MFCS(Model Follow Control System)是控制理論的一個(gè)重要領(lǐng)域,可以應(yīng)用到智能轉(zhuǎn)向汽車[1]、發(fā)動(dòng)機(jī)燃油控制系統(tǒng)[2]等。但是,由于輸入輸出個(gè)數(shù)不相等的系統(tǒng)中,狀態(tài)空間矩陣不是方陣的限制,導(dǎo)致傳統(tǒng)的模型跟蹤控制只適用于輸入個(gè)數(shù)等于輸出個(gè)數(shù)的情況。
為此,本文首先分析了傳統(tǒng)模型跟蹤控制方法的局限性,提出了所遇到的問題,然后針對(duì)兩個(gè)問題一一提出解決方案,最后在以兩個(gè)系統(tǒng)為例,在MATLAB/Simulink上搭建仿真平臺(tái),進(jìn)行驗(yàn)證。特別對(duì)輸入個(gè)數(shù)小于輸出個(gè)數(shù)的系統(tǒng),在所提的解決方案的基礎(chǔ)上,增加了移相器,使得改進(jìn)后的方法適用于任意輸入與輸出個(gè)數(shù)與輸出個(gè)數(shù)不等的系統(tǒng)(滿足可控可觀和相對(duì)階次的前提條件)。
對(duì)于狀態(tài)空間線性系統(tǒng)模型跟蹤控制[3],被控對(duì)象模型為:
參考模型為:
其中 x(t)∈Rn×1為狀態(tài)變量,u(t)∈Rm×1為控制輸入,y(t)∈Rl×1為控制對(duì)象的輸出,xm(t)∈Rnm,rm(t)∈Rlm,狀態(tài)矩陣的維數(shù)分別為 A∈Rn×n,B∈Rn×m,C∈Rl×n。
控制率的最終表達(dá)式為:
N(s)和Nr(s)由以下式得到:
σi是N(p)各行元素的最高次數(shù),
則知:N(s)∈Rl×m,Nr(s)∈Rl×m
如果輸入個(gè)數(shù)不等于輸出個(gè)數(shù),即l≠m,則在用式(3)中計(jì)算控制率時(shí),會(huì)遇到以下兩個(gè)問題:
(1)由于Nr為l×m的矩陣,不是方陣,不存在逆矩陣;
(2)由于u(t)為m×1矩陣,y(t)為l×1矩陣,不同階數(shù)矩陣不能相加。
此時(shí),控制率計(jì)算公式(3)失效。
為了解決第一個(gè)問題,我們引入廣義逆矩陣。
廣義逆矩陣是對(duì)逆矩陣的拓展,目前,運(yùn)用比較廣泛的是Moore-Penrose廣義逆矩陣[4],其中比較簡(jiǎn)單的求廣義逆矩陣的方法是滿秩算法:
設(shè)A=LR∈Cm×n的秩為r,其中L為列滿秩矩陣,R為行滿秩矩陣,則:
A+是Penrose廣義逆的原始記號(hào),稱為“加號(hào)逆”。
為了解決第二個(gè)問題,且不改變?cè)椒ǎ覀冇醚a(bǔ)零的方法,將系統(tǒng)變?yōu)檩斎胼敵鰝€(gè)數(shù)相等的系統(tǒng)。具體方法如下:假設(shè)輸入個(gè)數(shù)大于輸出個(gè)數(shù),即m>l,則應(yīng)對(duì)輸出進(jìn)行補(bǔ)零,對(duì)應(yīng)的輸出矩陣也要補(bǔ)零。
如果輸出個(gè)數(shù)大于輸入個(gè)數(shù),則用類似的方法進(jìn)行補(bǔ)零。
多輸入-單輸出系統(tǒng)電路圖如圖1所示。
圖1 多輸入-單輸出系統(tǒng)
選電感電流iL1、iL2電容電壓uC3作為狀態(tài)變量,根據(jù)基爾霍夫電流定律和電壓定律[5],得到:
為了計(jì)算方便,假設(shè):
L1=L2=1 H,C3=1 F,R4=R5=2 Ω 得:
然后即可依照原方法進(jìn)行模型跟蹤控制的設(shè)計(jì)。得到控制率為:
在MATLAB/Simulink平臺(tái)上搭建仿真[6],如圖2所示。
圖2 多輸入-單輸出系統(tǒng)仿真結(jié)構(gòu)
其中,粗線表示多維信號(hào),細(xì)線表示單維信號(hào)。仿真結(jié)果如圖3所示。
圖3 雙輸入-單輸出系統(tǒng)仿真波形
由于三角波的尖峰處不可導(dǎo),故在尖峰前后,誤差較大,但是在三角波干擾撤去后的第10 s開始,系統(tǒng)誤差接近于零,可以非常好的跟蹤上參考模型。
單輸入雙輸出系統(tǒng)電路圖如圖4所示。
同樣,應(yīng)用補(bǔ)零的方法,以及廣義逆矩陣?yán)碚摚梢缘玫较到y(tǒng)的控制率。搭建仿真模型,得到波形見圖5。
圖4 單輸入-雙輸出系統(tǒng)模型
圖5 單輸入-雙輸出仿真波形
由圖5可以看出,第一組輸出可以跟蹤上,但是第二組輸出只可以跟蹤幅值,卻總是相差一個(gè)相位。其原因是這樣的,即使是純線性系統(tǒng),當(dāng)輸入個(gè)數(shù)小于輸出個(gè)數(shù)時(shí),也無法完全跟蹤控制,舉例來說,兩系統(tǒng)如下:
這樣,無論如何,都無法實(shí)現(xiàn)跟蹤。也就是說,只有參考模型和被控對(duì)象滿足一定比例關(guān)系的系統(tǒng),才能夠?qū)崿F(xiàn)跟蹤控制?;蛘?,可以用模型跟蹤控制+移相器,完成整個(gè)系統(tǒng)準(zhǔn)確的跟蹤。
根據(jù)以上討論,可知,要對(duì)多輸入-多輸出系統(tǒng)進(jìn)行模型跟蹤控制時(shí),應(yīng)根據(jù)輸入輸出個(gè)數(shù)選取不同的方法:
當(dāng)輸入個(gè)數(shù)等于輸出個(gè)數(shù)時(shí):可以直接運(yùn)用跟蹤控制方法進(jìn)行運(yùn)算設(shè)計(jì);
當(dāng)輸入個(gè)數(shù)大于輸出個(gè)數(shù)時(shí):首先對(duì)輸出進(jìn)行補(bǔ)零,再對(duì)控制率進(jìn)行計(jì)算時(shí),應(yīng)用Moore-Penrose廣義逆矩陣?yán)碚撉竽?
當(dāng)輸入個(gè)數(shù)小于輸出個(gè)數(shù)時(shí):運(yùn)用上述步驟,可以跟蹤上與輸入個(gè)數(shù)相等的輸出,其他維輸出需要設(shè)計(jì)適當(dāng)?shù)囊莆黄鳌?/p>
[1]曾長(zhǎng)操,劉奮,張建武.智能轉(zhuǎn)向汽車的模型跟蹤控制[J].上海交通大學(xué)學(xué)報(bào),2003,37(11):1763 -1766.
[2]王道波,劉愛萍.采用自適應(yīng)模型跟蹤控制的發(fā)動(dòng)機(jī)燃油控制系統(tǒng)含實(shí)物仿真[J].南京航空航天大學(xué)學(xué)報(bào),1998,43(1):29-35.
[3]唐厚君,韓正之,尚宇輝,等.廣義線性系統(tǒng)模型跟蹤控制的新方法[J].信息控制,2000,29(3):198 -204.
[4]張躍輝.矩陣?yán)碚撆c應(yīng)用[M].北京:科學(xué)出版社,2011:212-215.
[5]劉秉安.基爾霍夫定律及其應(yīng)用探究[J].科學(xué)信息,2009,26(24):537-538.
[6]李傳慶,劉廣生.基于MATLAB-Simulink的MFA控制模塊開發(fā)與仿真[J].控制工程,2008,15(S2):61-63.