傅 劍,陸世輝,李繪英,余 愿
(武漢理工大學(xué)自動化學(xué)院,湖北 武漢 430070)
三容水箱模型是一個典型的液位控制模型,具有大滯后性、非線性的典型系統(tǒng)特點[1]。目前,對三容水箱系統(tǒng)進行控制的常規(guī)方法主要是把非線性系統(tǒng)線性化,使其滿足復(fù)雜控制系統(tǒng)的性能要求。傳統(tǒng)的控制方法最主要有PID控制[2]、預(yù)測控制[3]、模糊控制[4-5]和 H∞控制[6]等。然而傳統(tǒng)PID控制對于控制對象參數(shù)變化無法自適應(yīng);預(yù)測控制算法主要用于線性系統(tǒng);模糊控制又受限于設(shè)計者和操作人員的經(jīng)驗知識;H∞控制存在系統(tǒng)保守性的問題??傊?,這些方法要么受到線性化的限制,要么受到模型的限制。因此筆者考慮采用了自適應(yīng)動態(tài)規(guī)則(adaptive dynamic programming,ADP)在線學(xué)習(xí)算法,其理論基礎(chǔ)根植于動態(tài)規(guī)劃的貝爾曼方程,從而在動態(tài)過程中取得基于某種性能泛函的最優(yōu)[7-8]。
ADP使用函數(shù)逼近器來近似該性能函數(shù),從而實現(xiàn)學(xué)習(xí)和控制進而克服傳統(tǒng)動態(tài)規(guī)劃的維數(shù)災(zāi)難問題。簡言之,ADP在線學(xué)習(xí)不依賴于先驗知識,而是根據(jù)環(huán)境反饋的評價信號和環(huán)境狀態(tài)來近似最優(yōu)控制策略,具有良好的通用性,適合用于處理時變的非線性復(fù)雜系統(tǒng)。采用這種方法來控制三容水箱液位,使系統(tǒng)具有較強的自適應(yīng)能力以克服干擾和系統(tǒng)內(nèi)部的攝動。
典型的三容水箱模型[9]如圖1所示。
圖1 三容水箱模型
三容水箱模型由3個水箱、3個阻力板和1個調(diào)節(jié)閥組成,在各個水箱的出水口處放置有非線性阻力板。水箱1~水箱3的進水量分別為Qi、Q1、Q2,其中 Qi由調(diào)節(jié)閥開度 μ 控制;出水量分別為 Q1、Q2、Q3,底面積分別為 F1、F2、F3。
當系統(tǒng)平衡后突然加大流入量Qi,使得液位H1隨Qi的增大而變高,又由于Q1與H1相關(guān),因此Q1隨之變大;同理,Q1變大后,導(dǎo)致 H2、Q2隨之相應(yīng)變大;最后H3、Q3也隨之變大。當H1、H2、H3上升到一定高度后,系統(tǒng)達到新的平衡點或液位過高導(dǎo)致溢出。反之,減少流入量Qi,系統(tǒng)最終平衡在另一個液位上或減少到該層水箱底部。選取狀態(tài)量 X=(H1,H2,H3),進水量 Qi為控制量??刂颇繕耸?系統(tǒng)平衡后,當Qi被干擾時,系統(tǒng)呈現(xiàn)不平衡趨勢,經(jīng)過ADP在線學(xué)習(xí)和控制,最后系統(tǒng)保證3個水箱的液位都在設(shè)定范圍內(nèi)。
根據(jù)物料平衡推導(dǎo)得出液位數(shù)學(xué)模型的動態(tài)方程組如下:
其中,α(H)為流量系數(shù),它與液位H和阻力板模型有關(guān)。
在實際過程中,Qi會受到干擾的影響,因為它是由調(diào)節(jié)閥的開度來控制,而控制調(diào)節(jié)閥的電器可能受到電磁干擾或因長期磨損導(dǎo)致其工作曲線偏離出廠的設(shè)定值。這里設(shè)定干擾為兩種,時不變的干擾和時變的干擾,用以檢驗系統(tǒng)的抗干擾性,進而驗證該系統(tǒng)的學(xué)習(xí)能力和魯棒性。
阻力板的模型如圖2所示。以阻力板1為研究對象,假設(shè)水箱1液位下降的速度為V1,大氣壓力為P,阻力板的液體流出速度為V2,液位為y,根據(jù)理想的伯努利方程得:
圖2 阻力板模型
由于V1<<V2可忽略不計,因此式(4)可化簡為:
阻力板的流出量Q(H)可以由阻力板的液位面積S乘以速度V2得到,即:
而面積S可以由定積分元素法求出。當水箱液位不同時,可以由下面的積分來求Q(H)的值。
(1)當H≤10時,Q(H)的計算公式為:
(2)當10<H≤60時,Q(H)的計算公式為:
(3)當60<H≤70時,Q(H)的計算公式為:
(4)當70<H≤100時,Q(H)的計算公式為:
根據(jù)文獻[9]的實驗數(shù)據(jù),可以得到流量系數(shù)α(H)作為對理想建模假設(shè)的修正值為:
那么由式(1)~式(11)可以得到三容水箱系統(tǒng)的動態(tài)方程為:
可見式(12)為非線性微分方程,其系數(shù)矩陣的元素隨著3個水箱液位的不同而變化。
自適應(yīng)動態(tài)規(guī)劃是動態(tài)規(guī)劃、強化學(xué)習(xí)和人工神經(jīng)網(wǎng)絡(luò)相融合而產(chǎn)生的交叉領(lǐng)域,也可以認為是離散領(lǐng)域的強化學(xué)習(xí)在連續(xù)領(lǐng)域的擴展。自適應(yīng)動態(tài)規(guī)劃的本質(zhì)是基于動態(tài)規(guī)劃原理、強化學(xué)習(xí)原理,模擬人通過環(huán)境反饋進行學(xué)習(xí),是一種非常接近人腦智能的算法[10]。
ADP的基本思想可以用圖3表示。它通常由動態(tài)系統(tǒng)、動作控制和評論性能指數(shù)函數(shù)3個模塊組成。其中動作控制和評論性能指數(shù)函數(shù)組合成為一個Agent。當動作控制模塊的輸出作用于動態(tài)系統(tǒng)后,系統(tǒng)就產(chǎn)生新的狀態(tài)和獎懲值,評論模塊根據(jù)獲得的狀態(tài)和獎懲值,來影響動作控制模塊。具體來說就是評論值函數(shù)的參數(shù)更新是基于Bellman最優(yōu)原理進行的,目標是A動作控制必須使得評論值函數(shù)最小。這樣就可以通過調(diào)整網(wǎng)絡(luò)的權(quán)值來在線響應(yīng)系統(tǒng)的動態(tài)變化。
圖3 ADP的原理圖
隨著研究的深入,人們設(shè)計出了很多具體的算法來實現(xiàn) ADP算法[11],如 ADHDP(action dependentheuristicdynamicprogramming)、HDP(heuristic dynamic programming)和DHP(dual heuristic dynamic programming)等,筆者采用的是無參考模型的 ADHDP[12]。
ADHDP是由HDP發(fā)展而來的,它比HDP少了一個模型網(wǎng)絡(luò),因此不需要知道系統(tǒng)的動態(tài)模型即可實施控制,這是其非常顯著的一個優(yōu)點,因為在實際系統(tǒng)中,常常很難或無法得到控制對象的控制模型而要去實施控制。具體到三容水箱這種場合,整個系統(tǒng)由行為網(wǎng)絡(luò)、評價網(wǎng)絡(luò)和三容水箱模型組成。需要特別指出的是三容水箱模型僅僅是為了模擬環(huán)境對象本身,對于ADHDP而言是不知道其模型也不需要其模型結(jié)構(gòu)即可實施控制。狀態(tài)X(t)為行為網(wǎng)絡(luò)的輸入,行為網(wǎng)絡(luò)的輸出為u(t),u(t)和X(t)一起作為評價網(wǎng)絡(luò)的輸入,J(t)為評價網(wǎng)絡(luò)的輸出,J(t-1)為上一時刻評價網(wǎng)絡(luò)的輸出值,Uc(t)為行為網(wǎng)絡(luò)的期望值,r(t)為獎懲值,成功時為0,失敗時為-1;α為折扣因子。三容水箱系統(tǒng)結(jié)構(gòu)圖如圖4所示。
系統(tǒng)學(xué)習(xí)控制過程的偽代碼描述如下:
while 終止條件do
圖4 三容水箱系統(tǒng)結(jié)構(gòu)圖
初始化狀態(tài)X行為網(wǎng)絡(luò)權(quán)值Wa評價網(wǎng)絡(luò)權(quán)值Wc
repeat
計算行為網(wǎng)絡(luò)的輸出u
通過三容水箱系統(tǒng)得到新的狀態(tài)X和及時獎懲值r
基于時序差分計算cost-to-go的誤差Ec
采用反向傳播算法訓(xùn)練評價網(wǎng)絡(luò)使誤差Ec最小
采用反向傳播算法,通過調(diào)整行為網(wǎng)絡(luò)的權(quán)值,使得‖J-Uc‖最小。
until當前狀態(tài)不屬于液位范圍end while
在設(shè)計中,行為網(wǎng)絡(luò)和評價網(wǎng)絡(luò)都是非線性的多層前饋網(wǎng)絡(luò)。具體的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 行為網(wǎng)絡(luò)和評價網(wǎng)絡(luò)的結(jié)構(gòu)圖
2.2.1 行為網(wǎng)絡(luò)
行為網(wǎng)絡(luò)的誤差值為ea(t),Ea為行為網(wǎng)絡(luò)的均方差,目標是使Ea最小。
由圖5可以得到行為網(wǎng)絡(luò)的輸出為:
式中:hi為神經(jīng)網(wǎng)絡(luò)第i個隱層節(jié)點的輸入;gi為神經(jīng)網(wǎng)絡(luò)的第i個隱層節(jié)點的輸出;m為隱層節(jié)點數(shù);n為神經(jīng)網(wǎng)絡(luò)輸入量的個數(shù)。
行為網(wǎng)絡(luò)權(quán)值的更新公式為:
從輸入到隱層的權(quán)值變化量為:
從隱層到輸出的權(quán)值變化量為:
其中,la(t)>0為神經(jīng)網(wǎng)絡(luò)在t時刻的學(xué)習(xí)率,它隨著時間的遞增而減小。
2.2.2 評價網(wǎng)絡(luò)
評價網(wǎng)絡(luò)的目標函數(shù)為均方差Ec,其目標是使目標函數(shù)最小,其思想來源于動態(tài)規(guī)劃的最優(yōu)化原理和嵌入原理。
根據(jù)圖5可得評價網(wǎng)絡(luò)的輸出函數(shù)J(t)為:
式中:qi為神經(jīng)網(wǎng)絡(luò)的第i個隱層節(jié)點的輸入;pi為神經(jīng)網(wǎng)絡(luò)的第i個隱層節(jié)點的輸出;m為隱層節(jié)點數(shù);n+1為神經(jīng)網(wǎng)絡(luò)的輸入變量的個數(shù)。
評價網(wǎng)絡(luò)的權(quán)值更新公式為:
從輸入層到隱層的權(quán)值變化量為:
從隱層到輸出層的權(quán)值變化量為:
水箱的底面積F1=166585 mm2,F(xiàn)2=169510 mm2,F(xiàn)3=166585 mm2,g=9806.65。
行為網(wǎng)絡(luò)輸入節(jié)點n=3,隱層節(jié)點m=10;評價網(wǎng)絡(luò)輸入節(jié)點n=4,隱層節(jié)點m=10;初始學(xué)習(xí)率la=lc=0.3,每5個時間步減少0.005,直到≤0.005為止;行為網(wǎng)絡(luò)和評價網(wǎng)絡(luò)內(nèi)部訓(xùn)練誤差的閾值Ta=0.005,Tc=0.05;折扣因子α=0.95;取時間步為0.02 s。
取控制量Qi=98000 mm3/s;狀態(tài)量H1=H2=H3=65 mm;水位波動最大值boundary=2 mm;希望獎懲值Uc=0。
在一次運行過程中,有20次訓(xùn)練。當加入干擾后,要求成功的訓(xùn)練序號在20以內(nèi),并且在該次訓(xùn)練過程中,實時的在線學(xué)習(xí)和控制使得3個水箱的液位控制在[63,67]之間,并且至少持續(xù)6000個時間步,即120 s。
當給控制量Qi施加0.25 sin(2π·0.03 t)干擾時,獲得3個水箱的液位曲線圖,如圖6~圖8所示??梢姡?shù)谝淮斡?xùn)練到187步時,H1低于設(shè)定的液位下限63 mm(H2、H3在設(shè)定范圍內(nèi)),訓(xùn)練失敗;第二次訓(xùn)練到724步時,H1低于設(shè)定的液位下限63 mm(H2、H3在設(shè)定范圍內(nèi)),訓(xùn)練失敗;第三次訓(xùn)練成功地進行了6000個時間步,且3個水箱的液位都在[63,67]范圍內(nèi),訓(xùn)練成功。圖9為訓(xùn)練成功時進水量Qi的曲線圖。
圖6 液位H1的曲線圖
圖7 液位H2的曲線圖
圖8 液位H3的曲線圖
圖9 流入量Q1的曲線圖
當不同類型的干擾施加于控制量Qi時,比較ADHDP在各種干擾條件下對系統(tǒng)在線學(xué)習(xí)和控制的能力。設(shè)定每種干擾下進行30個訓(xùn)練過程,每個過程有20次訓(xùn)練,每次訓(xùn)練有6000個時間步。仿真結(jié)果如表1所示。
表1 性能比較
從表1可以看出,雖然有不同的干擾疊加在三容水箱的進水閥上,ADHDP有很強的學(xué)習(xí)能力很快適應(yīng)了這種變化,從而實施了有效的控制。
首先建立了三容水箱的數(shù)學(xué)模型,然后引入ADP的無參考模型的ADHDP結(jié)構(gòu),直接對三容水箱非線性系統(tǒng)本身實施在線學(xué)習(xí)和控制。Matlab仿真實驗驗證了該方法的正確性和可行性。經(jīng)過分析仿真結(jié)果發(fā)現(xiàn),采用ADP在線學(xué)習(xí)來控制三容水箱系統(tǒng),有較好的控制效果和魯棒性。
[1]金以慧.過程控制[M].北京:清華大學(xué)出版社,1993:8-15.
[2]李智,張雅婕,楊潔.基于實驗的三容水箱數(shù)學(xué)模型[J].武漢工程職業(yè)技術(shù)學(xué)院學(xué)報,2009,21(3):1-4.
[3]謝啟,楊馬英,余文正.基于預(yù)測函數(shù)控制算法的水槽液位控制系統(tǒng)[J].控制工程,2003,10(6):509-511.
[4]李學(xué)軍,徐俊山.三容模糊控制系統(tǒng)設(shè)計[J].長春大學(xué)學(xué)報,2004,14(6):8-10.
[5]朱海榮,楊奕,姜平,等.三容系統(tǒng)的智能神經(jīng)網(wǎng)絡(luò)模糊控制研究[J].電氣傳動,2007,7(7):46-49.
[6]韓光信,張桂芹,施云貴.三容系統(tǒng)H∞控制[J].吉林化工學(xué)院學(xué)報,2004,21(4):37-39.
[7]BELLMAN R,DREYFUS S.Applied dynamic programming princeton[M].NJ:Princeton Univ Press,1962:25-50.
[8]WANG F Y,ZHANG H G,LIU D R.Adaptive dynamic programming:an introduction[J].IEEE Computational Intelligence Magazine,2009,8(3):39-47.
[9]趙科,王生鐵,張計科.三容水箱的機理建模[J].控制工程,2006,13(6):521-525.
[10]PROKHOROV D V,WUNSCH D C.Adaptive critic design[J].IEEE Transactions on Neural Networks ,1997,8(5):997-1006.
[11]SI J,WANG Y T.On-line learning control by association and reinforcement[J].IEEE Transactions on Neural Networks,2001,12(2):264-276.
[12]MURRAY J J,COX C J,LENDARIS G G.Adaptive dynamic programming[J].IEEE Transactions on Systems,Man,and Cybernetics-Part C:Applications and Reviews,2002,32(2):140-152.