蘇茂宇,胡劍波,王應(yīng)洋,賀子厚,叢繼平,韓霖驍
(空軍工程大學(xué) 裝備管理與無人機(jī)工程學(xué)院, 西安 710051)
為在未來戰(zhàn)場上獲得制空優(yōu)勢,當(dāng)前世界各航空大國紛紛加快了下一代戰(zhàn)機(jī)的研究步伐,提出了一系列概念方案。在飛行平臺方面,無尾布局因其在隱身性、長航時(shí)等方面的優(yōu)異性能而備受青睞[1]。
垂直尾翼的取消使無尾飛行器的隱身性能大幅提高,但也使其水平控制效率、橫向穩(wěn)定性有所下降。為此通常在常規(guī)操縱面的基礎(chǔ)上增加全動翼尖、嵌入面等新型操縱面,保證飛行器擁有足夠的控制效率,但操縱面的冗余配置導(dǎo)致了控制分配問題[2]。由于新型操縱面控制效率的非線性特性及操縱面間的耦合作用,加之操縱面偏轉(zhuǎn)的位置和速率限制,無尾飛行器的控制分配是一個(gè)復(fù)雜的非線性優(yōu)化問題。
解決非線性控制分配問題的方法可分為非智能方法與智能方法兩類。關(guān)于第一類方法,Matamoros等[3]提出了增量非線性控制分配方法,對非線性控制分配問題進(jìn)行線性化處理;徐明興[4]通過三階多項(xiàng)式對非線性舵效進(jìn)行擬合,并利用序列二次規(guī)劃進(jìn)行求解,但該方法的分配精度受制于擬合多項(xiàng)式的階數(shù);文獻(xiàn)[5]針對操縱面耦合作用,將其作為不確定項(xiàng)提出一種魯棒控制分配方法,但犧牲了一部分操縱面的控制潛能。
伴隨人工智能的蓬勃發(fā)展,一些現(xiàn)代智能方法被應(yīng)用到非線性控制分配問題上。Zheng等[6]針對復(fù)合式旋翼飛行器過渡過程的非線性控制分配問題,利用一種改進(jìn)粒子群算法進(jìn)行求解;趙昕輝[7]采用遺傳-粒子群混合優(yōu)化算法處理非線性控制分配問題,與單一優(yōu)化算法相比,收斂速度更快、精度更高但運(yùn)算量較大;de Vries等[8]提出了基于Q-Learning的控制分配強(qiáng)化學(xué)習(xí)方法,并應(yīng)用到ICE無尾飛行器的縱向控制分配上。智能方法在控制分配上的應(yīng)用還存在一定弊端,以元啟發(fā)式算法為例,其運(yùn)算量往往較大,在現(xiàn)有計(jì)算條件下難以滿足控制分配的實(shí)時(shí)性要求,且運(yùn)行結(jié)果具有不確定性。
為此,針對無尾飛行器操縱面配置冗余及其氣動特性復(fù)雜導(dǎo)致的非線性控制分配問題,以及智能算法在解決控制分配問題中實(shí)時(shí)性差、隨機(jī)性強(qiáng)的不足,首先將非線性控制分配問題轉(zhuǎn)化為智能算法可以處理的優(yōu)化問題;然后在標(biāo)準(zhǔn)遺傳算法的基礎(chǔ)上,通過增強(qiáng)算法記憶性以及時(shí)保留優(yōu)質(zhì)解,通過優(yōu)化初始種群生成機(jī)制以加速搜索過程,通過改進(jìn)交叉/變異概率的動態(tài)調(diào)整方式以提高全局搜索能力,進(jìn)而形成一種基于改進(jìn)自適應(yīng)遺傳算法的智能控制分配方法,在充分利用智能算法強(qiáng)大的非線性處理能力的同時(shí),有效克服當(dāng)前制約其應(yīng)用的困難;并將該方法應(yīng)用到ICE無尾飛行器模型上,與基于標(biāo)準(zhǔn)遺傳算法[9]、粒子群優(yōu)化算法[10]的傳統(tǒng)智能控制分配方法在分配精度、迭代次數(shù)等方面進(jìn)行綜合對比分析,充分驗(yàn)證該方法在性能上的提升。
對于多操縱面飛行器而言,其飛行控制系統(tǒng)常采用模塊化設(shè)計(jì)方式,分為飛行控制律與控制分配律兩部分單獨(dú)進(jìn)行設(shè)計(jì)[11],其結(jié)構(gòu)如圖1所示。飛行控制律根據(jù)飛行器動力學(xué)表達(dá)式
(1)
及一定的控制算法解算出力矩指令τc∈R3,其中,x∈Rn為迎角、速度等狀態(tài),n為狀態(tài)數(shù)量;τ∈Rm為氣動輸入,通常為力或力矩,m為輸入數(shù)量。而后控制分配模塊根據(jù)舵效模型
τ=h(x,δ)
(2)
以及操縱面的位置與速率限制
(3)
確定合適的舵偏量δ∈Rl,使其生成的控制輸入τ與力矩指令τc間的誤差最小,其中l(wèi)為操縱面數(shù)量。對于多操縱面飛行器有l(wèi)>m=3,這表明可能存在多組滿足控制分配要求的舵偏組合。為保證解的唯一性,通常將控制分配的目標(biāo)設(shè)置為分配誤差和總舵偏量均最小的混合優(yōu)化形式:
(4)
圖1 多操縱面飛行器模塊化結(jié)構(gòu)框圖
為便于求解,通常將式(2)進(jìn)行式(5)所示的線性化處理:
τ=h(x,δ)≈B(x)δ
(5)
其中B(x)∈Rm×l稱為控制效率矩陣。同時(shí),由于飛控計(jì)算機(jī)的離散運(yùn)算方式,操縱面的位置、速率限制可合并為
(6)
(7)
Δt為計(jì)算機(jī)運(yùn)算步長,δ0為上一步結(jié)束時(shí)的舵面偏轉(zhuǎn)量。在此基礎(chǔ)上,即可通過直接分配法、再分配廣義逆法等常規(guī)控制分配方法求解舵偏量。然而對于無尾飛行器而言,基于線性舵效假設(shè)的控制分配方法卻無法適用。
現(xiàn)有的無尾布局飛行器大多將進(jìn)氣道配置在機(jī)體上方,一定程度上限制了飛行器的大迎角和航向機(jī)動性[12]。針對該問題,洛克希德·馬丁公司于上世紀(jì)90年代提出了新型操縱面(innovative control effectors,ICE)飛行器的概念[13],該飛行器采用一種超聲速無尾布局,進(jìn)氣道位于機(jī)體下方,經(jīng)過改進(jìn)后配置有多軸推力矢量及11個(gè)氣動操縱面,其結(jié)構(gòu)如圖2所示;各操縱面的性能參數(shù)如表1所示。本文中以ICE無尾飛行器為模型進(jìn)行非線性控制分配問題分析與智能控制分配方法驗(yàn)證。
圖2 ICE飛行器操縱面結(jié)構(gòu)示意圖
表1 ICE舵面性能參數(shù)
ICE無尾飛行器的控制分配難點(diǎn)主要體現(xiàn)在兩方面,一是各操縱面偏轉(zhuǎn)與產(chǎn)生的力矩之間并非呈線性關(guān)系,往往為單調(diào)非線性甚至非單調(diào)非線性關(guān)系;二是由于各操縱面的排列較為緊密,部分操縱面之間的氣動耦合嚴(yán)重,操縱面控制效率會受到其他操縱面偏轉(zhuǎn)的影響。
以圖3所示的ICE無尾飛行器左全動翼尖的滾轉(zhuǎn)力矩產(chǎn)生效率與左升降副翼的偏航力矩產(chǎn)生效率為例:
圖3 ICE飛行器部分操縱面控制效率曲面
在飛行高度h=15 000ft=4 572 m,馬赫數(shù)Ma=1.2的條件下,飛行器處于不同迎角α?xí)r,左全動翼尖偏轉(zhuǎn)角度δlamt與其產(chǎn)生的力矩系數(shù)Cl之間呈現(xiàn)復(fù)雜的非線性關(guān)系;當(dāng)左嵌入面處于不同偏轉(zhuǎn)角度時(shí),左升降副翼的偏航力矩產(chǎn)生效率差異巨大,尤其是當(dāng)左嵌入面偏轉(zhuǎn)δlssd>20°時(shí),位于其氣流下游的左升降副翼無論如何偏轉(zhuǎn)均幾乎不產(chǎn)生偏航力矩。
以上特點(diǎn)導(dǎo)致在ICE無尾飛行器的控制分配問題中,式(2)無法近似為式(5)形式,否則會產(chǎn)生巨大的分配誤差。為此,可以利用遺傳算法等元啟發(fā)式算法解決ICE無尾飛行器非線性控制分配問題,其優(yōu)勢在于智能優(yōu)化算法擁有處理非線性優(yōu)化問題的強(qiáng)大能力,無需考慮復(fù)雜的氣動關(guān)系。然而將此方法應(yīng)用到該問題上時(shí)必須解決智能算法運(yùn)算量大、優(yōu)化速度慢,以及解的品質(zhì)隨機(jī)性較強(qiáng)的問題,因此計(jì)劃從控制分配的流程特點(diǎn)出發(fā),在保證解的品質(zhì)的前提下以減少迭代次數(shù)、降低算法隨機(jī)性為目的,提出了一種基于改進(jìn)自適應(yīng)遺傳算法的無尾飛行器智能控制分配方法。
遺傳算法(genetic algorithm,GA)通過在數(shù)學(xué)上模擬自然界中的適者生存、染色體交叉、基因突變等現(xiàn)象,使得被稱為種群的一組可行解經(jīng)過多次選擇、交叉、變異操作后逐步進(jìn)化到全局最優(yōu)解附近。標(biāo)準(zhǔn)遺傳算法(standard genetic algorithm,SGA)的算法流程與具體操作可詳見文獻(xiàn)[14],在此不作贅述。
SGA的并行處理機(jī)制使其具有全局最優(yōu)解的搜索能力,但存在求解時(shí)間長、對初始種群依賴性較強(qiáng)、對不同問題要單獨(dú)設(shè)置交叉和變異概率等缺陷[15],嚴(yán)重制約了SGA在非線性控制分配上的應(yīng)用。為此,通過保存歷史最優(yōu)個(gè)體、改進(jìn)初始種群生成方式、構(gòu)造新型自適應(yīng)交叉/變異概率等三個(gè)方面的改進(jìn),提出了一種適用于無尾飛行器非線性控制分配的改進(jìn)自適應(yīng)遺傳算法(improved adaptive genetic algorithm,IAGA),具體如下:
改進(jìn)1:保存歷史最優(yōu)個(gè)體
由于缺少對歷史迭代步的記憶,SGA所需收斂時(shí)間往往過長。為彌補(bǔ)此缺陷,采用歷史最優(yōu)保存策略,具體操作步驟為:找出當(dāng)前種群中適應(yīng)度最佳與最差個(gè)體,若最佳個(gè)體的適應(yīng)度比此前各迭代步中的最佳適應(yīng)度更優(yōu),則以當(dāng)前種群的最佳個(gè)體作為新的歷史最優(yōu)個(gè)體并進(jìn)行保存,以便在下一次迭代中進(jìn)行比較,同時(shí)用歷史最優(yōu)個(gè)體替換當(dāng)前種群的最差個(gè)體。該方法的目的在于防止優(yōu)質(zhì)基因在選擇、交叉、變異操作中發(fā)生丟失,加速算法的尋優(yōu)速度。
改進(jìn)2:優(yōu)化初始種群生成方式
合理的初始種群可以大大加快算法尋優(yōu)速度。如上文所述,鑒于飛控計(jì)算機(jī)的離散運(yùn)行方式,控制分配問題中的虛擬控制指令實(shí)際由多個(gè)單步指令構(gòu)成,相鄰兩步的控制指令變化幅度在多數(shù)時(shí)間較小,當(dāng)上一步控制指令的分配精度符合控制要求時(shí),可以摒棄隨機(jī)產(chǎn)生初始種群的方式,按照如下方式生成:
(8)
(9)
并以上一步優(yōu)質(zhì)解為中心,根據(jù)相鄰兩步指令的變化大小確定初始種群分布范圍半徑,充分利用已知信息,使初始種群的生成機(jī)制更為合理,利于快速收斂。
改進(jìn)3:構(gòu)造新型自適應(yīng)交叉、變異概率
表2 AGA及其主要改進(jìn)型
可見,各種形式的AGA均存在一定弊端,為此基于雙曲正切函數(shù)和余弦函數(shù)的復(fù)合函數(shù)對自適應(yīng)遺傳算子進(jìn)行了非線性化處理,形成了一種改進(jìn)的自適應(yīng)遺傳算法。雙曲正切函數(shù)由雙曲正弦函數(shù)和雙曲余弦函數(shù)推導(dǎo)而來,數(shù)學(xué)表達(dá)式為
(10)
雙曲正切函數(shù)具有兩大優(yōu)勢,一是底部、頂部更為平滑,更加符合交叉、變異概率要求;二是其值域限定在[-1,1]區(qū)間內(nèi),便于構(gòu)造自適應(yīng)交叉、變異概率公式。
針對最小優(yōu)化問題,將IAGA自適應(yīng)遺傳概率表達(dá)式構(gòu)造為
(11)
(12)
式中,C為一較大的正實(shí)數(shù),使x≥C時(shí),tanhx接近1,x≤-C時(shí),tanhx接近-1。本文中設(shè)定C=10。
圖4 各種AGA交叉(變異)概率變化曲線
根據(jù)上文在算法記憶性、初始種群生成方式及自適應(yīng)交叉/變異函數(shù)構(gòu)建這三方面的改進(jìn),可將IAGA在無尾飛行器非線性控制分配問題上應(yīng)用的完整步驟總結(jié)如下,并將方法流程歸納為圖5。
圖5 面向控制分配的IAGA流程框圖
步驟1設(shè)定算法參數(shù)n、imax、Pcmax、Pcmin、Pmmax、Pmmin;
步驟2輸入當(dāng)前計(jì)算周期待分配的單步力矩指令τc(k);
步驟3若上一步的適應(yīng)度達(dá)到要求,則按照式(8)進(jìn)行種群初始化,否則在舵面偏轉(zhuǎn)的位置與速率限制范圍內(nèi)對種群進(jìn)行隨機(jī)初始化;
步驟4計(jì)算種群適應(yīng)度并進(jìn)行保存歷史最優(yōu)個(gè)體、替換最差個(gè)體操作;
步驟5判斷種群適應(yīng)度是否符合要求,若符合則跳出循環(huán),否則進(jìn)行選擇及自適應(yīng)交叉/變異操作,直至種群適應(yīng)度符合要求或達(dá)到最大迭代次數(shù)imax,輸出適應(yīng)度最優(yōu)的個(gè)體作為舵偏量,實(shí)現(xiàn)對τc(k)的分配;
步驟6重復(fù)步驟2~步驟5,直至對全部力矩指令完成分配。
為驗(yàn)證IAGA處理無尾飛行器非線性控制分配問題的有效性與適用性,以ICE飛行器為模型,在Ma=1.2,h=15 000 ft=4 572 m的超聲速飛行條件下與基于SGA、基于粒子群優(yōu)化(particle swarm optimization,PSO)算法的2種傳統(tǒng)智能控制分配方法進(jìn)行對比分析。由于ICE飛行器的前緣襟翼一般不發(fā)揮產(chǎn)生力矩的作用[21],多軸推力矢量多用于大機(jī)動飛行及舵面故障后的重構(gòu)飛行條件下,本文中使用除前緣襟翼與多軸推力矢量外的7個(gè)操縱面產(chǎn)生滾轉(zhuǎn)、俯仰、偏航力矩。出于控制分配實(shí)時(shí)性的考慮,需在保證求解精度的前提下盡可能降低種群規(guī)模與最大迭代次數(shù);為防止搜索阻滯同時(shí)避免算法淪為隨機(jī)搜索,文獻(xiàn)[14]建議將Pc取在0.6~1.0、Pm取為0.001~0.1。綜合考慮以上因素,將SGA與IAGA的參數(shù)設(shè)置如表3。
表3 SGA與IAGA主要參數(shù)設(shè)置
在對指令τc(k-1)=[9.8×10-3;1.98×10-2;4.8×10-3]進(jìn)行精準(zhǔn)分配的前提下,分別使用SGA與IAGA對期望力矩指令τc(k)=[Cld;Cmd;Cnd]=[0.01;0.02;0.005]進(jìn)行分配。由于智能優(yōu)化算法均存在一定程度的隨機(jī)性,每次運(yùn)算結(jié)果均有差異,為消除偶然因素影響,在保持表3參數(shù)設(shè)置不變的情況下使用2種方法各進(jìn)行10次獨(dú)立重復(fù)實(shí)驗(yàn),每次實(shí)驗(yàn)的適應(yīng)度變化情況如圖6。
圖6 SGA與IAGA適應(yīng)度變化曲線
其中,10條藍(lán)色點(diǎn)劃線、10條紅色實(shí)線分別表示SGA、IAGA在各次單步指令分配實(shí)驗(yàn)中的適應(yīng)度變化情況。通過多次實(shí)驗(yàn)結(jié)果可見,初始種群的優(yōu)化使IAGA開始迭代時(shí)的適應(yīng)度處于較低水平,而歷史最優(yōu)個(gè)體的保留使優(yōu)良個(gè)體免于被交叉、變異操作破壞,不會出現(xiàn)SGA中適應(yīng)度隨迭代次數(shù)增加反而變差的情況,且到達(dá)最大迭代次數(shù)時(shí)IAGA適應(yīng)度普遍優(yōu)于SGA適應(yīng)度。
在飛行迎角α=2°、側(cè)滑角β=0°、總時(shí)長為2 s的條件下進(jìn)行仿真,當(dāng)適應(yīng)度滿足
(13)
時(shí)認(rèn)定符合要求,可結(jié)束迭代進(jìn)行下一指令的分配。對2組連續(xù)力矩指令進(jìn)行分配,指令一參照文獻(xiàn)[7]設(shè)置為
(14)
(15)
為充分驗(yàn)證基于IAGA的智能控制分配方法的優(yōu)異性能,引入基于PSO的傳統(tǒng)智能控制分配方法進(jìn)行對比,同樣將其種群規(guī)模設(shè)置為15、最大迭代次數(shù)設(shè)置為40。圖7、圖8給出了SGA、PSO與IAGA的力矩指令分配結(jié)果及平均分配誤差,其中黑色長虛線表示力矩指令,藍(lán)色點(diǎn)劃線、綠色短虛線、紅色實(shí)線分別表示基于SGA、PSO、IAGA得到的力矩分配結(jié)果,表4所示為指令分配平均誤差??梢奡GA與IAGA在相同的適應(yīng)度要求下均可以對力矩指令進(jìn)行較為準(zhǔn)確的分配,而基于PSO的控制分配方法分配誤差為另外2種分配方法的3~4倍,無法滿足控制分配的準(zhǔn)確性要求,故不再對PSO進(jìn)行進(jìn)一步的對比驗(yàn)證;除指令一中的俯仰力矩外,IAGA的分配誤差均明顯小于SGA。
圖7 指令一分配曲線
圖8 指令二分配曲線
表4 指令分配平均誤差
圖9為2種分配方式分配指令二的舵面偏轉(zhuǎn)曲線,藍(lán)色點(diǎn)劃線、紅色實(shí)線分別表示基于SGA、IAGA的舵面位置變化情況。由于SGA初始種群的隨機(jī)生成方式,其舵面位置變化較為劇烈;由于IAGA中對初始種群生成方式的優(yōu)化,算法的不確定性得到一定程度遏制,舵面位置變化相對平緩。
圖9 操縱面偏轉(zhuǎn)曲線
此外,對SGA與IAGA在指令分配過程中所需的迭代次數(shù)進(jìn)行統(tǒng)計(jì),結(jié)果如圖10所示。
圖10 迭代次數(shù)曲線
圖10中,藍(lán)色點(diǎn)劃線、紅色實(shí)線分別表示SGA、IAGA的迭代次數(shù)。經(jīng)計(jì)算,SGA和IAGA分配指令一、指令二的單步指令平均所需迭代次數(shù)如表5所示??梢?,后者較前者在求解質(zhì)量更高的情況下減少了約3次迭代,更加符合控制分配的準(zhǔn)確性、快速性要求。
表5 平均迭代次數(shù)
針對無尾飛行器的非線性控制分配問題,提出了一種改進(jìn)自適應(yīng)遺傳算法,較標(biāo)準(zhǔn)遺傳算法進(jìn)行了3方面改進(jìn):
1) 保存歷史最優(yōu)個(gè)體,防止優(yōu)質(zhì)個(gè)體丟失;
2) 利用已知信息優(yōu)化初始種群生成方式,加速算法尋優(yōu)過程,削弱分配結(jié)果的不確定性;
3) 基于雙曲正切函數(shù)與余弦函數(shù)的復(fù)合函數(shù)構(gòu)建新型自適應(yīng)交叉、變異算子,提高算法求取全局最優(yōu)解的能力。
在考慮操縱面偏轉(zhuǎn)位置和速率限制的前提下,利用ICE飛行器模型進(jìn)行了分配效果驗(yàn)證,表明該方法較標(biāo)準(zhǔn)遺傳算法可以更少的迭代次數(shù)實(shí)現(xiàn)力矩指令更為準(zhǔn)確的分配,更加滿足非線性控制分配的準(zhǔn)確性、實(shí)時(shí)性,避免智能算法處理非線性控制分配問題的弊端。