王江榮,李東旭
(1.蘭州石化職業(yè)技術(shù)學院 信息處理與控制工程系,甘肅 蘭州 730060;2.電子科技大學 生命與技術(shù)學院,四川 成都 611731)
PID控制系統(tǒng)因其簡單、穩(wěn)定性好和可靠性高等優(yōu)點,被廣泛應用到工業(yè)過程控制中。PID控制器的性能取決于它的三個參數(shù)(比例、積分和微分)的整定是否合理,因此,優(yōu)化PID控制器參數(shù)具有重要意義。但是PID參數(shù)的整定一般需要經(jīng)驗豐富的工程技術(shù)人員來完成,這種方法不僅費時,而且不能保證獲得最佳性能。粒子群算法(Particle Swarm Optimization,PSO)是一種有效的全局尋優(yōu)算法,本文將使用PSO對PID控制器的參數(shù)進行優(yōu)化設計。另外,在有噪聲干擾的控制系統(tǒng)中,噪聲往往是非平穩(wěn)隨機過程,因其時變性,致使功率譜不固定。卡爾曼濾波(R.E Kalman)是一種具有最小無偏差性,適用于非平穩(wěn)序列濾波的算法,它是能夠剔除隨機干擾誤差,獲取逼近真實情況的有用信息,且能自適應地處理觀測值?;诖?,本文建立了基于粒子群算法和卡爾曼濾波器的PID控制方法,有效地解決了PID控制系統(tǒng)中存在的參數(shù)的整定及控制干擾信號和測量噪聲信號問題。仿真結(jié)果表明該方法具有良好的控制效果,明顯地改善了系統(tǒng)的靜態(tài)和動態(tài)特性。
粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)是Kennedy和Eberhart受鳥群覓食行為啟發(fā)于1995年提出的一種全局優(yōu)化算法[1-2]。PSO算法(一種仿生算法)具有搜索能力強、收斂速度快、設置參數(shù)少、程序易實現(xiàn)和無需梯度信息等特點。所有的粒子(搜索空間中的鳥)都有一個由被優(yōu)化函數(shù)決定的適應值和一個決定它們運動方向和運動距離的速度,問題的解就是搜索空間中的一只鳥的位置。PSO算法的主要特點為:(1)每一粒子都被賦予了初始隨機速度并在解空間中流動;(2)個體具有記憶功能;(3)個體的進化主要是它本身的飛行經(jīng)驗以及同伴的飛行經(jīng)驗進行動態(tài)調(diào)整,通過迭代找到最優(yōu)解。在每一次迭代過程中,粒子通過追逐兩個極值來更新自己的位置。一個是粒子自身所找到的當前最優(yōu)解,這個解稱為個體極值pbest;另一個是整個群體當前找到的最優(yōu)解,這個解稱為全局極值pbest
PSO 算法如下[3]:
設在一個D維搜索空間中,由n個粒子組成的種群X=(X1,X2,…,Xn),其中第i個粒子表示為一個D維的向量Xi=(xi1,xi2,…,xiD)T,代表第i個粒子在 D維搜索空間中的位置,亦代表問題的一個潛在解。根據(jù)目標函數(shù)即可計算出每個粒子位置Xi對應的適應度值。第 i個粒子的速度為 Vi=(vi1,vi2,…,viD)T,i=1,2,…,n。記第i個粒子搜索到的最優(yōu)位置(即個體最優(yōu)值pbest)為Pi=(pi1,pi2,…,piD)T;整個粒子群搜索到的最優(yōu)位置(全局最優(yōu)值gbest)為Pg=(pg1,pg2,…,pgD)T。當兩個最優(yōu)解都找到后,每個粒子根據(jù)下式來更新自己的狀態(tài)。
粒子狀態(tài)更新操作如下:
其中,vid(t+1)表示第 i個粒子在 t+1次迭代中第 d(d=1,2,…,D)維上的速度;w為慣性權(quán)重,η1,η2為加速常數(shù)(學習因子),rand()為0~1之間的隨機數(shù)。此外,為使粒子速度不致過大,可設置速度上下限,即 vid∈[-vmax,vmax],vmax是之前設定的最大速率(邊界值),t為當前迭代次數(shù)。Pt是粒子迄今為止搜索到的最優(yōu)位置;Gt是整個粒子群迄今為止搜索到的最優(yōu)位置。
用于參數(shù)估計的PSO算法具體實現(xiàn)過程如下:
(1)初始化粒子群,隨機產(chǎn)生所有粒子群的位置和速度,并確定粒子的Pt和Gt。
(2)對每個粒子,將其適應值與該粒子所經(jīng)歷過的最優(yōu)位置Pt的適應值進行比較,如較好,則將其作為當前的。
(3)對每個粒子,將其適應值與整個粒子群所經(jīng)歷過的最優(yōu)位置Gt的適應值進行比較,如較好,則將其作為當前的Pt。
(4)按式(1)和(2)更新粒子的速度和位置。
(5)如果沒有滿足終止條件(通常為預設的最大迭代次數(shù)和適應值下限值),則返回步驟(2);否則,退出算法,得到最優(yōu)解。
卡爾曼濾波是以最小均方誤差為準則的最佳線性估計,它根據(jù)前一個估計值和最近一個觀測數(shù)據(jù)來估計信號的當前值,利用狀態(tài)方程和遞推方法進行估計,而且得到的解也是以估計值的形式給出的,最大的特點是能夠去除測量系統(tǒng)中的隨機誤差,來獲取更接近真實值的信息,能較好的應用于處理多變量系統(tǒng),時變系統(tǒng)及非線性系統(tǒng)的最佳濾波等。卡爾曼濾波器結(jié)構(gòu)[4]如圖1。
對于離散域線性系統(tǒng)[4]:
式中x(k)是系統(tǒng)的n維狀態(tài)向量;yv是m維帶有噪聲的測量向量;A是 n×n維非奇異狀態(tài)一步轉(zhuǎn)移矩陣;矩陣B是n×l維可選的控制輸入u∈Rl的增益;C是m×n維觀測矩陣。系統(tǒng)的n維過程激勵噪聲w(k)和m維測量噪聲v(k)是不相關(guān)的零均值高斯白噪聲。
離散卡爾曼濾波器遞推算法為:
圖1 卡爾曼濾波結(jié)構(gòu)圖
誤差的協(xié)方差為:errcov(v(k))=CP(k)CT
基于粒子群算法和卡爾曼濾波的PID控制系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 與粒子群優(yōu)化算法和卡爾曼濾波相結(jié)合的PID系統(tǒng)結(jié)構(gòu)
控制系統(tǒng)通過卡爾曼濾波器對混有控制干擾信號和測量噪聲信號進行濾波,反饋到系統(tǒng)輸入端,利用粒子群算法對PID控制器的參數(shù)進行優(yōu)化。
圖2中粒子群算法與PID控制系統(tǒng)之間連接的橋梁是粒子(即PID控制器參數(shù))和該粒子對應的適應值(即控制系統(tǒng)的性能指標)。優(yōu)化過程如下:PSO產(chǎn)生粒子群(可以是初始化粒子群,也可以是更新后的粒子群),將該粒子群中的粒子依次賦值給PID控制器的參數(shù)Kp,Ki,Kd,然后運行控制系統(tǒng)模型,得到該組參數(shù)對應的性能指標,該性能指標傳遞到PSO中作為該粒子的適應值,最后判斷是否可以退出算法。
設被控對象為系統(tǒng)[5]:
設采樣時間為0.001 s,將傳遞函數(shù)進行離散化得到:
假設系統(tǒng)的初值[6]x(0)=,u(0)=0,D=[0],P(0)=BQBT,取 Q=1,R=1。輸入信號為一階躍信號,控制干擾信號w(k)和測量噪聲信號V(k)幅值均為0.002的白噪聲信號,采用卡爾曼濾波器實現(xiàn)信號濾波。粒子群算法中的參數(shù)為:慣性因子w=0.6,加速常數(shù)c1=c2=2,維數(shù)為3(有3 個待優(yōu)化參數(shù) kp,ki,kd),粒子群規(guī)模為30,待優(yōu)化函數(shù)為:
圖3 常規(guī)PID控制階躍響應
最大迭代次數(shù)為100,最小適應值為0.1,速 度 范 圍 為[-1,1],3 個待優(yōu)化參數(shù) kp,ki,kd范圍均為[0,10]。
(1)取kp=6.0,ki=0.8,kd=0.2(經(jīng)驗值),則常規(guī)的PID控制下系統(tǒng)的仿真結(jié)果如圖3所示。
圖4 基于卡爾曼濾波的PID階躍響應
圖5 仿真結(jié)果比較圖
圖中 r,y為無因次量,其中y為實際值,r為階躍值,且r=1。橫軸為時間軸,單位為 s;縱軸為數(shù)值軸,以下(圖4及圖6)相同。
(2)基于 R.E Kalman-PID控制系統(tǒng)的仿真結(jié)果如下圖4。
(3)經(jīng)粒子群算法優(yōu)化后得到的參數(shù)為kp=9.307 1;ki=9.680 8;kd=0.477 0?;?R.E Kalman-PSO-PID 的系統(tǒng)仿真結(jié)果與基于R.E Kalman-PID的系統(tǒng)仿真結(jié)果比較如圖5所示。
比較圖3與圖4,可以看出,采用卡爾曼濾波的PID控制,可以得到穩(wěn)定的系統(tǒng)輸出,能夠顯著地減小噪聲的影響。圖5表明經(jīng)粒子群優(yōu)化算法和卡爾曼濾波算法的PID控制除了能夠效抑制噪聲對系統(tǒng)穩(wěn)定性造成的不利影響外,還能夠能夠有效減少系統(tǒng)的峰值時間,減小震蕩次數(shù)和超調(diào)量,使系統(tǒng)快速達到穩(wěn)定狀態(tài),提高的系統(tǒng)的動態(tài)性能和靜態(tài)性能,增強的系統(tǒng)的魯棒性。另外,在利用粒子群算法對參數(shù)進行優(yōu)化時,如果將搜索范圍擴大到[0,300],我們得到另一組優(yōu)化參數(shù):kp=166.258 4,ki=294.035 1,kd=1.242 8,可以進一步提高控制器的控制品質(zhì),使上升時間更短,且使系統(tǒng)進入的穩(wěn)態(tài)時間縮短了約50%,快速達到目標值,仿真結(jié)果如圖6。
圖6 參數(shù)優(yōu)化系統(tǒng)仿真曲線
本文提出基于粒子群算法和卡爾曼濾波器的PID控制方法,有效地解決了PID控制系統(tǒng)中參數(shù)的整定以及控制干擾信號和測量噪聲信號問題,提高了系統(tǒng)的抗干擾能力和控制品質(zhì)。仿真結(jié)果表明這種控制方法能使系統(tǒng)各項指標有了明顯的提高,尤其是超調(diào)量有了明顯的減少,縮短上升時間。該方法有一定的實用價值。
[1]史峰,王輝,胡斐,等.MATLAB智能算法30個案例分析[M].北京:北京航空航天大學出版社,2012:130-131.
[2]許國根 ,賈瑛.模式識別與智能計算的MATLAB實現(xiàn)[M].北京:北京航空航天大學出版社,2012:211-212.
[3]楊淑瑩.模式識別與智能計算——MATLAB技術(shù)實現(xiàn)[M].北京:電子工業(yè)出版社,2011:345-347..
[4]劉金琨.先進PID控制MATLAB仿真[M].北京:電子工業(yè)出版社,2011:64-65.
[5]胖永新,金迪,孟憲東.球桿系統(tǒng)的建模、仿真與控制器設計[J].武漢大學學報(工學版),2005,38(6):142 -146.
[6]謝新月,廉鳳慧,于亦凡.卡爾曼濾波器在PID控制器中的應用研究[J].工程與試驗,2009,49(3):16-18.