摘" 要: 針對指定機(jī)型的飛行控制仿真在沒有獲取機(jī)型數(shù)據(jù)包的情況下,難以展現(xiàn)其真實飛行特性的問題,提出一種基于飛機(jī)運行數(shù)據(jù)(快速存取記錄器QAR數(shù)據(jù))的高度保持控制律仿真方法。該方法在飛行控制仿真中以模糊免疫PID控制器為基礎(chǔ),借鑒生物免疫調(diào)節(jié)機(jī)制中T細(xì)胞對抗體的雙重影響,根據(jù)控制器輸出控制量的變化對PID參數(shù)進(jìn)行非線性調(diào)整,將仿真系統(tǒng)輸出數(shù)據(jù)與仿真機(jī)型真實的QAR數(shù)據(jù)對比而得到的誤差絕對值積分作為優(yōu)化目標(biāo)函數(shù),用螢火蟲優(yōu)化算法對免疫反饋調(diào)節(jié)中的比例系數(shù)和抑制系數(shù)尋優(yōu)。最后,以A320為例,在通用飛行動力學(xué)模型JSBSim平臺上用該方法與傳統(tǒng)PID控制進(jìn)行對比仿真,實驗數(shù)據(jù)表明該方法相比傳統(tǒng)PID控制能更好地擬合QAR數(shù)據(jù),體現(xiàn)了A320的真實飛行特性。
關(guān)鍵詞: QAR數(shù)據(jù); 高度保持; A320; 螢火蟲算法; 模糊免疫PID; 目標(biāo)函數(shù); JSBSim
中圖分類號: TN919?34" " " " " " " " " " " " " " "文獻(xiàn)標(biāo)識碼: A" " " " " " " " " " " 文章編號: 1004?373X(2024)17?0143?06
Simulation of altitude flight control based on aircraft operation data
GUO Xueying, LI Jianfu
(School of Computer Science and Technology, Civil Aviation University of China, Tianjin 300300, China)
Abstract: It is difficult to represent the real flight characteristics of the aircraft by the flight control simulation of the designated aircraft type without getting the aircraft type data package, so an altitude keeping control law simulation method based on aircraft operation data (QAR data by quick access recorder) is proposed. This method is based on fuzzy immune PID (proportional?integral?derivative) controller. By drawing lessons from the double effect of T cells on antibodies in biological immune regulation mechanism, the method adjusts the PID parameters nonlinearly according to the change of the controller output. The absolute error integral obtained by comparing the output data of the simulation system with the real QAR data of the simulation aircraft type is taken as the optimization objective function. The proportion coefficient and inhibition coefficient in immune feedback regulation are optimized by firefly optimization algorithm. A320 is taken as an example. This method is compared with the traditional PID control on the JSBSim platform, which is a general flight dynamics model. The experimental data shows that the proposed method can better fit QAR data and reflect the real flight characteristics of A320 in comparison with the traditional PID control.
Keywords: QAR data; altitude keeping; A320; firefly algorithm; fuzzy immune PID; objective function; JSBSim
0" 引" 言
飛行仿真在展示飛機(jī)性能、飛行品質(zhì)和飛行控制特性等領(lǐng)域有著廣泛的應(yīng)用,其中自動飛行控制仿真是飛行仿真研究中的重要一環(huán)[1]。文獻(xiàn)[2]在其飛行控制器的設(shè)計過程中,將模塊控制理論引入傳統(tǒng)PID(Proportion Integral Derivative)控制器,通過模糊法則調(diào)節(jié)PID參數(shù),設(shè)計模糊PID控制器,提高了四旋翼無人機(jī)飛行姿態(tài)遇到擾動時的調(diào)整速度。文獻(xiàn)[3]針對非線性動態(tài)逆控制在擾動影響下魯棒性不足的問題,提出一種基于改進(jìn)分段常數(shù)自適應(yīng)動態(tài)逆控制策略,用于增強(qiáng)控制系統(tǒng)對干擾的魯棒性以及提高控制響應(yīng)的準(zhǔn)確性。文獻(xiàn)[4]采用Simulink/Unity3D聯(lián)合仿真技術(shù)與飛行控制科學(xué)理論,完善了當(dāng)前飛行器控制體系建模,但是缺少針對飛行器在層流與紊流的實際狀況下的操控。以上方法均需要依據(jù)設(shè)計規(guī)范或性能指標(biāo)作為參數(shù)確定的依據(jù),缺乏參考實際飛行控制特性的部分。但是,在未獲取機(jī)型數(shù)據(jù)包的情況下,飛行仿真難以準(zhǔn)確獲得飛機(jī)的控制參數(shù),也無法保證其仿真能反映真實飛機(jī)的控制特性。
針對上述情況,本文提出一種基于QAR(Quick Access Recorder)數(shù)據(jù)與螢火蟲優(yōu)化的高度保持控制律仿真方法。利用QAR數(shù)據(jù)能夠真實地記錄飛機(jī)在飛行過程中的各種狀態(tài)參數(shù),且易于大量獲取,經(jīng)常被用于飛行品質(zhì)監(jiān)控、故障診斷和飛行特性再現(xiàn)[5?6]。該方法在飛行控制仿真中以模糊免疫PID控制器為基礎(chǔ),借鑒生物免疫調(diào)節(jié)機(jī)制中T細(xì)胞對抗體的雙重影響,根據(jù)控制器輸出控制量的變化對PID參數(shù)進(jìn)行非線性調(diào)整[7?8],將仿真輸出的數(shù)據(jù)與仿真機(jī)型真實的QAR數(shù)據(jù)對比,利用螢火蟲算法尋優(yōu)免疫PID控制中的比例系數(shù)和抑制系數(shù),從而優(yōu)化控制系統(tǒng)的響應(yīng)速度和穩(wěn)定性,使其控制特性接近真實機(jī)型的控制特性。最后,采用經(jīng)常被用于flightgear飛行仿真的開源飛行動力學(xué)模型JSBSim作為仿真平臺,在JSBSim的基礎(chǔ)上搭建A320高度保持控制律來驗證該方法的有效性和優(yōu)越性。
1" 高度保持仿真控制律設(shè)計
飛機(jī)的高度控制是一種縱向模態(tài)的飛行控制。飛機(jī)在自動飛行狀態(tài)下從當(dāng)前高度到另一目標(biāo)高度飛行時,飛控系統(tǒng)根據(jù)高度差信息控制升降舵面,升降舵面的變化會改變飛行姿態(tài),從而改變航跡傾角,以實現(xiàn)對飛行高度的閉環(huán)穩(wěn)定與控制[9?10]。A320飛機(jī)在高度控制過程中有三種爬升和下降方式:開放爬升和下降(OPEN CLB/DES)、管理爬升和下降(CLB/DES)、目標(biāo)垂直速度方式(V/S)。高度控制變化曲線如圖1所示。
飛機(jī)高度控制的整體過程可分為4個階段:加速階段(0~[t1])、穩(wěn)定爬升階段([t1]~[t2])、高度截獲階段([t2]~[t3])、高度保持階段([t3]~[t4])。其中高度截獲到高度保持需用到的就是高度保持控制律[11?12]。高度保持控制律通常是在俯仰角穩(wěn)定控制的基礎(chǔ)之上構(gòu)成的,結(jié)合這一特性和JSBSim所能反饋的數(shù)據(jù)搭建A320高度保持仿真控制框圖,如圖2所示。
圖2的虛線框中為控制俯仰角穩(wěn)定的內(nèi)回路。由圖2可得高度保持的控制律為:
[δe=KHzΔH+KHzH+Kθzθ+Kθzθ] (1)
式中:[ΔH]為飛機(jī)當(dāng)前高度與目標(biāo)高度的差值;[H]為飛機(jī)當(dāng)前的高度變化率;[θ]為俯仰角;[θ]為俯仰角變化率;[KHz]、[KHz]、[Kθz]、[Kθz]為其對應(yīng)的傳遞系數(shù)。對以高度為反饋的外回路采用增量式PID控制,即[KHz(ΔH)]的控制量輸出可以表示為:
[uk=uk-1+Kpek-ek-1+Kiek+ Kdek-2ek-1+ek-2] (2)
式中:[uk]、[uk-1]表示[k]、[k-1]時刻控制器輸出的控制量;[ek]、[ek-1]表示[k]、[k-1]時刻反饋高度與目標(biāo)高度差值;[Kp]、[Ki]、[Kd]分別為比例系數(shù)、積分系數(shù)和微分系數(shù)。當(dāng)飛機(jī)高度保持采用PID控制時,式(1)中的[KHz]由[Kp]、[Ki]、[Kd]共同決定。
2" 模糊免疫PID控制器設(shè)計
模糊免疫PID控制借鑒了生物免疫調(diào)節(jié)機(jī)制中T細(xì)胞對抗體的雙重調(diào)節(jié)作用。假設(shè)在[t]時刻的抗原數(shù)量為[εt],由抗原刺激的[Th]細(xì)胞的輸出為[Th(t)],[TS]細(xì)胞對B細(xì)胞的影響為[TSt],則B細(xì)胞所受的總刺激為:
[St=Tht-TSt] (3)
其中:
[Tht=k1εt] (4)
[TSt=k2fSt,ΔStεt] (5)
式中:[k1]為激勵因子;[k2]為抑制因子;[f(·)]為非線性函數(shù),取值范圍為[-1,1]。
將式(3)~式(5)合并,可得:
[St=k1εt-k2fSt,ΔStεt =K1-ηfSt,ΔStεt]" " " " (6)
式中:[K]=[k1],代表比例系數(shù);[η]=[k2 k1],代表抑制系數(shù)。
將免疫反饋調(diào)節(jié)引用到高度保持PID控制中,當(dāng)前控制器的高度差[ek]看作抗原數(shù)量[εt],當(dāng)前控制器的控制量[uk]看作B細(xì)胞所受總刺激[St],則[Δuk]相當(dāng)于[ΔSt],可以得到一個非線性的免疫反饋控制器。
[uk=K1-ηfuk,Δukek]" "(7)
將免疫反饋控制與PID控制結(jié)合可以得到如下免疫PID控制的表達(dá)式:
[uk=uk-1+Kpek-ek-1+KiKpek+KdKpek-2ek-1+ek-2] (8)
式中[Kp=K1-ηfuk,Δuk]。
采用模糊控制來逼近非線性函數(shù)[f(·)],[uk]、[Δuk]為模糊控制的兩個輸入量,兩個輸入變量分別模糊化為“N”和“P”,非線性函數(shù)[fuk,Δuk]為模糊控制的輸出量,將輸出變量模糊化為“Z”“P”“N”。采用三角函數(shù)作為隸屬度函數(shù),隸屬度函數(shù)如圖3、圖4所示。
按照“細(xì)胞接受的刺激越大,則抑制能力越小”和“細(xì)胞接受的刺激越小,則抑制能力越大”的免疫調(diào)節(jié)規(guī)律來制定模糊規(guī)則[9]:
如果[uk∈ ]N,[Δuk∈ ]N,則[fuk,Δuk∈ ]P;
如果[uk∈ ]P,[Δuk∈ ]N,則[fuk,Δuk∈ ]Z;
如果[uk∈ ]N,[Δuk∈ ]P,則[fuk,Δuk∈ ]Z;
如果[uk∈ ]P,[Δuk∈ ]P,則[fuk,Δuk∈ ]N。
根據(jù)上述模糊規(guī)則,按照重心解模糊方法可得到模糊函數(shù)的值。
3" 螢火蟲算法尋優(yōu)免疫控制系數(shù)
3.1" 目標(biāo)函數(shù)
在模糊免疫PID控制中,比例系數(shù)[K]和抑制系數(shù)[η]的確定對控制器的性能有很大影響。其中,比例系數(shù)[K]可以影響系統(tǒng)響應(yīng)速度的快慢,抑制系數(shù)[η]可以響應(yīng)系統(tǒng)的超調(diào)和穩(wěn)定性[13]。為了仿真真實A320高度保持的控制特性,將[K]和[η]的組合作為螢火蟲的位置坐標(biāo),采用螢火蟲算法對其進(jìn)行尋優(yōu)。借鑒誤差積分(IAE)準(zhǔn)則,將飛機(jī)高度保持控制開始工作后JSBSim當(dāng)前時間反饋的高度與QAR數(shù)據(jù)中高度偏差絕對值的積分作為目標(biāo)函數(shù),并在目標(biāo)函數(shù)中加入了高度差變化率即垂直速度項,得到如下關(guān)系式:
[J=0tω1ΔH+ω2ΔHdtt]" " " "(9)
式中:[ΔH]為當(dāng)前時刻JSBSim反饋高度與QAR數(shù)據(jù)高度的偏差;[ΔH]為當(dāng)前時刻JSBSim反饋垂直速度與QAR數(shù)據(jù)垂直速度的偏差;[ω1]、[ω2]為權(quán)值。
3.2" 螢火蟲算法尋優(yōu)過程
在螢火蟲算法中螢火蟲通過位置更新來尋找最優(yōu)解,其數(shù)學(xué)模型[14]可以作如下表示。
1) 螢火蟲間的相對熒光度為:
[Iijrij=Iie-γr2ij]" " (10)
式中:[Ii]為螢火蟲自身熒光度,由目標(biāo)函數(shù)[J]計算得到;[γ]為介質(zhì)對光的吸收系數(shù);[rij]為螢火蟲之間的笛卡爾距離。
2) 螢火蟲間的吸引力為:
[βijrij=β0e-γr2ij]" " " (11)
式中[β0]為螢火蟲間的最大吸引力。
3) 螢火蟲的位置更新公式為:
[xit+1=xit+β0e-γr2ijxjt-xit+αεi]" "(12)
式中:[xit]和[xit+1]分別代表螢火蟲第[t]次和第[t+1]次迭代后的位置;[αεi]為擾動項,其中[α]為擾動步長,取值范圍是[0,1],[εi]為隨機(jī)矢量服從標(biāo)準(zhǔn)正態(tài)分布。
擾動步長[α]的加入是為了避免螢火蟲陷入局部最優(yōu)而加入的隨機(jī)項,但是隨著迭代次數(shù)的增加,后期過大的步長容易出現(xiàn)在最優(yōu)解周圍震蕩的現(xiàn)象。為了保證螢火蟲算法前期的搜索能力和后期的局部收斂,對位置更新公式中的擾動步長[α]做出改進(jìn),將[α]用[α(t)]代替,[α(t)]的值隨時間的增大而減小,其中[αt=αt]。
綜上所述,螢火蟲算法優(yōu)化[K]和[η]的基本流程如圖5所示。
4" 仿真實驗
JSBSim是一個開源、跨平臺支持的通用飛行動力學(xué)模型,模型初始化所加載的機(jī)型信息來自于XML格式的機(jī)型配置文件。因此,在使用JSBSim建模時,只需要用XML語言按一定的格式編寫成數(shù)據(jù)文件,對飛機(jī)的幾何、質(zhì)量、氣動、推進(jìn)、飛行控制律及起落架裝置等特征進(jìn)行定義和修改,就可以實現(xiàn)對指定機(jī)型的仿真,不需要修改主程序代碼[15]。
部分A320機(jī)型配置XML文件代碼如下。
lt;fileheadergt;
lt;authorgt;Unknownlt;/authorgt;
lt;filecreationdategt;2020?12?28lt;/filecreationdategt;
lt;versiongt;Versionlt;/versiongt;
lt;descriptiongt;Airbus A320lt;/descriptiongt;
lt;/fileheadergt;
lt;metricsgt;
lt;wingarea unit=\"FT2\"gt;1317lt;/wingareagt;
lt;wingspan unit=\"FT\"gt;111.3lt;/wingspangt;
lt;chord unit=\"FT\"gt;14.1lt;/chordgt;
lt;htailarea unit=\"FT2\"gt;333.6lt;/htailarmgt;
lt;htailarm unit=\"FT\"lt;44.4lt;/htailarmgt;
lt;vtailarea unit=\"FT2\"gt;231.3lt;/vtailareagt;
lt;vtailarm unit=\"FT\"gt;0lt;/vtailarmgt;
lt;location name=\"AERORP\" unit=\"IN\" gt;
lt;xgt;627lt;/xgt;
lt;ygt;0lt;/ygt;
lt;zgt;20lt;/zgt;
lt;/locationgt;
lt;location name=\"VRP\" unit=\"IN\"gt;
lt;xgt;661.1lt;/xgt;
lt;ygt;0lt;/ygt;
lt;zgt;-37lt;/zgt;
lt;/locationgt;
lt;/metricsgt;
在JSBSim平臺上,使用C++語言、XML語言建立基于模糊免疫PID的A320高度保持控制律。系統(tǒng)的仿真步長設(shè)置為0.01 s,采樣周期分別采用0.02 s、0.04 s。PID的初始參數(shù)設(shè)置由Ziegler?Nichols整定方法得到。[K]和[η]通過螢火蟲算法尋優(yōu),算法的參數(shù)設(shè)置為:螢火蟲群體個數(shù)[N]為20,最大迭代次數(shù)[G]為50,[γ]=1.0,[β0]=1.0,[α]=0.97,[ω1]=0.9,[ω2]=0.1,[K]的取值范圍由通用的Ziegler?Nichols固定參數(shù)PID整定方法得到的[Kp]決定,其取值范圍是(0.5,1.5),[η]的取值范圍是(0,1)。
選取飛機(jī)進(jìn)入截獲后100 s內(nèi)的QAR數(shù)據(jù)與JSBSim的仿真數(shù)據(jù)進(jìn)行目標(biāo)函數(shù)計算。由于QAR數(shù)據(jù)的采樣周期過長,為1 s采樣一次,無法與JSBSim輸出數(shù)據(jù)直接計算目標(biāo)函數(shù),為保證計算使兩者數(shù)據(jù)樣本數(shù)一致,本文對同一組QAR采用兩種方式計算目標(biāo)函數(shù)。方式一:使用Matlab中提供的interpft函數(shù)對QAR數(shù)據(jù)進(jìn)行快速傅里葉插值,使其數(shù)據(jù)樣本數(shù)與JSBSim輸出的數(shù)據(jù)樣本數(shù)相同后,再計算目標(biāo)函數(shù);方式二:將JSBSim輸出的數(shù)據(jù)和QAR數(shù)據(jù)按照時間對準(zhǔn),以QAR的采樣周期進(jìn)行同步抽樣后,再計算目標(biāo)函數(shù)。目標(biāo)函數(shù)的尋優(yōu)過程如圖6~圖9所示。
根據(jù)圖6~圖9和表1可以得出:當(dāng)采樣周期相同時,兩種計算方法得到的最優(yōu)目標(biāo)函數(shù)值相似;當(dāng)采樣周期不同時,得到的最優(yōu)目標(biāo)函數(shù)值略有差異,采樣周期由0.02變?yōu)?.04時,最優(yōu)目標(biāo)函數(shù)值有所增加,但整體尋優(yōu)趨勢依然處于收斂。說明在合適的采樣周期內(nèi),使用兩種方法均可有效地尋優(yōu)控制參數(shù)值。
選取10組不同爬升階段由高度截獲到高度保持的QAR數(shù)據(jù),采用第二種方法對[K]和[η]進(jìn)行尋優(yōu),將10組QAR數(shù)據(jù)尋優(yōu)得到的最佳性能指標(biāo)的組合作為高度保持仿真中的實際參數(shù)值,其中[K]=0.842 1,[η]=0.215 1。為了驗證尋優(yōu)后高度保持控制律仿真效果,使用10組數(shù)據(jù)之外的一架飛北京首都至上海虹橋的A320航班的三段典型爬升數(shù)據(jù)作為對象。這三段爬升的信息如表2所示。
設(shè)置JSBSim的初始化參數(shù)與QAR數(shù)據(jù)一致,分別使用傳統(tǒng)PID控制和模糊免疫PID進(jìn)行仿真,得到如圖10~圖12的仿真結(jié)果。
由圖10~圖12可知:飛機(jī)截獲目標(biāo)高度進(jìn)入高度保持的過程中,雖然經(jīng)過螢火蟲尋優(yōu)的免疫模糊PID控制的高度變化曲線與QAR數(shù)據(jù)在不同爬升段的擬合程度有所差異,但相比于傳統(tǒng)PID控制在超調(diào)值和調(diào)節(jié)時間上均有明顯提升。
5" 結(jié)" 語
本文提出的基于飛機(jī)運行數(shù)據(jù)的飛行控制仿真方法,在智能控制方法模糊免疫PID控制的基礎(chǔ)上,采用螢火蟲優(yōu)化算法將仿真數(shù)據(jù)與QAR數(shù)據(jù)對比,優(yōu)化免疫反饋控制中的比例系數(shù)和抑制系數(shù),并在通用飛行動力學(xué)模型JSBSim的平臺上搭建A320的高度保持仿真進(jìn)行驗證。結(jié)果表明,本文方法對比傳統(tǒng)PID的高度保持控制律更貼近QAR數(shù)據(jù),使得仿真控制律更能反映真實飛機(jī)的高度控制特性。該方法對于沒有獲取指定機(jī)型數(shù)據(jù)包的飛行仿真有一定的參考性。
參考文獻(xiàn)
[1] 彭博.基于P3D的飛機(jī)自動飛行控制系統(tǒng)的設(shè)計方法與仿真研究[D].廣漢:中國民用航空飛行學(xué)院,2023.
[2] 姜文韜,李海英,劉紹謙,等.基于模糊PID的四旋翼無人機(jī)飛行姿態(tài)控制[J].節(jié)能,2023,42(4):22?25.
[3] 李煜,劉小雄,何啟志,等.基于改進(jìn)的分段常數(shù)自適應(yīng)動態(tài)逆控制方法研究[J].西北工業(yè)大學(xué)學(xué)報,2021,39(1):167?174.
[4] 朱日楠,王彪,楊姍姍,等.Simulink/Unity3D聯(lián)合的飛行控制仿真教學(xué)系統(tǒng)開發(fā)[J].實驗室研究與探索,2023,42(11):187?191.
[5] 孫京超.基于QAR數(shù)據(jù)的飛機(jī)著陸仿真模型[J].航空計算技術(shù),2019,49(1):24?26.
[6] 李延波,李光.基于深度強(qiáng)化學(xué)習(xí)的無人機(jī)飛行控制訓(xùn)練系統(tǒng)構(gòu)建研究[J].自動化技術(shù)與應(yīng)用,2023,42(10):20?23.
[7] 鐘倫瓏,石慶研,張鵬,等.民機(jī)自動飛行控制虛擬仿真實驗設(shè)計與實現(xiàn)[J].電氣電子教學(xué)學(xué)報,2023,45(4):154?159.
[8] 于文妍,楊坤林.四旋翼無人機(jī)串級模糊自適應(yīng)PID控制系統(tǒng)設(shè)計[J].機(jī)械設(shè)計與制造,2019(1):227?231.
[9] 朱鵬,趙仁厚,周媛,等.考慮預(yù)設(shè)性能約束的運輸機(jī)姿態(tài)容錯控制[J].飛行力學(xué),2021,39(1):46?53.
[10] 張祥,李廣文,曹睿婷,等.基于自抗擾控制方法的自動著陸飛行控制律設(shè)計[J].彈箭與制導(dǎo)學(xué)報,2020,40(5):98?104.
[11] PINGUET J, FEYEL P, SANDOU G. A neural autopilot training platform based on a Matlab and X?Plane co?simulation [C]// 2021 International Conference on Unmanned Aircraft Systems (ICUAS). New York: IEEE, 2021: 1200?1209.
[12] BERGMANN D P, DENZEL J, PFEIFLE O, et al. In?flight lift and drag estimation of an unmanned propeller?driven aircraft [J]. Aerospace, 2021, 8(2): 43.
[13] KHALESI M H, SALARIEH H, FOUMANI M S. System identification and robust attitude control of an unmanned helicopter using novel low?cost flight control system [J]. Journal of systems and control engineering, 2020, 234(5): 634?645.
[14] 郭威,楊帆,張劍焜.基于改進(jìn)螢火蟲算法的水電機(jī)組調(diào)速器PID參數(shù)優(yōu)化[J].水力發(fā)電,2019,45(5):95?97.
[15] 戎喜峰.客機(jī)巡航段的飛行控制技術(shù)研究[D].南昌:南昌航空大學(xué),2019.