原智杰,張公平,崔 茅,唐 煒*
(1.西北工業(yè)大學 自動化學院,西安 710129;2.中國空空導彈研究院,河南 洛陽 471009;3.航空制導武器航空科技重點實驗室,河南 洛陽 471009)
導彈結構的優(yōu)化是指根據(jù)導彈的氣動性能以及設定的預期目標設計導彈的氣動布局,即對導彈的幾何外形參數(shù)進行調整,確定導彈機械結構中各個氣動部件(彈頭、彈身、彈翼和舵面等)的形狀、尺寸以及安裝位置的工作過程[1]。導彈氣動性能的優(yōu)良則反映出導彈的氣動布局是否合理,是否需要進一步優(yōu)化,而導彈飛行時的各種氣動參數(shù)能直接反映出導彈的氣動性能。傳統(tǒng)的直接獲取導彈氣動參數(shù)的方法主要有三種[2]:理論計算法、風洞試驗法、飛行試驗法。理論計算法過程復雜,風洞試驗法和飛行試驗法存在過程費用極其昂貴、測試周期長等缺點[3-8]。
人工神經(jīng)網(wǎng)絡技術被應用于模式識別、函數(shù)擬合、聚類問題等,飛行器氣動參數(shù)辨識也成為其應用的一個領域。1993年,Linse D J和Youssef H M等人相繼將神經(jīng)網(wǎng)絡理論與氣動力參數(shù)的辨識問題相結合,應用于氣動參數(shù)的估計[9-10]。2000年,Richardson K A建立了基于徑向基函數(shù)的氣動參數(shù)模型[11]。2011年,美國奧本大學教授Carpenter M等人提出了一種利用單隱含層神經(jīng)網(wǎng)絡進行導彈氣動參數(shù)預測的方法[12]。2016年,Carpenter M等人又提出了一種利用神經(jīng)網(wǎng)絡與雷達遙測系統(tǒng)相結合的快速識別導彈類型的方案[13]。張瑞民等人基于BP神經(jīng)網(wǎng)絡建立了飛機在大攻角狀態(tài)下的氣動模型[14]。史志偉等人討論了基于徑向基函數(shù)神經(jīng)網(wǎng)絡的非線性非定常氣動模型[15]。王博斌等人基于RBF神經(jīng)網(wǎng)絡模型展開研究,對翼面不同振幅下的頻域氣動特性進行預測[16]。朱莉等人采用BP神經(jīng)網(wǎng)絡對翼型進行氣動力建模,提出了一種翼型優(yōu)化設計方法[17]。
傳統(tǒng)的工程擬合法氣動建模是根據(jù)氣動力的物理特性、統(tǒng)計規(guī)律等,利用數(shù)學方法獲得氣動力與飛行狀態(tài)、氣動外形等參數(shù)之間的數(shù)學關系式,其適用于狀態(tài)范圍變化較小的局部氣動建模。對于狀態(tài)參數(shù)變化范圍較大,且氣動外形復雜的飛行器,氣動力與狀態(tài)參數(shù)以及其他參數(shù)間的關系呈現(xiàn)高度非線性,傳統(tǒng)的數(shù)學建模方法很難給出準確描述;而神經(jīng)網(wǎng)絡氣動建模過程不需要考慮輸入輸出之間非線性程度,通過大量氣動力數(shù)據(jù)的機器學習,建立氣動模型,具有良好的學習能力及非線性擬合能力,是處理非線性函數(shù)逼近的有效方法。
本文利用導彈DATCOM軟件計算已知外形幾何參數(shù)的導彈在設定的飛行條件下對應的氣動系數(shù),將幾何參數(shù)、飛行條件參數(shù)及氣動系數(shù)作為研究數(shù)據(jù),基于BP神經(jīng)網(wǎng)絡建立氣動模型,并驗證利用該模型進行氣動參數(shù)預測的可行性。用神經(jīng)網(wǎng)絡氣動模型獲取氣動參數(shù)的方法較傳統(tǒng)方法節(jié)省了風洞試驗和飛行試驗昂貴的試驗費用與時間成本,這在導彈研發(fā)過程中有著極為重要的意義。
氣動模型是表征飛行器氣動力/力矩與飛行狀態(tài)、氣動外形等參數(shù)之間關系的函數(shù)。通??梢员硎緸?/p>
Ci=f(H,Ma,α,β,ωx,ωy,ωz,δe,δr,δa,…)
(1)
式中:H,Ma,α,β分別為高度、馬赫數(shù)、攻角、側滑角;ωx,ωy,ωz分別為滾轉、偏航和俯仰角速度;δe,δr,δa分別為升降舵、方向舵和副翼舵偏角。本文以Ci(i=N,M,A,Y,L,D)表示的氣動力/力矩系數(shù),反映導彈的氣動特性。
BP神經(jīng)網(wǎng)絡(Back Propagation Neural Network)是一種基于誤差反向傳播的神經(jīng)網(wǎng)絡,其算法的核心部分是BP算法,由輸入信號的前向傳播和誤差的反向傳播組成了BP神經(jīng)網(wǎng)絡的整個學習過程。根據(jù)反向傳播的誤差信號對神經(jīng)網(wǎng)絡的閾值和權值進行調整,神經(jīng)網(wǎng)絡訓練結束的標志,是誤差信號達到設定的訓練目標或者迭代次數(shù)達到設定值。BP神經(jīng)網(wǎng)絡雖然具有能夠逼近任意非線性函數(shù)的優(yōu)勢,但也有一些缺陷制約其發(fā)展:收斂速度慢、易陷入局部最小、網(wǎng)絡的一些參數(shù)確定方法不定等[18]。
思維進化算法(Mind Evolutionary Algorithm)是一種將計算機科學和生物進化結合的一種隨機搜索算法,其基本思路為初始種群按照一定規(guī)則生成,并從中選擇出更適應環(huán)境的個體組成優(yōu)勝群體;由選擇出的優(yōu)勝群體進行個體的生成,產生更多的子群體;在生成的子群體內部執(zhí)行操作過程中的趨同操作,直到子群體中的個體發(fā)展至成熟階段,同時記錄此時各群體具體的得分信息;在執(zhí)行趨同操作后,子群體中的個體均發(fā)展成熟,記錄的具體得分信息被不斷公布在公告板上,通過得分信息的對比,得到最優(yōu)的群體即得到問題的最優(yōu)解[19]。
利用思維進化算法對BP神經(jīng)網(wǎng)絡的初始權值和閾值進行優(yōu)化。首先,根據(jù)BP神經(jīng)網(wǎng)絡的拓撲結構,將解空間映射到編碼空間,每個編碼對應問題的一個解(即個體)。根據(jù)BP神經(jīng)網(wǎng)絡拓撲結構確定編碼長度。然后,選取訓練集的均方誤差的倒數(shù)作為各個個體與種群的得分函數(shù),利用思維進化算法,經(jīng)過不斷迭代,輸出最優(yōu)個體,并以此作為初始權值和閾值,訓練BP神經(jīng)網(wǎng)絡。
根據(jù)上述設計思路,設計步驟如圖1所示。
圖1 設計步驟流程圖Fig.1 Flow chart of design steps
(1) 訓練集/測試集導入
將神經(jīng)網(wǎng)絡的訓練數(shù)據(jù)及驗證數(shù)據(jù)導入工作空間。
(2) 初始種群產生
利用編寫好的初始種群產生函數(shù)以及子種群產生函數(shù)生成進化所需種群。
(3) 子種群趨同操作
利用第(2)步中產生的各個種群進行趨同操作,趨同操作結束與否由種群成熟判別函數(shù)判斷。
(4) 子種群異化操作
趨同操作完成后進行種群的異化操作。
(5) 解析最優(yōu)個體
算法進化過程結束后,根據(jù)編碼規(guī)則解析出最優(yōu)個體所對應的BP神經(jīng)網(wǎng)絡的權值和閾值。
(6) 訓練BP神經(jīng)網(wǎng)絡
將算法優(yōu)化得到的權值和閾值設定為BP神經(jīng)網(wǎng)絡的初始權值和閾值,利用樣本數(shù)據(jù)對神經(jīng)網(wǎng)絡進行訓練。
(7) 仿真預測、結果分析
利用訓練好的神經(jīng)網(wǎng)絡進行參數(shù)預測。
導彈DATCOM軟件由美國空軍研究室開發(fā)研究。該軟件在已知飛行器幾何外形和飛行條件的前提下,能計算導彈縱向和橫向空氣動力系數(shù)及導數(shù),具有良好精度。程序采用計算彈箭氣動特性中常用的工程計算方法——部件組合法,該計算方法的核心是由理論分析和實驗驗證得到大量的經(jīng)驗公式。由于充分利用了大量實驗數(shù)據(jù),該方法能夠保證較高精度,滿足方案設計階段對氣動力計算的要求。
本研究所用的樣本數(shù)據(jù)以及驗證數(shù)據(jù)均由導彈DATCOM軟件計算生成。導彈外形為面對稱外形,如圖2所示。
圖2 導彈幾何結構模型圖Fig.2 Model diagram of missile’s geometric structure
對導彈彈體幾何參數(shù)、彈翼幾何參數(shù)以及導彈的飛行條件進行設置后,即可計算出特定彈型在所設定的飛行條件下的各個氣動系數(shù)。在此,根據(jù)導彈DATCOM軟件中輸入?yún)?shù)間的獨立性,選取彈頭直徑、彈頭長度、彈體直徑、彈體長度、彈體中部彈翼弦長、攻角6個相互獨立的參數(shù)作為神經(jīng)網(wǎng)絡模型的輸入變量。對于輸出參數(shù)的選擇,則選取氣動性能分析中常用的氣動系數(shù),選取法向力系數(shù)、俯仰力矩系數(shù)、軸向力系數(shù)、側力系數(shù)、升力系數(shù)及阻力系數(shù)6個氣動力/力矩系數(shù)作為神經(jīng)網(wǎng)絡模型的輸出變量。通過編寫MATLAB程序調用導彈DATCOM軟件,利用程序循環(huán)結構不斷改變6個輸入?yún)?shù)的值,計算得到導彈不同氣動外形對應的氣動參數(shù),并將輸入?yún)?shù)及計算所得的氣動參數(shù)保存為數(shù)據(jù)文件,以此方法獲取16 562組不同的外形參數(shù)及攻角值條件下對應的氣動參數(shù),將這些數(shù)據(jù)用于神經(jīng)網(wǎng)絡的訓練及神經(jīng)網(wǎng)絡模型的性能驗證。本文所要建立的氣動模型正是6個輸入?yún)?shù)(導彈的幾何參數(shù)和飛行條件參數(shù))與6個輸出參數(shù)(導彈飛行時的氣動參數(shù))間的復雜非線性函數(shù)關系。
根據(jù)1.4節(jié)的建模思路建立神經(jīng)網(wǎng)絡模型,在模型建立過程中需要對一系列參數(shù)進行設置,主要包括設置BP神經(jīng)網(wǎng)絡模型的參數(shù)和思維進化算法的參數(shù)。
本文以包含單個隱含層的BP神經(jīng)網(wǎng)絡為研究對象,BP神經(jīng)網(wǎng)絡的拓撲結構由輸入數(shù)據(jù)與輸出數(shù)據(jù)的維數(shù)決定,由2.1節(jié)中所獲取的數(shù)據(jù)知道神經(jīng)網(wǎng)絡的輸入層節(jié)點數(shù)為6,輸出層節(jié)點數(shù)為6,隱含層的節(jié)點數(shù)由經(jīng)驗公式M=2n+1(M為隱含層節(jié)點數(shù),n為輸入層節(jié)點數(shù))確定,因此隱含層節(jié)點數(shù)為13。所以,最終確定BP神經(jīng)網(wǎng)絡的拓撲結構為6-13-6。表1為BP神經(jīng)網(wǎng)絡參數(shù)設置。
表1 BP神經(jīng)網(wǎng)絡參數(shù)Table 1 BP neural network parameters
思維進化算法中需要將個體特征進行編碼,在此選擇個體編碼方法為實數(shù)編碼法,即將每個個體的特征均編碼為一個實數(shù)串,該實數(shù)串包含神經(jīng)網(wǎng)絡結構中各層神經(jīng)元的閾值以及各層之間的連接權值。當神經(jīng)網(wǎng)絡的結構確定之后,可以將思維進化算法進化選擇出的最優(yōu)初始權值、初始閾值賦值給神經(jīng)網(wǎng)絡中的對應參數(shù),從而得到一個確定的BP神經(jīng)網(wǎng)絡。本研究中,由BP神經(jīng)網(wǎng)絡的拓撲結構6-13-6可計算出個體編碼長度為S=6×13+13+13×6+6=175。表2為思維進化算法參數(shù)設置。
表2 思維進化算法參數(shù)Table 2 Mind evolutionary algorithm parameters
將2.1節(jié)中所獲取的16 562組數(shù)據(jù)作為建模樣本輸入,建立氣動模型。同時,將神經(jīng)網(wǎng)絡模型的氣動參數(shù)預測輸出與原始氣動參數(shù)進行對比。為了更為明顯地說明模型的預測結果,又用導彈DATCOM軟件模擬計算出某特定尺寸的彈型在不同攻角條件的氣動參數(shù),用于驗證模型的預測能力。
2.3.1 樣本擬合結果
將神經(jīng)網(wǎng)絡氣動模型對樣本數(shù)據(jù)的氣動參數(shù)預測結果與原始氣動參數(shù)進行對比,對比結果如圖3所示。
圖3 氣動力和力矩系數(shù)預測結果Fig.3 Prediction results of aerodynamic and moment coefficients
表3為神經(jīng)網(wǎng)絡模型對樣本數(shù)據(jù)中氣動參數(shù)的預測精度情況。
由圖3樣本擬合結果可見,6個氣動參數(shù)的預測輸出曲線與期望輸出曲線的一致性比較好。由表3可見,6個氣動參數(shù)預測值中最大平均誤差為0.702 4,最大均方差為0.876 9,最大誤差百分比為5.55%,說明建立的神經(jīng)網(wǎng)絡氣動模型能夠較好地擬合氣動參數(shù)。
表3 樣本參數(shù)預測精度Table 3 Sample parameter prediction accuracy
2.3.2 單個彈型擬合結果
將單個彈型的幾何參數(shù)及攻角作為神經(jīng)網(wǎng)絡模型的輸入?yún)?shù),神經(jīng)網(wǎng)絡氣動模型的氣動參數(shù)預測輸出與期望輸出(氣動參數(shù)原始值)對比結果如圖4所示。
表4為神經(jīng)網(wǎng)絡模型對單個彈型的氣動參數(shù)預測精度情況。
由圖4中單個彈型的氣動參數(shù)預測結果可見,6個氣動參數(shù)預測輸出曲線與期望輸出曲線一致性較好,同時明顯可見各個氣動參數(shù)隨攻角變化的趨勢,符合氣動特性規(guī)律。由表4可見,6個氣動參數(shù)預測值中最大平均誤差為0.455 1,最大均方差為0.281 0,最大誤差百分比為6.87%,預測精度較好,利用該模型可以對氣動參數(shù)進行預測,用于導彈設計初始階段的氣動特性分析。
利用導彈DATCOM軟件計算已知幾何參數(shù)的導彈在設定飛行條件下的氣動參數(shù)作為訓練樣本,通過對所選取的6個輸入?yún)?shù)(幾何參數(shù)和飛行條件參數(shù))及6個輸出參數(shù)(氣動參數(shù))進行氣動力建模,得到了對應的神經(jīng)網(wǎng)絡氣動力模型,并對模型的預測精度進行說明。通過建模及分析,得到如下結論:
(1) 利用神經(jīng)網(wǎng)絡建立的氣動模型對導彈氣動外形與氣動參數(shù)間的復雜非線性關系具有很好的擬合效果,預測結果的平均誤差、誤差百分比和均方誤差均比較小。
(2) 利用思維進化算法優(yōu)化的BP神經(jīng)網(wǎng)絡建立的氣動模型,滿足導彈氣動外形與氣動參數(shù)間復雜非線性擬合要求,為導彈氣動參數(shù)的獲取開辟了新的思路,同時也為導彈設計初始階段氣動特性的分析提供了新的技術途徑。
(3) 該氣動建模方法可快速融合已有的飛行試驗數(shù)據(jù)、風洞試驗數(shù)據(jù),利用導彈DATCOM計算所得數(shù)據(jù)結果建立神經(jīng)網(wǎng)絡模型,對新的氣動外形對應的氣動參數(shù)進行預測,可有效節(jié)省風洞試驗和飛行試驗的費用。在未來的研究中將增大訓練數(shù)據(jù)的數(shù)量,利用導彈DATCOM計算時擴大輸入?yún)?shù)類別及其變化范圍,以擴大模型的預測范圍,直接利用其對所設計彈型的氣動參數(shù)進行預測。