鄭武略 張富春 張蔓 金釗 趙敏
摘要:針對傳統固定翼無人機PID控制器比例、積分和微分參數調節控制精度低,響應速度慢,難以得到最優線性PID參數組合等問題。本文利用蟻群算法尋優搜索對傳統PID控制器進行改進,本文將PID參數尋優過程轉化為多約束條件組合優化問題,并通過蟻群算法針對PID參數整定多次迭代來進行搜索最優數值路徑來更加快速,精確的優化PID線性組合參數值,提高對固定翼的精確PID參數控制。
關鍵字:蟻群算法;固定翼;PID參數整定;控制系統設計
中圖分類號:TP302文獻標識碼:A
Abstract:As to the low efficiency of traditional PID tuning for FixedWing UAV(unmanned aerial vehicle),its difficult to find the optimal problem of linear array.Therefore,we use the ACO(Ant Colony Optimization) to improve the traditional PID controller,and transform traditional PID as combination optimization problem,by using the iteration of ant colony to search the optimal path to look for the more speedy and calculate PID array parameters,by the way to reach more precise control.
Key words:ACO(Ant Colony Optimization);fixedwing;PID parameter controller;design of controller
1引言
無人機(UAV)因其小巧的機身、靈活的動作、便捷的操作以及高性能性價比使無人機成為各行各業爭先研發與使用的焦點,并且無人機小巧的機身上可搭載例如攝像頭、聲納、激光等傳感器,讓無人機可以很好的適用于區域偵察及地圖測繪等戰略環境。
無人機高效的偵測與靈活的動作與無人機的姿態控制有著必然的聯系[1]。目前大多數無人機采用的控制器主要為傳統的PID控制器,通過對PID參數Kp、Ki與Kd優化與整定來達到對無人機控制精度、魯棒性和最優性能的控制。由于人們日益追求對無人機的高精度控制,使傳統PID控制因其高超調與次優PID參數線性組合而難以滿足對無人機全部的精確控制的需求。因此可通過現代控制理論的研究方法來對PID參數尋優,在過去的幾十年里發展了大量的 PID 參數優化的方法。目前針對與PID參數尋優已涌現出大量的研究方法。如以經驗尋優的ZN法(ZieglerNiChols) [2];粒子群優化法[4];遺傳算法優化法 [5];以連接主義為尋優依據的的神經網絡優化參數法[3]及以蟻群參數尋優為首的智能算法[6-9]等。
蟻群算法作為新興智能算法,利用正反饋原理通過對道路全局尋優搜索,加快對最優解的搜索進程,因此十分適用于多條件約束的系類組合優化問題。因此,本文以固定無人機PID控制為研究點,通過利用改進蟻群算法來實現對固定翼無人機的最優PID參數搜索與整定。
2基于蟻群算法的PID參數整定
21蟻群算法基本原理
蟻群算法源自于致盲螞蟻該在脫離視覺信息要素的情況下,通過對所走路徑上留下信息素的方法搜索從巢穴到食物的最短路徑,并且其路徑上所留信息素的濃度大小對后續螞蟻搜索循跡起著重要的導向作用,經過多次往返迭代最終達到從巢穴到食物源最短路徑的搜索。而螞蟻這種搜索機制猶如控制系統中的正反饋機制,通過采用并行分布式計算方法來對組合優化問題求解顯示出極強的魯棒性。但是這種搜索方法往往隨著單獨某路徑信息素濃度而高于其他路徑而陷入局部最優導致算法早熟。因此,在設計算法時在蟻群尋優機制中加入信息素的蒸發要素,隨著每次螞蟻尋優結束時會對當前螞蟻所走最短路徑上的信息素進行蒸發,并當每輪迭代結束后會對當前蟻群搜索最優路徑上的信息素進行蒸發,并以此來提高蟻群算法全局搜索路徑的效率[10-11]。假設起始設置M只螞蟻從起點開始尋優,通過搜索當前所在位置與相鄰搜索點上的信息素濃度大小來決定螞蟻下一轉移點,因此第k只螞蟻從節點i到節點j的轉移概率為:
為信息素啟發因子,α的大小決定螞蟻搜索下一節點的導向;β彰顯著啟發函數的重要性,對算法收斂起著重要的作用,但取值過大可能會導致螞蟻只搜索當前距離最近節點,使算法陷入局部最優。
當蟻群完成一輪迭代搜索之后,為使算法具有更高的全局性,需要對當前螞蟻搜索路徑之間的信息素含量進行蒸發,其蒸發規則如下所示:
τij(t+1)=(1-ρ)τij(t)+Δτij(2)
Δτij=∑mk=1Δτkij(3)
式中ρ為信息素蒸發參量,且ρ取值介于0與1之間;Δτij當前迭代(i,j)上所包含的信息素增量;Δτkij為第k只螞蟻在本次迭代搜索中遺留在(i,j)上的信息素,且Δτkij還可如式(4)所示:
Δτkij=F/Qkk(i,j)0, (4)
式中F為一恒定不變的數,對算法收斂速度上有一定影響作用,Q為對第k只螞蟻當前搜索路徑的原函數值。
從上述蟻群算法搜索模型,通過釋放更多信息素給相對較短的路徑 從而形成一個信息的正反饋機制。并且信息素的更新公式可以很好的增強蟻群算法全局搜索性,從而得到全局最優解。
22蟻群算法PID參數優化法
PID(比例-積分-微分)控制系統中其參數Kp、Ti和Td的參數優化搭配是決定PID控制系統優劣的關鍵。傳統PID控制原理框圖如圖1所示。endprint
其中e與u的關系如下式所示:
u(n)=Kp[e(n)+T/Ti∑nj=0e(j)+Td[e(n)-e(n-1)]/T](5)
其中Kp為比例因子;Ti為積分時間;Td為微分時間;T為算法采樣周期。并且Ki=KpT/Ti為積分因子,Kd=KpTd/T為微分因子。因此,只需要對Kp、Ki與Kd三個參數尋優整定,即可虧整個PID參數控制系統有直接的影響。為了能使蟻群算法達到對PID控制參數優化目的,必須將PID參數整定尋優轉換為組合優化問題的求解,因此本文將PID參數值的選取當作一個組合優化問題,通過蟻群算法迭代尋優來解決PID控制系統的參數優化。
1搜索節點設置
本文首先通過經驗法對PID控制器參數Kp、Ki與Kd的取值范圍進行界定,并設PID控制器參數為一20×1矩陣,其中矩陣每一行代表其參數在其參數取值范圍內的隨機數,并以此作為蟻群算法搜索節點,將Kp、Ki與Kd不同取值矩陣組合在一起構成一20×3的搜索點矩陣集合,通過對PID參數組合問題進行搜索來達到求解最優路徑的目的[14]。
Kp=0.2/M×K×rand(20,1)+0.2×ones(20,1)Ki=0.2/M×K×rand(20,1)+1.5×ones(20,1)Kd=0.2/M×K×rand(20,1)+1.4×ones(20,1)(6)
2.性能指標設定
為達到對求解參數的最優選擇,本文對蟻群算法性能指標進行設計來判定蟻群算法組合問題尋優結果。借鑒傳統TSP(Travelling Salesman Problem)以商旅遍歷目標點路程和作為TSP的評價性能指標。其所遍歷路程越短,則說明最優解越有效,反之亦然。將此作為類比,由于對于PID控制器來說,上升時間、超調量與穩定時間等是評價PID控制器好壞的重要性能指標,因此本文采用絕對誤差的矩的積分作為評價控制性能的指標[12]:
Q=T2∑LPi=1ie(i)(7)
其中T為算法采周期,LP為仿真計算的點數。因此當控制系統具有過大超調量或震動時間過長等問題時,評價函數值會比較高。
3.算法實現流程
1)設定蟻群規模中螞蟻總量為M 只,并將其置于初始原點處,并設置蟻群算法初始參數;
2)對螞蟻所走路徑點進行記錄,并將其置于一規格為1×3矩陣tabuk中;
3)算法開始迭代,令蟻群以原點為起始點,并開始搜索,所有人工螞蟻從原點出發,通過式(1)來計算所行方向目標節點的轉移概率,然后通過輪盤賭注法選擇下一個節點,并將螞蟻當前所在節點記入tabuk中;
4)當蟻群搜索完畢即一次迭代結束,計算每只螞蟻路徑矩陣tabuk來得到相應的(Kp,Ki,Kd)及性能指標。然后根據式(2)執行信息素蒸發策略,并記錄本次迭代最小性能指標及相應PID參數;
5)若算法并未收斂且未達到最大迭代次數,則下一輪迭代開始,否則則將輸出收斂結果或當前最優結果作為最優參數解[15]。
3固定翼無人機數學模型構建
針對無人機固定翼PID控制系統蟻群算法參數尋優,本次以取天行者固定翼無人機翻滾、俯仰和偏航控制系統作為參照點。該固定翼無人機機型具有1680mm的較大翼展,且未載荷機體總重量僅1.7kg有效載荷較大,轉動慣量(kg/m2)分別為:Jx=0.8244、Jy=1.135,Jz=0.1204。因此該類型無人機適用于多種任務要求,具有廣泛的通用性。其翻滾、俯仰與偏航通道傳遞函數如下所示[13]:
1.俯仰通道控制傳遞函數為:
4仿真驗證
41俯仰通道控制率仿真分析
設定本文設定控制器輸入為y(t)=1(t),(t>0),且算法采樣周期為T=0.005s,并設定蟻群算法初始參數M=50(螞蟻總數),K=100(蟻群算法迭代次數),且ρ=0.1,α=1,β=2,Qk=100,其俯仰通道PID相應如圖2所示。
由仿真圖可知系統所得Kp=5.9711,Ki=3.7648,Kd=2.3676。上升時間0.133s,調節時間7.18s,超調量為8,96%。從數據中可以看出算法所搜索PID具有較快的響應速度與小超調量,但根據仿真所得調節時間可以看出函數PID調節后減小原函數變動,提高控制器收斂性。
42翻滾通道控制率仿真分析
保持蟻群算法初始參數及系統信號輸入不變,將被控對象轉化成翻滾通道。可得蟻群算法對翻滾通道PID參數整定傳響應如圖2 所示。
經過蟻群算法迭代可得Kp=2.0917,Ki=1.4446,Kd=0,75714,上升時間0.0431s,超調量為0.444%,調節時間為0.0759s。從蟻群算法為滾轉通道PID參數尋優后所示結果可以看出控制器經過調節后僅需較短的響應時間即可達到峰值,且所示波形波動較小,并且很快達到收斂。
43偏航通道控制率仿真分析
同理,將固定翼無人機偏航通道傳遞函數模型代入,即可得到偏航通道PID控制響應模型。
其中Kp=91.4897,Ki=31.1723,Kd=67.1298,且由圖4可知,系統的超調量為 8.61%,且上升時間為0.0437s,0.372s后系統波形達到穩定收斂,從仿真結果看出經過蟻群算法對偏航通道PID參數整定后,使系統具有快速收斂性和較高的穩定性能。
44實際固定翼飛行數據驗證
針對上文蟻群算法對各個控制通道的PID參數尋優控制,本文將所得參數輸入到固定翼無人機中,并通過地 Mission Planner 軟件讀取本次飛行的 log 日志文件,繪制無人機飛行姿態變化曲線。
從圖5XYZ三個通道無人機姿態變化跟蹤曲線可以看出蟻群算法對 PID 控制器參數尋優具有較好的瞬時響應控制性能,且小幅度的擺動在無人機飛行控制誤差可接受范圍之內,令無人機姿態控制操控性更加穩定。endprint
5結論
經過實驗仿真結果可以看出蟻群算法針對諸如PID組合參數優化整定問題具有良好的魯棒性及便捷的分布式搜索機制,與固定翼無人機多控制通道相結合,可以高效解決固定翼無人機PID參數整定組合優化問題,并且從顯示結果中可以看出算法針對PID參數尋優使無人機控制系統具有快速的響應速度,較短的調節時間與擺幅較小的超調響應,并用固定翼對所求PID參數的控制優化性能進行驗證。從上述結論中可以看出蟻群算法在無人機PID參數整定尋優中具有極高的可行性,可以適用于無人機PID參數優化控制。
參考文獻
[1]LUO Y,CHAO H.Lateral directional fractional order (PI) a control of a small fixedwing unmanned aerial vehicles:controller designs and flight tests.The Institution of Engineering and Technology[J].IEEE Trans.2011,(5):2156-2167.
[2]PRADHAN R,ROUT B,PRABHU.Enhancement of stability of SMIB using ZNPID and LQRPSS as affected by excitation control [J].IEEE.2015.
[3]ZHANG Yanhong,ZHAO Dean,ZHANG Jiansheng.Research on PID controller based on the BP neural network[J].IEEE.2011:516-519.
[4]MENHAS M I,WANG Ling,FEI M,et al,“Comparative performance analysis of various binary coded PSO algorithms in multivariable PID controller design,” Expert systems with applications[J].2012,39:4390-4401.
[5]SHARMA R,RANA K P S,KUMAR V.Statistical Analysis of GA Based PID Controller Optimization for Robotic Manipulator[J].IEEE.2014:713-718.
[6]NAGARAJ B,MURUGANANTH D N.A comparative study of PID controller tuning using GA,EP,PSO and ACO[J].IEEE.2010:305-313.
[7]PRIYAMBODO T,PRIYAMBODO T K,DHARMAWAN A.Optimizing control based on ant colony logic for quadrotor stabilization[J].IEEE.2015.
[8]CHEN Yibao,GUO Zhong,LIU Jiaguang.An improved ant colony algorithm for PID parameters optimization[J].IEEE.2009:157-160.
[9]尹宏鵬.基于蟻群算法的 PID 控制參數優化[J].計算機工程與應用.2007 ,43 ( 17 ):4-7.
[10]許賀群.基于改進蟻群算法的PID參數優化[J].制造業自動化.2011,33(4):1-3.
[11]SANDOVAL D,SOTO I,ADASME P.Control of direct current motor using ant colony optimization[J].IEEE.2015.
[12]孫鐵成.蟻群算法在PID控制中的應用及其參數影響[J].現代電子技術.2015,38(20):20-25.
[13]劉一鳴.基于 Backstepping 自適應的固定翼無人機控制方法研究[D].哈爾濱工程大學:自動化學院,2015:1-103.
[14]劉艷榮,姜波.基于蟻群算法PID控制器的應用研究[J].電子設計工程.2012,20(18):28-30.
[15]傅強.基于蟻群算法的航空發動機PID參數優化[J].控制系統.2011,(5):32-34.endprint