





摘" 要:PID控制算法是目前應用最廣泛的四旋翼控制算法。但目前傳統工業控制中的PID參數整定設置方法難以給出合適的參數導致無人機控制精度低且魯棒性差。采用粒子群優化算法(PSO)可對PID參數進行優化。針對基本PSO存在的收斂速度慢、收斂精度低、易過早收斂等缺陷,該文在傳統粒子群算法基礎上提出,非線性權重;非對稱學習因子;柯西變異;改進PSO算法用于PID參數整定中。仿真結果表明,該文所提出的改進粒子群算法在PID參數整定中的效果優于傳統PSO算法,且魯棒性強。
關鍵字:PID;參數優化;粒子群優化算法;柯西變異;非線性權重
中圖分類號:V279" " " "文獻標志碼:A" " " " " 文章編號:2095-2945(2023)13-0055-05
Abstract: PID control algorithm is the most widely used four-rotor control algorithm at present. However, the current PID parameter setting method in traditional industrial control is difficult to give appropriate parameters, resulting in low control accuracy and poor robustness of UAV. Particle swarm optimization (PSO) can be used to optimize PID parameters. In view of the shortcomings of basic PSO, such as slow convergence speed, low convergence accuracy and easy premature convergence, this paper proposes the following on the basis of traditional particle swarm optimization: nonlinear weight; asymmetric learning factor; cauchy variation; the improved PSO algorithm is used in PID parameter tuning, The simulation results show that the improved particle swarm optimization algorithm proposed in this paper is better than the traditional PSO algorithm in PID parameter tuning and has strong robustness.
Keywords: PID; parameter optimization; particle swarm optimization algorithm; cauchy variation; nonlinear weight
隨著工業自動化進程的不斷推進,有關比列-微分-積分控制器[1]的研究也在不斷深入。在實際工程應用中,經典PID算法具有控制器結構簡單、控制原理容易理解、設計容易實現、運行較為可靠且適用范圍廣等優點,所以PID算法深受各大無人機研發單位的喜愛,已被廣泛應用于實際工程中。而在PID控制中,參數整定是控制器設計的核心內容,其直接影響控制器性能。而現有的PID控制器參數整定方法主要有2類:理論計算整定法和工程整定法[2-3]。但這2種方法都需要豐富的先驗知識和經驗理論知識,整定效率低下、難度大,且未必能夠達到最優控制效果。
近些年來,一些智能算法的發展為PID參數整定提供了新的方向[4-5]。這些方法的確能夠在一定程度上優化參數整定過程,但也存在計算周期長、過程復雜等缺點。粒子群優化(PSO)是在1995年提出的一種新的優化算法。與其他優化算法相比,該算法保留了基于總體的全局搜索策略,且速度位置模型易于操作,在科學計算和工程應用領域得到了廣泛的應用。但基本PSO存在的收斂速度慢、收斂精度低、易過早收斂等缺陷。文獻[4]提出一種自適應慣性權值的PSO算法改善了算法容易過早收斂的問題。文獻[5]提出一種基于非線性學習因子的PSO算法,改善了其全局和局部搜索能力。結果都證明了PSO算法用于PID參數整定比傳統PID參數整定法更高效。
1" 四旋翼無人機原理及模型
1.1" 四旋翼無人機飛行原理
四旋翼無人機一般有“X”型布局和“十字”型布局。無人機的2對旋翼相互對稱,且每個旋翼上都有1個無刷直流電機用來為無人機提供飛行動力,而其他的一些設備,則一般安裝于無人機的重心位置。當忽略了機械結構的柔性時,其是一個剛體。四旋翼無人機的運動可分為空間平移運動和旋轉運動。
四旋翼無人機是一個由4個電機驅動的具有6個自由度的系統[6-7],分別為沿X、Y、Z坐標軸的水平平移運動及姿態轉動運動。為了描述物體的運動狀態,首先應該建立坐標參考系,坐標系的選擇不同,物體運動的狀態描述也不同。為了能夠更好地描述四旋翼無人機的運動狀態,本文采用2種坐標系,即大地坐標系和機體坐標系。
1.2" 四旋翼無人機飛行建模
在建立四旋翼無人機的運動模型之前,需要簡化對四旋翼無人機在非理想環境下的受力情況,同時又不失一般性,作出如下假設。
1)假設四旋翼無人機的機體是十字對稱的,質心與機體坐標系原點完全重合,且質量均勻視為絕對的剛體。
2)假設地球自轉對四旋翼無人機的影響幾乎為零,且重力加速度一直不變。
3)假設無人機在飛行途中重心一直保持不變和機體坐標系重合,且機體參數保持不變。
根據文獻[6]的分析方法可得到簡化的四旋翼數學模型如式(1)
(1)
式中:m為四旋翼的質量;g為重力加速度;?茲、?準、?鬃分別為俯仰角、橫滾角和偏航角角度; 分別為俯仰角、橫滾角和偏航角角度變化率;四旋翼所受總升力為U1;ρ為升力系數;Ωi(i=1,2,3,4)分別為4個旋翼的轉速;Ixx、Iyy、Izz分別為無人機繞x、y、z軸的轉動慣量。
通過線性時變法(Linear Parameter Varying,LPV)[8]近似的方法進行處理獲得四旋翼無人機的線性化狀態空間模型。將四旋翼無人機運動分解為3個獨立的通道考慮到四旋翼無人機懸停或者低速飛行時,飛行器受到的空氣阻力非常小,可以忽略不計[8],其角度變化率很小。
由文獻[8]的分析同理可得3個通道上的傳遞函數。
俯仰角傳遞函數為
,(2)
橫滾角傳遞函數為
(3)
偏航角的傳遞函數為
, (4)
式中:K為電機轉矩系數;τ為延遲時間:d為機體中心到每個旋翼的距離;b為電機反扭轉阻力系數。
表1給出了四旋翼無人機的相關參數,將其代入式(2)、(3)、(4)可得出四旋翼無人機在3個通道上的傳遞函數,其中式(5)為俯仰角傳遞函數,式(6)為橫滾角傳遞函數、式(7)為偏航角傳遞函數。
代入參數有
(5)
,(6)
。(7)
2" 粒子群算法(PSO)
2.1" 標準粒子群算法
標準PSO算法在每次迭代中,粒子通過跟蹤單個極值和全局極值來更新其速度和位置。但最初的粒子群存在著收斂速度慢且容易“早熟”等問題。隨后Shi等增加了慣性系數ω,以提高粒子跳出局部極值的能力,每個粒子的修正速度和位置可以根據式(8)、(9)進行控制
v(t+1)=ωv(t)+c1r1(pbest-x(t))+c2r2(gbest-x(t)),(8)
xij(t+1)=xij(t)+vij(t+1),(9)
式中:ω為慣性權重,使算法有擴大搜索空間的趨勢;t為當前迭代的代數;c1和c2為學習因子,通常值為2;隨機因子r1和r2為分布在[0,1]范圍內的隨機數;pbest為粒子本身的最優解,即個體極值;gbest為目前整個粒子群的最優解,即全局極值。為了防止粒子跳出搜索范圍,通常使v∈[-vmax,vmax]。一般情況下,當達到最大迭代次數或粒子已經找到全局極值時,迭代將被終止。
式(8)、(9)被稱為標準PSO算法。
2.2" 粒子群算法改進分析
在基本的PSO中,慣性權重和學習因子是重要的參數,通常被設為常數,但這樣卻不能平衡局部搜索和全局搜索,導致了收斂速度慢、收斂精度低和容易陷入局部最優解等問題[9]。本文提出了一種新的CA-PSO算法來解決基本的PSO 問題。
2.2.1" 慣性權重的調整法
在PSO中,慣性權重ω決定了粒子的先前飛行速度對當前飛行速度的影響。選擇合適的慣性權值可以平衡全局和局部搜索能力,提高算法的性能。一般來說,在早期搜索中最好使用更大的慣性權值,在后期搜索中使用較小的慣性權值。本文采用了動態變化的非線性逆切線遞減慣性權重,如式(10)。
,(10)
式中:t為當前的迭代次數;tmax為最大的迭代次數。
2.2.2" 學習因子調整
在PSO算法中,學習因子c1和c2決定了粒子的經驗信息和其他粒子的經驗信息對粒子軌跡的影響。為了提高PSO的精度,當迭代次數改變時,c1和c2發生動態非對稱變化,如式(11)和(12)。在搜索早期,粒子具有較大的自我學習能力和較小的社會學習能力。在算法后期,粒子具有較大的社會學習能力。
,(12)
2.2.3" 局部最優解的調整方法
針對粒子群優化算法易陷入局部最優的特點,利用柯西變異來增加種群的多樣性,提高算法的全局搜索能力,增加搜索空間。
全局極值突變操作的前提是檢測粒子的收斂狀態[10],判斷gbest是全局極值還是局部極值,然后局部極值gbest以柯西方式突變。為了定量描述粒子群的狀態,適應度方差的定義為
(14)
f=max{max|fi-favg|,1}, (15)
式中:i∈[1,n],粒子群的粒子數為n;fi為第i個粒子的適應度;粒子群的當前平均適應度為favg;粒子群的群適應度方差為σ2。σ2反映了粒子群的聚集程度,該值越小,總體的收斂性就越大。當出現局部最優解時,說明算法出現早熟,則gbest將發生柯西突變如式(16)
gnewbest=gbest+gbest×Cauchy(0,1),(16)
式中:Cauchy(0,1) 為柯西分布函數生成的0到1的隨機數。
本文集合上述3種方法,提出了一種改進的CA-PSO算法,該算法根據當前的優化過程動態調整慣性權重和學習因素。同時,對全局極值進行了自適應柯西突變操作,以避免局部最優解。改進的PSO算法早期具有較強全局收斂能力,后期具有較強局部收斂能力,一定程度上解決了PSO收斂速度慢、精度低、容易“早產”的問題。
2.3" 改進的PSO性能分析
本文采用Rastrigin函數來測試改進的PSO算法的性能,其函數表達式為
(17)
式中:-2≤x≤2,該函數具有較多的局部極值難以求得最優解。
然后就是選擇合適的適應度指標,常用的綜合性能評價指標有:ITAE、IAE、ISE。適應度的作用是來標稱算法中個體的好壞[11]。這里選用ITAE,時間絕對偏差積分ITAE數學表達式如式(18)所示
。(18)
本文選取文獻[4]的W-PSO、文獻[5]的H-PSO與本文算法CA-PSO進行比較。
首先進行初始化處理,粒子群種群規模設置為20,終止迭代步數設置為20;文獻[4]算法的ω初值為方便比較將其設置如式(10)所示,c1,c2初值設置為2;文獻[5]的c1,c2初值設置如式(11)、(12)所示,ω初值設置為0.9。
分別使用改進前后的粒子群算法的尋優曲線如圖1所示。
由圖1可知,W-PSO在搜索過程中,在算法初期尋優速度較快,效率高;但是在算法中期卻陷入了“早熟”,落入局部最優,雖然最后通過慣性權重的調整跳出了局部最優,但影響了其收斂速度。改進的H-PSO算法,由于引入了非對稱學習因子策略,平橫了其全局和局部搜索能力。本文提出的CA-PSO在文獻[4]和文獻[5]的基礎上,提出柯西變異策略的CA-PSO具有收斂速度快且不易陷入局部最優等優點。
3" 改進粒子群算法PID整定結果分析
3.1nbsp; 仿真模型建立
無人機的姿態控制都是通過調節4個電機的轉速來實現的,四旋翼無人機的控制系統采用串級PID[10-12]來控制電機的輸出,為了方便研究,忽略內外環之間的效益,可在Matlab/Simulink建立如圖2所示的模型。
3個通道分別表示單級PID已整定、串級PID整定前和串級PID整定后。
3.2" 控制參數的確立
采用改進PSO算法對PID參數進行整定,PID參數的大致范圍為[0,0,0,0,0,0]到[10,10,10,10,10,10]。本文采用ITAE作為適應度指標。
利用改進粒子群方法進行多次迭代,得到最優的參數集見表2。
再將尋優得到的參數代入圖3所示的動態仿真模型中可得圖3。
其中,3號曲線為單級PID控制器參數已整定,2號為串級PID控制器參數未優化,其參數是采用試湊法得出的,1號曲線為串級PID控制器參數已優化。根據上述仿真結果可以得知。
1)在3個姿態環的響應曲線中,單級PID明顯比串級PID振動明顯,且調節時間長。
2)采用改進的PSO算法整定參數的PID控制系統動態性能更加的穩定。
3)在2個串級回路中,參數整定后,超調量下降明顯,調節時間縮短了20%~30%,說明參數整定優化之后,無人機能快速到達穩態,動態性能明顯提升。
總體來說,通過粒子群算法整定四旋翼無人機控制器參數相比傳統算法要高效很多,其動態性能得到了明顯提升,同時大大節約了參數整定時間。
4" 結束語
本文通過改進PSO算法來對四旋翼串級PID控制系統進行參數整定,大大提高了四旋翼飛行系統的動態性能,并極大縮短了參數整定的時間。
通過提出非線性慣性權重調整、非對稱學習因子調整和自適應柯西變異來解決標準粒子群收斂速度慢、收斂精度低和容易陷入局部最優解等問題。
最后通過Matlab/Simulink仿真建模來驗證了所得參數的有效性。
參考文獻:
[1] 高強,劉新鵬,劉春平,等.四旋翼無人機串級自抗擾姿態控制及軌跡跟蹤[J].電光與控制,2023,30(9):90-95.
[2] 范東生,邢小軍,趙亞青,等.基于自適應模糊PID的無人機四維航跡控制研究[J].計算機測量與控制,2018,26(1):107-109,114.
[3] 任宇希,丁振偉,莫愁,等.基于禿鷹算法的PID參數自整定[J].電氣傳動自動化,2022,44(3):6-8.
[4] 于彥.自適應權重混合粒子群算法在PID整定中的應用[J].無線通信技術,2022,31(1):15-19.
[5] 毛開富,包廣清,徐馳.基于非對稱學習因子調節的粒子群優化算法[J].計算機工程,2010,36(19):182-184.
[6] SHETA A,BRAIK M,MADDI D R,et al. Optimization of PID controller to stabilize quadcopter movements using meta-heuristic search algorithms [J]. Applied Sciences,2021,11(14).
[7] TIEZHOU W,CUICUI Z,ZHE Y,et al. Application of PID optimization control strategy based on particle swarm optimization (PSO) for battery charging system[J]. International Journal of Low-Carbon Technologies,2020,15(4).
[8] 司磊.多飽和LPV系統的控制及其在飛行控制中的應用[D].沈陽:東北大學,2008.
[9] 李超.粒子群優化算法改進策略及其應用研究[D].無錫:江南大學,2021.
[10] YANG S,WANG Z S. Quad-rotor UAV control method based on PID control law[J]. International Journal of Advanced Network, Monitoring and Controls,2018,2(1).
[11] 龔格格,李壯舉.融合U-model的四旋翼無人機自抗擾控制研究[J/OL].小型微型計算機系統:1-7[2023-04-21].http://kns.cnki.net/kcms/detail/21.1106.TP.20221031.1632.004.html.
[12] 曾憲陽,楊紅莉,郁漢琪.基于STM32單片機四旋翼飛行器建模分析與設計[J].電子技術應用,2016,42(12):65-68.