耿 宏,段振亞
(中國民航大學 電子信息與自動化學院,天津 300300)
在飛機的模擬仿真過程中,飛機氣動參數辨識是飛行控制律參數調整、飛行仿真等工作的前提和基礎[1]。快速訪問記錄器(quick access recorder,QAR)數據忠實記錄了飛機運行中大量原始數據[2],包含與飛機空氣動力學特性相關的變量,因此QAR數據可以用于辨識飛機氣動參數。并且相對于飛行測試數據,QAR數據獲取相對容易,利用QAR數據辨識飛機氣動參數也是一種可行的技術途徑。
王青等[3]結合QAR數據和神經網絡Delta法估計高原環境下的飛機氣動參數,證實QAR辨識飛機氣動參數的可行性,但是神經網絡不能完全反應真實的飛行系統,并且Delta法對飛行數據的質量、數量要求較高[4]。玉杉杉等[5]采用極大似然法估計無人機的空氣動力學參數,模型參數工程實用性良好,但是該方法對初值特別敏感。因此本文利用QAR數據,結合極大似然法和ISPBO(improved student psychology based optimization)啟發式優化算法對飛機氣動參數進行辨識。
SPBO算法是由BikashDas等[6]提出的一種基于學生心理的啟發式優化算法,該算法顯著特點是給定待辨識氣動參數的大致范圍,即可隨機賦予待辨識參數初值,對初值敏感較小,目前粒子群[7](partical swarm optimization,PSO)、鴿群優化[8](pigeon inspired optimization,PIO)等啟發式算法已廣泛應用到氣動參數辨識中。ISPBO在SPBO的基礎上,采用Logistic映射[9]對學生群體初始化,增強初值分布的隨機性和均勻性;根據優化過程中迭代次數和適應度值的變化情況,動態調整最佳學生的迭代步長,提高算法后期的搜索精度,降低對初值選取范圍要求。最后,將ISPBO算法辨識得到的氣動參數代入到飛機模型中,通過對比模型輸出與QAR原始數據,驗證該算法在工程上的可行性。
根據動力學原理,結合飛機地速VE、空速V和風速W三角關系,VE=V+W,建立機體系下含擾動風參數的六自由度運動方程組,即:

(1)
式(1)中:u、v、w分別為飛行速度三軸分量;p、q、r分別為滾轉角速度、俯仰角速度、偏航角速度;Φ、θ、Ψ分別為滾轉角、俯仰角、偏航角;Rx、Ry、Rz分別為空氣動力三軸分量;WxB、WyB、WzB分別為風速矢量在機體坐標系下三軸分量;Ml、Mm、Mn分別為滾轉力矩、俯仰力矩、偏航力矩;ci(i=1,…,9)由轉動慣量和慣性積得到。
采用多項式模型作為氣動數學模型,根據對應物理意義選擇相應狀態參數[10],最終確定模型結構為:

(2)
式(2)中:C*δα、C*δe、C*δr分別為力和力矩相對于副翼、升降舵、方向舵的控制導數;C*α、C*β分別為力和力矩相對于迎角、側滑角的穩定性導數[1];C*p、C*q、C*r分別為滾轉角速度、俯仰角速度、偏航角速度氣動導數;CDgear和CDsb分別為阻力相對于起落架和減速板的氣動導數;C*0為力和力矩基本系數。
將氣動參數矢量代入到飛機模型中,得到模型輸出矢量為:
y(i)=[φ,θ,ψ,α,β,V,h]T
(3)
其次根據式(1)建立QAR數據觀測矢量ym(i),依據極大似然判據,可得目標函數為:
(4)
式(3)中:N為數據段中數據點數;e(i)=y(i)-ym(i);R為為觀測噪聲的協方差矩陣。氣動參數辨識問題轉化為極值尋優問題[11],即尋求最優待辨識氣動參數,使目標值J達到最小值。
SPBO算法[6]是基于班級中學生心理而制定的啟發式優化算法,該算法分為最佳學生、好學生、普通學生和嘗試隨機改善的學生4種迭代方式,學生對一門學科所做的努力取決于對該學科獲得的興趣,這取決于學生心理,并且可能因學生和學科的不同而有所差異,基于這種心理,在提出的SPBO算法中,除最佳學生外,其余3類學生主題選擇被認為是隨機過程。
將SPBO算法應用到飛機氣動參數辨識中,并對該算法初始化以及最佳學生迭代步長進行改進,得到改進學生心理學(ISPBO)優化算法。ISPBO算法工作對象為班級學生群體,總學生數為SN,每個學生由不同變量組成Xi=(Xi,1,Xi,2,…,Xi,M),這些變量即為待辨識氣動參數,也表示為學生每門科目,總科目為M,該算法以學生獲得分數為氣動模型尋優目標,根據學生對科目努力程度,劃分不同迭代階段,通過目標函數求得目標值J,目標值最小者學生表現最佳。
SPBO算法中班級學生群體初始化通常是隨機產生,而初值分布是否均勻,將影響算法尋優過程中收斂速度和尋優效率,Logistic映射是一種無規則混沌運動,其特點是具有很好隨機性和遍歷性,采用Logistic映射初始化學生成績,用于替代SPBO算法中隨機策略,可以提高初值分布均勻性,使得改進后得到的ISPBO算法在初值規定范圍內包含更全面的初值變量,增強ISPBO算法前期的全局搜索能力,即使存在一些不合理初值,也不影響整體辨識效果,對初值準確度依賴較小,Logistic映射初始化由以下步驟完成:
Step1:對M個待辨識參數生成隨機數,作為每維空間中第一個學生成績;
rand_old=rand(1,M),rand_old∈[-1,1]
(5)
Step2:將rand_old中每一維的學生利用式(6)進行SN-1次迭代,生成混沌變量rand_new;
rand_old(n+1)=4rand_old(n)×(1-rand_old(n)
(6)
Step3:按照式(7)對待辨識參數進行初始化;
θi.,m=θi,ml+rand_new*(θi,mu-θi,ml)
(7)
其中SN表示學生的數量,即種群大小,m表示待辨識參數位置,m∈(1,2,3,…,M),θi,ml和θi,mu分別表示第m個待辨識參數在整個種群里面最小和最大數值,根據理論計算、風洞試驗等數據得到,rand是0到1之間的隨機數。
隨機法和Logistic法如圖1所示。

圖1 隨機法和Logistic法表示的初值分布與學生數量的關系示意圖
ISPBO算法是在整個數據段上尋優,每次迭代方向和方式均為隨機選取,使其迭代過程呈現全局性,并且相比較SPBO算法,ISPBO算法對最佳學生階段增添迭代步長控制因子HF,使迭代步長范圍隨著迭代次數和適應度值變化而動態調整,增強算法后期的搜索精度,即使初值選取范圍較大,也有著較高的搜索效率,降低對初值選取范圍要求,ISPBO算法由以下4個迭代階段組成。
1)最佳學生對達到最佳解決方案的貢獻比較多,往往需要付出比任何隨機選擇學生更刻苦的努力,SPBO算法表示為:
θbest new,m=θbest,m+(-1)k×rand×(θbest,m-θj,m)
(8)
式(8)中:θbest,m和θj,m分別為最佳學生和第j個隨機選擇學生的待辨識氣動參數;rand為0到1之間隨機數;k為隨機選擇的一個參數(1或2)。
ISPBO算法的最佳學生迭代表示為:
(9)
式(9)中:Pi為當代迭代次數;Pmax為最大迭代次數;J為適應度值;α、β為調節因子,α越大,HF下降的越快,β越大,HF后期范圍越大,取α=2,β=9為最佳。HF隨著迭代次數增加和適應度值減小而變小,HF變小使得迭代步長范圍減小,增強算法后期快速收斂和精細搜索能力。
2)好學生對任何科目感興趣,將盡力為該科目付出更刻苦的努力,以便提高整體表現。一些學生會嘗試做出與最佳學生相同或更刻苦的努力,由式(10)表示;一些學生嘗試在學習中付出比班上普通學生更刻苦的努力,并且試圖去模仿最佳學生,由式(11)表示。
θnewi,m=θbest,m+rand×(θbest,m-θi,m)
(10)
θnewi,m=θi,m+rand×[(θbest,m-θi,m)+(θi,m-θmean,m)]
(11)
式(10)~(11)中:θi,m為第i個學生的待辨識氣動參數;θmean,m是第m個待辨識氣動參數班級平均值。
3)普通學生為班級平均水平學生,以班級平均水平學習該學科的同時,學生將嘗試在其他學科上付出更多的努力。
θnewi,m=θi,m+rand×(θmean,m-θi,m)
(12)
4)嘗試隨機改善學生會隨機地對科目進行學習,以提高考試的整體表現。
θnewi,m=θmin,m+rand×(θmax,m-θmin,m)
(13)
式(13)中,θmin,m和θmax,m分別是第m個待辨識氣動參數在整個班級里面最小和最大數值。
ISPBO算法受到試圖獲得考試最高分數的學生心理學啟發,最優秀學生對達到最佳解決方案的貢獻最多。但也可以觀察到,所有階段都有其作用,如果任何一個階段不起作用或被淘汰,則該算法可能無法產生理想最優解,或者需要更多迭代次數達到收斂。ISPBO參數辨識算法如圖2所示。

圖2 ISPBO參數辨識算法流程框圖
考慮飛機氣動參數與迎角和側滑角相關性較大,因此采用多重分區[12]思想,即在原迎角分區基礎上,進一步根據側滑角大小劃分區間,通過小區間常數法將飛行數據劃分為若干小區間,在各區間內忽略迎角-側滑角變化對氣動特性影響,認為各區間內氣動參數是常數。
NR、ISPBO算法所有待辯氣動參數初值均為隨機獲取,選取一組QAR數據,其中迎角范圍在7°~8°、側滑角范圍在0.25°~0.50°,數據大小為40,進行氣動參數辨識,以縱向氣動參數為例,辨識結果如表1所示。
根據表1可知,NR算法辨識得到的氣動參數差異較大,與標準值的相對誤差處于1%~90%范圍內,ISPBO算法辨識得到氣動參數與標準值相對誤差均處于10%~30%左右,初步分析為待辨識參數初值為隨機選取,NR算法初值為個體類型,初值選取不同會影響辨識結果,特別當初值選取不準確時,NR算法容易陷入初值附近的局部最優解,導致辨識結果不合理,ISPBO考慮初值范圍區間內所有初值,并采用Logistic映射初始化,增加初值分布均勻性,即使存在一些不合理初值,也不影響整體辨識效果。因此ISPBO降低了對初值選取要求。

表1 縱向氣動參數辨識結果
為了驗證ISPBO算法解決初值敏感的有效性,分別進行3次對比實驗,進一步驗證初值對NR、SPBO以及ISPBO算法收斂性的影響,其中NR算法待辯氣動參數初值分為3組,依次在標準值基礎上增加0.5倍、1倍、2倍,SPBO以及ISPBO算法初值為群體類型,因此按照初值選取范圍劃分3組,選取方式為在標準值基礎上增加0.5倍、1倍、2倍,目標值J隨迭代次數變化曲線如圖3所示。
根據圖3可知:① NR算法初值選取不同,將導致辨識過程中收斂速度、收斂精度趨于不同,其中當初值接近標準值時,收斂精度達到10-2量級,收斂速度為10次迭代接近收斂;當初值與標準值相差較大時,NR算法收斂速度和收斂精度大大降低,目標值最終收斂到0.2,且收斂速度需要60次迭代,可以看出NR算法對初值要求較高,否則難以得到較好辨識結果。② ISPBO初值為群體類型,選取方式為在一定范圍內隨機選取,即使當初值選取范圍增大,導致辨識過程出現不合理初值,ISPBO算法辨識收斂精度也均達到10-8量級,收斂速度均處于10次左右,可以看出ISPBO算法對初值敏感較小。③ SPBO算法與ISPBO算法有所差異,ISPBO算法在20次迭代達到滿意的收斂精度,SPBO算法經過50次迭代才達到較好收斂精度,初步分析為ISPBO采用 Logistic映射初始化,增加初值分布均勻性,提高算法前期全局搜索能力,為后續迭代提供很好的基礎,從初始目標值也可以看出,SPBO初始目標值為2,ISPBO初始目標值為0.5,其次當初值選取范圍增大時,ISPBO算法收斂精度始終處于10-8量級,而SPBO算法收斂精度從10-3降低到10-2,主要由于ISPBO算法經過持續動態調整迭代步長,大大增加算法后期搜索效率,提高算法收斂精度,降低對初值選取范圍要求。

圖3 目標值J變化曲線
為了分析ISPBO算法的優勢,分別采用PSO、PIO、NR和ISPBO等4種參數辨識算法對飛機氣動參數進行辨識,其中初值均為隨機選取,3種啟發式算法種群數量均取50,迭代次數均取400次,PSO算法中學習因子C1、C2=2,慣性權重wmax=0.9,wmin=0.4,PIO算法中地磁因子R=0.3,ISPBO算法沒有影響其性能的可調參數。幾種目標值J的適應度值曲線如圖4所示。

圖4 目標值J對比曲線
由圖4可知,ISPBO算法經過30次迭代適應度值J就可以達到收斂,收斂精度最高,NR算法需要60次迭代達到收斂,但是NR算法收斂精度最低,PSO算法相對提高了收斂精度,但是后期收斂速度急劇下降,PIO算法需要200次迭代才能接近收斂,且收斂精度低于ISPBO算法。相比較其他算法,ISPBO參數辨識算法前期采用Logistic映射初始化,提高算法前期全局搜索能力,使得目標值快速收斂,其次ISPBO算法采用4種迭代方式,增加算法搜索多樣性,并且后期經過持續動態調整迭代步長,大大增加算法后期搜索效率,進而提高收斂精度,同時ISPBO算法沒有影響其性能的可調參數,降低人為因素影響,因此,綜合分析,ISPBO算法提高了收斂精度和收斂速度。
將辨識得到的氣動參數代入到氣動模型中,仿真驗證結果如圖5所示,其中虛線為QAR原始數據,實線為模型仿真數據。

圖5 QAR原始數據及模型輸出值曲線
根據圖5可知,QAR原始數據及模型輸出值曲線中高度曲線平均百分比誤差處于1%左右,吻合較好,迎角曲線、俯仰角曲線、偏航角曲線、滾轉角曲線平均百分比誤差處于20%左右,但是曲線后期誤差較大,主要由于模型采用數值積分,經過持續累積誤差,積分趨勢會趨于不同。目前,CCAR-60中模擬機客觀測試標準規定高度容差為90ft,姿態角容差為20%,國軍標GJB 1690-93對于工程中姿態約束性能指標規定最大偏差為20%,ISPBO算法辨識得到的模型輸出與QAR原始數據具有相同的時變趨勢,雖然曲線存在一定差異,但是曲線誤差均處于20%范圍內,滿足工程要求,證實了利用QAR數據辨識飛機氣動參數在工程上的可行性。
1)在仿真精度要求不高的工程應用中,利用QAR數據辨識飛機氣動參數是一種可行的解決方案。
2)ISPBO算法解決了傳統極大似然法對初值選取敏感問題,使得氣動參數辨識初值選取只需確定大致范圍即可,降低了初值選取要求。
3)ISPBO算法在SPBO算法基礎上,進行Logistic映射初始化以及動態調整最佳學生迭代步長的改進,相比較其他啟發式算法,提高了收斂精度和收斂速度。