基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器及仿真
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1. 引言
PID(比例-積分-微分)控制器作為最早實(shí)用化的控制器已有50多年歷史,因其具有算法簡(jiǎn)單、魯棒性好、可靠性高、直觀性好等優(yōu)點(diǎn)被廣泛的應(yīng)用于工業(yè)過(guò)程控制及運(yùn)動(dòng)控制中[1]。常規(guī)PID控制效果的優(yōu)劣,不僅僅取決于控制系統(tǒng)模型的精確程度,還必須調(diào)整好三個(gè)參數(shù)的關(guān)系,而這種關(guān)系不一定是簡(jiǎn)單的線性組合。實(shí)際的工業(yè)過(guò)程及運(yùn)動(dòng)過(guò)程往往具有時(shí)變性、變參數(shù)、變結(jié)構(gòu)等不確定性及很強(qiáng)的非線性,精確的數(shù)學(xué)模型難以建立,此外,常規(guī)PID還有實(shí)現(xiàn)在線調(diào)整困難,參數(shù)間相互影響,參數(shù)整定時(shí)間長(zhǎng)等缺點(diǎn),難以取得理想的控制效果。
隨著控制理論的發(fā)展,將應(yīng)用廣泛的PID控制器與智能控制理論相結(jié)合[2]成為智能控制研究的新方向,神經(jīng)網(wǎng)絡(luò)算法具有逼近任意非線性表達(dá)能力,很強(qiáng)的自學(xué)習(xí)能力和概括推廣能力,在解決高度非線性和不確定系統(tǒng)方面有很大的的潛能,應(yīng)用神經(jīng)網(wǎng)絡(luò),可以從復(fù)雜的PID三個(gè)參數(shù)組合中尋求最佳的線性組合,使神經(jīng)網(wǎng)絡(luò)和PID本質(zhì)結(jié)合。從而使得控制器具有較好的自適應(yīng)性,實(shí)現(xiàn)參數(shù)的自動(dòng)實(shí)時(shí)調(diào)節(jié),適應(yīng)過(guò)程的變化,提高系統(tǒng)了的魯棒性和可靠性。
2. BP神經(jīng)網(wǎng)絡(luò)
2.1 BP神經(jīng)網(wǎng)絡(luò)的構(gòu)成及設(shè)計(jì)[3]
BP神經(jīng)網(wǎng)絡(luò)是一種具有三層或三層以上的神經(jīng)網(wǎng)絡(luò),包括輸入層、隱含層、輸出層,上下層之間實(shí)現(xiàn)全連接,而每層神經(jīng)元之間無(wú)連接。當(dāng)一對(duì)學(xué)習(xí)樣本提供給網(wǎng)絡(luò)后,神經(jīng)元的激活值從輸入層經(jīng)各中間層向輸出層傳播,在輸出層的各神經(jīng)元獲得網(wǎng)絡(luò)的輸入響應(yīng)。接下來(lái),按照減少目標(biāo)輸出與實(shí)際誤差的方向,從輸出層經(jīng)過(guò)各中間層逐層修正各連接權(quán)值,最后回到輸入層,這種算法即BP算法。隨著這種誤差逆的傳播修正不斷進(jìn)行,網(wǎng)絡(luò)對(duì)輸入模式響應(yīng)的正確率也不斷上升。
(1)輸入輸出層的設(shè)計(jì)
輸入層的設(shè)計(jì)可以根據(jù)需要求解的問(wèn)題和數(shù)據(jù)表示方式確定,若輸入信號(hào)為模擬波形,那么輸入層可以根據(jù)波形的采樣點(diǎn)數(shù)目撅腚輸入單元的維數(shù),也可以用一個(gè)單元輸入,這是輸入樣本為采樣的時(shí)間序列。輸出層的維數(shù)可以根據(jù)使用者的要求確定。如果BP網(wǎng)絡(luò)用作分類器,類別模式一共有m個(gè),那么輸出層神經(jīng)元的個(gè)數(shù)為m或者。
(2)隱層的設(shè)計(jì)
隱層單元的數(shù)目與問(wèn)題的要求、輸入/輸出單元的數(shù)目都有直接的關(guān)系,隱單元的數(shù)目太多會(huì)導(dǎo)致學(xué)習(xí)時(shí)間過(guò)長(zhǎng)、誤差不一定最佳,也會(huì)導(dǎo)致容錯(cuò)性差、不能識(shí)別以前沒(méi)有的樣本等等,因此,一定存在一個(gè)最佳的隱單元數(shù),通常用以下三個(gè)公式來(lái)選擇最佳隱單元數(shù):
1),其中k為樣本數(shù),n為輸入單元數(shù)。
2),其中m為輸出神經(jīng)元數(shù),n為輸入單元數(shù),a為[1,10]之間的常數(shù)。
3),其中n為輸入單元數(shù)。
2.2 典型神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
一個(gè)典型的三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
其中: 、 、…、 為 BP網(wǎng)絡(luò)的輸入; 、 、…、 為 BP網(wǎng)絡(luò)的輸出,對(duì)應(yīng)PID控制器的三個(gè)參數(shù);為輸層到隱含層的連接權(quán)值;為隱含層到輸出層的連接權(quán)值。通過(guò)神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)、加權(quán)系數(shù)的調(diào)整,使神經(jīng)網(wǎng)絡(luò)輸出對(duì)應(yīng)于某種最優(yōu)控制規(guī)律下的PID控制器參數(shù)。
圖一中各參數(shù)之間的關(guān)系[4]如下:
輸入層:
隱含層:
輸出層:
取性能指標(biāo)為:,按照梯度下降法修正網(wǎng)絡(luò)的權(quán)值,使最小,修正方法如下:
隱含層:
輸出層:
3. 神經(jīng)網(wǎng)絡(luò)PID控制器及控制算法
1、BP神經(jīng)網(wǎng)絡(luò)PID控制器結(jié)構(gòu)如下圖所示:
圖2 神經(jīng)網(wǎng)絡(luò)控制器結(jié)構(gòu)圖
由圖可知:控制器由兩部分組成,分別為常規(guī)PID控制和神經(jīng)網(wǎng)絡(luò),其中,常規(guī)PID直接對(duì)被控對(duì)象進(jìn)行閉環(huán)控制,并且其控制參數(shù)Kp、Ki、Kd為在線調(diào)整方式;神經(jīng)網(wǎng)絡(luò),根據(jù)系統(tǒng)的運(yùn)行狀態(tài),調(diào)節(jié)PID控制器的參數(shù),以期達(dá)到某種性能指標(biāo)的最優(yōu)化,使輸出層神經(jīng)元的輸出對(duì)應(yīng)于PID控制器的三個(gè)可調(diào)參數(shù)。通過(guò)神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)、加權(quán)系數(shù)的調(diào)整,使神經(jīng)網(wǎng)絡(luò)輸出對(duì)應(yīng)于某種最優(yōu)控制規(guī)律下的PID控制器參數(shù)。
2、控制算法
神經(jīng)網(wǎng)絡(luò)PID的控制算法[5]如下:
(1). 確定神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),即確定輸入節(jié)點(diǎn)數(shù)和隱含層節(jié)點(diǎn)數(shù),并給出各層加權(quán)系數(shù)的初值和,并選定學(xué)習(xí)速率 和慣性系數(shù) ,令k =1;
(2). 采樣得到r(k)和y(k),計(jì)算當(dāng)前時(shí)刻誤差error(k)= r(k)-y(k);
(3). 計(jì)算各神經(jīng)網(wǎng)絡(luò)的輸入、輸出,其輸出層的輸出即為PID控制器的三個(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)步。
4. 仿真實(shí)例
4.1 被控對(duì)象
設(shè)被控對(duì)象的近似數(shù)學(xué)模型為:,所選的輸入信號(hào)為一時(shí)變信號(hào):
神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)選擇4-5-3,學(xué)習(xí)速率為0.55,慣性系數(shù)為0.04,加權(quán)系數(shù)初始值為區(qū)間[-0.5,0.5]上的隨機(jī)數(shù),采樣頻率為1000Hz。
Matlab仿真結(jié)果如圖三所示:
圖3-1 輸入輸出曲線
圖3-2 誤差曲線
4.2 仿真結(jié)果分析
由仿真曲線可以看出,神經(jīng)網(wǎng)絡(luò)PID穩(wěn)態(tài)誤差小,解決了常規(guī)PID超調(diào),抖動(dòng)等問(wèn)題,控制精度高,實(shí)現(xiàn)了對(duì)控制信號(hào)幾乎相同的跟蹤,具有較好的快速性和適應(yīng)性。
5. 結(jié)語(yǔ)
神經(jīng)網(wǎng)絡(luò)PID控制器實(shí)現(xiàn)了兩種算法本質(zhì)的結(jié)合,借助于神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí),自組織能力,可實(shí)現(xiàn)PID參數(shù)的在線調(diào)整,控制器自適應(yīng)性好;該算法不要求被控對(duì)象有精確的數(shù)學(xué)模型,擴(kuò)大了應(yīng)用范圍,控制效果良好;在合理選擇神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)的情況下,該算法有很強(qiáng)的泛化能力?;谝陨蟽?yōu)點(diǎn),神經(jīng)網(wǎng)絡(luò)PID控制器具有很好的發(fā)展應(yīng)用前景。