顏楚雄,童軼男,宋加洪
(北京航天長征飛行器設計研究所,北京,100076)
飛行器氣動辨識在飛行器系統建模與仿真、飛行器控制系統設計以及故障診斷與分析等方面起著重要作用[1]。相較于風洞試驗與數值計算方法,氣動辨識方法能夠獲取飛行器真實飛行狀態下的氣動數據[2]。
常用的飛行器氣動參數辨識方法包括極大似然法及其改進方法,如輸出誤差法和方程誤差法等。這些方法需要建立飛行器的氣動模型以及合理估計待辨識參數的初值。若模型建立不準確則會導致氣動數據擬合結果不理想。若參數初值估計不合理,則容易導致陷入局部最小值[3]。
近年來,人工智能技術迅速發展,尤其是神經網絡技術的日益成熟,給飛行器氣動辨識提供了一種新的方法。神經網絡有著以任意精度逼近任意函數的能力,因此可以避免氣動建模過程,而且在氣動參數估計過程中,不需要估計初值;在檢驗氣動參數辨識結果時,不需重構飛行軌跡。國內外學者分別利用各類神經網絡開展了氣動辨識方面的研究,并且利用Delta法及其改進方法辨識各類氣動參數[4~6]。但是這類方法屬于有限差分方法,對氣動參數的求解屬于一種近似方法。
因此,本文建立3 層前饋神經網絡,推導了神經網絡輸出參數對輸入參數導數的表達式。提出利用前饋網絡神經的導數特性[7],求解神經網絡輸出對輸入導數的方法,從而求得相應氣動參數。隨后,針對某型飛行器縱向運動進行仿真,使用3 層前饋神經網絡替代飛行器氣動模型的建立過程,分別使用所推導的導數法與Delta 法辨識氣動參數。最后,分析了測量噪聲對辨識結果的影響。
神經網絡能夠從訓練樣本中進行學習,是一種自適應的學習方法。本文使用的為多層前饋神經網絡,由三類層組成,分別為輸入層、隱藏層和輸出層[8],包含信號的正向傳播與誤差的反向傳播兩個過程組成。

圖1 神經網絡示意Fig.1 Schematic of Neural Network
由圖1 可知,神經網絡可以看成一個非線性函數,其輸入值與預測值可看作該函數的自變量與因變量。當輸入節點數為n,輸出節點數為l 時,神經網絡就相當于從n 個自變量到l 個因變量的函數映射關系。
對于輸出層z,其表達式為

式 中 g ( · )為 激 活 函 數; y 為 隱 藏 層 神 經 元,W 為隱藏層到輸出層的權值矩陣;wjk表示隱藏層第j 個神經元對輸入層第k 個神經元之間的連接權值,則W 可以被寫為

閾值 B0表達式為

輸出層y 可以寫為

式 中 f ( · )為 激 活 函 數; x 為 輸 入 層 神 經 元,V 為輸入層到隱藏層的權值矩陣, vij表示輸入層第i 個神經元對隱藏層第j 個神經元之間的連接權值,可寫為

閾值1B 為

上述含有3 層的前饋神經網絡,其表達式為

本文激活函數 f ( · )與 g ( · )分別選為tanh 函數與線性函數。 f ( · )可以表示為

同時,為消除各維數據間的數量級差別,將輸入與輸出分別歸一化,使得輸入參數同等重要,避免數量級差別較大而造成網絡預測誤差較大,并且能夠縮短訓練時間。輸入層的歸一化方法為

誤差的反向傳播,即首先由輸出層開始逐層計算各層神經元的輸出誤差,然后根據目標函數誤差來調節各層的權值和閾值,使修改后的網絡的最終輸出能接近期望值。
本文神經網絡目標函數采用均方誤差和的指標衡量。對某一次訓練例( xk,zk)而言,其均方誤差為

則所有訓練例的總誤差為

式中 p 為訓練樣本數。
本文神經網絡的訓練方法采用L-M 訓練方法,L-M 算法是一種改進的高斯牛頓法[9],其形式如下:

式中 H ( x )為函數的Hessian 矩陣; g ( x )為梯度。
此時,梯度與函數的Hessian 矩陣可以表示為

式中 J ( x )為函數的雅克比矩陣:

通過上述計算,Levenberg-Marquardt 算法通過對Hessian 矩陣的近似逼近,計算每一步的Δx 以更新x,其中Δx 為

式中 μ 為比例系數;I 為單位矩陣。
應用該方法對所有數據重復進行反向誤差傳播算法,調節各層的權值和閾值,完成對神經網絡的訓練。
在訓練結束后,所得到的神經網絡就完成了對函數的映射。本文通過導數法與Delta 法兩種方法對飛行器氣動參數進行辨識。
借鑒類似于梯度下降策略中,求解輸出誤差對權值與閾值導數的思路,利用鏈式法則,求解神經網絡輸出對輸入的導數,進而求得相應氣動參數[7,10]。

下面分別討論上述各式的表達式。

其中,第k 項可以寫為

其中,第i 項可以寫為

由于 g ( · )為線性函數,式(21)則可被簡化為


且

其中, f ′ ( x)根據式(4)可得:

把式(17)、式(19)、式(22)以及式(24)代入式(16),即可通過導數法,完成前饋神經網絡輸出對輸入的求導。當以氣動系數作為神經網絡的輸出,以狀態變量或者控制變量作為輸入時,便可利用該方法對所有飛行試驗數據求解氣動參數。將所有數據點氣動參數的平均值作為該參數的估計值并計算該參數的標準差。
Delta 法是一種有限差分方法,其思路為在輸入層其他量不變的前提下,微小的改變某個狀態變量或者控制變量將引起輸出量的變化,兩者的比值將是所求的氣動導數[6]。對于力矩系數 CMα,利用訓練好的神經網絡,在其他輸入不變的情況下,給α 分別增加或減少一個 αΔ ,得到α+αΔ 和α+αΔ 相對應的俯仰力矩與,則該系數可以寫為

利用Delta 法,對一組飛行試驗中所有數據點求取氣動參數,將所有點的平均值作為參數的估計值,并計算該參數的標準差。
本文針對某型飛行器縱向氣動特性進行辨識。首先,建立飛行器動力學模型,仿真飛行數據由以下運動方程給出,其形式如下:

式中 Vx1,Vy1為體軸系上的速度分量;q 為俯仰角速率;? 為俯仰角;m 為飛行器質量;g 為重力;S 為參考面積;Jz1為轉動慣量;c 為參考長度; CA為軸向力系數;CN為法向力系數;CM為俯仰力矩系數;q∞為來流動壓, q∞=ρ V2/2,其中:ρ 為大氣密度;V 為飛行器飛行速度,
飛行器飛行總體參數如表1 所示。

表1 飛行器飛行參數Tab.1 Flight Parameter of Vehicle
軸向力系數CA,法向力系數CN與俯仰力矩系數CM的模型如下所示:

為了達到更好的辨識效果,仿真的激勵信號采用偶極方波,其飛行狀態如圖2 所示。法向力系數 CN與俯仰力矩系數 CM的真值對于氣動辨識而言是未知的,可由下式解算得:

式中 ny為法向過載;為俯仰角加速度。

圖2 飛行歷程Fig.2 Flight Course
本文利用3.1 節得到的飛行仿真數據作為辨識原始數據,使用前饋神經網絡方法對縱向氣動特性進行辨識。以α、 δe及q 作為輸入量,以法向力系數 CN與俯仰力矩系數 CM作為輸出量訓練神經網絡。訓練結束后,神經網絡就形成了對氣動模型的映射。隨后,利用上文所述導數法和Delta 法求解氣動參數。
圖3 與圖4 是利用神經網絡辨識后的法向力系數CN及俯仰力矩系數 CM與測量值的對比情況。由圖3、圖4 可以看出辨識結果與真值擬合效果較好。

圖3 法向力系數辨識結果Fig.3 The Identification Results of Normal Force

圖4 俯仰力矩系數辨識結果Fig.4 The Identification Results of Pitching Moment
表2 為使用導數法和Delta法對氣動參數進行辨識的結果。由表2 可知,在無噪聲的情況,兩種方法都能夠很好的辨識出氣動參數,結果與真值十分接近,同時,各項氣動參數的標準差都較小,說明本文所提出的導數法與Delta 法都能夠從飛行試驗數據中辨識出氣動參數,且具有較高可信度。

表2 無測量噪聲時氣動參數辨識結果Tab.2 The Results of Aerodynamic Parameter Identification with No Noise
為了分析測量噪聲對參數辨識的影響,在仿真飛行數據中加入2%的白噪聲。表3 為在測量噪聲影響下的氣動參數辨識結果,由表3 可知,該方法在一定測量噪聲影響下,參數辨識方法依然能夠較好地辨識出氣動參數,具有一定的魯棒性,但同時可以看出其標準差進一步增大,說明了測量噪聲對辨識方法會增加其結果的不確定性。

表3 有測量噪聲時氣動參數辨識結果Tab.3 The Results of Aerodynamic Parameter Identification with White Noise
對比表2 和表3 結果可以發現,相較于Delta 法,導數法所辨識出來的結果更接近于真值,而且其標準差也普遍較小。這是由于導數法利用了神經網絡的導數特性,在求解中沒有任何近似,所以得到了更精確的結果,而利用Delta 法對氣動參數的求解是一種近似方法。因此,導數法在求解氣動參數時更具優越性。
本文使用神經網絡方法對飛行器法向力系數與俯仰力矩系數進行辨識。該方法避免氣動模型的建立與辨識過程中的初值估計。利用前饋網絡神經的導數特性,推導了求解法向力系數與俯仰力矩系數對各輸入的導數法。利用該方法和Delta 法求解各氣動參數,并得到相應標準差。通過與真值對較,神經網絡辨識結果具有較好的擬合效果,求解的各氣動參數接近真值,標準差較小。在測量噪聲的影響下,上述方法具有一定的魯棒性。通過比較,導數法比Delta 法在求解氣動參數時更加接近真值,擁有更小的標準差。本文的方法還能夠為今后對非線性氣動特性的辨識提供一種可行的方法。