摘要:基于常規PID控制方法的一些缺點,該文介紹了一種利用神經網絡HEBB規則,實現了有效的控制方法和PID控制參數的優化的方法。通過仿真和跟經典PID控制方法的比較,說明了其優越性。
關鍵詞:神經網絡;PID控制;HEBB規則
中圖分類號:TP183文獻標識碼:A文章編號:1009-3044(2008)34-1691-02
PID Neural Network Control and its Simulation
CHEN Bo
(Institute of Technology for Measurement and Control, Lanzhou Jiaotong University, Lanzhou 730070, China)
Abstract: Based on the disadvantages of the general PID Control, this article introduced a technique what used the Neural network and HEBB rule.this technique has come true theeffective control measure and the optimization of PID controls parameter. it has shown the advantages by compare whit the general PID control and imitation.
Key words: neural network; PID control; HEBB rule
1 引言
現今PID控制由于具有直觀性好,實現簡單,可靠性高以及魯棒性強等優點,特別適用于建立了精確數字模型的確定性系統中。被廣泛應用于工業控制領域。實現常規PID控制,常用的方法是在數學模型的基礎上,確定參數。然而,隨著現代工業的發展出現了大量的非線性,時變,變參數,變結構等不確定性,難以確定精確的數學模型,利用常規的PID控制方法難以獲得滿意的效果。
利用神經網絡所具有的非線性映射能力,自學習能力,概括推廣能力,結合常規PID控制理論。通過吸收兩者的優勢,使系統具有自適應性,可自動調節控制參數,適應被控過程的變,提高控制性能和可靠性。
2 PID控制
在一個典型控制系統中,對于任何一個時間控制系統而言,其控制對象和系統結構是固定的。為了滿足閉環控制系統穩、準、快的性能要求,只有通設計控制器D(z)來實現(如圖1)。
我們可以借助MATLAB對控制系統進行方針,例如:系統的被控制對象的傳遞函數為G(s)=1/(20S2+9S+1) 反饋環節為單位負反饋,對其進行控制器部分的設計。
仿真結果如圖2所示,無論如何調節Kp、Ki、Kd的值都無法達到完全去除超調以及抖動。這主要是因為在PID控制中個參數對控制器的作用各不相同又互相影響。
3 神經網絡及神經網絡PID控制
BP神經網絡的結構圖如圖3。
其中:X1、X2……Xn為網絡的輸入;Y1、Y2……Ym為網絡輸出;Wji′為輸入層到隱含層; Wij″為隱含層到輸出層的連接權值。
構造神經網絡PID控制器結構,如圖4。
控制器由常規的PID控制器和神經網絡兩部分組成。常規的PID控制器對被控對象進行閉環控制,神經網絡根據系統的運行狀態,調節PID控制器的參數,以達到性能的優化。通過神經網絡的自學習,加權系數的調整,使神經網絡輸出對應于某種最優控制規律下的PID控制參數。
4 HEBB學習規則
從hebb理論可知,神經元的連接在給予不斷的正刺激后會得到不斷加強。而BP網絡的反復學習過程也正是不斷加強某種信息的聯接強度的過程。
一旦網絡訓練結束,而并沒有訓練成功,在某種意義上說,其聯接強度還不夠,還需再投入樣本對其作用。樣本被分為兩組,一組已被聯接權記憶住了,另一組還不能被其表述 。因此可以放棄或部分放棄第一組的樣本數據,而僅以第二組為訓練樣本投入訓練,這樣訓練時間將比原來的方法大為減少。
5 Matlab仿真
以下是利用Matlab對一個利用HEBB規則神經網絡PID控制器進行的仿真。可以明顯的看出控制器的輸出。如圖5。
1) 設置Kp、Ki、Kd
xiteP=0.40;
xiteI=0.35;
xiteD=0.40;
2) 設置輸入r(t),輸出Y(t)
ts=0.001;
for k=1:1:1000
time(k)=k*ts;
rin(k)=0.500*sign(sin(2*2*pi*k*ts));
yout(k)=0.368*y_1+0.260*y_2+0.100*u_1+0.632*u_2;
3) 利用HEBB規則設置權重
if M==1 wkp(k)=wkp_1+xiteP*u_1*x(1);
wki(k)=wki_1+xiteI*u_1*x(2);
wkd(k)=wkd_1+xiteD*u_1*x(3);
K=0.06;
elseif M==2
wkp(k)=wkp_1+xiteP*error(k)*u_1;
wki(k)=wki_1+xiteI*error(k)*u_1;
wkd(k)=wkd_1+xiteD*error(k)*u_1;
K=0.12;
elseif M==3
wkp(k)=wkp_1+xiteP*error(k)*u_1*x(1);
wki(k)=wki_1+xiteI*error(k)*u_1*x(2);
wkd(k)=wkd_1+xiteD*error(k)*u_1*x(3);
K=0.12;
elseif M==4
wkp(k)=wkp_1+xiteP*error(k)*u_1*(2*error(k)-error_1);
wki(k)=wki_1+xiteI*error(k)*u_1*(2*error(k)-error_1);
wkd(k)=wkd_1+xiteD*error(k)*u_1*(2*error(k)-error_1);
K=0.12;
end
x(1)=error(k)-error_1;
x(2)=error(k);
x(3)=error(k)-2*error_1+error_2;
wadd(k)=abs(wkp(k))+abs(wki(k))+abs(wkd(k));
w11(k)=wkp(k)/wadd(k);
w22(k)=wki(k)/wadd(k);
w33(k)=wkd(k)/wadd(k);
w=[w11(k),w22(k),w33(k)];
u(k)=u_1+K*w*x; %Control law
if u(k)>10
u(k)=10;
end
if u(k)<-10
u(k)=-10;
end
error_2=error_1;
error_1=error(k);
u_3=u_2;u_2=u_1;u_1=u(k);
y_3=y_2;y_2=y_1;y_1=yout(k);
wkp_1=wkp(k);
wkd_1=wkd(k);
wki_1=wki(k);
end(下轉第1705頁)
(上接第1692頁)
6 比較與總結
通過對仿真圖2,圖5的比較,我們不難看出加入神經網絡后,不但完全解決了超調、抖動的問題而且響應時間也優于常規PID控制器。
特別,我把神經網絡PID控制器的輸入端調整為階躍信號,將輸入信號r(t)與輸出信號Y(t)比較。如圖6。我們可以清楚的看到響應速度,超調量,抖動非常理想。
神經網絡控制器算法,借助神經網絡的自學習的能力,可實現PID參數的優化,具有良好的控制效果。本文的創新在于利用神經網絡HEBB規則,實現了有效的控制方法和PID控制參數的優化,達到了理想的效果。
參考文獻:
[1] 田大新,劉衍珩,李賓,吳靜.基于HEBB規則的分布神經網絡學習算[J].計算機學報,2007(8):1380-1387.
[2] 溫良,付興武.神經網絡PID在溫度控制系統中的研究與仿真[J].微計算機信息,2004(7):3-4.
[3] 舒懷林.基于PID神經網絡的非線性時變系統辨識[J].自動化學報,2002(3):156-158.
[4] Sommerville I.Software Engineering[M].北京:機械工業出版社,2006.