基于BP神經網絡的PID控制器及仿真
1.引言
PID(比例-積分-微分)控制器作為最早實用化的控制器已有50多年歷史,因其具有算法簡單、魯棒性好、可靠性高、直觀性好等優點被廣泛的應用于工業過程控制及運動控制中[1]。常規PID控制效果的優劣,不僅僅取決于控制系統模型的精確程度,還必須調整好三個參數的關系,而這種關系不一定是簡單的線性組合。實際的工業過程及運動過程往往具有時變性、變參數、變結構等不確定性及很強的非線性,精確的數學模型難以建立,此外,常規PID還有實現在線調整困難,參數間相互影響,參數整定時間長等缺點,難以取得理想的控制效果。
隨著控制理論的發展,將應用廣泛的PID控制器與智能控制理論相結合[2]成為智能控制研究的新方向,神經網絡算法具有逼近任意非線性表達能力,很強的自學習能力和概括推廣能力,在解決高度非線性和不確定系統方面有很大的的潛能,應用神經網絡,可以從復雜的PID三個參數組合中尋求最佳的線性組合,使神經網絡和PID本質結合。從而使得控制器具有較好的自適應性,實現參數的自動實時調節,適應過程的變化,提高系統了的魯棒性和可靠性。
2.BP神經網絡
2.1BP神經網絡的構成及設計[3]
BP神經網絡是一種具有三層或三層以上的神經網絡,包括輸入層、隱含層、輸出層,上下層之間實現全連接,而每層神經元之間無連接。當一對學習樣本提供給網絡后,神經元的激活值從輸入層經各中間層向輸出層傳播,在輸出層的各神經元獲得網絡的輸入響應。接下來,按照減少目標輸出與實際誤差的方向,從輸出層經過各中間層逐層修正各連接權值,最后回到輸入層,這種算法即BP算法。隨著這種誤差逆的傳播修正不斷進行,網絡對輸入模式響應的正確率也不斷上升。
(1)輸入輸出層的設計
輸入層的設計可以根據需要求解的問題和數據表示方式確定,若輸入信號為模擬波形,那么輸入層可以根據波形的采樣點數目撅腚輸入單元的維數,也可以用一個單元輸入,這是輸入樣本為采樣的時間序列。輸出層的維數可以根據使用者的要求確定。如果BP網絡用作分類器,類別模式一共有m個,那么輸出層神經元的個數為m或者。
(2)隱層的設計
隱層單元的數目與問題的要求、輸入/輸出單元的數目都有直接的關系,隱單元的數目太多會導致學習時間過長、誤差不一定最佳,也會導致容錯性差、不能識別以前沒有的樣本等等,因此,一定存在一個最佳的隱單元數,通常用以下三個公式來選擇最佳隱單元數:
1),其中k為樣本數,n為輸入單元數。
2),其中m為輸出神經元數,n為輸入單元數,a為[1,10]之間的常數。
3),其中n為輸入單元數。
2.2 典型神經網絡結構
一個典型的三層神經網絡結構如下圖所示:
圖1 BP神經網絡結構圖
其中: 、 、…、 為 BP網絡的輸入; 、 、…、 為 BP網絡的輸出,對應PID控制器的三個參數;為輸層到隱含層的連接權值;
為隱含層到輸出層的連接權值。通過神經網絡的自學習、加權系數的調整,使神經網絡輸出對應于某種最優控制規律下的PID控制器參數。
圖一中各參數之間的關系[4]如下:
輸入層:
隱含層:
輸出層:
取性能指標為:,按照梯度下降法修正網絡的權值,使
最小,修正方法如下:
隱含層:
輸出層:
pid控制器相關文章:pid控制器原理
評論