摘 要:針對(duì)實(shí)際工業(yè)生產(chǎn)過程中被控對(duì)象的時(shí)變和純滯后特點(diǎn),本文根據(jù)神經(jīng)網(wǎng)絡(luò)具有能夠充分逼近任意復(fù)雜的非線性關(guān)系和能夠?qū)W習(xí)嚴(yán)重不確定系統(tǒng)的動(dòng)態(tài)特性,具有適應(yīng)性、智能性較好的特點(diǎn)并結(jié)合灰色預(yù)測(cè)控制的超前預(yù)測(cè)的特點(diǎn),提出了基于BP神經(jīng)網(wǎng)絡(luò)的灰色預(yù)測(cè)控制算法。仿真結(jié)果的對(duì)比分析表明:本文的控制算法與傳統(tǒng)控制器相比,具有控制簡(jiǎn)便、自適應(yīng)性較強(qiáng)等特點(diǎn),適用于對(duì)純滯后和模型時(shí)變對(duì)象的控制。最后采用xPC技術(shù)在實(shí)際設(shè)備上進(jìn)行了算法的驗(yàn)證,取得了滿意的效果。
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);灰色預(yù)測(cè);xPC技術(shù)
中圖分類號(hào):U675.79;TP273 文獻(xiàn)標(biāo)志碼:A
Application and Research of Self-adaptive Grey Neural Net
Controller in Level Control
ZHOU Fu-en
(School of Computer Science, Jilin Normal University, Siping Jilin, 136000,China)
Abstract:Aimed at the controlled object’s character of changing with time and time delay, we based the NN’s merit of highly accord with all kinds of non-liner, learning the uncertain system, good adaptability, excellent intelligence and join the characteristic of forecast of the algorithm of grey prediction control, we put forward the algorithm of grey predict control based on the theory of BP NN.The comparing and analysing of simulation result shows:compared with traditional controller, our algorithm become simple and convenient, stronger in adaptability,it works well in resolving the problem of time delay and model of time varying. Finally, we do real-time control verification by proposed algorithm in the method of xPC technology on real device.
Key words:BP neural network;grey prediction;xPC technology
工業(yè)對(duì)象的模型往往具有時(shí)變和純滯后等特點(diǎn),對(duì)于純滯后問題,傳統(tǒng)的PID控制等方法,大多都是根據(jù)系統(tǒng)已發(fā)生的行為特征進(jìn)行控制的,屬于事后控制;而對(duì)于模型時(shí)變問題,PID控制要想取得較好的控制效果,就必須在線調(diào)整好比例、積分和微分三種控制作用,形成控制量中既相互配合又相互制約的關(guān)系,但這種關(guān)系不一定是簡(jiǎn)單的“線性組合”,而是從變化無窮的非線性組合中找出最佳的關(guān)系。神經(jīng)網(wǎng)絡(luò)具有任意非線性表達(dá)能力,可以通過對(duì)系統(tǒng)性能的學(xué)習(xí)來實(shí)現(xiàn)具有最佳組合的PID控制,采用BP網(wǎng)絡(luò)可以建立起三個(gè)參數(shù)kp、ki、kd 自學(xué)習(xí)的PID控制器[1-2]。本文將神經(jīng)網(wǎng)絡(luò)與具有超前預(yù)測(cè)功能的灰色預(yù)測(cè)理論相結(jié)合,利用神經(jīng)網(wǎng)絡(luò)來在線調(diào)節(jié)PID控制器參數(shù)以適應(yīng)對(duì)象模型時(shí)變和滯后的要求。
1 基于BP網(wǎng)絡(luò)的灰色PID控制系統(tǒng)
本文的基于BP網(wǎng)絡(luò)的灰色PID控制系統(tǒng)結(jié)構(gòu)如圖1所示。
控制器由三部分組成:
1)經(jīng)典的PID控制器:直接對(duì)被控對(duì)象過程進(jìn)行閉環(huán)控制,并且三個(gè)參數(shù)kp、ki、kd為在線整定方式;
2)灰色預(yù)測(cè)部分:實(shí)現(xiàn)超前預(yù)測(cè)控制,克服模型滯后的要求;
灰色系統(tǒng)理論是由我國(guó)學(xué)者鄧聚龍于1982年首先提出的。這種控制是著眼于系統(tǒng)未來行為的預(yù)控制、是超前控制,這樣可以做到防患于未然,控制及時(shí)。灰色預(yù)測(cè)控制方法不需要預(yù)先掌握對(duì)象的數(shù)學(xué)模型,而是實(shí)時(shí)在線建模。其數(shù)列預(yù)測(cè)不僅可以做“近期”預(yù)測(cè),而且也適合于做“長(zhǎng)期”預(yù)測(cè),這對(duì)克服純滯后給系統(tǒng)帶來的不利影響是非常合適的[3]。
圖1 基于BP網(wǎng)絡(luò)的智能灰色PID控制系統(tǒng)
3)神經(jīng)網(wǎng)絡(luò)部分:神經(jīng)網(wǎng)絡(luò)根據(jù)系統(tǒng)的運(yùn)行狀態(tài),調(diào)節(jié)PID控制器的參數(shù),以期達(dá)到某種性能指標(biāo)的最優(yōu)化,使輸出層神經(jīng)元的輸出狀態(tài)對(duì)應(yīng)于PID控制器的三個(gè)可調(diào)參數(shù)kp、ki、kd,通過神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)、加權(quán)系數(shù)調(diào)整,使神經(jīng)網(wǎng)絡(luò)輸出對(duì)應(yīng)于某種最優(yōu)控制律下的PID控制器參數(shù)。
BP網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示[4]:
圖2 BP網(wǎng)絡(luò)結(jié)構(gòu)
其中,x(1)=error(k)-error(k-1),x(2)=error(k),x(3)=error(k)-2error(k-1)+error(k-2),x(r)=1
系統(tǒng)中的PID采用的是經(jīng)典增量式數(shù)字PID,其控制算法為:
u(k)=u(k-1)+kp(error(k)-error(k-1)+kjerror(k)+kd(error(k)-2error(k-1)+error(k-2)(1-1)
式中,kp、ki、kd分別為比例、積分、微分系數(shù)。
在BP網(wǎng)絡(luò)結(jié)構(gòu)圖2中,網(wǎng)絡(luò)輸入層的輸入為
O(1)j=x(j),j=1,2,…,M
式中,輸入變量的個(gè)數(shù)取決于被控系統(tǒng)的復(fù)雜程度。
網(wǎng)絡(luò)隱含層的輸入、輸出為
net(2)i(k)=∑Mj=1w(2)ijO(1)j
O(2)i(k)=F(net(2)i(k)) (i=1,…,Q)(1-2)
式中,w(2)ij:隱含層加權(quán)系數(shù);上角標(biāo)(1)、(2)、(3)分別代表輸入層、隱含層和輸出層。
隱含層神經(jīng)元的激勵(lì)函數(shù)取正負(fù)對(duì)稱的Sigmoid函數(shù)。
網(wǎng)絡(luò)輸出層的輸入輸出為
net(3)l(k)=∑Qi=1w(3)liO(2)i(k)
O(3)l(k)=g(net(3)l(k)) (l=1,2,3)
輸出層輸出節(jié)點(diǎn)分別對(duì)應(yīng)三個(gè)可調(diào)參數(shù)kp、ki、kd。由于kp、ki、kd不能為負(fù)值,所以這里輸出層神經(jīng)元的活化函數(shù)取非負(fù)的Sigmoid函數(shù):
取性能指標(biāo)函數(shù)為E(k)=12(rin(k)-yout(k))2
按照梯度下降法修正網(wǎng)絡(luò)的權(quán)系數(shù),并附加一個(gè)使搜索快速收斂全局極小的慣性項(xiàng)
Δw(3)li(k)=-ηE(k)w(3)li+αΔw(3)li(k)
式中,η為學(xué)習(xí)速率;α為慣性系數(shù)。
E(k)w(3)li=E(k)w(k)#8226;y(k)u(k)#8226;u(k)O(3)l(k)#8226;O(3)1(k)net(3)l(k)#8226;net(3)l(k)w(3)li
net(3)l(k)w(3)li(k)=O(2)i(k)
(1-3)
由于y(k)u(k)未知,所以近似用符合函數(shù)sgny(k)u(k)
取代,由此帶來計(jì)算不精確的影響可以通過調(diào)整學(xué)習(xí)速率η來補(bǔ)償。
上述分析可得網(wǎng)絡(luò)輸出層權(quán)的學(xué)習(xí)算法為
Δw(3)li(k)=αΔw(3)li(k-1)+ηδ(3)lO(2)i(k)
δ(3)l=error(k)sng(y(k)u(k))y(k)O(3)l(k)g(net(3)l(k))(1-4)
(l=1,2,3)
同理可得隱含層加權(quán)系數(shù)的學(xué)習(xí)算法。式中:為動(dòng)量系數(shù),值越大則權(quán)系數(shù)調(diào)整的慣性越大,使調(diào)節(jié)盡快脫離飽和區(qū)。
Δw(2)ij(k)=αΔw(2)ij(k-1)+ηδ(2)iO(1)j(k)
δ(2)i=f′(net(2)i(k))∑3l=1δ(3)lw(3)li(k)
(i=1,2,…,Q)(1-5)
在學(xué)習(xí)程序設(shè)計(jì)的過程中,NNP輸入神經(jīng)元個(gè)數(shù)為4,取最大訓(xùn)練步數(shù)max_epoch=10000,目標(biāo)誤差err_goal=0.002,初始學(xué)習(xí)速率值lr=0.02,遞增乘因子lr_inc=1.05, 遞減乘因子lr_dec=0.7,誤差速率err_ratio=1.04,應(yīng)用trainbpa函數(shù)進(jìn)行神經(jīng)權(quán)系數(shù)學(xué)習(xí)。NNP隱含層神經(jīng)元個(gè)數(shù)用試探法確定。取不同隱層神經(jīng)元數(shù)并多次訓(xùn)練,根據(jù)學(xué)習(xí)時(shí)間比較,可確定NNP的隱層神經(jīng)元個(gè)數(shù)為5,最后確定本文的BP網(wǎng)絡(luò)為4-5-3結(jié)構(gòu)。
2 仿真實(shí)驗(yàn)結(jié)果分析
經(jīng)研究分析,現(xiàn)有的工業(yè)容器液位模型的數(shù)學(xué)模型為5.59(s+29.5)(s+0.41)e-τs,這里以液位模型滯后時(shí)間增大的情況為例(模型的實(shí)際滯后時(shí)間τ由0.3~0.35min變化,可寫成0.3+0.05×(1-exp(-0.02×k))的形式),采用MATLAB工具進(jìn)行了仿真實(shí)驗(yàn),仿真結(jié)果如圖3所示:
圖3(a)仿真結(jié)果
圖3(b)kp、ki、kd變化
分析仿真結(jié)果發(fā)現(xiàn)引入灰色預(yù)測(cè)控制可以做到超前預(yù)測(cè),解決了對(duì)象的純滯后問題;引入神經(jīng)網(wǎng)絡(luò)控制器后,即使模型是時(shí)變的,但神經(jīng)網(wǎng)絡(luò)能夠在線自適應(yīng)調(diào)節(jié)PID控制器的三個(gè)參數(shù)kp、ki、kd,使控制效果較好。
3 液位過程控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
對(duì)于一種算法的有效性,僅在理論上進(jìn)行仿真研究是遠(yuǎn)遠(yuǎn)不夠的,需要在實(shí)際設(shè)備上進(jìn)行驗(yàn)證。EFPT-1B型復(fù)雜過程控制實(shí)驗(yàn)裝置是一種很好的過程控制實(shí)驗(yàn)裝置,可很好地模擬多種工業(yè)過程的液位控制,因此該設(shè)備適合驗(yàn)證本文提出的算法。
本文是采用xPC技術(shù)來實(shí)現(xiàn)的,xPC是MATLAB軟件中基于Simulink/RTW(RTW是Real-Time Workshop的縮寫,即“實(shí)時(shí)工作室”)的一種用以生成實(shí)時(shí)控制程序的技術(shù),它能夠?qū)⒃赟imulink中搭建的仿真算法框圖直接轉(zhuǎn)換成C語言代碼,編譯生成實(shí)時(shí)控制程序,并在由MATLAB提供的一種32位保護(hù)模式的實(shí)時(shí)操作系統(tǒng)內(nèi)核中運(yùn)行,從根本上解決了控制算法有效性的驗(yàn)證、控制參數(shù)的調(diào)整問題,因而有很高的實(shí)時(shí)性和執(zhí)行效率,是一種控制算法研究的良好平臺(tái)[5]。它工作于一種叫做宿主機(jī)-目標(biāo)機(jī)的“雙機(jī)模式”,其中宿主機(jī)就是運(yùn)行MATLAB實(shí)時(shí)開發(fā)環(huán)境的計(jì)算機(jī),而目標(biāo)機(jī)則是運(yùn)行實(shí)時(shí)操作系統(tǒng)內(nèi)核和應(yīng)用程序的計(jì)算機(jī)。宿主機(jī)與目標(biāo)機(jī)通過RS232串行接口或以太網(wǎng)卡建立通信連接。
圖4 實(shí)時(shí)液位控制曲線
最后在目標(biāo)機(jī)上,得到實(shí)時(shí)控制曲線,如圖4所示。經(jīng)分析研究可見本文所采用的算法有較好的控制效果,具有超調(diào)量較小,控制精度較高,幾乎可實(shí)現(xiàn)無誤差跟蹤等特點(diǎn),證實(shí)了本文的預(yù)測(cè)算法的有效性。
4 結(jié)論
本文針對(duì)工業(yè)過程容器的液位對(duì)象具有純滯后和模型時(shí)變而難以控制的特點(diǎn),依據(jù)BP神經(jīng)網(wǎng)絡(luò)具有的任意逼近非線性函數(shù)的能力,提出了將神經(jīng)網(wǎng)絡(luò)與具有超前預(yù)測(cè)功能的灰色預(yù)測(cè)控制相結(jié)合的控制方案,以克服模型時(shí)變和純滯后帶來的不利影響。仿真結(jié)果表明本文提出的算法是一種較好的控制器,能克服工業(yè)模型時(shí)變和滯后帶來的不利影響,是適用于多種不同系統(tǒng)的一種通用自適應(yīng)控制器。最后采用xPC技術(shù)在實(shí)際設(shè)備上進(jìn)行了算法的驗(yàn)證,取得了滿意的控制效果。本文需進(jìn)一步深入的問題是需進(jìn)一步改進(jìn)BP算法以提高其學(xué)習(xí)速度以及克服陷入局部最小問題。
參考文獻(xiàn)
[1] Maries M Polycarpou. Stable Adaptive Neural Control Scheme for Nonlinear Systems[J]. IEEE Trans. Automatic Control,1996,41(3):447-451.
[2]B young S Kim Anthony J Calise.Nonlinear Flight Control Using Neural Networks [J].J.Guidance,Control and Dynamics, 1997,20(1):26-33.
[3]鄧聚龍.灰色系統(tǒng)理論教程[M].武漢:華中理工大學(xué)出版社,1990.
[4]何玉彬,李新忠.神經(jīng)網(wǎng)絡(luò)控制技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2000:3-6.
[5]魯建梁,張廣福.PID智能模糊自整定控制器在SG水位控制中的應(yīng)用[J].船海工程,2007(4):128-131.