本發明涉及無人機控制領域,具體涉及一種基于蟻群算法固定翼無人機PID參數控制方法。
背景技術:
無人機(Unmanned Aerial Vehicle,UAV)因其小巧的機身、靈活的動作、便捷的操作以及高性能性價比使無人機成為各行各業爭先研發與使用的焦點,并且無人機小巧的機身上可搭載例如攝像頭、聲納、激光等傳感器,讓無人機可以很好的適用于區域偵察及地圖測繪等戰略環境。
無人機高效的偵測與靈活的動作與無人機的姿態控制有著必然的聯系。目前大多數無人機采用的控制器主要為傳統的PID(比例-積分-微分)控制系統參數:比例因子Kp、積分時間Ti和微分時間Td的參數優化搭配是決定PID控制系統優劣的關鍵。控制器,通過對PID參數Kp、Ki與Kd優化與整定來達到對無人機控制精度、魯棒性和最優性能的控制。由于人們日益追求對無人機的高精度控制,使傳統PID控制因其高超調與次優PID參數線性組合而難以滿足對無人機全部的精確控制的需求。
蟻群算法源自于致盲螞蟻該在脫離視覺信息要素的情況下,通過對所走路徑上留下信息素的方法搜索從巢穴到食物的最短路徑,并且其路徑上所留信息素的濃度大小對后續螞蟻搜索循跡起著重要的導向作用,經過多次往返迭代最終達到從巢穴到食物源最短路徑的搜索。而螞蟻這種搜索機制猶如控制系統中的正反饋機制,通過采用并行分布式計算方法來對組合優化問題求解顯示出極強的魯棒性。但是這種搜索方法往往隨著單獨某路徑信息素濃度而高于其他路徑而陷入局部最優導致算法早熟。
技術實現要素:
本發明的目的在于針對上述現有技術中存在的問題,提出了一種基于蟻群算法固定翼無人機PID參數控制方法,通過利用改進蟻群算法來實現對固定翼無人機的最優PID參數搜索與整定,加快了對最優解的搜索進程,十分適用于多條件約束的系類組合優化問題。
為達到上述發明的目的,本發明通過以下技術方案實現:
本發明還公開一種基于蟻群算法固定翼無人機PID參數控制方法,包括步驟如下:
步驟S1,設置蟻群搜索節點,通過經驗法對PID控制器參數:比例因子Kp、積分時間Ti和微分時間Td的取值范圍進行界定,并將搜索節點設定為每行一種參數的N×3搜索點矩陣集合,其中N是大于1的參數取值范圍內的隨機值的個數;
步驟S2,在蟻群尋優機制中加入信息素蒸發機制,使每輪迭代結束后對當前蟻群搜索最優路徑上的信息素進行蒸發;
步驟S3,采用信息素蒸發的蟻群尋優機制遍歷蟻群搜索節點,尋找滿足評價控制性能指標的節點,所述評價控制性能指標為:絕對誤差的矩的積分最小。
本發明的一種基于蟻群算法固定翼無人機PID參數控制方法,采用的蟻群算法針對諸如PID組合參數優化整定問題具有良好的魯棒性及便捷的分布式搜索機制,與固定翼無人機多控制通道相結合,可以高效解決固定翼無人機PID參數整定組合優化問題,并且從顯示結果中可以看出算法針對PID參數尋優使無人機控制系統具有快速的響應速度,較短的調節時間與擺幅較小的超調響應,并用固定翼對所求PID參數的控制優化性能進行驗證。從上述結論中可以看出蟻群算法在無人機PID參數整定尋優中具有極高的可行性,可以適用于無人機PID參數優化控制。
附圖說明
圖1為傳統的PID控制系統原理圖。
圖2為本發明的基于蟻群算法固定翼無人機PID參數控制方法的步驟圖。
圖3為本發明的基于蟻群算法固定翼無人機PID參數控制方法模擬俯仰通道PID調節的曲線圖。
圖4為本發明的基于蟻群算法固定翼無人機PID參數控制方法模擬滾轉通道PID調節的曲線圖
圖5為本發明的基于蟻群算法固定翼無人機PID參數控制方法模擬偏航通道PID調節的曲線圖。
圖6a至圖6c分別為XYZ三通道輸出的無人機飛行姿態變化曲線圖
具體實施方式
下面結合附圖和實施例對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部實施例。
蟻群算法基本原理
蟻群算法源自于致盲螞蟻該在脫離視覺信息要素的情況下,通過對所走路徑上留下信息素的方法搜索從巢穴到食物的最短路徑,并且其路徑上所留信息素的濃度大小對后續螞蟻搜索循跡起著重要的導向作用,經過多次往返迭代最終達到從巢穴到食物源最短路徑的搜索。而螞蟻這種搜索機制猶如控制系統中的正反饋機制,通過采用并行分布式計算方法來對組合優化問題求解顯示出極強的魯棒性。但是這種搜索方法往往隨著單獨某路徑信息素濃度而高于其他路徑而陷入局部最優導致算法早熟。因此,在設計算法時在蟻群尋優機制中加入信息素的蒸發要素,隨著每次螞蟻尋優結束時會對當前螞蟻所走最短路徑上的信息素進行蒸發,并當每輪迭代結束后會對當前蟻群搜索最優路徑上的信息素進行蒸發,并以此來提高蟻群算法全局搜索路徑的效率[10-11]。假設起始設置M只螞蟻從起點開始尋優,通過搜索當前所在位置與相鄰搜索點上的信息素濃度大小來決定螞蟻下一轉移點,因此第k只螞蟻從節點i到節點j的轉移概率為:
其中allowedk為螞蟻可行點,τij(t)為i與j兩點之間的信息素濃度;ηij(t)為ij之間的啟發函數,并且ηij(t)=1/distance(i,j);α為信息素啟發因子,α的大小決定螞蟻搜索下一節點的導向;β彰顯著啟發函數的重要性,對算法收斂起著重要的作用,但取值過大可能會導致螞蟻只搜索當前距離最近節點,使算法陷入局部最優。
當蟻群完成一輪迭代搜索之后,為使算法具有更高的全局性,需要對當前螞蟻搜索路徑之間的信息素含量進行蒸發,其蒸發規則如下所示:
τij(t+1)=(1-ρ)τij(t)+Δτij…(2)
式中ρ為信息素蒸發參量,且ρ取值介于0與1之間;Δτij當前迭代(i,j)上所包含的信息素增量;為第k只螞蟻在本次迭代搜索中遺留在(i,j)上的信息素,且還可如式(4)所示:
式中F為一恒定不變的數,對算法收斂速度上有一定影響作用,Q為對第k只螞蟻當前搜索路徑的原函數值。
蟻群算法PID參數優化法
PID(比例-積分-微分)控制系統中其參數Kp、Ti和Td的參數優化搭配是決定PID控制系統優劣的關鍵。傳統PID控制原理框圖如圖1所示。
其中e與u的關系如下式所示:
其中Kp為比例因子;Ti為積分時間;Td為微分時間;T為算法采樣周期。并且Ki=KpT/Ti為積分因子,Kd=KpTd/T為微分因子。因此,只需要對Kp、Ki與Kd三個參數尋優整定,即可虧整個PID參數控制系統有直接的影響。為了能使蟻群算法達到對PID控制參數優化目的,必須將PID參數整定尋優轉換為組合優化問題的求解,因此本文將PID參數值的選取當作一個組合優化問題,通過蟻群算法迭代尋優來解決PID控制系統的參數優化。
從上述蟻群算法搜索模型,通過釋放更多信息素給相對較短的路徑從而形成一個信息的正反饋機制。并且信息素的更新公式可以很好的增強蟻群算法全局搜索性,從而得到全局最優解。
根據上述蟻群算法,本發明提出一種基于蟻群算法固定翼無人機PID參數控制方法,包括步驟如下:
步驟S1,設置蟻群搜索節點,通過經驗法對PID控制器參數:比例因子Kp、積分時間Ti和微分時間Td的取值范圍進行界定,并將搜索節點設定為每行一種參數的N×3搜索點矩陣集合,其中N是大于1的參數取值范圍內的隨機值的個數;
步驟S2,在蟻群尋優機制中加入信息素蒸發機制,使每輪迭代結束后對當前蟻群搜索最優路徑上的信息素進行蒸發;
步驟S3,采用信息素蒸發的蟻群尋優機制遍歷蟻群搜索節點,尋找滿足評價控制性能指標的節點,所述評價控制性能指標為:絕對誤差的矩的積分最小。
在本實施例中,步驟S1所述搜索節點,優選的設定N為20,則經驗法設置20×3的搜索點矩陣集合如下:
所述信息素蒸發機制為:
τij(t+1)=(1-ρ)τij(t)+Δτij,
式中ρ為信息素蒸發參量,且ρ取值介于0與1之間;Δτij當前迭代(i,j)上所包含的信息素增量;為第k只螞蟻在本次迭代搜索中遺留在(i,j)上的信息素。
作為另一個實施例,所述遺留在在(i,j)上的信息素還可為:
式中F為一恒定不變的數,對蟻群尋優機制收斂速度上有一定影響作用,Q為對第k只螞蟻當前搜索路徑的原函數值。
作為步驟S3的具體實施例,所述采用信息素蒸發的蟻群尋優機制遍歷蟻群搜索節點,具體包括:
步驟S31.設定蟻群規模中螞蟻總量為M只,并將其置于初始原點處,并設置蟻群算法初始參數;
步驟S32.對螞蟻所走路徑點進行記錄,并將其置于一規格為1×3矩陣tabuk中;
步驟S33.令蟻群以原點為起始點,并開始搜索,所有人工螞蟻從原點出發,計算所行方向目標節點的轉移概率,然后通過輪盤賭注法選擇下一個節點,并將螞蟻當前所在節點記入tabuk中;
步驟S34.當蟻群搜索完畢即一次迭代結束,計算每只螞蟻路徑矩陣tabuk來得到相應的(Kp,Ki,Kd)及性能指標。然后根據式τij(t+1)=(1-ρ)τij(t)+Δτij執行信息素蒸發策略,并記錄本次迭代最小性能指標及相應PID參數;
步驟S35.若算法并未收斂且未達到最大迭代次數,則下一輪迭代開始,否則則將輸出收斂結果或當前最優結果作為最優參數解。
步驟S33所述第k只螞蟻從節點i到節點j的轉移概率為:
其中allowedk為螞蟻可行點,τij(t)為i與j兩點之間的信息素濃度;ηij(t)為ij之間的啟發函數,并且ηij(t)=1/distance(i,j);α為信息素啟發因子,α的大小決定螞蟻搜索下一節點的導向;β為彰顯著啟發函數重要性的收斂因子。
步驟S3所述作為評價控制性能指標的絕對誤差的矩的積分為:
其中T為算法采周期,LP為仿真計算的點數。為達到對求解參數的最優選擇,本實施例對蟻群算法性能指標進行設計來判定蟻群算法組合問題尋優結果。借鑒傳統TSP(Travelling Salesman Problem)以商旅遍歷目標點路程和作為TSP的評價性能指標。其所遍歷路程越短,則說明最優解越有效,反之亦然。將此作為類比,由于對于PID控制器來說,上升時間、超調量與穩定時間等是評價PID控制器好壞的重要性能指標,因此本申請的實施例采用絕對誤差的矩的積分作為評價控制性能的指標
以下是從無人機的俯仰通道控制率、翻滾通道控制率、偏航通道控制率、實際固定翼飛行數據等方面對本發明方法的仿真驗證。
首先構建固定翼無人機數學模型如下:
針對無人機固定翼PID控制系統蟻群算法參數尋優,本次以取天行者固定翼無人機翻滾、俯仰和偏航控制系統作為參照點。該固定翼無人機機型具有1680mm的較大翼展,且未載荷機體總重量僅1.7kg有效載荷較大,轉動慣量(kg/m2)分別為:Jx=0.8244、Jy=1.135,Jz=0.1204。因此該類型無人機適用于多種任務要求,具有廣泛的通用性。其翻滾、俯仰與偏航通道傳遞函數如下所示:
1.俯仰通道控制傳遞函數為:
2.滾轉通道控制傳遞函數;
3.偏航通道控制傳遞函數為:
針對俯仰通道控制率的仿真分析:
設定本文設定控制器輸入為是,(t>0),且算法采樣周期為T=0.005s,并設定蟻群算法初始參數M=50(螞蟻總數),K=100(蟻群算法迭代次數),且ρ=0.1,α=1,β=2,Qk=100,其俯仰通道PID相應如圖3所示。
由仿真圖可知系統所得Kp=5.9711,Ki=3.7648,Kd=2.3676。上升時間0.133s,調節時間7.18s,超調量為8,96%。從數據中可以看出算法所搜索PID具有較快的響應速度與小超調量,但根據仿真所得調節時間可以看出函數PID調節后減小原函數變動,提高控制器收斂性。
針對翻滾通道控制率的仿真分析
保持蟻群算法初始參數及系統信號輸入不變,將被控對象轉化成翻滾通道。可得蟻群算法對翻滾通道PID參數整定傳響應如圖4所示。
經過蟻群算法迭代可得Kp=2.0917,Ki=1.4446,Kd=0,75714,上升時間0.0431s,超調量為0.444%,調節時間為0.0759s。從蟻群算法為滾轉通道PID參數尋優后所示結果可以看出控制器經過調節后僅需較短的響應時間即可達到峰值,且所示波形波動較小,并且很快達到收斂。
針對偏航通道控制率仿真分析
同理,將固定翼無人機偏航通道傳遞函數模型代入,即可得到偏航通道PID控制響應模型。
其中Kp=91.4897,Ki=31.1723,Kd=67.1298,且由圖4可知,系統的超調量為8.61%,且上升時間為0.0437s,0.372s后系統波形達到穩定收斂,從仿真結果看出經過蟻群算法對偏航通道PID參數整定后,使系統具有快速收斂性和較高的穩定性能。
針對實際固定翼飛行數據的驗證
針對上文蟻群算法對各個控制通道的PID參數尋優控制,本文將所得參數輸入到固定翼無人機中,并通過地Mission Planner軟件讀取本次飛行的log日志文件,繪制無人機飛行姿態變化曲線。
從圖6a至圖6c所示的三個通道無人機姿態變化跟蹤曲線可以看出蟻群算法對PID控制器參數尋優具有較好的瞬時響應控制性能,且小幅度的擺動在無人機飛行控制誤差可接受范圍之內,令無人機姿態控制操控性更加穩定。
上述實施例僅用以說明本發明而并非限制本發明所描述的技術方案;因此,盡管本說明書參照上述的各個實施例對本發明已進行了詳細的說明,但是,本領域的普通技術人員應當理解,仍然可以對本發明進行修改或者等同替換;而一切不脫離本發明的精神和范圍的技術方案及其改進,其均應涵蓋在本發明的權利要求范圍當中。