?

基于蝙蝠算法的PID控制參數優化技術與仿真研究

2023-09-15 11:47
關鍵詞:控制參數蝙蝠控制算法

宮 佳

(淮南職業技術學院 機電工程學院,安徽 淮南 232001)

比例-積分-微分(PID)控制器在20世紀30年代出現,因其原理簡單、系統模型較為單一,被廣泛運用于工業生產中[1]。傳統的PID參數整定時產生的誤差較大,整定過程比較復雜,并且整定效果較差,產生的震蕩和超調量也很大,所以必須優化PID控制參數[2]。PID參數整定主要有以下3個研究方向:對于單輸入輸出的PID控制系統,存在控制對象變化較大和干擾控制過程變量過多的問題,因此需要繼續深化研究PID參數整定的方法;對于多輸入輸出的PID控制系統,需要研究如何整合各個對象的關系;對于智能PID算法,應將算法與PID參數整定結合,研究出更多智能PID整定方法[3-5]。圍繞上述3個研究方向,涌現出很多有效的改進方法。張婧等[6]根據自動控制原理,利用MATLAB軟件自帶的Rltool工具箱設計了簡易的PID控制參數整定方法,實踐表明利用該方法調整參數十分方便。林洽懷[7]開發了一種基于PLC的PID控制器,對開環響應進行識別,并在MATLAB/Simulink平臺上進行仿真,實驗結果表明該方法提高了系統的穩定性。劉延飛等[8]對基本遺傳算法的參數進行改進,提出了一種基于改進遺傳算法的PID參數整定方法,提升了算法的收斂速度,能防止其陷入局部最優。楊智等[9]針對工業過程中PID參數整定困難的問題,提出了一種個性化慣性權重的粒子群算法,用來優化PID控制參數整定。孫全明等[10]提出了一種基于粒子群優化和LightGBM框架的情景感知多式聯運推薦方法,提高了粒子種群的多樣性和算法的準確率。蝙蝠算法(bat algorithms,BA)是一種模擬自然界中蝙蝠發射超聲波探測周圍實體的算法,具有模型簡單、參數較少、易于實現的優點[11]。呂磊等[12]建立了一種新的PID控制參數整定方法BA-PID,在PID控制穩定性上優于粒子群算法?;诖?吳晨輝等[13]將BA-PID用于發動機空燃比控制研究中,提高了內燃機瞬態工況下的空燃比。此外,杜學武等[14]發現蝙蝠算法除了對PID控制器有良好的優化效果,還能明顯提升模糊PID控制器的控制精度與計算效率。然而,關于蝙蝠算法、粒子群算法與遺傳算法的收斂速度、尋優精度和PID參數整定的對比研究卻鮮有報道。本研究將蝙蝠算法應用到PID參數整定中,利用蝙蝠算法準確率高、易于實現和結構簡單等優點來實現PID控制參數的優化,以達到提高控制系統精度、穩定性和整定速度的目的。

1 相關方法理論概述

1.1 經典PID控制

經典PID控制器一般由比例(P)、積分(I)、微分(D)3個部分組成。PID控制系統如圖1所示。

圖1 PID控制系統Fig.1 PID control system

PID控制器輸入e(t)與輸出u(t)的關系一般為

(1)

式中:Kp為比例系數;Ti為積分時間常量;Td為微分時間常量。

1.2 基于蝙蝠算法的PID控制參數優化算法

1.2.1基本原理

圖2給出了基于蝙蝠算法的PID控制原理,該控制系統由模擬PID控制器、蝙蝠算法和被控對象組成,其中r(t)是給定輸入值,y(t)是實際輸出值,e(t)是誤差。

圖2 基于蝙蝠算法的PID控制原理Fig.2 The principle of PID control based on bat algorithm

1.2.2蝙蝠算法實現步驟

蝙蝠算法是以種群為整體的群智能算法。蝙蝠算法包括4個步驟:首先初始化蝙蝠算法的參數,然后調整蝙蝠的聲波頻率,計算當前蝙蝠的適應度,接下來判斷隨機數r與脈沖發射頻度ri的關系,最后計算新解的適應度值f(xnew)并輸出全局最優位置。

1.2.3基于蝙蝠算法的PID控制參數優化算法流程

基于蝙蝠算法的PID控制參數優化算法流程如圖3所示。初始化蝙蝠種群xi和vi、頻率fi、發射率ri及響度Ai。如果未達到最大迭代次數則調整頻率,產生新的解并更新速度和位置;如果r>ri,則產生一個局部解;如果通過隨機飛行產生了新的解則結束運行;如果r>ri,則接受該新解,增大ri,減少Ai;對蝙蝠進行排序,找到當前最優解x*,結束運行。

2 結果分析與優化

2.1 不同算法仿真結果分析

為證明蝙蝠算法尋優效果更佳,對遺傳算法(GA)、粒子群算法(PSA)和蝙蝠算法(BA)進行Griewank和Rosenbrock迭代函數測試,仿真結果見圖4。

圖4 測試函數的仿真結果Fig.4 Simulation results of test function

GA參數設置:交叉概率P=0.75,變異概率Pm=0.15。PSA參數設置:認知系數C1=1.496 2,社會系數C2=1.496 2,慣性權重Wmax=0.9,Wmin=0.4。BA參數設置:蝙蝠數量N=30,頻率fmin=-1,fmax=1,A=0.25,r0=0.75,r=0.05,a=0.95。這3種算法的空間維數分別取10、20、50、80,它們的迭代次數都是100。

Griewank函數的空間特征圖如圖4(a)所示,可以很直觀地看出該函數為多峰極函數,由于有許多多峰局部極值點,所以全局最優值不易被找到。3種算法的Griewank函數迭代曲線如圖4(b)所示。Rosenbrock函數的空間特征如圖4(c)所示,可以看出該函數為單模函數,由于其全局最優值周圍比較平坦,所以全局最優值也很難搜尋。3種算法的Rosenbrock函數對比迭代曲線如圖4(d)所示。對比圖4(b)和(d)發現:粒子群算法和蝙蝠算法的搜索精度與收斂速度均優于遺傳算法;粒子群算法雖然最終能找到全局最優值,但在搜索精度和收斂速度上不如蝙蝠算法;在上述2個函數中,蝙蝠算法隨著迭代次數的增加,其適應度下降速度最快,并且在迭代初期性能就是最好的,尋優成功率也高于遺傳算法和粒子群算法。由此可見,蝙蝠算法的搜索精度和收斂速度都很好。對3種算法分別用函數f1(x)和f2(x)進行20次測試,結果如表1所示。

表1 蝙蝠算法、遺傳算法、粒子群算法性能測試比較結果Tab.1 Comparison results of BA, GA and PSA performance tests

由表1可以看出,在最優值、最差值、平均值及標準差方面,蝙蝠算法都是最小的,由此可見蝙蝠算法優于遺傳算法和粒子群算法。而且,蝙蝠算法的尋優精度平均值提升很大,說明蝙蝠算法防止陷入局部最優的能力更強,能使種群更加穩定并達到更好的收斂速度和尋優精度。

2.2 基于蝙蝠算法的PID控制參數優化

為驗證蝙蝠算法優化PID控制參數的優越性,分別使用蝙蝠算法、增量式PID控制算法和粒子群算法對PID進行參數整定,并對整定結果進行對比。實驗中,設置蝙蝠算法和粒子群算法具有相同的尋優空間,尋優空間均為Kp∈[0.01,10],Ki∈[0.01,10],Kd∈[0,10]。選取蝙蝠算法的蝙蝠種群為50只,迭代次數為100,初始響度A=0.5,初始脈沖速率r=0.5,頻率f∈[0,2],采樣周期為0.001 s,調節時間ts=1 s。選取粒子群算法的粒子數為50,迭代次數為100,認知系數c1=2,社會系數c2=2,慣性權重w∈[0.8,3]。前期實驗發現,當蝙蝠數量為50、迭代次數為100、初始響度為0.8、脈沖速率為2時,優化效果最好,因此選擇這4個參數值較為理想。

將蝙蝠算法、粒子群算法和增量式PID控制算法優化PID控制參數的結果進行比較,控制輸出曲線與誤差曲線如圖5所示。

圖5 不同算法的控制輸出曲線與誤差曲線Fig.5 Control output curve and error curve of different algorithms

從圖5(a)可以看出,蝙蝠算法優化PID控制參數的實際輸出曲線最貼近理論輸出曲線,而增量式PID控制算法的實際輸出曲線與理論輸出曲線偏離較大,優化效果較差,粒子群算法優化PID控制參數的實際輸出曲線在理論輸出曲線周圍震蕩很明顯,優化效果也比較差。從圖5(b)可以看出,蝙蝠算法的誤差曲線雖然剛開始震蕩明顯,但逐漸趨于0,并近似為一條直線,而增量式PID控制算法的誤差曲線偏差一直較大,粒子群算法的誤差曲線始終在-0.02~0.02震蕩,并且震蕩很頻繁,說明誤差較大。

綜上所述,蝙蝠算法優化PID參數效果最好,而且很穩定,而粒子群和增量式PID控制算法優化后的實際輸出結果和理論輸出值偏差較大,穩定性遠不如蝙蝠算法。

3 結語

在經典的PID控制中,PID整定過程比較復雜,并且控制效果不佳。本研究將蝙蝠算法應用到PID參數整定中,以實現最優整定。用MATLAB軟件進行仿真和分析發現,蝙蝠算法獲得的PID參數總體上優于增量式PID控制算法和粒子群算法,誤差較小,優化效果明顯。然而,由于蝙蝠算法在搜索時陷入局部最優的次數較少,且全局搜索最優的精度較高,導致算法的收斂速度和運行效率大大降低,后續將從數學理論角度出發,使蝙蝠算法在收斂速度和收斂精度上均達到最理想的結果。

猜你喜歡
控制參數蝙蝠控制算法
高超聲速飛行器滑??刂茀嫡ǚ椒ㄔO計*
Birkhoff系統穩定性的動力學控制1)
基于ARM+FPGA的模塊化同步控制算法研究
基于PI與準PR調節的并網逆變器控制參數設計
蝙蝠
一種優化的基于ARM Cortex-M3電池組均衡控制算法應用
蝙蝠女
蝙蝠為什么倒掛著睡覺?
一種非圓旋轉工件支撐裝置控制算法
DI材橫向厚差自動控制算法及其應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合