祝明思,張 霄,王紅雨,張 燁
(1.武漢理工大學(xué) 船海與能源動力工程學(xué)院,湖北 武漢 430000;2.海裝駐北京地區(qū)第四軍事代表室,北京 100094;3.中國船舶集團有限公司系統(tǒng)工程院,北京 100094)
水下靶標能夠為魚雷試驗提供模擬目標,是模擬戰(zhàn)場環(huán)境的重要手段,在部隊開展試驗、訓(xùn)練、演練的過程中起著不可替代的作用[1]。在魚雷實航打靶試驗中快速預(yù)報魚雷攻擊靶標的位置,對于試驗的準確測量、數(shù)據(jù)結(jié)果分析、提高魚雷命中效果以達到最大毀傷有重要的現(xiàn)實意義。
魚雷運動軌跡預(yù)報是快速預(yù)報魚雷打靶落點的基礎(chǔ)。魚雷水下運動軌跡可以通過水下彈道設(shè)計數(shù)學(xué)模型進行預(yù)報,其中準確預(yù)估水動力參數(shù)是關(guān)鍵。通常,水動力參數(shù)可以通過理論計算或模型實驗間接獲得,但理論計算精度不高,模型實驗成本高。隨著現(xiàn)代CFD 技術(shù)的發(fā)展,基于CFD 方法可以獲取水動力參數(shù),該方法軌跡預(yù)報精度較高,但仍需要一定的計算資源及時間,不利于多工況下魚雷打靶預(yù)報。本文基于近似模型[2-3]技術(shù)對魚雷水下打靶落點進行快速預(yù)報,并對傳統(tǒng)的BP 近似模型技術(shù)進行改進,實現(xiàn)快速有效魚雷水下打靶預(yù)報,為數(shù)值模擬魚雷水下彈道和打靶試驗提供技術(shù)途徑。
近似模型是指在保證一定精度前提下構(gòu)建一個計算量小、計算周期短但計算結(jié)果與數(shù)值分析或物理實驗結(jié)果接近的數(shù)學(xué)模型。其中,基于BP 神經(jīng)網(wǎng)絡(luò)的近似模型技術(shù)的應(yīng)用已相當廣泛[4],但傳統(tǒng)的BP網(wǎng)絡(luò)采用梯度下降法進行網(wǎng)絡(luò)權(quán)值及閾值的調(diào)整,不可避免的會存在算法學(xué)習(xí)速度慢、容易收斂于局部最優(yōu)點等缺陷[5]。針對這些缺陷,可通過改進BP 網(wǎng)絡(luò)學(xué)習(xí)算法和學(xué)習(xí)速率,以及采用其它優(yōu)化算法(如粒子群算法(PSO)[6]、遺傳算法(GA)[7])優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值、閾值、網(wǎng)絡(luò)結(jié)構(gòu)等。
本文首先基于運動學(xué)方程和動力學(xué)方程求解魚雷運動軌跡,進而獲取魚雷水下打靶性能;然后將遺傳算法(GA)與BP 神經(jīng)網(wǎng)絡(luò)相結(jié)合,采用遺傳算法優(yōu)化的BP 網(wǎng)絡(luò)模型(GA-BP)和基于自適應(yīng)遺傳算法優(yōu)化的BP 網(wǎng)絡(luò)模型(AGA-BP),以增強模型收斂速度;最后基于3 種模型對魚雷打靶落點進行預(yù)報,對比分析預(yù)報結(jié)果。
本文基于魚雷水下運動軌跡給出魚雷打靶落點,需確定坐標系。本文所涉及的坐標系主要包括地面坐標系、彈體坐標系、速度坐標系。
地面坐標系ox0y0z0用來描述魚雷在空間中的位置,它的各軸與大地固連(相對于地面靜止不動),坐標原點o選在發(fā)射管管口的中心在水平面上的投影點,ox0軸位于水平面內(nèi);oy0軸鉛直向上;oz0軸與oy0、ox0構(gòu)成右手坐標系。
魚雷(后將魚雷稱為彈體)坐標系oxyz也是固連坐標系,它以彈體的浮心作為坐標原點o,ox軸沿彈體縱軸指向前方;oy軸在彈體縱對稱面內(nèi)且垂直于ox軸指向上方;oz軸與ox、oy構(gòu)成右手系。
速度坐標系ox1y1z1的原點o為彈體的浮心,ox1軸與原點處彈體的速度矢量重合;oy1軸位于魚雷的縱對稱面內(nèi),與ox1軸垂直并指向上方;oz1軸垂直于x1oy1平面,指向按右手坐標系確定,如圖1所示。
圖1 地面、彈體與速度坐標系Fig.1 Ground,torpedo,and velocity coordinate systems
1)動力學(xué)方程。
作用在魚雷上的力和力矩主要有重力、浮力、流體動力、流體阻力、流體動力矩、流體阻力矩等。根據(jù)動量定理以及動量矩定理,建立魚雷水中運動的動力學(xué)方程組如下:
其中:
式中:m為魚雷質(zhì)量;xt,yt,zt為魚雷的浮心到質(zhì)心的矢徑在彈體坐標系下的分量;vx,vy,vz為魚雷浮心處的速度矢量在彈體坐標系下的分量;ωx,ωy,ωz為魚雷浮心處的角速度矢量在彈體坐標系下的分量;J為魚雷的轉(zhuǎn)動慣量矩陣,根據(jù)魚雷的對稱特征,可表示為魚雷相對于彈體坐標系的3個軸的轉(zhuǎn)動慣量Jx,Jy,Jz;λjk為附加質(zhì)量,j依次為1、2、3、4、5、6,k依次為1、2、3、4、5、6。
2)運動學(xué)方程。
魚雷水下運動轉(zhuǎn)動方程為
式中:θ為俯仰角;ψ為偏航角;φ為橫滾角。魚雷浮心在地面坐標系中的位置設(shè)為(x,y,z),于是魚雷的浮心速度在地面坐標系的分量為于是就可以得到魚雷的運動學(xué)方程:
式中:
該式是魚雷彈體坐標系到地面坐標系的轉(zhuǎn)換矩陣。
3)運動方程組求解。
結(jié)合運動學(xué)方程和動力學(xué)方程,采用數(shù)值差分的方法可以得到所要求精度的解。龍格–庫塔(Runge-Kuta)方法是一種具有很高精度的單步算法,可以通過調(diào)節(jié)步長來減少誤差,計算穩(wěn)定,并且具有計算過程簡單無須求解高階導(dǎo)數(shù)等特點。本文采用工程中最常見的四階Runge-kuta 方法。
對于一般微分方程組:
采用四階Runge-Kuta 方法求解:
魚雷打靶試驗中,根據(jù)魚雷水下預(yù)報軌跡計算落在標靶范圍內(nèi)的落點(軌跡與標靶平面的交點),根據(jù)實際打靶需要,確定標靶范圍,判斷落點是否落在標靶內(nèi),通過多次試驗確定魚雷打靶性能。
決定魚雷水下空間運動軌跡的因素有很多,而魚雷軌跡預(yù)報精度直接影響魚雷打靶性能。文獻[8]指出,魚雷的初始運動學(xué)參數(shù)對魚雷水下運動影響最大。因此本文在計算魚雷落點時,對魚雷初始發(fā)射條件(如初始速度)中加入隨機擾動項,計算魚雷水下運動軌跡,從而獲取魚雷的打靶落點,基于多次試驗結(jié)果使用蒙特卡洛法統(tǒng)計分析打靶效果。
圖2為某一初始條件下的水下魚雷運動軌跡圖。將初始條件加入隨機擾動項進行蒙特卡洛打靶,得到n個打靶落點[xi,zi],計算落在標靶范圍內(nèi)的點,對蒙特卡洛打靶結(jié)果進行統(tǒng)計分析,魚雷落點的數(shù)學(xué)期望值和方差計算公式為
圖2 水下魚雷打靶落點圖Fig.2 Underwater torpedo trajectory
根據(jù)魚雷落點散布的方差σx和σz,進一步可以獲得魚雷打靶的圓概率誤差(CEP)[9]:
采用CFD 仿真獲取水動力參數(shù),需要建立仿真模型、劃分系統(tǒng)空間網(wǎng)格、錄入樣本、迭代計算、獲得仿真結(jié)果等過程,計算量大。而蒙特卡羅法打靶需要大量的落點,每個落點采用CFD 計算將耗費大量的計算資源。本文提出近似模型技術(shù)對魚雷打靶性能進行快速預(yù)報,以兼顧預(yù)報計算精度和效率。
采用BP 神經(jīng)網(wǎng)絡(luò)近似模型是常用的近似模型,但易于陷入局部最優(yōu)解,遺傳算法強大的全局尋優(yōu)能力對BP 算法是很好的補充。遺傳算法是模擬自然界生物遺傳和進化原理而構(gòu)想出來的一種隨機尋優(yōu)搜索方法。自適應(yīng)遺傳算法對遺傳算法的交叉和變異概率做了改進,其優(yōu)化BP 的過程與單純的遺傳算法優(yōu)化BP 網(wǎng)絡(luò)相同。具體的流程圖如圖3所示。
圖3 遺傳算法優(yōu)化BP 流程圖Fig.3 Flow chart of BP optimization by genetic algorithm
針對遺傳算法存在的不足,本文采用了交叉概率、變異概率自適應(yīng)的算法。
1)交叉操作。
交叉是遺傳算法的核心操作之一,對種群進化起到了至關(guān)重要的推動作用。交叉是種群中2 個個體部分基因交換從而形成新個體的方法。其計算公式如下:
式中:X,Y為種群中2 個個體;i表示進化的代數(shù);r表示交叉參數(shù)。
交叉操作是基于一定的概率條件下發(fā)生的,這個概率稱為交叉概率,它反映的是種群中2 個個體發(fā)生交叉的可能性。Srinivas[10]針對標準遺傳算法的缺陷提出了自適應(yīng)遺傳算法,具體做法是使交叉和變異概率自適應(yīng)調(diào)整:
式中:fave、fmax分別為種群適應(yīng)度平均值、最大適應(yīng)度值;f′表示2 個個體中適應(yīng)度較大的值;k1,k2以及下文的k3,k4均為[0,1]內(nèi)的常數(shù)。
2)變異操作。
遺傳算法中變異是交叉操作的補充,變異操作在于對種群個體基因進行微調(diào),有利于種群進化后期個體收斂到最優(yōu)解。其計算式如下:
xi為第i代種群個體某個基因編碼值。
同樣,自適應(yīng)變異算子如下:
式中:f為進行變異的個體適應(yīng)度值。
魚雷初始運動學(xué)參數(shù)包括vx,vy,vz,θ,ψ,φ,ωx,ωy,ωz,本文假設(shè)初始發(fā)射條件vx,vy,vz是服從正態(tài)分布的統(tǒng)計特征量。預(yù)測模型的輸入為上述9個初始運動參數(shù),輸出為魚雷質(zhì)心對應(yīng)x,y的值。
以一定的初始條件從原點發(fā)射魚雷,取y=40 m平面為魚雷靶平面,將打靶次數(shù)設(shè)為100,加載隨機干擾進行蒙特卡洛打靶,得到魚雷在Ozx靶平面內(nèi)落點的分布情況如圖4所示。圖中,“*”為受擾魚雷落點在靶平面的散布,“☆”為散布點的均值,即期望彈著點。
圖4 魚雷打靶落點圖Fig.4 Underwater torpedo trajectory
對蒙特卡洛打靶結(jié)果進行統(tǒng)計分析,魚雷落點的數(shù)學(xué)期望值和方差如表1所示。
表1 魚雷落點參數(shù)統(tǒng)計值Table 1 Parameter statistics of torpedo impact points
從計算機蒙特卡洛打靶仿真可得,采用蒙特卡洛法對魚雷進行100 次模擬打靶,能快速仿真得到魚雷的命中精度;魚雷的落點在Ozx靶平面內(nèi)分布密集程度高,其散布服從正態(tài)分布規(guī)律,且平均落點位于靶平面的中心位置;由表1中魚雷落點參數(shù)的統(tǒng)計量可知,魚雷的期望落點與理想落點(–0.682 2,199.344 0)十分接近,且落點在兩軸向的方差都較小,說明魚雷在受到一定干擾因素作用時,仍能達到較高的命中精度;由式(9)計算得到魚雷CEP=0.96 m,魚雷的命中精度較高。
基于魚雷運動軌跡數(shù)學(xué)模型,分別搭建基于BP神經(jīng)網(wǎng)絡(luò)、遺傳算法優(yōu)化的BP 網(wǎng)絡(luò)和自適應(yīng)遺傳算法優(yōu)化的BP 神經(jīng)網(wǎng)絡(luò)魚雷打靶落點預(yù)測模型,并通過仿真和測試數(shù)據(jù)對3 種模型進行對比分析,初始發(fā)射條件是服從一定統(tǒng)計特征的隨機變量。本文假設(shè)初始發(fā)射條件是服從正態(tài)分布的統(tǒng)計特征量,之后基于魚雷軌跡方程求得魚雷落點坐標由此構(gòu)成原始數(shù)據(jù),從原始數(shù)據(jù)當中隨機挑選部分數(shù)據(jù)作為BP 網(wǎng)絡(luò)的訓(xùn)練樣本點,最后利用原始數(shù)據(jù)中剩余數(shù)據(jù)作為驗證樣本點驗證所建魚雷打靶落點預(yù)測模型的準確性,仿真結(jié)果如圖5、圖6所示。
圖5 基于BP、GA-BP、AGA-BP 模型預(yù)測誤差百分比Fig.5 Percentage of prediction error based on BP,GA-BP,and AGA-BP models
圖6 改進前后算法適應(yīng)度Fig.6 Adaptation of the algorithm before and after improvement
從圖5可以看出,對于相同的訓(xùn)練樣本,基于AGA-BP 模型和基于GA-BP 模型對于魚雷落點的預(yù)測效果明顯更佳。對于魚雷落點坐標x,3 種預(yù)測模型的預(yù)測效果差別不大,BP 模型的預(yù)測誤差大致在0.1 左右,而其它2 種預(yù)測模型大部分落點坐標x誤差均在0.05 的范圍以內(nèi),從預(yù)測誤差及誤差百分比來看,AGA-BP 和GA-BP 模型相對于BP 模型預(yù)測稍稍占優(yōu)。對于落點坐標y,近似模型的預(yù)測精度起伏略大,但誤差仍在1%以內(nèi),基本滿足工程需要。
圖6顯示AGA-BP 模型在第21 代時已經(jīng)收斂,反映出了相對于GA-BP 模型,AGA-BP 模型有更快的收斂速度。為了進一步說明AGA-BP 模型和GA-BP模型相對于單純的BP 模型的預(yù)測效果更佳。本文針對相同的訓(xùn)練樣本對3 種模型均做10 次訓(xùn)練,取10次訓(xùn)練后3 種模型驗證樣本點的均方誤差(Mean Square Error,MSE)的平均值作為對比。
從圖7可以看出,針對相同的訓(xùn)練樣本點,3 種預(yù)測模型的驗證樣本點均方誤差(MSE)存在差異,以x坐標為例,BP 預(yù)測模型的平均預(yù)測精度不如AGA-BP和GA-BP 模型,說明遺傳算法優(yōu)化后的BP 網(wǎng)絡(luò)模型在一定程度上提升了魚雷落點的預(yù)測精度。傳統(tǒng)BP 算法是基于梯度下降法的一種算法,很容易收斂到局部最優(yōu)解,網(wǎng)絡(luò)訓(xùn)練以及預(yù)測效果在一定程度上依賴于網(wǎng)絡(luò)初始權(quán)值和閾值的賦值,從圖6中BP 預(yù)測模型的MSE也可以看出,BP 預(yù)測模型預(yù)測誤差不穩(wěn)定,預(yù)測精度波動比較大,有時候訓(xùn)練不能收斂到預(yù)設(shè)訓(xùn)練精度。而經(jīng)過遺傳算法優(yōu)化后的GA-BP 預(yù)測模型及AGA-BP 預(yù)測模型明顯具有更好的穩(wěn)定性,預(yù)測誤差均能達到較為滿意的結(jié)果,與此同時,AGA-BP 模型收斂速度相對于GA-BP 預(yù)測模型更快。
圖7 輸出坐標均方誤差Fig.7 Mean square error of output coordinates
本文建立了魚雷水下運動軌跡數(shù)學(xué)求解模型,之后提出了基于AGA-BP、GA-BP 以及BP 魚雷打靶落點預(yù)測模型,產(chǎn)生合適數(shù)量的預(yù)測模型訓(xùn)練樣本點,對3 種魚雷落點預(yù)測模型進行了訓(xùn)練以及驗證,最終通過數(shù)據(jù)對比分析得出了AGA-BP 預(yù)測模型相對于BP 預(yù)測模型更穩(wěn)定、GA-BP 預(yù)測模型收斂速度更快的結(jié)論。
本文采用近似模型技術(shù)對魚雷水下打靶落點進行了快速預(yù)測,相比較于直接CFD 數(shù)值仿真,節(jié)約了時間成本;針對BP 易陷于局部最優(yōu)化的缺陷,基于自適應(yīng)遺傳算法優(yōu)化的BP 神經(jīng)網(wǎng)絡(luò)模型,提高了預(yù)報的穩(wěn)定性和快速性。