資源描述:
《基于bp神經(jīng)網(wǎng)絡(luò)的自整定pid控制仿真》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、基于BP神經(jīng)網(wǎng)絡(luò)的自整定PID控制仿真實(shí)驗(yàn)六基于BP神經(jīng)網(wǎng)絡(luò)的自整定PID控制仿真一、目的????1.熟悉神經(jīng)網(wǎng)絡(luò)的特征、結(jié)構(gòu)以及學(xué)習(xí)算法????2.掌握神經(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è)備及條件????計(jì)算機(jī)系統(tǒng)????Matlab仿真軟件三、問(wèn)題背景????在工業(yè)控制中,PID控制是工業(yè)控制中最常用的方法。這是因?yàn)镻ID控制器結(jié)構(gòu)簡(jiǎn)單、實(shí)現(xiàn)簡(jiǎn)單,控制效果良好,已得到廣泛應(yīng)用。但是,PID
2、具有一定的局限性:被控制對(duì)象參數(shù)隨時(shí)間變化時(shí),控制器的參數(shù)難以自動(dòng)調(diào)整以適應(yīng)外界環(huán)境的變化。為了使控制器具有較好的自適應(yīng)性,實(shí)現(xiàn)控制器參數(shù)的自動(dòng)調(diào)整,可以采用神經(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)整。????基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器結(jié)構(gòu)如圖1所示。控制器由兩部分組成:一是常規(guī)PID控制器,用以直接對(duì)對(duì)象進(jìn)行閉環(huán)控制,且三個(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
3、參數(shù),達(dá)到某種性能指標(biāo)的最優(yōu)化。圖1基于神經(jīng)網(wǎng)絡(luò)的PID控制器結(jié)構(gòu)四、基于BP神經(jīng)網(wǎng)絡(luò)的PID設(shè)計(jì)1設(shè)計(jì)原理??神經(jīng)網(wǎng)絡(luò)采用結(jié)構(gòu)為4-5-3型的BP網(wǎng)絡(luò),如圖2。圖2BP網(wǎng)絡(luò)結(jié)構(gòu)其中,輸出層激勵(lì)函數(shù)取非負(fù)的Sigmoid函數(shù),隱層取正負(fù)對(duì)稱的Sigmoid函數(shù)。被控對(duì)象為一時(shí)變非線性對(duì)象,數(shù)學(xué)模型可表示為:????????式中,系數(shù)a(k)是慢時(shí)變的,。為保證控制器有一定的動(dòng)態(tài)跟蹤能力,選定神經(jīng)網(wǎng)絡(luò)的輸入層輸入為網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程由正向和反向傳播兩部分組成。如果輸出層不能得到期望輸出,那么轉(zhuǎn)入反向傳播過(guò)
4、程,通過(guò)修改各層神經(jīng)元的權(quán)值,使得輸出誤差信號(hào)最小。????輸出層節(jié)點(diǎn)分別對(duì)應(yīng)三個(gè)可調(diào)參數(shù)????取性能指標(biāo)函數(shù)為:設(shè)其中若PID控制器采用采用增量式數(shù)字PID控制算法,則有2.網(wǎng)絡(luò)權(quán)系數(shù)調(diào)整網(wǎng)絡(luò)權(quán)系數(shù)的修正采用梯度下降法。根據(jù)相關(guān)數(shù)學(xué)知識(shí),針對(duì)指定因變量的梯度代表了使因變量增速最大的自變量變化方向,故而其反方向代表了因變量下降最快的自變量變化方向,如果我們選取性能指標(biāo)為因變量,網(wǎng)絡(luò)各層權(quán)系數(shù)為自變量,則對(duì)應(yīng)梯度的負(fù)方向就是權(quán)系數(shù)調(diào)整的最佳方向,因此,實(shí)際上構(gòu)成了一個(gè)有目標(biāo)的搜索算法,對(duì)最終結(jié)果的收
5、斂性提供了有力的保證。對(duì)應(yīng)于本題采用的4-5-3型的BP網(wǎng)絡(luò),梯度負(fù)方向的計(jì)算:(1)隱含層-輸出層:其中:為指標(biāo)函數(shù)為隱含層-輸出層權(quán)系數(shù)矩陣元素為被控對(duì)象輸出為PID控制器輸出為輸出層輸出為輸出層輸入根據(jù)所選用神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型,易知:其中:為隱含層輸出,,為輸出層激勵(lì)函數(shù),為其偏導(dǎo)數(shù)。另外,直接的數(shù)學(xué)表達(dá)不容易獲得,但我們可以使用它的符號(hào)函數(shù)來(lái)近似,仍可以保證參數(shù)修正方向的正確性,而由此造成其模的誤差只影響參數(shù)調(diào)整的速度,它可以通過(guò)調(diào)整學(xué)習(xí)速率來(lái)得以補(bǔ)償。故而最終有:(1)輸入層-隱含層:其中
6、:,為輸出層激勵(lì)函數(shù),為其偏導(dǎo)數(shù)。故而最終有:(2)網(wǎng)絡(luò)權(quán)值修正量梯度的負(fù)方向給出了網(wǎng)絡(luò)權(quán)值修正的方向,乘以系數(shù),即為權(quán)值修正量。其中代表了算法每次在梯度負(fù)方向搜索的步長(zhǎng),稱為網(wǎng)絡(luò)的學(xué)習(xí)速率,另外,如果考慮上次權(quán)值對(duì)本次權(quán)值變化的影響,需要加入動(dòng)量(平滑)因子,此時(shí)新的權(quán)值為:3.程序流程步驟1:設(shè)定初始狀態(tài)和參數(shù)初始值,包括隨機(jī)產(chǎn)生初始BP神經(jīng)網(wǎng)絡(luò)權(quán)值系數(shù),設(shè)定初始輸入輸出值為零,設(shè)定學(xué)習(xí)速率和慣性系數(shù),計(jì)數(shù)器設(shè)為k=1,并設(shè)定計(jì)數(shù)上限等。步驟2:計(jì)算產(chǎn)生BP神經(jīng)網(wǎng)絡(luò)隱含層輸入。本程序?yàn)椴蓸荧@得e
7、(k),并結(jié)合儲(chǔ)存的e(k-1),e(k-2),及常數(shù)1作為隱含層輸入。前兩次的e(k-1),e(k-2)并未真實(shí)產(chǎn)生直接取0.步驟3:前向傳播計(jì)算。包括:(1)BP神經(jīng)網(wǎng)絡(luò)前向傳播計(jì)算,得到輸出層輸出,,.;(2)增量式PID控制器計(jì)算控制器輸出;(3)被控對(duì)象模型計(jì)算輸出值步驟4:反向傳播計(jì)算。包括:(1)修正輸出層的權(quán)系數(shù);(2)修正隱含層的權(quán)系數(shù);步驟5:參數(shù)更新步驟6:如果k達(dá)到設(shè)定的次數(shù)上限,則結(jié)束;否則,k=k+1,并返回步驟2.總的程序流程圖如下:圖3程序流程圖五、仿真程序及分析學(xué)習(xí)
8、速率取0.25,平滑因子取0.05。經(jīng)過(guò)多次運(yùn)行,最終得到一個(gè)較好的結(jié)果,并將此結(jié)果的穩(wěn)態(tài)權(quán)重作為初始權(quán)重。在調(diào)試中發(fā)現(xiàn),即使稍微改變學(xué)習(xí)速率和平滑因子,還是需要經(jīng)過(guò)多次運(yùn)行,才能得到一個(gè)較好的結(jié)果。如果用得到的較好結(jié)果的穩(wěn)態(tài)權(quán)重作為初始權(quán)值,學(xué)習(xí)速率和平滑因子的取值可以更加隨意。(1)輸入為階躍信號(hào)(2)輸入為正弦信號(hào)程序代碼:%%基于BP神經(jīng)網(wǎng)絡(luò)的自整定PID控制仿真clearall;closeall;xite=0.25;%學(xué)習(xí)速率alfa=0.05;%平滑因子S