耿 宏,操 正+,郝 磊
(1.中國民航大學(xué) 電子信息與自動化學(xué)院,天津 300300;2.中國民航大學(xué) 基礎(chǔ)實驗中心,天津 300300)
客機空速控制仿真是其飛行仿真的重要組成部分,良好的仿真效果可以準(zhǔn)確地描述實際的空速控制特性。目前國內(nèi)外關(guān)于空速控制的仿真多是從設(shè)計的層面,按照國家標(biāo)準(zhǔn)或飛行品質(zhì)標(biāo)準(zhǔn)進行的[1-3],而對于指定機型的空速控制仿真,則具有較強的針對性,如在某機型的飛行模擬設(shè)備中,其空速控制系統(tǒng)就需要逼近該機型實際表現(xiàn)出來的控制特性。一般而言,這些控制特性信息收集在該機型的飛行數(shù)據(jù)包中,但在實際工程中難以獲取該飛行數(shù)據(jù)包[4],因此需要尋求一種易于實現(xiàn)的方法用于仿真指定機型的空速控制律。
在一些工業(yè)領(lǐng)域中,系統(tǒng)的歷史運行數(shù)據(jù)常用于評價或仿真該系統(tǒng)的實際運行過程,或用于系統(tǒng)模型參數(shù)的辨識過程。王印松等在其關(guān)于火電機組負荷控制的研究中利用系統(tǒng)的歷史數(shù)據(jù)作為參考,以評價實際系統(tǒng)的輸出特性[5];代維在其研究中利用系統(tǒng)的歷史數(shù)據(jù)驅(qū)動型腔銑削中主軸功率的仿真和進給速度的優(yōu)化[6];Sen.S等則利用金屬塑性行為的歷史數(shù)據(jù)來估計金屬塑性參數(shù)[7]。然而在民航客機上,機載QAR(quick access recorder)能夠完整地記錄飛機在飛行過程中的狀態(tài)數(shù)據(jù),該數(shù)據(jù)被廣泛應(yīng)用于飛行品質(zhì)分析或模型參數(shù)辨識等研究中[8,9]。本文基于上述在研究中融合系統(tǒng)歷史數(shù)據(jù)的思想,結(jié)合具有收斂速度快、精度較高且參數(shù)較少等優(yōu)點的LBBO(Levy flight-biogeography based optimization)智能算法,將QAR數(shù)據(jù)應(yīng)用到對指定機型空速控制律的仿真研究中,以改善最終的仿真效果。
現(xiàn)代客機通常有自動推力系統(tǒng)和升降舵兩種空速控制方式,根據(jù)其原理,建立指定機型的空速控制仿真系統(tǒng),如圖1所示。Vr為目標(biāo)空速,Vc為系統(tǒng)輸出的實際空速。當(dāng)飛機處于升降舵控制空速時,PID(proportion-integration-differentiation)控制器輸出俯仰角指令,G(s)表示角位移控制的內(nèi)回路;當(dāng)飛機處于自動推力系統(tǒng)控制空速時,PID控制器輸出油門桿指令,G(s)表示油門伺服器及發(fā)動機,此時由自動駕駛儀H(s)控制垂直姿態(tài)。然而固定參數(shù)的控制器難以在不同的飛行條件下均具有良好的仿真效果,為此結(jié)合模糊控制策略[10],并使模糊控制器的論域隨著控制需求按照一定的準(zhǔn)則進行自適應(yīng)性伸縮變化,以最終實現(xiàn)PID控制參數(shù)在線自調(diào)整。對于論域的伸縮機制,本文利用仿真系統(tǒng)的輸出與同時態(tài)下QAR數(shù)據(jù)之間的空速偏差和加速度偏差構(gòu)造目標(biāo)函數(shù),通過LBBO算法優(yōu)化論域的伸縮因子α和β,以在有限的迭代次數(shù)內(nèi)獲取使得該偏差指標(biāo)最小時的論域伸縮機制。最后將優(yōu)化得到的伸縮因子代入變論域模糊控制器,以得到基于LBBO優(yōu)化的變論域模糊PID控制系統(tǒng),即為圖1中虛線框內(nèi)的部分。
圖1 空速控制仿真原理
變論域操作過程中,保持模糊論域不變,直接對量化因子和比例因子進行調(diào)整,以構(gòu)成相對變論域模糊控制器。
在模糊控制器輸入端,空速跟蹤誤差值e的基本論域Ve(e)、 模糊論域Ue、實際量化因子ke(e)、 伸縮因子αe(e) 分別為
Ve(e)=[-αe(e)Me,αe(e)Me]
(1)
Ue=[-me,me]
(2)
(3)
αe(e)=1-φ1exp(-e2)
(4)
上式關(guān)于誤差e:Me為初始基本論域半?yún)^(qū)間寬度;me為模糊論域半?yún)^(qū)間寬度;ke0為初始量化因子;φ1為伸縮因子待定系數(shù)。
同理,空速跟蹤誤差變化率ec的基本論域Ve c(ec)、 模糊論域Ue c、實際量化因子ke c(ec)、 伸縮因子αe c(ec) 分別為
Ve c(ec)=[-αe c(ec)Me c,αe c(ec)Me c]
(5)
Ue c=[-me c,me c]
(6)
(7)
(8)
上式關(guān)于誤差變化率ec:Me c為初始基本論域半?yún)^(qū)間寬度;me c為模糊論域半?yún)^(qū)間寬度;ke c0為初始量化因子;φ2為伸縮因子待定系數(shù)。
對模糊控制器輸出端的控制參數(shù)修正值,其基本論域Vpara(e,ec)、 模糊論域Upara、實際量化因子kpara(e,ec) (即para分別表示比例環(huán)節(jié)、積分環(huán)節(jié)、微分環(huán)節(jié))分別有
Vpara(e,ec)=[-βpara(e,ec)Mpara,βpara(e,ec)Mpara]
(9)
Upara=[-mpara,mpara]
(10)
(11)
上式關(guān)于各控制參數(shù)修正值:Mpara為初始基本論域半?yún)^(qū)間寬度;mpara為模糊論域半?yún)^(qū)間寬度;kpara0為初始比例因子;βpara(e,ec) 為對應(yīng)的伸縮因子,且有
(12)
(13)
(14)
上式φ3、φ4、…、φ8均為伸縮因子待定系數(shù)。由于伸縮因子需要滿足單調(diào)性和協(xié)調(diào)性等要求,故將伸縮因子待定系數(shù)φ1、φ2、…、φ8的取值范圍均定為(0,1)。
然后,將模糊論域統(tǒng)一劃分為負大、負中、負小、零、正小、正中、正大7個模糊子集,對應(yīng)地表示為NB、NM、NS、ZE、PS、PM、PB,且均采用三角形隸屬度函數(shù)。
為了便于表示,記xi為未經(jīng)伸縮因子變換時的輸入端模糊量,αi為輸入端的伸縮因子,保持模糊論域不變,則輸入端的隸屬度函數(shù)為
(15)
輸出端模糊量是根據(jù)模糊規(guī)則推理而得到,其對應(yīng)的伸縮因子將直接影響控制參數(shù)修正值的實際量大小,記yi為輸出端模糊量,故輸出端的隸屬度函數(shù)為
(16)
式中:an、bn、cn表示三角形隸屬度函數(shù)中的常數(shù)。
確定PID控制參數(shù)初始值Kp0、Ki0、Kd0之后,利用PID各參數(shù)的調(diào)節(jié)特點,制定出控制參數(shù)修正值的模糊量ΔKP、ΔKI、ΔKD分別與空速跟蹤誤差模糊量E及其變化率模糊量Ec之間的模糊規(guī)則[11],見表1。
表1 比例/積分/微分修正值模糊規(guī)則
根據(jù)模糊規(guī)則建立模糊關(guān)系之后,在實際仿真過程中,模糊控制器獲取當(dāng)前模糊量E及Ec,采用Mamdani推理得到控制參數(shù)修正值的模糊量,再利用重心法解模糊得到各參數(shù)修正值的實際量ΔKp、ΔKi、ΔKd,進而得到比例系數(shù)Kp、積分系數(shù)Ki、微分系數(shù)Kd的最終值為
(17)
采用LBBO算法優(yōu)化變論域過程中的伸縮因子,以相對調(diào)整模糊規(guī)則,促使仿真系統(tǒng)的輸出向同時態(tài)下的QAR數(shù)據(jù)擬合。本文通過對函數(shù)型伸縮因子中的待定系數(shù)進行尋優(yōu)的方式來優(yōu)化伸縮因子,即φ1、φ2、…、φ8構(gòu)成了解的8個分向量,并設(shè)解的數(shù)目為N,則初始解空間Ф可用矩陣表示為
(18)
由于φ均是小于1的正數(shù),故通過(0,1)區(qū)間內(nèi)均勻分布的隨機數(shù)來生成初始解空間。
BBO是一種基于自然啟發(fā)式的智能算法,為了更貼近自然界棲息地的實際情況以提高尋優(yōu)性能,選擇非線性三角形遷移模型描述遷移率與物種多樣性之間的關(guān)系[12]。設(shè)遷入率峰值為I,遷出率峰值為E,物種數(shù)目峰值即為解的數(shù)目N,則根據(jù)遷移模型,得到各解的遷入率λi和遷出率μi分別為
(19)
(20)
其中,i為每次遷移和變異操作之前,對所有解按照適應(yīng)度值(habitat suitability index,HSI)從低到高重新排列后的解序號值。
原始BBO算法具有較強的局部搜索能力,為提高其全局搜索能力,在遷移操作上,引入混合遷移機制,在變異操作中,結(jié)合具有高頻小步長與低頻大步長特點的Levy Flight游走方式[13]。
遷移操作時,各解根據(jù)其遷入率隨機決定接受遷入的分向量,再結(jié)合其它各解的遷出率,利用賭輪選擇機制確定遷出量并進行混合遷移,混合遷移算子定義為
φ′i(j)=ρφi(j)+(1-ρ)φh(j)
(21)
ρ=rand()
(22)
φi(j)、φh(j) 分別表示第i、h個解的第j維,rand()表示生成一個[0,1]區(qū)間內(nèi)的隨機數(shù)。
變異操作時,首先利用Mantegna算法生成Levy分布[14],即
(23)
式中:γ屬于常數(shù),v和u均服從正態(tài)分布,有
γ∈[0.1,2]
(24)
v~N(0,1)
(25)
u~N(0,σu2)
(26)
(27)
其中,Γ(·)為標(biāo)準(zhǔn)的Gamma函數(shù)。
然后在解的各分向量上加上Levy步長以實現(xiàn)變異操作,從而有效減少尋優(yōu)結(jié)果陷入局部最優(yōu)的現(xiàn)象。在實際仿真過程中,根據(jù)Levy分布的特點以及φ的取值要求,需要對Levy步長進行等比例縮放與限幅,即在變異操作過程中有
φ′i(j)=Limited[φi(j)+Limited(·L(u,v))]
(28)
為提高對指定機型空速控制律的仿真度和有效性,使用經(jīng)過野值處理、平滑處理及重新采樣等基本操作后的QAR數(shù)據(jù),且要求在所選數(shù)據(jù)對應(yīng)的飛行過程中,沒有嚴重影響飛行控制性能的故障。
由于在適應(yīng)度函數(shù)的設(shè)計過程中需要結(jié)合同時態(tài)下的真實空速值,而QAR數(shù)據(jù)中記錄的空速指的是儀表空速,即為飛機儀表所測量的速度。然而在實際飛行過程中,由于受到空氣壓縮性的影響,儀表空速與真實空速之間存在一定的偏差。因此在使用QAR數(shù)據(jù)中的空速數(shù)據(jù)之前,需要對其進行修正。
在標(biāo)準(zhǔn)大氣壓下,當(dāng)飛行過程中全壓和靜壓管所測得的數(shù)據(jù)精準(zhǔn)性較高的時候,儀表空速可較高程度地反映真實空速。因此,可通過由靜壓測量誤差導(dǎo)致的速度指示誤差(ΔVP)得到修正空速(VD),有
VD=VI+ΔVP
(29)
式中:VI即為儀表空速,ΔVP可以從飛機手冊上的修正曲線中獲取。進而得到在不同高度層下的真實空速VT
(30)
(31)
T和P分別表示當(dāng)前高度層下的溫度和總壓,T0和P0分別表示海平面標(biāo)準(zhǔn)大氣壓下的溫度和總壓,且有K=1.4,a0=661.475 kn。
設(shè)Eerror為仿真系統(tǒng)輸出的空速值Vc與QAR數(shù)據(jù)修正空速值VT之間的偏差,ECerror為仿真系統(tǒng)輸出的加速度值A(chǔ)c與QAR數(shù)據(jù)參考加速度值A(chǔ)T之間的偏差,由于本文中的加速度是為滿足算法需求而定義的物理量,即取單個采樣周期內(nèi)的空速變化量,其不等同于QAR數(shù)據(jù)中記錄的加速度。
為了便于計算機計算,令目標(biāo)函數(shù)如式(32),式中dT即為采樣周期,Eerror(t)、ECerror(t) 分別為第t次采樣時的空速偏差和加速度偏差。采用LBBO算法優(yōu)化的目的是使得目標(biāo)函數(shù)值減小,然而LBBO算法本質(zhì)是選擇HSI值最高的棲息地,故構(gòu)造其適應(yīng)度函數(shù)如式(34)
(32)
η∈(0,1)
(33)
(34)
綜上所述,利用LBBO算法優(yōu)化伸縮因子的思路流程如圖2所示,其中G表示當(dāng)前迭代的次數(shù),Gmax為最大迭代次數(shù),φi表示第i個解對應(yīng)的一組伸縮因子待定系數(shù),φbest用于存儲迭代過程中HSI值最高的一組伸縮因子待定系數(shù),fi表示第i個解所得到的HSI值,fbest用于存儲歷史最高的HSI值。
圖2 伸縮因子優(yōu)化流程
JSBSim是利用C++程序語言編寫的通用飛行動力學(xué)模型,其主要由接口變量、中間變量、計算模型3部分構(gòu)成。接口變量主要由飛行實時參數(shù)集和飛行目標(biāo)參數(shù)集構(gòu)成,中間變量多指計算模型中的過程量,計算模型主要包含氣動單元(Aerodynamics)、推進單元(Propulsion)、飛行控制單元(flight control system,F(xiàn)CS)。仿真過程中分別通過機型文件(Model.xml)和發(fā)動機型號文件(Engine.xml)將Aerodynamics和Propulsion實例化為指定機型,F(xiàn)CS中可以利用JSBSim定義的組件搭建傳統(tǒng)的PID控制器,其能夠基本實現(xiàn)飛行高度控制、垂直速度控制及空速控制等。
4.2.1 伸縮因子優(yōu)化
本文以JSBSim飛行動力學(xué)模型為控制對象,聯(lián)合Matlab/Simulink工具,以仿真A320飛機在自動駕駛儀控制垂直姿態(tài)下降時,自動推力控制空速的模態(tài)為例。先后選取6段具有代表性的A320飛機QAR數(shù)據(jù)作為訓(xùn)練對象,并分別進行實驗。為了便于分析實驗結(jié)果,在每次實驗過程中均由JSBSim本身的FCS實現(xiàn)垂直姿態(tài)的控制,并使得JSBSim中的仿真環(huán)境盡可能與QAR數(shù)據(jù)中的相似,主要包括飛行工作狀態(tài)即自動駕駛儀(AP)的工作模式、自動推力系統(tǒng)(AT)的工作模式、發(fā)動機狀態(tài)(ENG STATE);還包括一些飛行參數(shù)即初始氣壓高度(ALT0)、垂直速度(Vs)、剩余機載燃油(FOB)、自然風(fēng)(WindSpeed/Direction)等。此外,使QAR數(shù)據(jù)重新采樣周期與仿真系統(tǒng)采樣周期保持一致,即均為dT。由于這些初始設(shè)置在6段QAR數(shù)據(jù)中不盡相同,故此處不作羅列。將上述設(shè)置完成之后的JSBSim源碼文件編寫成S函數(shù),并生成Simulink可直接調(diào)用的MEX文件。其中輸入?yún)?shù)為油門閥開度值(δ);輸出參數(shù)包括實際空速(Vc)與JSBSim輸出數(shù)據(jù)采樣計數(shù)器(Timer)。此外在仿真過程中,由于推力桿的位置與推力的轉(zhuǎn)換等環(huán)節(jié)已直接實例化在JSBSim-Propulsion中,故此處G(s)為油門伺服器,并用時間常數(shù)為0.05 s的一階慣性環(huán)節(jié)表示。最后,再以隨機噪聲信號模擬實際飛行過程中的自然干擾。
模糊控制器參數(shù)設(shè)置見表2,其中m為各基本變量對應(yīng)的模糊論域半?yún)^(qū)間寬度,k0為初始量化因子或比例因子。
表2 模糊控制器初始設(shè)置
關(guān)于LBBO算法的參數(shù)設(shè)置:取式(19)、式(20)中的I為1,E為1,N為30;取式(23)中的γ為1.5;另外取Gmax為100。在確保引入的Levy步長不影響原始算法收斂性的情況下,取式(28)中的值為0.0025,且經(jīng)過測試,取式(32)中的η為0.76時仿真效果較佳。如圖3所示,為6段QAR數(shù)據(jù)分別作為參考模型輸出時,優(yōu)化過程中HSI值的變化規(guī)律,其中縱軸為歸一化的HSI值(即取實驗過程中最大HSI值為1),橫軸為迭代次數(shù),最終得到的一組伸縮因子待定系數(shù)為:φ1=0.49;φ2=0.58;φ3=0.43;φ4=0.70;φ5=0.53;φ6=0.54;φ7=0.77;φ8=0.54。
圖3 HSI變化規(guī)律
4.2.2 驗證示例
第一組實驗:選擇一段區(qū)別于伸縮因子優(yōu)化階段的飛行過程用于驗證,該過程中飛機從3040 ft開始,以-800 ft/min 的垂直速度下降時,自動推力控制空速從180 kts 降至140 kts。其中為了便于結(jié)果分析和實際應(yīng)用,將空速逆轉(zhuǎn)換為儀表空速。仿真過程中,飛機的垂直姿態(tài)控制由JSBSim本身的FCS實現(xiàn),并參照對應(yīng)的QAR數(shù)據(jù),將JSBSim初始設(shè)置為表3狀態(tài),G(s)及干擾信號與伸縮因子優(yōu)化過程中的相同。在同等仿真環(huán)境下使用JSBSim-FCS 中的傳統(tǒng)PID控制器(記作JS-PID)、固定論域的模糊PID控制器(記作FPID)、LBBO優(yōu)化的變論域模糊PID控制器(記作LBVUFPID)進行對比性實驗。
為描述控制系統(tǒng)的動態(tài)特性和靜態(tài)特性,選取控制過程中的上升時間tr、最大偏差eσ(即達到控制目標(biāo)之后的最大超調(diào)值)、調(diào)節(jié)時間ts(2%的誤差)作為仿真系統(tǒng)的控制性能指標(biāo),以與QAR數(shù)據(jù)所表現(xiàn)的控制特性作比較來說明仿真控制器的控制效果。已知QAR數(shù)據(jù)在該飛行過程中有:tr為73.90 s,eσ為0.92 kts,ts為83.60 s,同理分析對比實驗的對應(yīng)指標(biāo)。再分別計算實驗結(jié)果與QAR數(shù)據(jù)之間的均方根誤差(RMSE)和擬合度(R-square),以作為系統(tǒng)的仿真效果指標(biāo),其定義為
表3 JSBSim初始設(shè)置
(35)
(36)
表4 第一組實驗指標(biāo)
圖4 空速變化曲線
第二組實驗:另行選擇兩段不同航班在此模態(tài)下的典型飛行過程進行實驗驗證,該部分給出使用LBVUFPID控制器的仿真結(jié)果與實際飛行規(guī)律之間的比較,其中實驗環(huán)境的配置方法和上述一致。實驗結(jié)果如圖5(a)(從315 kts減速至275 kts)、圖5(b)(從250 kts減速至220 kts)。
圖5 空速變化曲線
分別計算兩次實驗中的控制性能指標(biāo)和仿真效果指標(biāo),結(jié)果見表5。
表5 第二組實驗指標(biāo)
從本組實驗結(jié)果中得知:在該模態(tài)下,對多個不同飛行環(huán)境下的降速控制,LBVUFPID控制器的輸出規(guī)律與QAR數(shù)據(jù)規(guī)律均具有較高的相似程度,從而進一步說明了該方法的有效性。
本文提出一種基于LBBO優(yōu)化的變論域模糊PID控制方法,用于在無法明確指定機型飛行控制特性的情況下,仿真其空速控制律。結(jié)合被仿機型的QAR數(shù)據(jù)構(gòu)造目標(biāo)函數(shù),利用LBBO算法間接優(yōu)化模糊控制規(guī)則,促使仿真系統(tǒng)輸出規(guī)律擬合真實飛行數(shù)據(jù)所呈現(xiàn)的規(guī)律。從多角度的實驗結(jié)果得知,該方法更為準(zhǔn)確地描述了A320自動推力系統(tǒng)在下降階段的空速控制特性,但在確定該方法目標(biāo)函數(shù)中的加權(quán)系數(shù)η以及Levy步長縮放系數(shù)時,存在著一定的主觀性,在下一步研究中需要探索一套科學(xué)的方法用于確定這些系數(shù)。