摘 要: 結(jié)合無(wú)需辨識(shí)的自適應(yīng)控制算法,提出一種動(dòng)態(tài)調(diào)整增益系數(shù)和自適應(yīng)學(xué)習(xí)率的改進(jìn)型單神經(jīng)元PID控制策略,進(jìn)一步提高了控制器參數(shù)的自校正能力。利用ActiveX技術(shù)將改進(jìn)型單神經(jīng)元自適應(yīng)PID控制算法封裝在ActiveX控件中,并設(shè)計(jì)MFC應(yīng)用程序?qū)ξ鬯幚磉^(guò)程溶解氧的控制進(jìn)行仿真。結(jié)果表明,改進(jìn)型單神經(jīng)元PID與改進(jìn)前的單神經(jīng)元PID控制方法相比,具有更好的自適應(yīng)性和更強(qiáng)的魯棒性。
關(guān)鍵詞: ActiveX控件;單神經(jīng)元;PID
傳統(tǒng)的PID調(diào)節(jié)器具有結(jié)構(gòu)簡(jiǎn)單、調(diào)整方便和參數(shù)整定與工程指標(biāo)聯(lián)系密切的優(yōu)點(diǎn),在過(guò)程控制中獲得了廣泛的應(yīng)用,但算法參數(shù)整定困難,且參數(shù)不具有自適應(yīng)能力。很多學(xué)者提出了改進(jìn)型PID控制算法,趙建華、沈永良等人[1]推導(dǎo)出一種自適應(yīng)PID控制算法,仿真結(jié)果表明控制算法的有效性。神經(jīng)元作為構(gòu)成神經(jīng)網(wǎng)絡(luò)的基本單位,具有自學(xué)習(xí)和自適應(yīng)能力,結(jié)合神經(jīng)元構(gòu)成的控制系統(tǒng)算法簡(jiǎn)單、易實(shí)現(xiàn)。將神經(jīng)元技術(shù)與傳統(tǒng)PID控制相結(jié)合,則可以在一定程度上解決傳統(tǒng)PID控制器不易進(jìn)行在線實(shí)時(shí)參數(shù)整定的問(wèn)題[2]。
但是當(dāng)前神經(jīng)元PID系統(tǒng)中,對(duì)于最敏感的系數(shù)之一的增益系數(shù)只在初始時(shí)設(shè)定,不具備在線調(diào)整功能,學(xué)習(xí)速率一般是通過(guò)大量的仿真和實(shí)驗(yàn)得來(lái),在控制過(guò)程中保持不變,這些都在一定程度上影響了控制效果。孫夏娜等[3]將單神經(jīng)元自適應(yīng)模糊PID控制策略用于對(duì)主動(dòng)懸架的控制。本文在參考文獻(xiàn)[4]的基礎(chǔ)上將神經(jīng)元與無(wú)辨識(shí)自適應(yīng)控制率結(jié)合起來(lái),提出一種改進(jìn)型單神經(jīng)元PID控制器,在線調(diào)整增益系數(shù)和學(xué)習(xí)率,進(jìn)一步提高控制系統(tǒng)的魯棒性和自適應(yīng)能力。
在實(shí)際生產(chǎn)過(guò)程中,復(fù)雜控制算法的復(fù)用性較差,且不易在監(jiān)控組態(tài)環(huán)境中直接實(shí)現(xiàn)。ActiveX技術(shù)可以靈活、高效地應(yīng)用于重入、重用、完全分布式、與語(yǔ)言無(wú)關(guān)的各種場(chǎng)合。ActiveX技術(shù)擴(kuò)充了監(jiān)控組態(tài)軟件的功能,可以使監(jiān)控組態(tài)軟件完成復(fù)雜高級(jí)控制算法。本文將改進(jìn)型單神經(jīng)元自適應(yīng)PID控制算法封裝于ActiveX控件,并將該控件應(yīng)用于污水處理過(guò)程溶解氧的控制,仿真結(jié)果表明了改進(jìn)算法的有效性和實(shí)用性。
1 PID控制器
1.1 單神經(jīng)元PID控制器
由具有自學(xué)習(xí)和自適應(yīng)能力的單神經(jīng)元構(gòu)成的單神經(jīng)元自適應(yīng)PID控制器,結(jié)構(gòu)簡(jiǎn)單,能適應(yīng)環(huán)境變化,有較強(qiáng)的魯棒性。神經(jīng)元作為構(gòu)成神經(jīng)網(wǎng)絡(luò)的基本單元,具有自學(xué)習(xí)和自適應(yīng)的能力,而且易于計(jì)算。傳統(tǒng)的PID調(diào)節(jié)器具有調(diào)整方便和參數(shù)整定與工程指標(biāo)聯(lián)系密切等特點(diǎn)[2]。將兩者結(jié)合,便可以在一定程度上解決傳統(tǒng)PID調(diào)節(jié)器不易在線實(shí)時(shí)整定參數(shù)和難于對(duì)一些復(fù)雜過(guò)程和參數(shù)慢時(shí)變系統(tǒng)進(jìn)行有效控制的不足。用神經(jīng)元實(shí)現(xiàn)的自適應(yīng)PID控制器結(jié)構(gòu)框圖如圖1所示。
K為神經(jīng)元的增益系數(shù)。K值越大,則快速性越好,但超調(diào)量大,甚至可能使系統(tǒng)不穩(wěn)定。當(dāng)被控對(duì)象時(shí)延增大時(shí),K值必須減小,以保證系統(tǒng)穩(wěn)定。K值選擇過(guò)小,會(huì)使系統(tǒng)的快速性變差。因此需要選擇合適的K值,以獲得良好的系統(tǒng)性能。
由式(1)可以看出各權(quán)系數(shù)的修正速度取決于各自的學(xué)習(xí)速率,目前所采用的神經(jīng)元自適應(yīng)PID控制器的學(xué)習(xí)速率是通過(guò)大量的仿真和實(shí)驗(yàn)得來(lái),在控制過(guò)程中保持定值,這樣便限制了控制器品質(zhì)的進(jìn)一步提高。對(duì)于神經(jīng)元系統(tǒng)最敏感的增益系數(shù)也不具備在線學(xué)習(xí)自動(dòng)調(diào)整功能,這樣也一定程度上限制了控制效果。
1.2 改進(jìn)型單神經(jīng)元PID控制器
針對(duì)上述控制器的不足,結(jié)合Marsik、Strejc提出的無(wú)需辨識(shí)的自適應(yīng)控制算法,動(dòng)態(tài)調(diào)整增益系數(shù),并且自調(diào)整學(xué)習(xí)率以進(jìn)一步提高控制系統(tǒng)的魯棒性和自適應(yīng)能力。
Marsik和Strejc提出的無(wú)辨識(shí)自適應(yīng)控制算法可描述為:
2 控件設(shè)計(jì)
為了增強(qiáng)該算法的應(yīng)用性,本文將其封裝成ActiveX控件,使控制算法能重復(fù)使用于支持ActiveX的組態(tài)軟件或者其他軟件,實(shí)現(xiàn)在線控制或者仿真。ActiveX控件是一個(gè)軟件組件,可以嵌入到許多不同的程序,并把它當(dāng)作程序自身的一部分來(lái)使用。ActiveX控件具有可移植性、擴(kuò)展性強(qiáng)、使用廣等特點(diǎn)[5]。本文在VS2005環(huán)境下,通過(guò)MFC ActiveX Control向?qū)е谱鰽ctiveX控件,它為要?jiǎng)?chuàng)建的任何ActiveX 控件建立一個(gè)外殼,生成所有的必要文件并配置項(xiàng)目,在編譯項(xiàng)目時(shí)編譯器就會(huì)建立一個(gè)ActiveX控件,它將生成OCX文件。
在控件中添加的接口屬性包括周期、期望輸出、反饋輸入、控制器各種參數(shù)等;事件包括控制器輸出超出上限、超出下限,反饋輸入超出上限、超出下限,方法包括控制器輸出清零。
在CPidctrl類中實(shí)現(xiàn)增量式PID和神經(jīng)元PID控制算法。添加WM_TIMER消息,取周期屬性的值設(shè)置定時(shí)器,在OnTimer函數(shù)中判斷ControlFlag的值,它會(huì)隨著用戶屬性頁(yè)中選擇所需控制器類型改變而改變。添加WM_CREATE消息,在響應(yīng)函數(shù)中動(dòng)態(tài)添加“啟動(dòng)”、“設(shè)置”按鈕,分別用來(lái)啟動(dòng)控制器和彈出屬性設(shè)置畫面。在OnDraw函數(shù)中繪制控件外觀,顯示當(dāng)前期望輸出、反饋輸入、控制器輸出等過(guò)程量和運(yùn)行、控制器輸出越限等標(biāo)志。
3 ActiveX控件應(yīng)用實(shí)例
將此控件應(yīng)用于污水處理過(guò)程DO(溶解氧)濃度的控制。典型的污水處理過(guò)程見圖2。
設(shè)計(jì)MFC應(yīng)用程序?qū)θ芙庋蹩刂七^(guò)程進(jìn)行仿真,用封裝了改進(jìn)型單神經(jīng)元PID控制策略的ActiveX控件作為控制器。程序中添加了繪圖控件NTGraphCtrl,以直觀地顯示被控系統(tǒng)的響應(yīng)曲線。
改進(jìn)前的單神經(jīng)元PID控制策略使用的學(xué)習(xí)率ηp=1.4,ηi=1.35,ηd=1.2,增益系數(shù)K=2。改進(jìn)后的單神經(jīng)元PID控制器學(xué)習(xí)率和增益系數(shù)的初始值與改進(jìn)前的相同。仿真結(jié)果如圖3、圖4所示。由以上的仿真結(jié)果可以看出,改進(jìn)前單神經(jīng)元PID控制的仿真曲線超調(diào)為6.8%,而改進(jìn)型的單神經(jīng)元PID調(diào)節(jié)器控制的仿真曲線可以達(dá)到基本無(wú)超調(diào),具有更好的控制性能。經(jīng)過(guò)大量的仿真實(shí)驗(yàn)發(fā)現(xiàn),單神經(jīng)元PID控制器在參數(shù)設(shè)置合適時(shí)控制效果比較理想,但是對(duì)參數(shù)的要求比較敏感,而改進(jìn)型神經(jīng)元PID控制器的參數(shù)具有自調(diào)整特性,表現(xiàn)出更強(qiáng)的自適應(yīng)性和魯棒性。
本文結(jié)合無(wú)需辨識(shí)的自適應(yīng)控制算法,提出一種動(dòng)態(tài)調(diào)整增益系數(shù)和自適應(yīng)學(xué)習(xí)率的改進(jìn)型單神經(jīng)元PID控制策略,并利用ActiveX技術(shù)將改進(jìn)型單神經(jīng)元自適應(yīng)PID控制算法封裝在ActiveX控件中,使控制算法能方便地重復(fù)應(yīng)用于支持ActiveX的組態(tài)軟件以及其他支持ActiveX控件的應(yīng)用軟件。在VS2005環(huán)境下,設(shè)計(jì)了MFC應(yīng)用程序,對(duì)污水處理過(guò)程溶解氧的控制進(jìn)行仿真。結(jié)果表明,改進(jìn)型單神經(jīng)元PID與未改進(jìn)單神經(jīng)元PID控制方法相比,具有更好的自適應(yīng)性和更強(qiáng)的魯棒性。開發(fā)的ActiveX控件可重復(fù)利用,具有良好的實(shí)用價(jià)值。
參考文獻(xiàn)
[1] 趙建華,沈永良.一種自適應(yīng)PID控制算法[J].自動(dòng)化學(xué)報(bào),2001,27(2):417-420.
[2] 劉金琨.先進(jìn)PID控制MATLAB仿真[M].北京:電子工業(yè)出版社,2004.
[3] 孫夏娜,余群明.主動(dòng)懸架單神經(jīng)元模糊PID控制策略與仿真[J].系統(tǒng)仿真學(xué)報(bào),2009,21(8):2165-2168.
[4] 羅文廣,覃偉年.單神經(jīng)元無(wú)辨識(shí)自適應(yīng)預(yù)估控制算法及在過(guò)熱汽溫控制中的仿真研究[J].中國(guó)電機(jī)工程學(xué)報(bào),2005,25(2):103-108.
[5] 費(fèi)春國(guó),白瑞祥.模糊自適應(yīng)PID控制及控件實(shí)現(xiàn)[J].化工自動(dòng)化及儀表,2003,30(2):53-55.
[6] 烏爾松 G,紐厄爾 B.污水處理系統(tǒng)的建模診斷和控制[M].高景峰,彭永臻,譯.北京:化學(xué)工業(yè)出版社,2005.
[7] WEI Tao, ZHANG Shun Yi. Active queue management based on single neural adaptive PID Algorithm. International Conference on Computer Science and Software Engineering, 2008:923-926.
[8] OMATU S, FUJINAKA T. Neuron-PID control for inverted single and double pendulums. Energy Conversion and Management, 2004,45(15):2405-2415.
[9] QIAO Jun Fei, HAN Hong Gui. A new growing selforganizing neuron-fuzzy network with application to wasterwater treatment. 2008 IEEE International Conference on Fuzzy Systems.
[10] 賈立,陶鵬業(yè).基于模糊神經(jīng)模型的自適應(yīng)單神經(jīng)元控制系統(tǒng)設(shè)計(jì)[J].華東理工大學(xué)學(xué)報(bào),2008,34(1):135-140.