摘要:針對控制系統校正參數求解過程繁瑣的問題,提出一種基于粒子群算法的控制系統校正方法。為了提高系統的校正效率,本設計方案首先將多個超前校正裝置和滯后校正裝置串聯組合成多級校正裝置,然后采用粒子群算法程序直接對多級校正裝置的參數進行尋優,找出滿足性能指標要求的多級校正裝置的參數,從而實現控制系統的校正。仿真結果表明,這種方法不但簡化校正的過程,提高控制系統校正的效率,而且擴展了可校正系統的范圍。
關鍵詞:串聯校正;粒子群算法;多級校正裝置;尋優;仿真
中圖分類號:TP273;TP18 文獻標識碼:A
Control System Compensating Based on PSO Algorithm
SHAN Jingjie,ZHOU Yonghua,JIANG Xiaobing
(College of Electrical Engineering, Guangxi University, Nanning530004,China)
Abstract:A correction method of the control system based on Particle Swarm Optimization (PSO) was proposed to deal with the cumbersome process in the parameters of the control system calibration. In this design method, in order to improve the efficiency of the system calibration, a multistage compensation unit consisting of lead compensation unit and lag compensation unit was used and then optimized the parameters in multistage compensation unit directly by program of PSO algorithm to find out those parameters satisfying the performance criteria, thus the control system was compensated. The simulation results show that, the method proposed is not only available for simplifying compensation process and improving the efficiency of the control system correction, but also extending the range of compensation systems.
Key words:cascade compensation; PSO algorithm; multistage compensation unit; optimizing;simulation
1引言
控制系統校正是經典控制理論中的核心問題之一。為了使得系統滿足特定的性能指標要求,常常需要在這些控制系統中加入適當的校正機構或裝置對系統進行必要的校正[1]。在進行控制系統校正時最常用的是頻域法校正,其主要目的是通過改變系統頻域特性的形狀,使系統的頻域特性具有合適的低頻、中頻、高頻特性及適當的穩定裕度,以滿足特定的性能指標要求。
粒子群優化算法[2](Partical Swarm Optimization,PSO)是基于群智能搜索的新興隨機優化算法,它具有簡單易于實現、需要參數較少的特點,因此受到人們的廣泛關注而成為社會的熱點研究對象。粒子群算法目前已在多個領域得到了成功應用,比如電力系統優化[3]、神經網絡訓練[4]、模糊控制[5]、控制器優化[6—8]等。
本文在經典控制系統校正的基礎上,采用基本PSO優化算法理論,提出了基于PSO算法的控制系統校正的方法,以滿足穩態誤差、開環系統截止頻率和相角裕度等要求為出發點,來進行系統校正。
2控制系統校正
按照校正裝置在系統中的連接方式,控制系統的校正方式可分為串聯校正、反饋校正、前饋校正和復合校正四種。串聯校正時將校正裝置Gc(s)接在系統誤差測量點之后和放大器之前,串接于系統前向通道之中。反饋(或并聯)校正時,將從某些元件引出反饋信號,構成反饋回路和并在內反饋回路內設置校正裝置。這是最常用的兩種校正方式,另外還有前饋校正與復合校正。本文只討論串聯校正。計算技術與自動化2012年9月
第31卷第3期閃靜潔等:基于粒子群算法的控制系統校正
在采用串聯校正時,根據校正裝置的特性,校正裝置可分為超前校正裝置、滯后校正裝置和滯后—超前校正裝置。
超前校正裝置指校正裝置輸出信號在相位上超前其輸入信號,即校正裝置具有正的相位特性。其對應的校正稱為超前校正。
圖1無源超前網絡 圖2無源滯后網絡
圖1為超前校正裝置,其傳遞函數可寫為
1αGc(s)=1+τs1+ατs(1)
式中
α=R2R1+R2<1,τ=R1+R2R1R2C
從式(1)中可見,采用無源超前網絡進行串聯校正時,系統的開環增益下降了α倍,因此需要提高放大器增益加以補償,通常在超前校正裝置時串入一個放大倍數為K=1/α的放大器。當超前網絡加入放大器后,校正裝置的傳遞函數為
G′c(s)=1+τs1+ατs (2)
滯后校正裝置指校正裝置的輸出信號在相位上落后其輸入信號,即校正裝置具有負的特性。其對應的校正稱為滯后校正。
圖2為滯后校正裝置,其傳遞函數為
Gc(s)=1+τs1+βτs (3)
式中
β=R1+R2R2>1,τ=R2C
當待校正系統不穩定,且要求校正后系統的響應速度、相角裕度和穩態精度較高時,使用單個的超前校正裝置或滯后校正裝置就無法達到其性能指標,需要采用多級校正裝置進行校正。多級校正裝置是在滯后—超前校正裝置的基礎上將其擴展,即將多個超前校正裝置或滯后校正裝置進行串聯而構成的一種校正裝置,它所對應的校正方式稱為多級校正。本文只對八級校正裝置進行探討。
綜合超前校正裝置及滯后校正裝置的特點可知八級校正裝置的傳遞函數為
Gc(s)=
(τ1s+1)(τ2s+1)(τ3s+1)(τ4s+1)(α1τ1s+1)(α2τ2s+1)(α3τ3s+1)(α4τ4s+1)×
(τ5s+1)(τ6s+1)(τ7s+1)(τ8s+1)(α5τ5s+1)(α6τ6s+1)(α7τ7s+1)(α8τ8s+1) (4)
采用粒子群算法程序對上式中的16個參數進行尋優,只要找到任意一組數值使校正后的系統滿足性能指標的要求,就可以實現系統的校正。
3粒子群優化算法
粒子群算法是由James Kennedy博士和Russell Eberhart博士于1995年提出的一種新的全局優化智能算法[2]。其基本思想是來源于對鳥群覓食過程的研究以及行為模型。群體中的鳥被抽象為理想“粒子”,這些粒子的運動受到自身速度、自身和群體的歷史的最佳位置信息的影響,能夠在復雜的解空間尋找最優解[9]。
基本PSO的原理表述如下:首先在解空間內初始化一群隨機粒子,然后通過迭代找到最優解[2]。假設在一個D維的目標搜索空間中, 隨機初始化m個粒子組成一個群落, 其中第i個粒子的空間位置為xi=(xi1,xi2,…xiD),i=1, 2, … , m。每個粒子在搜索空間中以一定的速度飛行, 這個速度被定義為vi=(vi1,vi2,…viD)。在每一次迭代中,粒子通過跟蹤兩個“極值”來更新自己。一個是粒子本身所找到的最優解即個體極值pbi=(pbi1,pbi2,…pbiD),另一個極值是整個種群目前找到的最優解即全局極值gbi=(gbi1,gbi2,…gbiD)。每個粒子根據公式(5)(6)來更新自己的速度和位置:
vk+1id=ωkvkid+c1r1(pbkid—xkid)+c2r2(gbkid—xkid)(5)
xk+1id=vk+1id+xkid (6)
其中:k 表示第k次迭代,c1和c2為加速度系數,通常取c1= c2=2(文獻[9]中也有其它的取值),r1和r2為兩個在[0,1]范圍內變化的隨機數。ωk為慣性因子,描述了t時刻的速度對當前速度的影響,通過它可以很好地控制粒子的搜索范圍,一般在[0,1]中取值。如果ωk值較大,則算法具有較強的全局尋優能力強,局部尋優能力較差;ωk值較小時,則有利于局部搜索,但其全局搜索能力不夠廣泛。慣性權重決定了對粒子當前速度繼承了多少,合適選擇慣性因子可以使粒子具有均衡的全局搜索能力和局部開發能力,從而避免陷入局部最優,得到全局最優解。根據以上分析,可以在搜索過程中逐步減少ωk的值,Shi和Eberhart提出一個將慣性權重隨時間線性減少的函數[10],即在算法迭代過程中按照公式(7)動態地調節ωk的取值。
ωk=ωmax —ωmax —ωmin K×k (7)
式中,K為最大允許迭代次數,ωmax 、ωmin分別為最大慣性因子和最小慣性因子,ωmax一般取0.8~1.2,ωmin一般取值0.4。
自從粒子群算法提出以后,就受到廣大學者的關注和研究,他們對粒子群做出很多改進,例如文獻[11]和[12]分別提出了模糊自適應PSO算法和多目標粒子群算法。在此我們就不做一一介紹。
4粒子群算法設計思路
4.1適應度函數的選擇
適應度函數的選擇對于能否設計出具有滿足控制系統性能的校正器參數是十分重要的。在目標函數的選擇上,粒子群優化算法與基于導數信息進行優化的方法相比,優點在于對適應度函數基本無限制,既不要求函數連續,也不要求函數可微,既可以是數學解析式所表示的顯函數,也可以是映射矩陣[7]。
本算法的適應度函數為:
f=|PM—E1|+ |GM—E2| (8)
其中PM是校正后控制系統的相角裕度,E1是期望性能值。GM是校正后控制系統的幅值裕度,E2是期望性能值。有時設計要求只有相角裕度,那只需要|PM—E1|這部分。
本問題解決的目的是為了使校正后的頻域性能與期望值差別最小。因此本問題可以轉化為使目標函數值最小的問題,由于要求適應度函數值必須為非負,故適應度函數設為:
Fit=11+f (9)
相角裕度PM的求解需要計算截止頻率,幅值裕度GM的求解需要計算穿越頻率,這兩個頻率的求解是比較困難的,特別是在高階系統中,它們的求解都是解高階的方程,工程中往往都采用估計的方法,在此使用弦截法求解,弦截法的公式為:
xk+1=xk—(xk—xk—1)f(xk)—f(xk—1)f(xk) (10)
它的計算過程比較簡單,就是選取兩個初始值代人公式(10),然后將結果作為條件再代入,直到求得最后的值。弦截法對于初值是有要求的,需要開始時給出兩個初值,如果初值估計不當,可能會使算法不收斂。
當適應度函數確定后,就可以對參數進行尋優。在滿足約束條件下,使適應度函數值最大時所對應的參數即為最優控制器參數。
4.2基于PSO的控制系統校正算法流程
應用PSO算法求解控制系統校正問題,具體算法流程如下:
Step1:初始化相關參數。粒子種群大小m,搜索空間維數D,粒子最大迭代次數K,八級校正器分度系數αi和時間常數τi (i=1,…,8)等,并在搜索空間隨機初始化粒子群的位置向量xi和速度向量vi,求出局部最優極值pbi和全局最優極值gbi等。
Step2:將每個粒子的位置向量依次作為校正器參數,利用式(8)、(9)計算每個粒子的適應度函數值。
Step3:將每個粒子的適應度值與pbi進行比較,并更新pbi和gbi。
Step4:對于粒子群中的所有粒子,執行如下操作:
①按照式(5)對每個粒子的速度進行更新
若vk+1id≥vmax ,則vk+1id=vmax ;
若vk+1id≤vmin ,則vk+1id=vmin 。
②按照式(6)對每個粒子的位置進行更新
若xk+1id≥xmax ,則xk+1id=xmax ;
若xk+1id≤xmin ,則xk+1id=xmin 。
Step5:判斷結束條件,若滿足,則輸出最優的gb尋優結束;否則,k=k+1,轉至step2。
基于PSO的控制系統校正優化的流程圖
圖3粒子群算法流程圖
5仿真結果與分析
設某個單位負反饋系統的開環傳遞函數為
G0(s)=10s2(0.1s+1)(0.2s+1)(0.3s+1) (11)
要求設計八級校正裝置使系統滿足下列性能指標:
1)相角裕度≥45°;2)幅值裕度≥6dB; 3) 截止頻率≥2.3rad/s。
解:設八級校正裝置的傳遞函數為
Gc(s)=(τ1s+1)(τ2s+1)(τ3s+1)(τ4s+1)(α1τ1s+1)(α2τ2s+1)(α3τ3s+1)(α4τ4s+1)×
(τ5s+1)(τ6s)(τ7s+1)(τ8s+1)(α5τ5s+1)(α6τ6s+1)(α7τ7s+1)(α8τ8s+1) (12)
在Visual C++下,針對上述控制系統對象,采用粒子群算法對式(12)中十六個參數進行優化。經過優化的其中一種控制器參數組合為:τ1=1.004、τ2=4.499、τ3=2.727、τ4=1.349、τ5=4.776、τ6=3.575、τ7=2.388、τ8=1.997、α1=9.631、α2=0.044、α3=0.0006、α4=6.029、α5=0.154、α6=8.781、α7=0.815、α8=1.528,最優適應度為Fit=0.777。
校正后系統的開環傳遞函數為
G′o(s)=10s2(0.1s+1)(0.2s+1)(0.3s+1)×
(1.004s+1)(4.499s+1)(1.004×9.631s+1)(4.499×0.044s+1)×
(2.727s+1)(1.349s+1)(4.776s+1)(2.747×0.0006s+1)(1.349×6.029s+1)(4.776×0.154s+1)×
(3.575s+1)(2.388s+1)(1.997s+1)(3.575×8.781s+1)(2.388×0.815s+1)(1.997×1.528s+1) (13)
對校正后的系統進行MATLAB仿真,圖4,圖5分別為系統的Bode圖及單位階躍響應曲線[14]。由圖4可以看到:校正后的系統滿足了穩定裕度的要求,其抑制高頻噪聲的性能也較好;低頻段校正后的增益仍然足夠大,保證了穩態誤差要求;中頻段帶寬適當,保證閉環系統具有良好的平穩性;高頻段增益減小地更快,增強了系統高頻干擾性能并提高系統高頻模型攝動的魯棒性。從校正前、后系統的單位階躍響應曲線(即圖5)可知:校正后系統的調節時間滿足要求,其它的動態性能也得到明顯的改善。
(a) 校正前系統的Bode圖
(b) 校正后系統的Bode圖
圖4系統的Bode圖
(a) 校正前系統的單位階躍響應曲線
(b) 校正后系統的單位階躍響應曲線
圖5系統的單位階躍響應曲線
綜上所述,若采用傳統校正方式對該算例校正,計算量會比較大而且很難實現,而基于PSO算法對多級校正裝置的參數進行尋優的方法不但提高了控制系統校正的速度和效果,而且可以對很多采用傳統校正方法難以校正的系統進行校正。
6結論
本文以粒子群算法為工具,對由超前校正裝置和滯后校正裝置串聯構成的多級校正裝置的參數進行尋優,克服了傳統控制系統校正中的過程復雜、計算量大等缺點,簡化了控制系統校正的過程, 提高了控制系統校正的效率。仿真結果驗證了該尋優過程的可行性。不過由于粒子群算法存在易陷入局部極值和搜索后期收斂速度過慢的不足,所以對算法的改進還有待于進一步研究。
參考文獻
[1]胡壽松. 自動控制原理[M]. 北京:科學出版社,2001.
[2]J.Kennedy,R.Eberhart. Particle Swarm Optimization[C].In:Proc IEEE Int Conf on Neural Network,1995:1942—1948.
[3]Yang Bo, Chen Yunping, Zhao Zunlian. Survey on Applications of Particle Swarm Optimization in Electric Power Systems[C].In:Proc IEEE Int Conf on Control and Automation,2007:481—486.
[4]Liu Jun, Qiu Xiaohong. A Novel Hybrid PSO—BP Algorithm for Neural Network Training[C].In: International Joint Conference on Computational Sciences and Optimization,2009:300—303.
[5]Sun Wei, Liu Ming Ming. The optimizing of fuzzy control rule based on particle swarm optimization algorithms[C].In:Third International Conference on Genetic and Evolutionary Computing,2009:645—648.
[6]孫勇,章衛國,章萌,等. 基于改進粒子群算法的飛行控制器參數尋優[J]. 系統仿真學報,2010,22(5):1222—1225.
[7]史永麗,侯朝楨,蘇海濱.基于粒子群優化算法的自抗擾控制器設計[J].系統仿真學報 1,2008, 20(2):433—436.
[8]ZweLee Gaing. A particle swarm optimization approach for optimum design of PID controller in AVR system [J]. IEEE Transactions on Energy Conversion, JUN,2004,19 (2):384—391.
[9]謝曉鋒,張文俊,楊之廉. 微 粒 群 算 法 綜 述[J].控制與決策, 3,2003,18(2):129—134.
[10]Shi Y and Eberhart R. A Modified Particle Swarm Optimizer[C].In:Proceedings of the IEEE International Conference on Evolutionary Computation.Piscataway ,NJ:IEEE Press,1998,69—73.
[11]Tripathi P K,Bandyopadhyay S,Pal S K. Multiobjective particle swarm optimization with time variant inertia and acceleration coefficients [J]. Information Sciences(11—3904/N),2007,177(22) :5033—5049.
[12]Arumugam M S,Rao M V C. On the improved performances of the particle swarm optimization algorithms with adaptive parameters,cross—over operators and root mean square(RMS) variants for computing optimal control of a class of hybrid systems[J]. Applied Soft Computing(1568—4946),2008,8(1):324—336.
[13]黃忠霖. 自動控制原理的MATLAB實現[M]. 北京:國防工業出版社, 2007.