浦甲倫,韓業鵬,張 亮
(哈爾濱工業大學航天學院,哈爾濱 150001)
對于大氣層內長時間飛行的飛行器,如巡航導彈、滑翔導彈,空氣動力是影響最大也是最復雜的外力[1]。在實際飛行中,如果氣動參數變化劇烈,在地面基于標稱氣動設計的軌跡及控制系統可能無法滿足實際需求,此時通過在線氣動參數辨識可規劃更準確的飛行軌跡,對控制參數進行自適應調整,從而適應氣動參數變化的情況。因此,針對導彈飛行中的在線快速、精確辨識技術進行研究顯得極為迫切[2]。
導彈氣動參數辨識是指利用導彈在試驗或實際飛行中測得的輸入和輸出數據,采用系統辨識技術,建立反映導彈本質動態特性的氣動力數學模型,并辨識出數學模型中的待定系數[3]。氣動參數辨識核心3要素是:模型、數據和等價準則。從是否依靠模型的角度可將系統辨識的方法分為兩大類:一類是基于模型的參數辨識,即首先建立系統的狀態方程和觀測方程,利用參數辨識方法對模型的參數進行辨識;另一類是部分依靠模型或完全不依靠系統模型的辨識方法,利用給出的輸入和輸出數據,同步辨識出系統模型和模型參數[4]。
一般來說,導彈氣動參數辨識通常是基于模型的參數辨識:首先根據導彈特性和力學基本規律,采用推理方法,建立系統動力學方程組——狀態方程組。然后利用系統試驗或系統運行中測得的輸入和輸出數據,辨識出動力學方程組中的氣動因素,包括建立氣動力數學模型,并辨識出氣動力數學模型的待定參數[5]。此類基于模型的常規辨識方法適用于離線氣動參數辨識問題,包括基于氣動數據插值表的氣動系數、氣動導數及配平舵偏角參數化模型的離線辨識技術,以及基于歷史飛行試驗數據的氣動系數、氣動導數、配平舵偏角模型的修正技術。所涉及的算法包括極大似然法、最小二乘方法和如粒子群優化、混合遺傳算法等智能優化算法[6]。
對于大多數導彈動力學系統,理論建模工作比較成熟,有現成完整的動力學方程組,且氣動力數學模型有工程應用較為簡便而合理的形式。故而,導彈氣動參數辨識變成了利用飛行或地面試驗的實測數據,估計氣動力數學模型中未知參數的問題。參數估計的任務是根據試驗測得的樣本推斷未知參數的數值,因此導彈氣動參數辨識問題主要解決參數估計準則和估計算法兩個問題[7]。
通常來說,不依靠系統模型的參數辨識相對基于系統模型的參數辨識來說,在算法效率、辨識精度上都處于劣勢,隨著人工智能特別是神經網絡的發展,通過機器學習的方式得到逼近真實系統模型的訓練模型的辨識方法,獲得了新一輪關注,在諸如氣動參數辨識、電機參數辨識、慣性器件參數辨識等方面成為了新的研究方向[8]。目前,神經網絡在氣動參數辨識方面已獲得較為廣泛的研究和應用,如PNN(感知器神經網絡)、BP(反向傳播)神經網絡、Hopfield網絡等,以及近年來獲得關注的基于多層神經網絡的深度學習網絡,如RBM(限制玻爾茲曼機)、CNN(卷積網絡)、DBN(深度置信網絡)等[9-11]。
本文將以神經網絡(Neural Networks,NN) 為基礎,研究單隱層和多隱層神經網絡在氣動參數辨識問題中的應用,并針對在線氣動參數辨識的需求,結合支撐向量機(Support Vector Machine,SVM)方法與神經網絡技術,設計可行的在線氣動參數辨識方案。
當導彈飛行時,縱橫向運動相互耦合,必須采用六自由度運動方程作為導彈動力學系統的數學模型,其中氣動參數是未知的。首先給定氣動參數的一組初估值,計算六自由度運動方程對輸入測量值的響應,并與真實系統輸出的測量值進行比較,判斷是否滿足一定的等價準則,如果不滿足,則修正氣動參數。反復這一過程,直至滿足等價準則為止,從而得到正確的氣動參數。
智能氣動參數辨識方法主要是基于神經網絡方法和SVM方法。SVM可以用于對其他方法建立的模型的參數進行訓練,如圖1所示。SVM可以對神經網絡的參數或六自由度模型的參數,以及其他一些算法的參數進行學習。SVM可直接利用輸入輸出數據進行訓練,給出訓練后的模型,同時給出關注的參數,也可以對經其他方法處理后的樣本進行學習。SVM還可用于子樣的擴充,即利用已有的小樣本數據作為SVM的原始訓練樣本,尋找SVM的最優參數,繼而用訓練后的模型對小樣本數據進行預測擴充。并且,針對在線參數辨識問題,可以將SVM方法與神經網絡結合使用。即利用SVM的快速和少數支撐向量決定結果的特點,設計模型修訂策略,在線對已經離線訓練好的神經網絡模型進行修訂。

圖1 結合SVM的氣動參數智能辨識Fig.1 Intelligent parameters identification with SVM
傳統的氣動參數辨識需要解決的是參數估計準則和估計算法問題,而智能參數辨識主要解決的是神經網絡的網絡模型、輸入輸出數據和網絡訓練問題。
在對導彈氣動參數進行在線辨識時,應著重考慮快速性和準確性,并考慮一定的自適應性。其基本的辨識模型和辨識方法與離線工況類似,不同之處在于要結合離線辨識的結果,針對在線辨識的時間、計算量等較為嚴苛的約束條件,設計合理的辨識流程和方案。
在對離線參數辨識研究的基礎上,還需針對性地對模型簡化和快速辨識方法及方案、流程設計進行深入研究。
可按如下兩種思路對氣動參數辨識的模型進行簡化:一是通過參數分析,減少待辨識參數數量,降低辨識模型維度;二是結合特定辨識方法,將基本模型拆解為多個簡單的、低維的待辨識模型。
假定氣動參數辨識基本模型(具體的模型將以基本模型為基礎,根據導彈的特點進行一定的修正,然后可根據實際需求選擇狀態變量和觀測變量,建立相應的狀態方程和觀測方程)如下:
(1)

通過濾波的方法可以把改變參數估計問題轉化為狀態估計問題,依據飛行器系統實際情況,采用連續估計模型,并通過離散時間測量和離散濾波算法達到實時效果。針對一般問題,擴展卡爾曼濾波、無跡卡爾曼濾波、自校正濾波等算法均能保持良好的濾波質量和收斂速度。其中,自校正濾波采用的現代時間序列分析方法是最優濾波的新方法論。基本工具為向量自回歸滑動平均模型(Autoregressive Moving Average,ARMA), 因其在快速參數估計上的口碑,本文采用ARMA模型來提高在線估計速度。
現代時間序列分析方法的理論基礎是白噪聲估計理論,利用該理論可以解決狀態和信號估計問題的機理是:由狀態空間模型或傳遞函數模型,可將系統狀態和信號表為輸入白噪聲、觀測白噪聲和觀測信號三者的線性組合,因而可將狀態和信號估計問題轉化為白噪聲估計和觀測信號預報問題,即狀態空間模型可按規則轉化為ARMA模型,二者是等價的。用ARMA的遞推辨識器伴隨最優濾波器得到自校正濾波器。采用某種辨識方法估計ARMA模型參數,用其代替真實值代入最優濾波器,得到相應的次優濾波器。如參數估值收斂,則此次優濾波器漸進于相應的最優濾波器。
(1)ARMA模型
設系統的隨機輸入e(t)∈Rm為m維白噪聲Ee(t)=0,E[e(t)Te(j)]=Qeδtj,其中δtj=1(t=j),δtj=0(t≠j),且輸出y(t)∈Rm,有模型y(t)∈Rm
y(t)+A1y(t-1)+…+Anay(t-na)=
C0e(t)+C1e(t-1)+…+Cnce(t-na)
(2)
其中Ai、Ci為m×m系數陣,na、nc為模型階次。
引入q-1為滯后算子,滿足
q-1x(t)=x(t-1)
(3)
并引入多項式矩陣
A(q-1)=Im+A1q-1+…+Anaq-na
(4)
C(q-1)=C0+C1q-1+…+Cncq-nc
(5)
則ARMA模型可表示為
A(q-1)y(t)=C(q-1)e(t)
(6)
在不引起混淆的情形下,可省略q-1,記為
Ay(t)=Ce(t)
(7)
(2)狀態空間模型與ARMA模型的轉化
狀態空間模型與ARMA模型可以相互轉化。通過如下轉化過程,可將參數辨識的基本狀態空間模型轉化為ARMA模型,之后可利用估計方法求解。
為了表述方便,首先將狀態空間模型寫為:
x(t+1)=Φx(t)+Γw(t)
(8)
y(t+1)=Hx(t)+ν(t)
(9)
引入無關測噪聲信號s(t)=Hx(t),則有
s(t)=H(In-q-1Φ)-1q-1w(t)
(10)
利用矩陣求逆公式有如下ARMA模型
det(In-q-1Φ)s(t)=Ηadj(In-q-1Φ)-1Γq-1w(t)
(11)
y(t)=s(t)+ν(t)
(12)
現代時間序列分析方法的基本工具是ARMA新息模型,而Kalman濾波的基本工具是Riccati方程的求解。比較構造ARMA新息模型和Riccati方程求解的計算量,可以得出結論:在Kalman濾波方法中,用迭代法求解Riccati方程,要求進行m×m矩陣求逆和n×n矩陣的乘法運算;而現代時間序列分析方法中,用Gevers-Wbuters迭代算法構造ARMA新息模型要求m×m矩陣求逆和m×m矩陣的乘法運算。因此當n>m時,通常構造ARMA模型的計算量要比求解Riccati方程小。
在上述參數辨識方法的研究基礎上,可設計采用神經網絡方法結合SVM方法的在線辨識方案:
1)利用神經網絡進行離線學習,訓練和校核神經網絡模型(或系統動力學模型)的參數,然后在此基礎上簡化(考慮參數靈敏度、參數重要程度、參數影響程度)和設計(結合SVM)在線辨識模型。
2)在線辨識時不再對模型進行復雜訓練,可采用固定參數、參數切換和利用SVM在線快速修正幾種不同方式,避免在線進行大量計算且能夠有效節省存儲空間。其中,將重點研究結合SVM的神經網絡在線快速修正技術,即利用SVM的特點,在新的數據處于分類間隔外時,不對辨識模型進行修正;反之,通過更新支撐向量的方式快速修正模型。
3)對模型的描述(包括離線模型建立及其訓練階段)采用現代時間序列分析方法,以進一步滿足在線要求,在線計算過程中的優化方法也將采用遞推最小二乘、混合蛙跳等計算量較小的方法。
最終采用的在線智能快速氣動參數辨識方案如圖2所示。

圖2 導彈氣動參數在線快速辨識方案Fig.2 Project of online missile aerodynamic parameters identification
本文首先采用神經網絡中的小波網絡(Wavelet Neural Network, WNN)建模方法進行氣動參數辨識方法研究。
小波建模首先根據樣本數據的時頻特性,初步確定出可用的小波基函數及其數目L,然后根據預測誤差最小的思想將樣本數據分成兩部分,進一步按輸出均方誤差準則確定出模型的最優小波基數目S,同時進行優選確定相應的小波基函數集,最后,選擇參數調整訓練算法確定小波網絡權值。
小波網絡結構設計中包括隱層節點數確定和節點激勵函數選取兩個方面。在實際應用中,一般選取具有單隱層的3層神經網絡結構。單隱層前向神經網絡對非線性函數的逼近研究得最早,且理論上早已證明單隱層神經網絡能以任意精度逼近連續函數。
常用的激活函數有δ(x)=1/1+e-x,δ(x)=(ex-e-x)/(ex+e-x)等。小波網絡與一般前向神經網絡不同之處在于隱層神經元的激活函數為小波函數,并且每個激活函數的參數都不同。
本文選用連續參數小波網絡,即小波參數(aj,bj)是連續變化的,單輸入單輸出網絡模型可表示為:
(13)
wj為輸出變量與第j個小波基之間的連接權值,aj和bj分別為小波基的伸縮和平移參數,S為小波基的個數。上面結構中加入了線性項cx+d,它反映系統的線性特性,這在實際應用中是非常有意義的,因為實際系統是線性和非線性的統一,一定條件下可表現出明顯的線性特性,特別是對于導彈氣動系數的建模,系數同時具有線性和非線性特性,加入一些具有明確物理意義的線性項是適當的,這既能擴展模型的適用范圍,又能提高建模精度。
對于多輸入多輸出(MIMO)系統建模,可以得到類似的結構形式。因為氣動力系數模型屬于多輸入多輸出系統,所以下文主要針對MIMO系統的建模展開論述。
設p維輸入向量為X,X∈Rn,q維輸出向量為Y,小波網絡的隱層節點數量隨輸入維數p呈指數級增長。假設單輸入時隱層節點數為n,在p維輸入情況下采用小波基標量積的方式構造網絡結構,即用式(14)構造多維小波網絡隱節點函數。
ψ(x1,x2,…,xp)=ψ(x1)ψ(x2)…ψ(xp)
(14)
則所需隱層節點數就變為np,隨著輸入維數的增加,隱層節點數將達到很高的數量級,這就是小波網絡的所謂“維數災(curse of dimensionality)”問題。

輸入和輸出的關系式可表示如下:
(15)

Y=W×ψ+CX+D
(16)
其中權值和參數矩陣表達式為:
(17)
訓練采用基于最小二乘的遞推正交最小二乘法(ROLS算法)。正交最小二乘算法雖然避免了求逆矩陣,但當N很大時,QR分解計算量非常大,難于實現在線計算。因此,本小節將采用ROLS算法來實現QR分解。
(18)
(19)
J(W(n))取極小值的線性輸出權矩陣W(n)和n組樣本輸入時網絡輸出與期望輸出的偏差分別計算如下:

(20)

(21)

ROLS訓練的算法程序如下:



可以看到,ROLS算法解決了矩陣H為病態的問題;W為唯一確定且誤差平方和最小;不需要計算中間步驟的W(n);每增加一組新數據,做L次變換,計算量小,可用于參數的在線辨識。
在氣動參數辨識中,可將多個參數的辨識問題處理為測量值與預測值之間誤差的正負分類,然后利用諸如最小二乘、極大似然、智能算法等方法進行參數估計。也可按一對其余的或一對一辦法轉化為多個二分類問題,再求解對應的回歸問題。
SVM用于回歸問題的基本思想是:根據觀測數據y=[y1,y2,…,yl]T估計未知函數f(x,w)的參數w=[w1,w2,…,wl]T,即
y=f(x,w)+b
(22)
式中,b表示觀測值與預測值間的誤差,x表示特征變量,與對應的觀測數據y組成訓練數據集合,{(x1,y1),(x2,y2),…,(xl,yl)}。
未知函數項f(x,w)可表示為:
(23)
式中,Φ(·)為將訓練數據從輸入空間映射到希爾伯特(Hilbert)空間的函數。
針對氣動參數辨識問題,y=[y1,y2,…,yl]T為觀測數據,x對應于待辨識的參數(氣動系數、氣動系數導數或模型的參數),f(x,w)為未知的,用于描述待辨識參數和觀測數據之間關系的函數。
用于回歸問題的SVM又稱支撐向量回歸機(Support Vector Regression, SVR),其模型可表示為:
(24)
式中,ε表示SVR預測值與實際值之間的最大誤差。在ε合適的情況下,式(24)可得可行解。二維平面下的幾何意義是所有訓練點都應該在回歸直線的ε之內。
在實際應用中,存在干擾、誤差等各種因素,通常不能夠求出可行解。因此,引入ξ、ξ*容許少量實例的訓練誤差落到ε外:
(25)
其中,每個訓練實例都有對應的ξ、ξ*,用于確定該實例的訓練誤差是否落在ε之外,懲罰系數C用于調節訓練模型,避免模型過擬合或欠擬合。
式(25)是定義在Hilbert空間上的凸二次規劃問題,難以直接求解。引入拉格朗日乘子a、a*、β、β*,得到拉格朗日方程:
(26)
當拉格朗日函數對個變量的1階偏導數等于0時,原問題的目標函數取最小值,即:
(27)
可得到回歸估計函數的參數:
(28)
同時得到了原優化問題的對偶問題:
(29)
(30)

從而有未知函數可寫為:
(31)
為了便于計算,通常將Φ(xi)TΦ(x)用核函數代替,即:
K(xi,x)=〈Φ(xi)TΦ(x)〉
(32)
于是有
(33)
(34)

(35)
從而得到回歸估計函數為:
(36)
在諸多核函數中,采用徑向基核函數(Radial Biasis Kernel Function,RBF)的SVM對非線性系統有較好的逼近能力。所以在對非線性系統進行黑箱辨識時,選取RBF核函數的精度比較高,而對于線性系統進行參數辨識時,多采用線性核函數。
氣動參數辨識中往往會面臨樣本數不充足的問題,此時可采用基于SVM的小樣本修正。利用已有的小樣本數據作為SVM的原始訓練樣本,采用網格搜索法尋找SVM的最優參數,繼而用訓練后的模型對小樣本數據進行預測擴充,最后利用擴充的樣本進行可靠性參數估計。方法利用了SVM在處理小樣本回歸問題上的優勢,無需先驗知識,有效改善了最小二乘參數估計對樣本容量非常敏感的問題。
仿真工況設置如下:
1)飛行器為再入飛行器,保持縱平面內飛行;
2)飛行器外形為軸對稱,橫截面為半橢圓形;
3)仿真中所用飛行器氣動數據以CFD軟件仿真結果為“真實值”,離線訓練數據用“真實值”+單向20%均值隨機偏差獲得;歷史飛行數據用“真實值”+10%單向隨機偏差生成;實際飛行數據分為兩組,第一組與歷史飛行數據生成方法一致,第二組在“真實值”基礎上附加單向5%隨機偏差,用于考核在線修正性能。上述偏差均為正態分布。
4)離線樣本數每次仿真使用10000組;歷史飛行數據樣本數每次仿真使用10~100組;實際飛行數據每次使用1組。
5)本文重點分析各辨識算法,尤其是智能方法在在線氣動參數辨識的可用情況,因此,將氣動力和氣動力矩模型簡化至1階。
6)用于對比的辨識方法包括:傳統的最小二乘準則及最小二乘優化、傳統極大似然準則及優化方法、極大似然準則加粒子群優化、單層小波神經網絡、結合SVM方法可在線調整參數的神經網絡、利用SVM擴充樣本的神經網絡。
經過1000次仿真后,分別對0階氣動力、0階氣動力矩、1階氣動力、1階氣動力矩參數的辨識結果進行統計,求取相對于“真實值”的誤差均值,最終得到的對比結果如表1~表4所示。

表1 0階氣動力參數辨識對比(3σ)

表2 0階氣動力矩參數辨識對比(3σ)

表3 1階氣動力參數辨識對比(3σ)

表4 1階氣動力矩參數辨識對比(3σ)
可以看到,利用神經網絡的智能參數辨識方法與“真實值”相比的辨識精度上比傳統方法有3%~10%的提高。并且,辨識結果相對真實值的誤差與生成離線訓練數據相對“真實值”增加的偏差均值(20%)更為接近,說明利用神經網絡能夠更好地擬合復雜的氣動模型。
表5中的數據是在相同的配置和仿真試驗條件下獲得的,其中離線訓練采用10000組數據、離線修正采用100組數據。在線辨識速度給出的是連續運行1000組仿真的平均時耗。

表5 氣動參數辨識效率對比
可以看到,雖然利用神經網絡的智能方法需要較長的訓練時間,但其在線運算速度耗時很少。建模時采用ARMA模型的現代時間序列分析能夠稍微提高傳統辨識的速度,但相對于不需要在線訓練或采用簡化在線調整的智能辨識方法,辨識速度的提升很有限。
本文研究了基于智能方法的飛行器氣動參數在線快速辨識問題。首先給出了基于智能方法參數辨識的辨識流程,然后在此基礎上,從簡化模型、提升算法效率、設計合理辨識流程3方面出發設計了氣動參數智能在線辨識方案。然后,本文給出了基于小波神經網絡的氣動參數辨識模型,并結合辨識流程和方案,將SVM方法引入智能氣動參數辨識過程中。最后,在給定的假設條件和仿真工況下,進行了大量的仿真并對結果進行了統計。結果表明,本文提出的氣動參數智能在線快速辨識方案辨識精度比傳統方法提高了3%~10%,且對訓練數據的擬合精度更高;同等條件下,智能在線快速辨識的時耗僅為傳統方法的1/10左右,說明本文提出的智能氣動參數在線快速辨識方案具有較高的應用價值。