夏知勝,陳 誠,楊愛斌
(沈陽航空航天大學(xué)航空宇航學(xué)院,沈陽 110136)
固定翼無人機(jī)相比旋翼機(jī),能夠在相同的能耗下飛行更長的距離,在軍事和非軍事環(huán)境中的應(yīng)用數(shù)量越來越多。在軍事應(yīng)用中無人機(jī)用于對人身生命構(gòu)成威脅的危險區(qū)域;在非軍事活動中,無人機(jī)應(yīng)用于許多民用活動,包括攝影和電影制作、農(nóng)業(yè)、調(diào)查和測繪等[1]?,F(xiàn)代固定翼無人機(jī)的控制設(shè)計主要依靠自動控制系統(tǒng)來控制無人機(jī)的各種分系統(tǒng),這些自動控制器幫助駕駛員管理無人機(jī)和駕駛無人機(jī)。固定翼無人機(jī)通常包含3 個旋轉(zhuǎn)運(yùn)動和3 個平動運(yùn)動,此外,飛行器的控制策略可以分為2 大類,分別是橫向控制和縱向控制[2]。在縱向控制中控制俯仰,而在橫向控制中控制無人機(jī)系統(tǒng)的橫滾和偏航。在典型的無人機(jī)控制系統(tǒng)設(shè)計中,比例積分微分(Proportional Integral Derivative,PID)控制器以其結(jié)構(gòu)簡單、魯棒性好、易于整定等優(yōu)點(diǎn)被廣泛采用[3],所以優(yōu)化PID 控制器的參數(shù)來提高控制器的性能是有必要進(jìn)行的。
本文展示了固定翼無人機(jī)俯仰通道的控制策略,設(shè)計了遺傳算法優(yōu)化的PID 控制器對固定翼無人機(jī)俯仰角的控制。在MATLAB/Simulink 中對2 種PID 整定方案進(jìn)行仿真分析,比較了2 種控制策略對飛行器系統(tǒng)性能的影響。在階躍響應(yīng)中給出了無人機(jī)俯仰角控制的仿真結(jié)果,并從無人機(jī)俯仰角響應(yīng)的上升時間tr、調(diào)整時間ts、最大超調(diào)量Mp和穩(wěn)態(tài)誤差e(t)等方面進(jìn)行了性能測試。
由于要對飛機(jī)的縱向通道進(jìn)行控制,所以先求得飛機(jī)縱向通道的數(shù)學(xué)模型。線性飛機(jī)模型可以很好地洞察飛機(jī)的自然運(yùn)動模式,從而設(shè)計有效的控制器[4]。一個線性化系統(tǒng)如果是漸近穩(wěn)定的,則具有從非線性到線性的穩(wěn)定性[5]。因此,針對一個穩(wěn)定平衡點(diǎn)附近線性化的系統(tǒng)所設(shè)計的控制器將有效地控制非線性模型在一定的線性范圍內(nèi)運(yùn)行。首先,假設(shè)飛機(jī)的氣動外形對稱和質(zhì)量分布均勻,以及穩(wěn)定和水平飛行的配平條件,即近似為零的側(cè)滑角和滾轉(zhuǎn)角,從而將飛機(jī)數(shù)學(xué)模型解耦為縱向子模型。再采用小擾動原理對解耦后的縱向子模型進(jìn)行線性化。采用以升降舵為輸入設(shè)計縱向子模型的俯仰角控制器。線性化給出了基于狀態(tài)空間方程的無人機(jī)縱向線性模型,解耦后的縱向模型如式(1)所示
式中:為解耦后xl的縱向狀態(tài)向量[uαqθ]的時間導(dǎo)數(shù),u為沿機(jī)體x軸的速度,α 為攻角,q為俯仰角速度,θ 為俯仰角。ul為控制輸入,δe為升降舵偏轉(zhuǎn)角。Al為系統(tǒng)矩陣,Al的元素由飛機(jī)機(jī)體軸線上氣動穩(wěn)定性導(dǎo)數(shù)組成[4,6]。Bl為縱向子模型的解耦輸入矩陣。
采用文獻(xiàn)[7]中固定翼無人機(jī)模型,將氣動數(shù)據(jù)代入式(1)得到縱向通道的空間狀態(tài)方程
求得式(2)的特征根為-16.439 0±5.778 6i,-0.073 1±0.564 1i,根據(jù)控制理論可知該系統(tǒng)是具有穩(wěn)定性的,飛機(jī)模型具有正確性,可以對此模型進(jìn)行控制設(shè)計。
當(dāng)系統(tǒng)存在擾動或者輸入控制時,在無人機(jī)縱向運(yùn)動的初始階段,短周期運(yùn)動占主導(dǎo)地位,過渡時間短,并且在此期間內(nèi),空速和俯仰角的增量變化不大,可以認(rèn)為ΔV=Δθ=0。依據(jù)該思想,可以將無人機(jī)縱向運(yùn)動的4 個自由度縮減為2 個自由度,只保留α(t)、q(t)這2 個自由度[8]。即將式(2)簡化為式(3)
將式(3)通過拉氏變換得到控制量δe與狀態(tài)量α、q之間傳遞函數(shù)
為了提高無人機(jī)運(yùn)動的穩(wěn)定性,加入俯仰角速率為負(fù)反饋信號,且短周期模態(tài)運(yùn)動對增益變化比較敏感,所以通過合理設(shè)計俯仰角速率反饋增益,以獲得期望的俯仰角控制[9]。在俯仰姿態(tài)保持控制回路中,舵機(jī)傳遞函數(shù)用慣性環(huán)節(jié)-10/(s+10)表示[8],無人機(jī)縱向模型用式(5)。這時內(nèi)回路開環(huán)傳遞函數(shù)是
利用MATLAB 畫出內(nèi)回路隨增益Kq變化的根軌跡圖,由根軌跡圖選擇阻尼比為最佳阻尼比0.707 時的開環(huán)增益[8],得到此時的增益Kq=0.203。將增益帶入式(6),以此傳遞函數(shù)為固定翼無人機(jī)的俯仰角控制的基礎(chǔ),使用PID 控制器對無人機(jī)的俯仰角進(jìn)行控制設(shè)計。
PID 控制器是廣泛應(yīng)用于許多行業(yè)和飛行控制系統(tǒng)的閉環(huán)反饋機(jī)制。PID 控制器將計算測量過程變量與所需設(shè)定點(diǎn)之間的差異為“誤差”值,通過調(diào)整舵偏角控制輸入來最小化誤差。PID 控制器參數(shù)稱為3 項(xiàng)控制,通過調(diào)整PID 控制器算法中的比例(P)、積分(I)和微分(D)系數(shù),可以提供針對特定飛行要求設(shè)計的動作控制。PID 控制器的響應(yīng)可以描述為控制器對錯誤的響應(yīng)、控制器超過設(shè)定點(diǎn)的程度以及系統(tǒng)振蕩的程度。其傳遞函數(shù)表示為
式中:Kp是比例增益;KI是積分增益;KD是微分增益;TI是積分時間常數(shù);TD是微分時間常數(shù)。
PID 控制器的固定翼無人機(jī)的簡單框圖如圖1 所示。比例項(xiàng)通過恒定增益提供誤差信號,積分項(xiàng)是為了降低穩(wěn)態(tài)誤差,微分項(xiàng)是為了提高瞬態(tài)響應(yīng)。與獨(dú)立操作相比,PID 控制器的組合對目標(biāo)控制執(zhí)行得更好。PID 控制器的增益選擇可以通過各種閉環(huán)調(diào)諧方法來確定,目前被廣泛采用的PID 整定方法便是Ziegler-Nichols(Z-N)法[10-11]。
圖1 固定翼無人機(jī)PID 控制流程圖
評價控制過程有3 個綜合性能指標(biāo):誤差絕對值的積分(IAE),適用于衰減和無靜差系統(tǒng);誤差平方的積分(ISE),著重于抑制過渡過程中的大偏差;誤差絕對值與時間乘積的積分(ITAE),著重抑制過渡過程拖得過長。
誤差絕對值的積分(IAE)
誤差平方的積分(ISE)
誤差絕對值乘以時間的積分(ITAE)
遺傳算法(Genetic Algorithm,GA)是一種優(yōu)化方法,GA 由一系列受生理啟發(fā)的階段組成,如圖2 所示。其從一個隨機(jī)的染色體群體開始,每個染色體都對應(yīng)著問題的解決方案。每個染色體通過適應(yīng)度函數(shù)來度量其性能,并且還用于選擇染色體的數(shù)量。每個染色體在選擇后都會經(jīng)歷繁殖交叉或者變異。然后產(chǎn)生新的一代,其可能提供比父代更好的解決方案,并進(jìn)化使其更接近理想答案。
圖2 遺傳算法流程圖
2.2.1 種群
首先初始化生成第一代種群,染色體的種群規(guī)模選擇了80[12],即PID 的3 個參數(shù)分別有80 個,分別將3 個參數(shù)范圍設(shè)置為0≤KP≤8.192、0≤KI≤4.096、0≤KD≤4.096。
2.2.2 編碼與解碼
本文對于染色體即PID 的3 個參數(shù)的編碼采用了搜索效率較高的二進(jìn)制編碼格式[13],先使用二進(jìn)制對各個染色體進(jìn)行編碼,使用隨機(jī)數(shù)生成二進(jìn)制數(shù),并編寫解碼程序?qū)ι傻亩M(jìn)制轉(zhuǎn)換成十進(jìn)制。分別采用了13 和12 位二進(jìn)制數(shù)字進(jìn)行編碼,在解碼十進(jìn)制的過程中保留了3 位小數(shù)。
2.2.3 適應(yīng)度函數(shù)
在遺傳算法中最重要的就是適應(yīng)度函數(shù),其決定了對最后迭代結(jié)果的期望。這里選擇ITAE 和超調(diào)量MP為適應(yīng)度函數(shù)的組成部分,ITAE 可以抑制過渡過程拖得過長,作者嘗試使用其他2 個綜合性能指標(biāo)IAE 和ISE,優(yōu)化效果相比ITAE 欠佳。加入超調(diào)量為適應(yīng)度函數(shù)可以抑制調(diào)整過程中產(chǎn)生的超調(diào)。加入調(diào)整時間為參考量會為了加快調(diào)整的時間而增大比例系數(shù)的值,從而引起小幅震蕩,其他性能參數(shù)并不會有效改善優(yōu)化的效果。出于這幾方面的考量只引入了2 個參數(shù)為目標(biāo)函數(shù)的組成部分,得到目標(biāo)函數(shù)
式中:e(t)為誤差;w1、w2為權(quán)值,取值w1=0.3、w2=0.7。這里求取適應(yīng)度函數(shù)的最大值,所以需要對目標(biāo)函數(shù)進(jìn)行一下變形,最后得到適應(yīng)度函數(shù)
2.2.4 繁殖與交叉
在繁殖階段,對每個個體的適應(yīng)度函數(shù)的值進(jìn)行計算,選取適應(yīng)值前5 的染色體進(jìn)行保留,進(jìn)行到下一輪的循環(huán)當(dāng)中,確保適應(yīng)值更大的個體有可能留下后代。
本文選擇的交叉概率pc=0.8,在滿足交叉概率的情況下,選擇父母染色體進(jìn)行配對,形成新的子代,使用輪盤賭的方式選擇2 條染色體,再隨機(jī)生成要交叉的節(jié)點(diǎn),形成2 個新的后代。具體到二進(jìn)制就是用輪盤賭的方式選擇2 個二進(jìn)制數(shù)字,再隨機(jī)生成需要斷開二進(jìn)制數(shù)字的位數(shù),將2 個二進(jìn)制數(shù)字拆分再進(jìn)行交叉組合形成新的二進(jìn)制數(shù)字。
2.2.5 染色體的變異
染色體產(chǎn)生變異就意味著產(chǎn)生了種群中不存在的個體,就有可能產(chǎn)生好的變異,生成更適合環(huán)境的個體也就是更高適應(yīng)值的參數(shù)。本文是在二進(jìn)制數(shù)字中隨機(jī)產(chǎn)生一個變異位置,生成新的個體,變異概率pm=0.1。
使用遺傳算法對PID 的參數(shù)進(jìn)行尋優(yōu),就是利用遺傳算法的機(jī)制,在給定的數(shù)據(jù)當(dāng)中搜索出適應(yīng)度函數(shù)最大的比例微分積分增益,使用遺傳算法優(yōu)化PID參數(shù)的流程圖如圖3 所示。
圖3 遺傳算法PID
使用MATLAB/Simulink 根據(jù)上述的分析,編寫遺傳算法,搭建仿真程序,仿真時間設(shè)定為10 s,種群規(guī)模采用80 個,參數(shù)設(shè)定為3 個,進(jìn)行50 次迭代,對PID 參數(shù)尋優(yōu)。由圖4 可以看到,最佳優(yōu)化曲線在第5次的時候急劇增大,已經(jīng)具有了良好的性能指標(biāo),最后適應(yīng)值達(dá)到86.697 7。最后,得到優(yōu)化后PID 的參數(shù)Kp=7.309,KI=0.01,KD=1.002。
圖4 最佳個體適應(yīng)值優(yōu)化曲線
使用常規(guī)的Z-N 法對PID 的參數(shù)進(jìn)行整定,得到的PID 參數(shù)Kp=0.833,KI=0,KD=0.207 5。由圖5 可知,使用傳統(tǒng)的整定方法對此系統(tǒng)而言,基本無超調(diào),調(diào)整時間較長一些,無穩(wěn)態(tài)誤差,調(diào)整曲線過渡也比較平穩(wěn)。
圖5 階躍信號響應(yīng)曲線
從圖5 中明顯可以看出,使用遺傳算法對PID 進(jìn)行優(yōu)化得到的參數(shù)要優(yōu)于使用Z-N 法整定得到的參數(shù),在表1 中也可以看到使用遺傳算法相比Z-N 法,上升時間tr減少了2.622 7 s,調(diào)整時間ts快了1.542 3 s,只有超調(diào)量Mp有微小的增加。
表1 瞬態(tài)響應(yīng)性能指標(biāo)
本文對固定翼無人機(jī)的數(shù)學(xué)模型進(jìn)行橫縱解耦,得到了縱向控制的數(shù)學(xué)模型。然后結(jié)合遺傳算法和PID 控制方法設(shè)計了遺傳算法優(yōu)化PID 參數(shù)的方法,與常規(guī)的PID 整定方法對比,對固定翼無人機(jī)的縱向通道進(jìn)行了控制設(shè)計。2 種方法都可以實(shí)現(xiàn)對固定翼無人機(jī)俯仰角的控制,但是加入遺傳算法對PID 參數(shù)進(jìn)行優(yōu)化,得到了更優(yōu)秀的控制效果,減少了控制時間,增加了控制精度,這樣更有益于后續(xù)的速度以及高度控制的設(shè)計,這也證明了遺傳算法優(yōu)化PID 參數(shù)對無人機(jī)姿態(tài)控制可行性。