侯君虹
(陸軍步兵學(xué)院 石家莊校區(qū),石家莊 050000)
在現(xiàn)代工業(yè)生產(chǎn)控制過程中,主要的被控量通常為:液位、流量、溫度和壓力4 種。其中,液位作為這4 種常見被控量中最容易測量和直接觀察的被控量,理所應(yīng)當(dāng)受到的關(guān)注也是最多[1]。而雙容水箱作為最常見的液位控制對象,工業(yè)上很多復(fù)雜的被控對象常常抽象為它的數(shù)學(xué)模型來研究。所以,對雙容水箱的液位控制研究具有很廣泛的應(yīng)用背景和很重要的研究價(jià)值。
可是雙容水箱系統(tǒng)一般呈非線性,并且存在著容積延遲,液位變化緩慢,系統(tǒng)慣性比較大等問題[2]。實(shí)踐證明,傳統(tǒng)PID 系統(tǒng)對雙容水箱的調(diào)節(jié)時(shí)間比較長且控制效果并不是很好。
迭 代 學(xué) 習(xí) 控 制(Iterative Learning Control,ILC)由Uchiyama 于1978 年首先提出[3],影響較小,后來Arimoto等[4]又于1984 年用英文發(fā)表。該方法的基本策略是,針對一類在有限區(qū)間上重復(fù)運(yùn)行的非線性動態(tài)系統(tǒng),通過前一次或前幾次運(yùn)行得到的誤差信息和控制輸入信息來修正當(dāng)前的控制輸入信息,以便可以使得整個(gè)重復(fù)任務(wù)可以取得更好的效果,如此不斷重復(fù),知道在整個(gè)時(shí)間區(qū)間上,系統(tǒng)的輸出完全跟蹤期望軌跡[5,6]。
本文為雙容水箱的液位控制提供了一種利用I/O 數(shù)據(jù)的控制方式——ILC。首先對ILC 進(jìn)行了詳細(xì)的研究,然后利用控制系統(tǒng)的I/O 數(shù)據(jù)得到一次迭代的控制量,進(jìn)而對雙容水箱的液位進(jìn)行控制,最后在MATLAB 中進(jìn)行仿真,得到多次迭代后的仿真圖,通過這些仿真圖可以看出ILC的有效性。
考慮如下連續(xù)被控系統(tǒng):

其中,x∈Rn,u∈Rr,y∈Rm,x為系統(tǒng)的狀態(tài)向量,u為系統(tǒng)的控制向量,y為系統(tǒng)的輸出向量。假設(shè)系統(tǒng)在時(shí)間區(qū)間[0,T]不斷重復(fù),最終使得y(t)→yd(t)。
在第k 次運(yùn)行時(shí),式(1)表示為:

輸出誤差為:

迭代學(xué)習(xí)控制的目標(biāo):對給定的控制對象,在規(guī)定的時(shí)間t∈[0,T],尋找優(yōu)化的控制輸入uk(t),使得當(dāng)?shù)螖?shù)k 趨于無窮時(shí),系統(tǒng)的輸出信號yk(t)與期望軌跡yd(t)之間的偏差為零[7,8]。
關(guān)于目前已有的迭代學(xué)習(xí)控制的學(xué)習(xí)律包括P 型、D 型、PID 型、高階學(xué)習(xí)算法以及帶遺忘因子的學(xué)習(xí)算法[9-11],本文將詳細(xì)介紹PID 型學(xué)習(xí)律。
PID 型學(xué)習(xí)律可以描述為:

由于PID 型學(xué)習(xí)律算法簡單有效、計(jì)算量小,且需要極少的系統(tǒng)先驗(yàn)知識,從而得到了廣泛和深入的研究,是最成熟的迭代學(xué)習(xí)控制算法之一[12]。
閉環(huán)迭代學(xué)習(xí)控制的迭代效果要好于開環(huán)迭代學(xué)習(xí)控制,因?yàn)樵诘倪^程,它使用的是本次操作時(shí)的輸出誤差,而不是上一次迭代的輸出誤差。開環(huán)迭代學(xué)習(xí)控制采用的是離線的計(jì)算方法,對系統(tǒng)的計(jì)算要求不高;閉環(huán)迭代學(xué)習(xí)控制存在部分在線計(jì)算量,對系統(tǒng)的要求更高。
每一次迭代結(jié)束時(shí),需要檢驗(yàn)是否滿足停止條件。若滿足,則停止運(yùn)行。設(shè)ε 為設(shè)定的允許跟蹤精度,一般的停止條件為:

迭代學(xué)習(xí)控制算法具體算法流程[8]如下所述,設(shè)t∈[0,T]:
1)k=0 時(shí),給定期望輸出yd(t),初始輸入u0(t)。
2)對被控對象施加輸入uk(t),采集并存儲yk(t)。
3)計(jì)算輸出誤差ek(t)=yd-yk(t),根據(jù)迭代學(xué)習(xí)律,計(jì)算出下一次控制輸入量,存入存儲器中。
4)檢驗(yàn)停止條件,若滿足,停止迭代;若不滿足,則k=k+1,跳入第二步重復(fù)運(yùn)行。
開環(huán)PID 型迭代學(xué)習(xí)控制器參數(shù)優(yōu)化的過程是基于對迭代過程收斂性分析得出的[13,14]。
設(shè)被控對象為線性時(shí)不變的離散系統(tǒng),其傳遞函數(shù)為:

其中,z-1為標(biāo)準(zhǔn)的時(shí)間延遲算子,參數(shù)hi為系統(tǒng)H(z)的標(biāo)準(zhǔn)Markov 參數(shù)。并且該系統(tǒng)在時(shí)間[0,T]上不斷重復(fù)運(yùn)行,k 表示迭代次數(shù)。定義下列向量:

則受控系統(tǒng)(6)可以表示為:

則Hp為由被控對象Markov 參數(shù)構(gòu)成的矩陣為:

則受控系統(tǒng)的離散PID 型迭代學(xué)習(xí)控制律為:

其中,kp,ki, kd為PID 型迭代學(xué)習(xí)控制器的參數(shù)。
式(6)采用向量的形式為:

其中,Ti=T([1,1,…,1]T),Td=T([1,-1,…,0]T)。
由(6)式可得:


經(jīng)計(jì)算可以得到:

整個(gè)迭代過程的收斂條件為:

由于He是一個(gè)下三角的Toelitz 矩陣,可知:

且有He=T(he),所以條件∥He∥<1 是Ek的1-范數(shù)和∞-范數(shù)收斂的充分條件,這樣ILC 參數(shù)的設(shè)計(jì)就會轉(zhuǎn)換成求解合適的kp,ki,kd使得∥He∥<1。從而,使得應(yīng)用簡單的數(shù)學(xué)計(jì)算方法來完成ILC 參數(shù)的設(shè)計(jì)成為可能。
定義下面優(yōu)化設(shè)計(jì)的性能指標(biāo):

令H=[hi:h:hd]∈RN×3和gPID=[kp,ki,kd]T,并對g 求導(dǎo),經(jīng)過一系列計(jì)算可得:

式(14)就是求得學(xué)習(xí)控制器最優(yōu)參數(shù),采用此數(shù)據(jù)結(jié)果可以緩解收斂速度慢的問題,加快學(xué)習(xí)收斂速度。

圖1 輸出跟蹤曲線Fig.1 Output tracking curve

圖2 誤差變化圖Fig.2 Error variation chart
關(guān)于連續(xù)系統(tǒng)迭代學(xué)習(xí)控制器參數(shù)優(yōu)化的方法可以借鑒離散系統(tǒng)的求法,但條件是連續(xù)系統(tǒng)必須保證在整個(gè)仿真過程中采樣時(shí)間(仿真步長)不變。
通過對雙容水箱進(jìn)行機(jī)理建模[2],可以得出其傳遞函數(shù)為:

其中,A1=A2=2m2,R1=0.3656,R2=0.305[15]。
根據(jù)開環(huán) PID 型迭代學(xué)習(xí)控制器參數(shù)優(yōu)化的方法可以得出:Kp=1.4005,Ki=0.0084,Kd=12.5495。
另外,通過實(shí)驗(yàn)試湊法得出閉環(huán)PID 型迭代學(xué)習(xí)控制器參數(shù)如下:Kp=4.5,Ki=1,Kd=20??梢缘贸龅鷮W(xué)習(xí)控制的輸出跟蹤曲線和誤差變化曲線分別如圖1、圖2 所示。
具體部分?jǐn)?shù)據(jù)見表1。
從圖1 的(a)(b)可以看出,開環(huán)PID 型迭代學(xué)習(xí)和閉環(huán)PID 型迭代學(xué)習(xí)都可以實(shí)現(xiàn)對雙容水箱的控制。從圖2 和表1 可以看出閉環(huán)迭代學(xué)習(xí)控制只需要較少迭代次數(shù)便可以實(shí)現(xiàn)精確地跟蹤,這是因?yàn)殚_環(huán)迭代學(xué)習(xí)控制只利用了系統(tǒng)的前一次信息,而閉環(huán)迭代學(xué)習(xí)在系統(tǒng)前一次信息的基礎(chǔ)上更好地利用了系統(tǒng)的當(dāng)前信息。但是,由于閉環(huán)迭代學(xué)習(xí)控制系統(tǒng)學(xué)習(xí)律參數(shù)是通過實(shí)驗(yàn)試湊得到的,過程往往復(fù)雜卻得不到理想的控制效果。在本文中閉環(huán)迭代學(xué)習(xí)控制系統(tǒng)對雙容水箱的跟蹤速度更快。

表1 誤差eTable 1 Error e
將迭代學(xué)習(xí)算法應(yīng)用于雙容水箱的液位控制中,通過仿真結(jié)果表明:不管是開環(huán)PID 型迭代學(xué)習(xí)還是閉環(huán)迭代學(xué)習(xí)都可以取得較好的控制效果,達(dá)到了較高精度的跟蹤控制要求。在本文中對開環(huán)PID 型迭代學(xué)習(xí)的學(xué)習(xí)律參數(shù)進(jìn)行了優(yōu)化設(shè)計(jì),使其參數(shù)可以通過簡單的數(shù)學(xué)計(jì)算得到,不需要進(jìn)行反復(fù)的試湊,這也是開環(huán)迭代學(xué)習(xí)優(yōu)于閉環(huán)迭代學(xué)習(xí)的地方。因此,對閉環(huán)迭代學(xué)習(xí)的學(xué)習(xí)律參數(shù)需要做進(jìn)一步的研究,得出一個(gè)更加便捷的方法。