資源描述:
《基于bp神經(jīng)網(wǎng)絡(luò)的自整定pid控制仿真》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、基于BP神經(jīng)網(wǎng)絡(luò)的自整定PID控制仿真一、實(shí)驗(yàn)?zāi)康?.熟悉神經(jīng)網(wǎng)絡(luò)的特征、結(jié)構(gòu)及學(xué)習(xí)算法。2.通過(guò)實(shí)驗(yàn)掌握神經(jīng)網(wǎng)絡(luò)自整定PID的工作原理。3.了解神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)對(duì)控制效果的影響。4.掌握用Matlab實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)仿真的方法。二、實(shí)驗(yàn)設(shè)備及條件1.計(jì)算機(jī)系統(tǒng)2.Matlab仿真軟件三、實(shí)驗(yàn)原理在工業(yè)控制中,PID控制是工業(yè)控制中最常用的方法。這是因?yàn)镻ID控制器結(jié)構(gòu)簡(jiǎn)單,實(shí)現(xiàn)簡(jiǎn)單,控制效果良好,已得到廣泛應(yīng)用。但是,PID具有一定的局限性:被控制對(duì)象參數(shù)隨時(shí)間變化時(shí),控制器的參數(shù)難以自動(dòng)調(diào)整以適應(yīng)外界環(huán)境的變化。為了使控制器具有較好的自適應(yīng)性,實(shí)現(xiàn)控制器參數(shù)的自動(dòng)調(diào)整,
2、可以采用神經(jīng)網(wǎng)絡(luò)控制的方法。利用神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)這一特性,并結(jié)合傳統(tǒng)的PID控制理論,構(gòu)造神經(jīng)網(wǎng)絡(luò)PID控制器,實(shí)現(xiàn)控制器參數(shù)的自動(dòng)調(diào)整?;贐P神經(jīng)網(wǎng)絡(luò)的PID控制器結(jié)構(gòu)如圖4所示??刂破饔蓛刹糠纸M成:一是常規(guī)PID控制器,用以直接對(duì)對(duì)象進(jìn)行閉環(huán)控制,且3個(gè)參數(shù)在線整定;二是神經(jīng)網(wǎng)絡(luò)NN,根據(jù)系統(tǒng)的運(yùn)行狀態(tài),學(xué)習(xí)調(diào)整權(quán)系數(shù),從而調(diào)整PID參數(shù),達(dá)到某種性能指標(biāo)的最優(yōu)化。圖4中神經(jīng)網(wǎng)絡(luò)采用結(jié)構(gòu)為4-5-3型的BP網(wǎng)絡(luò)。BP網(wǎng)絡(luò)是一種單向傳播的多層前向網(wǎng)絡(luò)。輸入節(jié)點(diǎn)對(duì)應(yīng)系統(tǒng)的運(yùn)行狀態(tài)量,如系統(tǒng)的偏差與偏差變化率,必要時(shí)要進(jìn)行歸一化處理。輸入變量的個(gè)數(shù)取決于被控系統(tǒng)的復(fù)雜程度,輸
3、出節(jié)點(diǎn)對(duì)應(yīng)的是PID的3個(gè)可調(diào)參數(shù)。由于輸出不能為負(fù),所以輸出層活化函數(shù)取非負(fù)的Sigmoid函數(shù),隱含層取正負(fù)對(duì)稱的Sigmoid函數(shù)。本系統(tǒng)選取的BP網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程由正向和反向傳播兩部分組成。如果輸出層不能得到期望輸出,那么轉(zhuǎn)入反向傳播過(guò)程,通過(guò)修改各層神經(jīng)元的權(quán)值,使得誤差信號(hào)最小。輸出層節(jié)點(diǎn)分別對(duì)應(yīng)3個(gè)可調(diào)參數(shù)Kp、Ki、Kd。取性能指標(biāo)函數(shù)為按照梯度下降法修正網(wǎng)絡(luò)的權(quán)系數(shù),即按E(k)對(duì)加權(quán)系數(shù)的負(fù)梯度方向搜索調(diào)整,并附加一使快速收斂全局極小的慣性項(xiàng)式中,η為學(xué)習(xí)速率;α為慣性系數(shù)。又其中,u(k)為控制器在k時(shí)刻的輸出;為輸出層各節(jié)點(diǎn)的輸出,,
4、,;為輸出層各節(jié)點(diǎn)的輸入。若采用增量式數(shù)字PID控制算法,則有四、實(shí)驗(yàn)步驟(1)被控對(duì)象為一時(shí)變非線性對(duì)象,數(shù)學(xué)模型可表示為式中系數(shù)a(k)是慢時(shí)變的,。(2)如圖5所示確定BP網(wǎng)絡(luò)的結(jié)構(gòu),選4-5-3型的BP網(wǎng)絡(luò),各層加權(quán)系數(shù)的初值取區(qū)間[-0.5,0.5]上的隨機(jī)數(shù),選定學(xué)習(xí)速率η=0.25和慣性系數(shù)α=0.05。(3)在Matlab下依據(jù)整定原理編寫(xiě)仿真程序并調(diào)試。(4)給定輸入為階躍信號(hào),運(yùn)行程序,記錄實(shí)驗(yàn)數(shù)據(jù)和控制曲線。(5)修改神經(jīng)網(wǎng)絡(luò)參數(shù),如學(xué)習(xí)速率、隱含層神經(jīng)元個(gè)數(shù)等,重復(fù)步驟(4)。(6)分析數(shù)據(jù)和控制曲線。五、實(shí)驗(yàn)結(jié)果1.實(shí)驗(yàn)代碼xite=0.25;alf
5、a=0.02;IN=4;H=10;Out=3;wi=[0.4634-0.41730.31900.45630.18390.32010.11120.3395-0.31820.04700.0850-0.0722-0.62660.08460.3751-0.6900-0.32240.1440-0.2783-0.0193-0.0232-0.09920.26360.2011-0.4502-0.29280.0062-0.5640-0.1975-0.13320.19810.04220.05210.0673-0.5546-0.4830-0.6016-0.40970.0338-0.1503];wi
6、_1=wi;wi_2=wi;wi_3=wi;wo=[-0.16200.36740.1959-0.0337-0.1563-0.14540.08980.72390.76050.33490.76830.47140.02150.58960.7143-0.09140.46660.07710.42700.24360.70260.02150.44000.11210.25660.24860.48570.01980.49700.6450]';wo_1=wo;wo_2=wo;wo_3=wo;x=[0,0,0];u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y
7、_3=0;oh=zeros(H,1);I=oh;error_2=0;error_1=0;ts=0.001;fork=1:1:6000time(k)=k*ts;rin(k)=1;a(k)=1.2*(1-0.8*exp(-0.1*k));yout(k)=a(k)*y_1/(1+y_1^2)+u_1;error(k)=rin(k)-yout(k);xi=[rin(k),yout(k),error(k),1];x(1)=error(k)-error_1;x(2)=error(k);x(3)=error(k)-2