摘 要:為了解決傳統(tǒng)PID控制器對(duì)時(shí)變系統(tǒng)控制能力不強(qiáng)的弱點(diǎn)。利用神經(jīng)網(wǎng)絡(luò)理論與傳統(tǒng)PID控制理論相結(jié)合。設(shè)計(jì)了一種基于神經(jīng)網(wǎng)絡(luò)的增量PID控制器,實(shí)現(xiàn)PID參數(shù)的在線自整定。通過(guò)實(shí)例仿真試驗(yàn)比較,這種控制器比傳統(tǒng)的PID具有較強(qiáng)的適應(yīng)性,可以獲得滿意的控制效果。關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò); PID; Matlab; 在線自整定
中圖分類號(hào):TN919-34; TP274 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)18-0121-03
Research on Incremental PID Algorithm and Simulation Based on Neural Network
WANG Jun-qin
(Department of Mechanical and Electronic Engineering, Xi’an University of Arts and Science, Xi’an 710065, China)
Abstract: To resolve the shortages of traditional PID controller which is not strong enough to control the time-varying system, an incremental PID controller based on neural network is designed to realize the online self-tuning of PID parameters in combination with the neural network theory and traditional PID control theory. The result of experiment simulation shows that the controller has better adaptability than the traditional PID controller and can obtain the satisfactory control effect. Keywords: neural network; PID; Matlab; online self-tuning
傳統(tǒng)的PID 控制器算法簡(jiǎn)單,結(jié)構(gòu)上易于實(shí)現(xiàn),被廣泛應(yīng)用在工業(yè)過(guò)程控制領(lǐng)域[1],但是在實(shí)際應(yīng)用中往往具有非線性、時(shí)變不確定性,導(dǎo)致PID控制參數(shù)難以整定以達(dá)到最佳控制要求。BP神經(jīng)網(wǎng)絡(luò)具有較好的在線檢測(cè)能力[2],將PID控制和BP神經(jīng)網(wǎng)絡(luò)相結(jié)合通過(guò)加權(quán)系數(shù)調(diào)整,可以實(shí)現(xiàn)PID參數(shù)的自學(xué)習(xí)過(guò)程[3],從而達(dá)到滿意的控制效果[4]。
1 基于神經(jīng)網(wǎng)絡(luò)的PID控制
PID控制要取得好的控制效果,就必須通過(guò)調(diào)整好比例、積分和微分三種控制作用的關(guān)系,這種關(guān)系不一定是簡(jiǎn)單的“線性組合”,而是從變化無(wú)窮的非線性組合中找出最佳的關(guān)系。BP神經(jīng)網(wǎng)絡(luò)具有逼近任意非線性函數(shù)的能力,而且結(jié)構(gòu)和學(xué)習(xí)算法簡(jiǎn)單明確。通過(guò)網(wǎng)絡(luò)自身的學(xué)習(xí),可以找到某一最優(yōu)控制規(guī)律下的PID參數(shù)[4]。
1.1 常規(guī)PID控制器
傳統(tǒng)的PID控制器算式如下:
PID控制器的輸入/輸出關(guān)系式為:
u(t)=KPe(t)+1TI∫t0e(t)dt+TDde(t)/dt
式中:u(t)為控制器的輸出;e(t)為誤差信號(hào); KP為比例系數(shù);TI為積分時(shí)間常數(shù);TD為微分時(shí)間常數(shù)。
假設(shè)采樣周期為T(mén)S,系統(tǒng)開(kāi)始運(yùn)行的時(shí)刻為t=0,用矩形積分來(lái)近似精確積分,用差分近似精確微分,將上式離散化,第k次采樣時(shí)控制器的輸出為[5]:
u(k)=KPe(k)+KI∑nj=1e(j)+KD[e(k)-e(k-1)]
式中:e(k-1)為第k-1次采樣時(shí)的誤差值;KI為積分系數(shù);KD為微分系數(shù)。
1.2 單神經(jīng)元的結(jié)構(gòu)[6]
圖1中輸入層有n個(gè)神經(jīng)元節(jié)點(diǎn),這些節(jié)點(diǎn)只負(fù)責(zé)引入外部信息,自身無(wú)信息處理能力,每個(gè)節(jié)點(diǎn)接收一個(gè)輸入信號(hào),n個(gè)輸入信號(hào)構(gòu)成輸入列向量X。輸出層有m個(gè)神經(jīng)元節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)均具有信息處理能力,m個(gè)節(jié)點(diǎn)向外部處理信息。構(gòu)成輸出列向量O。兩層之間的連接權(quán)值用權(quán)值列向量Wj表示,m個(gè)權(quán)向量構(gòu)成單神經(jīng)元的權(quán)值矩陣W。3個(gè)列向量分別表示為:
O=(o1,o2,…,oi,…,om)T,X=(x1,x2,…,xi,…,xn)T
Wj=(w1j,w2j,…,wij,…,wnj)T,j=1,2,…,m
由神經(jīng)元數(shù)學(xué)模型知,對(duì)于處理層中任一節(jié)點(diǎn),其凈輸入netj為來(lái)自輸入層各節(jié)點(diǎn)的輸入加權(quán)和:
netj=∑ni=1wijxi
1.3 神經(jīng)網(wǎng)絡(luò)PID控制器
在此提出一種單神經(jīng)元的增量PID控制方案,采用圖2所示3輸入單輸出神經(jīng)元增量式PID閉環(huán)控制結(jié)構(gòu)[7]。
圖1 單神經(jīng)元拓?fù)浣Y(jié)構(gòu)
圖2 單神經(jīng)元PID控制系統(tǒng)結(jié)構(gòu)圖
轉(zhuǎn)換器的輸入是給定值Yr(t) 和輸出Y(t) ,轉(zhuǎn)換器的輸出X1(k),X2(k),X3(k)是神經(jīng)元學(xué)習(xí)所需的3個(gè)參量。3輸入單輸出神經(jīng)元增量式PID控制器的輸入輸出之間滿足如下關(guān)系[8-9]:
X1(k)=Yr(k)-Y(k)=E(k), X2(k)=
E(k)-E(k-1)=ΔE(k),
X3(k)=[E(k)-E(k-1)]-[E(k-1)-E(k-2)]
=E(k)-2E(k-1)+E(k-2),
U(k)=U(k-1)+∑3i=1Wi(k)*Xi(k)
式中:Wi(k) 是對(duì)應(yīng)于Xi(k) 的加權(quán)系數(shù)。單神經(jīng)元PID控制器正是通過(guò)對(duì)加權(quán)系數(shù)的調(diào)整來(lái)實(shí)現(xiàn)自適應(yīng)、自學(xué)習(xí)功能的。
采用有教師監(jiān)督的法則δ學(xué)習(xí)規(guī)則[8],并且比例(P),積分(I),微分(D)分別采用不同的學(xué)習(xí)速率ηP,ηI,ηD,加權(quán)系數(shù)學(xué)習(xí)算法如下:
W1(k+1)=W1(k)+ηPE(k)E(k),
W2(k+1)=W2(k)-ηIE(k)∑ki=0E(i),
W3(k+1)=W3(k)+ηDE(k)ΔE(k)
將加權(quán)系數(shù)代入增量式PID控制器的控制規(guī)律,則有:
U(k)=U(k-1)+W1(k)#8226;
X2(k)+TW2(k)*X1(k)+W3(k)T*X3(k)
式中:T是采樣周期。
從上式可得:
ΔU(k)=KPX1(k)+KIX2(k)+KDX3(k)
對(duì)照以上兩式可看出,PID控制器的3個(gè)參數(shù)實(shí)現(xiàn)了在線自整定。
1.4 神經(jīng)網(wǎng)絡(luò)PID控制器的控制算法[10]
(1) 確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),即確定輸入節(jié)點(diǎn)數(shù)和隱含層節(jié)點(diǎn)數(shù),并給出權(quán)系數(shù)初值,選定學(xué)習(xí)速率和慣性系數(shù),此時(shí)k=1;
(2) 采樣得到r(k)和y(k),計(jì)算誤差為e(k)=r(k)-y(k);
(3) 計(jì)算各神經(jīng)網(wǎng)絡(luò)的輸入/輸出,其輸出層的輸出即為PID控制器的3個(gè)控制參數(shù)KP,KI,KD;
(4) 計(jì)算PID控制器的輸出;
(5) 進(jìn)行神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),在線調(diào)整加權(quán)系數(shù),實(shí)現(xiàn)PID控制參數(shù)的自適應(yīng)調(diào)整;
(6) 令k=k+1,返回步驟(1)。
2 神經(jīng)網(wǎng)絡(luò)Matlab仿真
對(duì)于被控對(duì)象:
G(s)=35s(0.2s+1)(0.01s+1)(0.005s+1)
輸入信號(hào)為階躍信號(hào),控制系統(tǒng)經(jīng)傳統(tǒng)方法整定的PID參數(shù)KP=3,KI=10,KD=0.2。系統(tǒng)輸出見(jiàn)圖3。
圖3 PID控制輸出曲線
利用神經(jīng)網(wǎng)絡(luò)增量PID方法選取比例、積分、微分項(xiàng)的初始系數(shù)值為W1=W2=W3=1,學(xué)習(xí)速率ηP=0.01,ηI=1,ηD=0.001,通過(guò)編寫(xiě)具有自學(xué)習(xí)自適應(yīng)能力的軟件程序所得輸出曲線如圖4所示。
圖4 神經(jīng)網(wǎng)絡(luò)PID控制輸出曲線
PID 三參數(shù)在線整定曲線如圖5所示。比較可得后一種方法所得曲線有較好的控制品質(zhì)。
圖5 PID 三參數(shù)在線整定曲線
3 結(jié) 語(yǔ)
理論分析和仿真結(jié)果表明,通過(guò)研究所提出的神經(jīng)網(wǎng)絡(luò)增量PID控制器控制精度高,較傳統(tǒng)的PID控制具有更好的控制品質(zhì)。
參考文獻(xiàn)
[1]劉金琨.先進(jìn)PID控制及Matlab仿真[M].北京:電子工業(yè)出版社,2003.
[2]韓豫萍,孫濤,盛新.基于BP神經(jīng)網(wǎng)絡(luò)的PID控制及仿真[J].可編程控制器與工廠自動(dòng)化,2007(12):91-93.
[3]謝英.基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器及其Matlab仿真[J].中國(guó)新技術(shù)新產(chǎn)品,2009(10):13-15.
[4]馬玲玲,鄭賓,馬圓圓.基于神經(jīng)網(wǎng)絡(luò)PID智能復(fù)合控制方法研究[J].計(jì)量與測(cè)試技術(shù),2009,36(3):17-19.
[5]張科,靖固.利用FPGA的增量式PID控制的研究[J].現(xiàn)代制造工程,2009(3):112-114.
[6]韓力群.智能控制理論及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2007.
[7]祝軒,侯榆青,彭進(jìn)業(yè),等.基于單神經(jīng)元PID控制器的閉環(huán)控制系統(tǒng)[J].西北大學(xué)學(xué)報(bào):自然科學(xué)版,2004,34(4):413-417.
[8]馮勇.現(xiàn)代計(jì)算機(jī)控制系統(tǒng)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1996.
[9]MARTIN T H,HOWARD B D,MARK H B. Neural network design[M].北京:機(jī)械工業(yè)出版社,2002.
[10]吳偉,晏夢(mèng)云,魏航信.基于神經(jīng)網(wǎng)絡(luò)的PID控制及其仿真[J].現(xiàn)代電子技術(shù),2009,32(10):142-145.