摘 要:根據BP神經網絡對溫度控制的要求設計出一種模糊PID控制器,采用誤差和誤差變化率作為模糊PID控制器的輸入,PID參數作為模糊PID控制器的輸出,使用一組模糊規則實現對PID參數的在線優化調節。采用Simulink圖形化工具平臺對模糊PID控制器和傳統的PID控制器進行建模和仿真,結果表明和傳統PID控制器相比,模糊PID控制器性能優良,使系統響應速度加快,超調減小。
關鍵詞:BP神經網絡;模糊控制;模糊PID控制;隸屬函數
中圖分類號:TP21文獻標識碼:B
文章編號:1004-373X(2008)07-133-03
Design of Temprature Fuzzy PID Controller Based on BP Neural Network
ZHANG Yongjun,WANG Hangyu
(Xi′an Aeronauntical Polytechnic Institute,Xi′an,710089,China)
Abstract:A fuzzy PID controller towards BP neural network temprature control is designed with input parameters of error and derivative of error and output parameters of PID parameters which could be regulated sensitively by a set of fuzzy disciplines.The fuzzy PID controller model and PID controller model are set up and simulated through Simulink with the final result showing better characteristics of fuzzy PID control compared with PID control such as minimal overshoot and more quick response.
Keywords:BP neural network;fuzzy control;fuzzy PID control;membership function
神經網絡控制的研究始于20世紀60年代,1960年,widrow和Hoff首先把神經網絡用于控制系統,Kilme和McCulloch提出了KMB神經網絡模型,并在“阿波羅”登月計劃中應用取得良好的效果。迄今為止,神經網絡已經覆蓋了控制理論中的很多問題,比如系統建模與辨識、預測控制、最優控制、自適應控制、模糊控制、專家控制等,甚至還可應用于控制有關的其他問題,比如AD轉換和Lyapunov方程求解等。
1 BP神經網絡與模糊控制
BP神經網絡的網絡結構是一個前向的多層網絡,該網絡中不僅含有輸入層節點和輸出層節點,而且還含有一層或多層的隱層節點。在BP神經網絡中,同層的各神經元之間互不連接,相鄰層的神經元則通過權值連接。當有信息輸入BP神經網絡時,信息首先由輸入層節點傳遞到第一層的隱層節點,經過特征函數(人工神經元)作用之后,再傳至下一隱層,這樣一層一層傳遞下去,直到最終傳至輸出層進行輸出。其間各層的激發函數要求是可微的,一般是選用S型函數。最基本的BP神經網絡是包括輸入層,隱層,輸出層這三層節點的前饋網絡,其結構如圖1所示[1]。
圖1 基本的BP神經網絡結構圖
模糊控制作為智能控制的一個重要分支,主要是模仿人的控制經驗而不依賴被控對象的數學模型,因此若將模糊控制與PID控制結合起來組成模糊PID自適應控制器,使PID參數不依賴于被控對象的數學模型,并且能夠動態調整PID參數以實現其優化[2],解決BP神經網絡溫度控制所面臨的問題。
2 模糊PID控制器的設計
對于某一BP神經網絡溫度控制系統,測溫、內部變化及執行機構可以等效為以下傳遞函數G(s)=27(s+1)(s+3)3,利用模糊控制根據系統的反饋時刻選擇適當的PID參數,實現參數動態調節,原理見圖2。
圖2 模糊PID控制器結構圖
2.1 模糊控制器參數的論域及隸屬度函數
由圖2可知PID控制器的比例增益Kp、積分增益Ki和微分增益Kd作為模糊控制器的輸出,系統誤差e和誤差變化率Δe作為模糊控制器的輸入,故系統中的模糊控制器有2個輸入3個輸出。
2.1.1 輸入變量的論域及隸屬度函數
根據實際情況,誤差e和誤差變化率Δe的論域都選為{負大,負中,負小,零,正小,正中,正大},用符號表示為{NB,NM,NS,ZO,PS,PM,PB},采用如圖3所示的隸屬函數。
圖3 e和Δe的隸屬函數
2.1.2 輸出量的論域及隸屬度函數
模糊控制器的輸出分別為比例增益Kp、積分增益Ki和微分增益Kd,為了方便,可將其歸一化為0~1之間的參數K′p和K′d,Ki可以表示為Ki=K2p/(αKd),故模糊控制器的直接輸出變量為α,K′p和K′d。
α的論域為{S,MS,M,B},其隸屬函數為一單點隸屬函數,如圖4所示。
圖4 α的隸屬函數
K′p和K′d的隸屬函數如圖5所示。需要說明的是設計模糊控制器時隸屬度函數并非隨意確定的,如何選擇隸屬度函數,文獻[3]中作了明確的闡述。
2.2 模糊規則
根據實際經驗,對本文中工業對象的控制可以總結為一系列推理語言規則,例如:
if e=NB and Δe=NB then α=S,K′p=B and K′d=S
if e=NB and Δe=NM then α=S,K′p=B and K′d=S
將上述規則用表的形式表示出來,即模糊控制規則表,如表1~表3所示。
圖5 K′p和K′d的隸屬函數
表1 K′p模糊調整規則
表2 K ′d模糊調整規則
表3 α模糊調整規則
3 模糊控制器的實現及仿真
對上述模糊控制器采用直接在Simulink圖形化工具平臺建模并仿真。主要步驟[4,5]如下:
(1) 建立相應的模糊推理系統
首先在命令窗口輸入fuzzy,回車便打開FIS的編輯器界面。添加輸入輸出變量并分別命名為e,ec,K′p,K′d,α采用Mamdani推理方法。其次對輸入輸出變量的隸屬度函數進行編輯,之后進入規則編輯器將表1~表3中的規則添加其中,最后將所建立的模糊推理系統存盤并命名為fis1,值得注意之處是存盤后還須選擇‘save to workspace’項,以便在建模時能調用這個文件。
(2) 在Simulink中建模并仿真
本控制系統中由于被控對象的非線性和復雜性,PID控制器的參數是變化的,如式(1),(2)所示:
Kp∈[0.32KU ,0.6KU](1)
Kd∈[0.08KUTU,0.15KUTU](2)
其中KU=4,TU=2.9;選擇一組PID參數:Kp=2.19,Kd=0.258,Ki=1.03,其對應的PID控制器傳遞函數為D(s)= Kp(1+1/Kis+Kds),即可得到常規PID控制器的仿真模型。作為比較,建立模糊控制器的仿真模型如圖6所示,其中Matlab function 根據式(3),(4),(5)將歸一化的參數轉化為實際的PID參數。
圖6 模糊PID及PID控制模型圖
需要說明的是出于方便考慮,此處將傳統PID控制器與模糊PID控制器集合在一個控制模型中,利用Simulink庫中的Switch模塊進行兩者之間的切換。
Kp=( Kpmax-Kpmin)k′p+ Kpmin(3)
Kd=( Kdmax-Kdmin)k′d+ Kdmin(4)
Ki=K2p/(αKd)(5)
4 結 語
對上述模型進行仿真并將PID仿真結果與模糊PID控制仿真結果進行比較,如圖7所示。可以發現對系統進行模糊PID控制,響應過程平穩,超調減小,響應時間也較快,性能良好。
圖7 仿真結果
參 考 文 獻
[1]徐麗娜.神經網絡控制[M].北京:電子工業出版社,2003.
[2]張國良,曾靜,柯熙政,等.模糊控制及其Matlab應用[M].西安:西安交通大學出版社,2002.
[3]戎月莉.計算機模糊控制原理及應用[M].北京:北京航空航天大學出版社,1995.
[4]李國勇.智能控制及其Matlab實現[M].北京:電子工業出版社,2005.
[5]曹志國,廉小親.基于Matlab的兩種模糊控制系統的仿真方法[J].計算機仿真,2004,21(3):41-43.
[6]李建輝,武俊麗,曲秀敏,等.基于遺傳算法的神經網絡自適應控制器的研究[J].現代電子技術,2005,28(15):100-101,112.
作者簡介 張詠軍 女,1971年出生,河南洛陽人,講師,研究生學歷,任教于西安航空職業技術學院電氣工程系。主要從事電工理論、自動控制的教學與研究。
王航宇 男,1981年出生,西安市臨潼區人,助理講師,任教于西安航空職業技術學院電氣工程系,在讀碩士研究生。主要研究方向為計算機信息技術與智能控制。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。