蘇茂宇,胡劍波,王應洋,賀子厚,叢繼平,韓霖驍
(空軍工程大學 裝備管理與無人機工程學院, 西安 710051)
為在未來戰場上獲得制空優勢,當前世界各航空大國紛紛加快了下一代戰機的研究步伐,提出了一系列概念方案。在飛行平臺方面,無尾布局因其在隱身性、長航時等方面的優異性能而備受青睞[1]。
垂直尾翼的取消使無尾飛行器的隱身性能大幅提高,但也使其水平控制效率、橫向穩定性有所下降。為此通常在常規操縱面的基礎上增加全動翼尖、嵌入面等新型操縱面,保證飛行器擁有足夠的控制效率,但操縱面的冗余配置導致了控制分配問題[2]。由于新型操縱面控制效率的非線性特性及操縱面間的耦合作用,加之操縱面偏轉的位置和速率限制,無尾飛行器的控制分配是一個復雜的非線性優化問題。
解決非線性控制分配問題的方法可分為非智能方法與智能方法兩類。關于第一類方法,Matamoros等[3]提出了增量非線性控制分配方法,對非線性控制分配問題進行線性化處理;徐明興[4]通過三階多項式對非線性舵效進行擬合,并利用序列二次規劃進行求解,但該方法的分配精度受制于擬合多項式的階數;文獻[5]針對操縱面耦合作用,將其作為不確定項提出一種魯棒控制分配方法,但犧牲了一部分操縱面的控制潛能。
伴隨人工智能的蓬勃發展,一些現代智能方法被應用到非線性控制分配問題上。Zheng等[6]針對復合式旋翼飛行器過渡過程的非線性控制分配問題,利用一種改進粒子群算法進行求解;趙昕輝[7]采用遺傳-粒子群混合優化算法處理非線性控制分配問題,與單一優化算法相比,收斂速度更快、精度更高但運算量較大;de Vries等[8]提出了基于Q-Learning的控制分配強化學習方法,并應用到ICE無尾飛行器的縱向控制分配上。智能方法在控制分配上的應用還存在一定弊端,以元啟發式算法為例,其運算量往往較大,在現有計算條件下難以滿足控制分配的實時性要求,且運行結果具有不確定性。
為此,針對無尾飛行器操縱面配置冗余及其氣動特性復雜導致的非線性控制分配問題,以及智能算法在解決控制分配問題中實時性差、隨機性強的不足,首先將非線性控制分配問題轉化為智能算法可以處理的優化問題;然后在標準遺傳算法的基礎上,通過增強算法記憶性以及時保留優質解,通過優化初始種群生成機制以加速搜索過程,通過改進交叉/變異概率的動態調整方式以提高全局搜索能力,進而形成一種基于改進自適應遺傳算法的智能控制分配方法,在充分利用智能算法強大的非線性處理能力的同時,有效克服當前制約其應用的困難;并將該方法應用到ICE無尾飛行器模型上,與基于標準遺傳算法[9]、粒子群優化算法[10]的傳統智能控制分配方法在分配精度、迭代次數等方面進行綜合對比分析,充分驗證該方法在性能上的提升。
對于多操縱面飛行器而言,其飛行控制系統常采用模塊化設計方式,分為飛行控制律與控制分配律兩部分單獨進行設計[11],其結構如圖1所示。飛行控制律根據飛行器動力學表達式

(1)
及一定的控制算法解算出力矩指令τc∈R3,其中,x∈Rn為迎角、速度等狀態,n為狀態數量;τ∈Rm為氣動輸入,通常為力或力矩,m為輸入數量。而后控制分配模塊根據舵效模型
τ=h(x,δ)
(2)
以及操縱面的位置與速率限制

(3)
確定合適的舵偏量δ∈Rl,使其生成的控制輸入τ與力矩指令τc間的誤差最小,其中l為操縱面數量。對于多操縱面飛行器有l>m=3,這表明可能存在多組滿足控制分配要求的舵偏組合。為保證解的唯一性,通常將控制分配的目標設置為分配誤差和總舵偏量均最小的混合優化形式:
(4)


圖1 多操縱面飛行器模塊化結構框圖
為便于求解,通常將式(2)進行式(5)所示的線性化處理:
τ=h(x,δ)≈B(x)δ
(5)
其中B(x)∈Rm×l稱為控制效率矩陣。同時,由于飛控計算機的離散運算方式,操縱面的位置、速率限制可合并為

(6)


(7)
Δt為計算機運算步長,δ0為上一步結束時的舵面偏轉量。在此基礎上,即可通過直接分配法、再分配廣義逆法等常規控制分配方法求解舵偏量。然而對于無尾飛行器而言,基于線性舵效假設的控制分配方法卻無法適用。
現有的無尾布局飛行器大多將進氣道配置在機體上方,一定程度上限制了飛行器的大迎角和航向機動性[12]。針對該問題,洛克希德·馬丁公司于上世紀90年代提出了新型操縱面(innovative control effectors,ICE)飛行器的概念[13],該飛行器采用一種超聲速無尾布局,進氣道位于機體下方,經過改進后配置有多軸推力矢量及11個氣動操縱面,其結構如圖2所示;各操縱面的性能參數如表1所示。本文中以ICE無尾飛行器為模型進行非線性控制分配問題分析與智能控制分配方法驗證。

圖2 ICE飛行器操縱面結構示意圖

表1 ICE舵面性能參數
ICE無尾飛行器的控制分配難點主要體現在兩方面,一是各操縱面偏轉與產生的力矩之間并非呈線性關系,往往為單調非線性甚至非單調非線性關系;二是由于各操縱面的排列較為緊密,部分操縱面之間的氣動耦合嚴重,操縱面控制效率會受到其他操縱面偏轉的影響。
以圖3所示的ICE無尾飛行器左全動翼尖的滾轉力矩產生效率與左升降副翼的偏航力矩產生效率為例:

圖3 ICE飛行器部分操縱面控制效率曲面
在飛行高度h=15 000ft=4 572 m,馬赫數Ma=1.2的條件下,飛行器處于不同迎角α時,左全動翼尖偏轉角度δlamt與其產生的力矩系數Cl之間呈現復雜的非線性關系;當左嵌入面處于不同偏轉角度時,左升降副翼的偏航力矩產生效率差異巨大,尤其是當左嵌入面偏轉δlssd>20°時,位于其氣流下游的左升降副翼無論如何偏轉均幾乎不產生偏航力矩。
以上特點導致在ICE無尾飛行器的控制分配問題中,式(2)無法近似為式(5)形式,否則會產生巨大的分配誤差。為此,可以利用遺傳算法等元啟發式算法解決ICE無尾飛行器非線性控制分配問題,其優勢在于智能優化算法擁有處理非線性優化問題的強大能力,無需考慮復雜的氣動關系。然而將此方法應用到該問題上時必須解決智能算法運算量大、優化速度慢,以及解的品質隨機性較強的問題,因此計劃從控制分配的流程特點出發,在保證解的品質的前提下以減少迭代次數、降低算法隨機性為目的,提出了一種基于改進自適應遺傳算法的無尾飛行器智能控制分配方法。
遺傳算法(genetic algorithm,GA)通過在數學上模擬自然界中的適者生存、染色體交叉、基因突變等現象,使得被稱為種群的一組可行解經過多次選擇、交叉、變異操作后逐步進化到全局最優解附近。標準遺傳算法(standard genetic algorithm,SGA)的算法流程與具體操作可詳見文獻[14],在此不作贅述。
SGA的并行處理機制使其具有全局最優解的搜索能力,但存在求解時間長、對初始種群依賴性較強、對不同問題要單獨設置交叉和變異概率等缺陷[15],嚴重制約了SGA在非線性控制分配上的應用。為此,通過保存歷史最優個體、改進初始種群生成方式、構造新型自適應交叉/變異概率等三個方面的改進,提出了一種適用于無尾飛行器非線性控制分配的改進自適應遺傳算法(improved adaptive genetic algorithm,IAGA),具體如下:
改進1:保存歷史最優個體
由于缺少對歷史迭代步的記憶,SGA所需收斂時間往往過長。為彌補此缺陷,采用歷史最優保存策略,具體操作步驟為:找出當前種群中適應度最佳與最差個體,若最佳個體的適應度比此前各迭代步中的最佳適應度更優,則以當前種群的最佳個體作為新的歷史最優個體并進行保存,以便在下一次迭代中進行比較,同時用歷史最優個體替換當前種群的最差個體。該方法的目的在于防止優質基因在選擇、交叉、變異操作中發生丟失,加速算法的尋優速度。
改進2:優化初始種群生成方式
合理的初始種群可以大大加快算法尋優速度。如上文所述,鑒于飛控計算機的離散運行方式,控制分配問題中的虛擬控制指令實際由多個單步指令構成,相鄰兩步的控制指令變化幅度在多數時間較小,當上一步控制指令的分配精度符合控制要求時,可以摒棄隨機產生初始種群的方式,按照如下方式生成:

(8)

(9)
并以上一步優質解為中心,根據相鄰兩步指令的變化大小確定初始種群分布范圍半徑,充分利用已知信息,使初始種群的生成機制更為合理,利于快速收斂。
改進3:構造新型自適應交叉、變異概率


表2 AGA及其主要改進型
可見,各種形式的AGA均存在一定弊端,為此基于雙曲正切函數和余弦函數的復合函數對自適應遺傳算子進行了非線性化處理,形成了一種改進的自適應遺傳算法。雙曲正切函數由雙曲正弦函數和雙曲余弦函數推導而來,數學表達式為
(10)
雙曲正切函數具有兩大優勢,一是底部、頂部更為平滑,更加符合交叉、變異概率要求;二是其值域限定在[-1,1]區間內,便于構造自適應交叉、變異概率公式。
針對最小優化問題,將IAGA自適應遺傳概率表達式構造為
(11)

(12)
式中,C為一較大的正實數,使x≥C時,tanhx接近1,x≤-C時,tanhx接近-1。本文中設定C=10。


圖4 各種AGA交叉(變異)概率變化曲線
根據上文在算法記憶性、初始種群生成方式及自適應交叉/變異函數構建這三方面的改進,可將IAGA在無尾飛行器非線性控制分配問題上應用的完整步驟總結如下,并將方法流程歸納為圖5。

圖5 面向控制分配的IAGA流程框圖
步驟1設定算法參數n、imax、Pcmax、Pcmin、Pmmax、Pmmin;
步驟2輸入當前計算周期待分配的單步力矩指令τc(k);
步驟3若上一步的適應度達到要求,則按照式(8)進行種群初始化,否則在舵面偏轉的位置與速率限制范圍內對種群進行隨機初始化;
步驟4計算種群適應度并進行保存歷史最優個體、替換最差個體操作;
步驟5判斷種群適應度是否符合要求,若符合則跳出循環,否則進行選擇及自適應交叉/變異操作,直至種群適應度符合要求或達到最大迭代次數imax,輸出適應度最優的個體作為舵偏量,實現對τc(k)的分配;
步驟6重復步驟2~步驟5,直至對全部力矩指令完成分配。
為驗證IAGA處理無尾飛行器非線性控制分配問題的有效性與適用性,以ICE飛行器為模型,在Ma=1.2,h=15 000 ft=4 572 m的超聲速飛行條件下與基于SGA、基于粒子群優化(particle swarm optimization,PSO)算法的2種傳統智能控制分配方法進行對比分析。由于ICE飛行器的前緣襟翼一般不發揮產生力矩的作用[21],多軸推力矢量多用于大機動飛行及舵面故障后的重構飛行條件下,本文中使用除前緣襟翼與多軸推力矢量外的7個操縱面產生滾轉、俯仰、偏航力矩。出于控制分配實時性的考慮,需在保證求解精度的前提下盡可能降低種群規模與最大迭代次數;為防止搜索阻滯同時避免算法淪為隨機搜索,文獻[14]建議將Pc取在0.6~1.0、Pm取為0.001~0.1。綜合考慮以上因素,將SGA與IAGA的參數設置如表3。

表3 SGA與IAGA主要參數設置
在對指令τc(k-1)=[9.8×10-3;1.98×10-2;4.8×10-3]進行精準分配的前提下,分別使用SGA與IAGA對期望力矩指令τc(k)=[Cld;Cmd;Cnd]=[0.01;0.02;0.005]進行分配。由于智能優化算法均存在一定程度的隨機性,每次運算結果均有差異,為消除偶然因素影響,在保持表3參數設置不變的情況下使用2種方法各進行10次獨立重復實驗,每次實驗的適應度變化情況如圖6。

圖6 SGA與IAGA適應度變化曲線
其中,10條藍色點劃線、10條紅色實線分別表示SGA、IAGA在各次單步指令分配實驗中的適應度變化情況。通過多次實驗結果可見,初始種群的優化使IAGA開始迭代時的適應度處于較低水平,而歷史最優個體的保留使優良個體免于被交叉、變異操作破壞,不會出現SGA中適應度隨迭代次數增加反而變差的情況,且到達最大迭代次數時IAGA適應度普遍優于SGA適應度。
在飛行迎角α=2°、側滑角β=0°、總時長為2 s的條件下進行仿真,當適應度滿足
(13)
時認定符合要求,可結束迭代進行下一指令的分配。對2組連續力矩指令進行分配,指令一參照文獻[7]設置為

(14)


(15)
為充分驗證基于IAGA的智能控制分配方法的優異性能,引入基于PSO的傳統智能控制分配方法進行對比,同樣將其種群規模設置為15、最大迭代次數設置為40。圖7、圖8給出了SGA、PSO與IAGA的力矩指令分配結果及平均分配誤差,其中黑色長虛線表示力矩指令,藍色點劃線、綠色短虛線、紅色實線分別表示基于SGA、PSO、IAGA得到的力矩分配結果,表4所示為指令分配平均誤差。可見SGA與IAGA在相同的適應度要求下均可以對力矩指令進行較為準確的分配,而基于PSO的控制分配方法分配誤差為另外2種分配方法的3~4倍,無法滿足控制分配的準確性要求,故不再對PSO進行進一步的對比驗證;除指令一中的俯仰力矩外,IAGA的分配誤差均明顯小于SGA。

圖7 指令一分配曲線

圖8 指令二分配曲線

表4 指令分配平均誤差
圖9為2種分配方式分配指令二的舵面偏轉曲線,藍色點劃線、紅色實線分別表示基于SGA、IAGA的舵面位置變化情況。由于SGA初始種群的隨機生成方式,其舵面位置變化較為劇烈;由于IAGA中對初始種群生成方式的優化,算法的不確定性得到一定程度遏制,舵面位置變化相對平緩。

圖9 操縱面偏轉曲線
此外,對SGA與IAGA在指令分配過程中所需的迭代次數進行統計,結果如圖10所示。

圖10 迭代次數曲線
圖10中,藍色點劃線、紅色實線分別表示SGA、IAGA的迭代次數。經計算,SGA和IAGA分配指令一、指令二的單步指令平均所需迭代次數如表5所示。可見,后者較前者在求解質量更高的情況下減少了約3次迭代,更加符合控制分配的準確性、快速性要求。

表5 平均迭代次數
針對無尾飛行器的非線性控制分配問題,提出了一種改進自適應遺傳算法,較標準遺傳算法進行了3方面改進:
1) 保存歷史最優個體,防止優質個體丟失;
2) 利用已知信息優化初始種群生成方式,加速算法尋優過程,削弱分配結果的不確定性;
3) 基于雙曲正切函數與余弦函數的復合函數構建新型自適應交叉、變異算子,提高算法求取全局最優解的能力。
在考慮操縱面偏轉位置和速率限制的前提下,利用ICE飛行器模型進行了分配效果驗證,表明該方法較標準遺傳算法可以更少的迭代次數實現力矩指令更為準確的分配,更加滿足非線性控制分配的準確性、實時性,避免智能算法處理非線性控制分配問題的弊端。