郭峰,謝立中,周成,于存貴
(1. 南京理工大學 機械工程學院,江蘇 南京 210094;2. 湖北江山重工有限責任公司 火箭炮研究院,湖北 襄陽 441057)
自行高炮在高速射擊過程中,車體在三維空間上產(chǎn)生六自由度的無規(guī)律平移與轉動,尤其是3個方向的轉動以及車體自身的彈塑性變形,對自行高炮的射擊精度產(chǎn)生較大影響。為了確保自行高炮的射擊精度,需要實時、準確地獲得車體姿態(tài)信息,火控系統(tǒng)根據(jù)當前的姿態(tài)信息對跟蹤和解相遇問題進行相應的修正計算[1]。
何思婷[2]提出通過激光掃描傳感器對車體姿態(tài)進行測量的方法。通過采用4臺二維激光掃描傳感器及補償算法有效地測量了車體姿態(tài)。楊凌霄等[3]利用陀螺儀和加速度計慣性傳感器共同組成慣性測量單元,用于檢測小車當前的傾斜角度和角速度,通過對兩者數(shù)據(jù)進行融合來得到更加準確的傾角信息,從而完成小車的姿態(tài)檢測。孟凡東等[4]通過數(shù)學建模和仿真分析,對自行高炮車體姿態(tài)測量誤差對射擊諸元的影響進行了分析研究。梁傳建等[5]通過建立某火炮上裝部分的非線性有限元動力學模型,研究火炮射擊時座圈的動態(tài)響應。
綜合對載車姿態(tài)獲取方法的研究,目前技術都難以實現(xiàn)在幾十毫秒內(nèi)獲得準確的姿態(tài)數(shù)據(jù)。為解決此問題,本文通過仿真獲取樣本數(shù)據(jù),基于BP神經(jīng)網(wǎng)絡訓練學習構建關于車體姿態(tài)的預測模型,實現(xiàn)任何射角、連續(xù)射擊發(fā)數(shù)條件下對車體姿態(tài)的實時預測。
自行高炮射速極高,每發(fā)射擊間隔只有幾十毫秒,連續(xù)射擊時,車體姿態(tài)與射角,射擊發(fā)數(shù)難以通過簡單的函數(shù)關系進行相互映射,而復雜的數(shù)學模型又無法滿足對每發(fā)射擊之后的車體姿態(tài)實時計算并傳輸結果的要求。本文提出一種基于BP神經(jīng)網(wǎng)絡的車體姿態(tài)預測方法,圖1為預測模型構建的總體方案。通過仿真均勻獲取不同射角下車體振動的姿態(tài)數(shù)據(jù),將方向角、高低角、射擊發(fā)數(shù)作為輸入,繞規(guī)定坐標軸的3個姿態(tài)角作為輸出構建訓練樣本庫,設計網(wǎng)絡結構,經(jīng)過訓練獲得關于射角和射擊發(fā)數(shù)的姿態(tài)預測模型。BP神經(jīng)網(wǎng)絡屬于多層前向神經(jīng)網(wǎng)絡,網(wǎng)絡采用誤差反向傳播的學習算法,理論上可以實現(xiàn)任何非線性映射[6]。
圖1 總體方案
自行高炮的發(fā)射過程,由于各零部件之間存在不可消除的間隙以及各部件的彈塑性變形,是極其復雜的載荷與振動沖擊過程。為了能夠通過建立動力學模型模擬整個發(fā)射過程,在不影響最終計算精度的情況下,需要對系統(tǒng)做一定的簡化。將全炮分為起落部分、回轉部分(去除俯仰)、下座圈、駕駛室、車體、前橋、中橋、后橋和4個千斤頂,在軟件中賦予各部件與實際結構之間的等效質(zhì)量、質(zhì)心及轉動慣量等相關參數(shù)。
全局坐標系定義:全局坐標原點位于兩前輪中心在地面上的投影,且x為前后方向,指向車頭為正,z為上下方向,向上為正,根據(jù)右手定則確定y軸方向。高炮在射擊時,各部件之間會產(chǎn)生相對運動,根據(jù)其功能及運動關系,確定全炮拓撲關系(圖2)如下:起落部分與回轉件之間、回轉件與下座圈部分之間分別采用旋轉副連接(h1、h2),下座圈、駕駛室、前橋部分、中橋部分、后橋部分(考慮實際射擊只有4個千斤頂支撐,輪胎處于離地狀態(tài),故輪胎與地面之間無相互作用,且分別合并在車橋部分)及4個千斤頂與車架之間采用固定副連接(h3、h4、h5、h6、h7、h8、h9),4個千斤頂與大地之間通過多分量力和力矩來模擬其相互作用力(h10、h11)。
圖2 全炮拓撲關系
針對某自行高炮射擊時采用千斤頂支撐,輪胎離地,車架的彈性變形是影響載車姿態(tài)的主要因素,故需要對車體柔性化處理。在有限元軟件中將車架簡化為殼,在車架與其他部件連接處創(chuàng)建外連接點,通過MPC(多點約束)模擬實際各部件與車架的連接方式[7]。車架的網(wǎng)格劃分采用S4R四節(jié)點殼單元,共劃分131 415個單元,如圖3所示??紤]到某高炮車架的復雜程度,提取前30階模態(tài)。圖4為構建好的全炮剛柔耦合動力學模型。
圖3 車架網(wǎng)格劃分
圖4 全炮剛柔耦合動力學模型
在自行高炮的下座圈邊緣部分以45°為基準對稱選取4個傳感器安裝位置,為保證測試數(shù)據(jù)的準確性及可靠性,對安裝平面進行二次加工,采用轉接式螺栓膠粘法安裝傳感器,以提高安裝精度,通過四點陣元法測量實彈射擊時載車振動加速度,傳感器位置如圖5所示。在實彈試驗中,加速度傳感器將車體的振動加速度信號轉換成電信號,信號調(diào)理模塊將信號進行濾波和放大處理,信號最終在PC端動態(tài)顯示并存儲。將采集到的加速度信號經(jīng)過小波及帶通濾波,通過4個點求取座圈中心的角加速度,同工況下的仿真數(shù)據(jù)做同截止頻率的濾波處理,穩(wěn)定狀態(tài)做幅值對比,通過調(diào)節(jié)仿真模型參數(shù)最終達到精度要求。
圖5 加速度傳感器安裝示意圖
試驗采用的工況:千斤頂支撐,方向角分別為170°和93°,高低角均為0°,后坐激勵均為7連發(fā)。將構建好的全炮動力學模型做同工況仿真計算,并與試驗數(shù)據(jù)進行對比,對比結果見表1。由表1對比結果顯示,仿真與試驗結果之間的誤差能夠滿足使用要求,說明該動力學模型能夠反映該自行高炮發(fā)射時的實際振動狀態(tài),仿真數(shù)據(jù)具有一定的可靠性,可以通過仿真獲得的數(shù)據(jù)構建代理模型的樣本庫。
表1 仿真與試驗角加速度對比 單位:°/s2
針對所研究的小口徑高射炮,影響其車體姿態(tài)變化的初始條件主要有:方向角、高低角及射擊時間。由于不同連發(fā)數(shù)的射頻一樣,因此射擊時間統(tǒng)一為最大連發(fā)數(shù)所需時間,最后提取整個射擊過程中隨時間變化的姿態(tài)信息。根據(jù)該自行高炮的射界,采用均勻采樣的方法,每10°分一組工況,方向角0°~360°取36組,高低角0°~80°取9組。針對姿態(tài)曲線強非線性特點,采用全因子分析法,仿真交叉組合后的全部工況。
1)數(shù)據(jù)清理
由于在仿真過程中模型因出現(xiàn)異常而導致一些非正常結果的出現(xiàn),所以每完成同一方向角不同高低角的工況仿真之后,提取隨時間變化的載車姿態(tài)曲線,做統(tǒng)一比較,針對異常的數(shù)據(jù)進行多次仿真并修正。完成所有仿真后,以高低角、方向角和射擊發(fā)數(shù)為輸入,每發(fā)末時刻車體繞x、y、z軸的轉動角度為輸出整理數(shù)據(jù)并導入matlab軟件。
2)數(shù)據(jù)歸一化
針對所構建的預測模型為多輸入多輸出模型,不同指標之間量綱也有所不同,原始數(shù)據(jù)之間存在較大的數(shù)量級差異,如果直接采用原數(shù)據(jù)做分析、訓練模型,數(shù)值較大的指標在訓練過程中會對數(shù)值較小的指標產(chǎn)生削弱作用。為提高最終預測模型的可靠性,需要對原始數(shù)據(jù)做歸一化處理[8]。
在本次研究中采用常用的歸一化方法,max-min標準化方法。通過對原始數(shù)據(jù)進行線性變換,使結果映射到[0,1]之間,轉換函數(shù)如式(1)。
(1)
式中xmin、xmax分別為樣本的最小值和最大值。
BP網(wǎng)絡的隱含層可以為一層或者多層,圖6為單隱含層的BP神經(jīng)網(wǎng)絡的拓撲結構。BP網(wǎng)絡的隱含層一般采用Sigmoid函數(shù)作為傳遞函數(shù)[9],根據(jù)輸出值的范圍不同,可分為Log-Sigmoid函數(shù)和Tan-Sigmoid,式(2)為簡單的Log-Sigmoid函數(shù)。與線性函數(shù)相比,Sigmoid函數(shù)具有更高的精度與容錯性,適用于各種非線性擬合。
圖6 BP神經(jīng)網(wǎng)絡結構
(2)
BP網(wǎng)絡訓練過程采用的最速下降法,假設x1=x0-η?F(x0),當步長η足夠小時,必然存在:
F(x1)
(3)
所以,只需要在最開始給定初始值x0和步長η,根據(jù)x1=x0-η?F(x0)就能夠得到關于變量x0滿足式(3)的序列。經(jīng)過反復的迭代,最終得到函數(shù)的最小值。
F(xn+1)
(4)
在實際訓練過程中,標準的最速下降法往往存在收斂慢的缺點,針對這方面的不足,本次研究采用L-M(levenberg-marquardt)算法對標準BP法做改進。L-M算法是類似擬牛頓法的一種算法[10]。為了避免在速率修正過程中計算Hessian矩陣,當誤差性能函數(shù)存在平方和的形式時,Hessian矩陣便可以近似地表示為
H=JTJ
(5)
此時梯度為
g=JTe
(6)
其中:e為誤差;J是包含有性能誤差函數(shù)對網(wǎng)絡權值的一階導數(shù)的雅可比矩陣。根據(jù)式(6),L-M算法隨網(wǎng)絡的權值做修正:
ω(n+1)=ω(n)-[JTJ+μI]-1JTe
(7)
式中:I為單位矩陣;μ為比例系數(shù)。當μ取0時,L-M退化為牛頓法,當μ取值較大時,式(7)等效為小步長的梯度下降法,相對Hessian矩陣,雅可比矩陣更易于計算,故效率很高。
神經(jīng)網(wǎng)絡采用matlab軟件內(nèi)置模塊,按照需求設計網(wǎng)絡結構及相關參數(shù)。預處理之后樣本庫的輸入和輸出均為3×8 424階矩陣,根據(jù)規(guī)模,本次訓練的網(wǎng)絡結構選用的是單個隱含層的BP網(wǎng)絡,輸入和輸出神經(jīng)元均為3個。隱含層神經(jīng)元采用試算法確定,傳遞函數(shù)選用Sigmoid函數(shù)。確定參數(shù)后,將樣本導入設計好的網(wǎng)絡開始訓練。BP網(wǎng)絡具有誤差信號反向傳播能力[11],當訓練的結構不滿足精度要求時,將進行反向權值調(diào)整,直至精度達到要求,最終訓練結束。圖7是在matlab中網(wǎng)絡訓練之后的回歸結果,可以看出目標值和輸出結果基本上在同一個直線上,訓練結果比較好。
圖7 網(wǎng)絡擬合回歸圖
隨機選取非訓練樣本工況,分別通過動力學仿真和訓練好的代理模型計算姿態(tài)結果,采用mse(均方誤差性能函數(shù))計算誤差值,檢驗代理模型預測的準確性[12]。mse的計算公式為
(8)
式中:N為向量長度;y1、y2分別為動力學仿真與代理模型計算值。
本次驗證采用的工況為:方向角55°,高低角0°,射擊發(fā)數(shù)為25發(fā)。圖8-圖10分別是仿真與代理模型預測繞不同方向的結果對比。由結果可以看出,兩種方法得到的姿態(tài)結果相差很小,通過BP神經(jīng)網(wǎng)絡構建的代理模型可以很好地對不同工況下車體姿態(tài)做預測。
圖8 繞x方向
圖9 繞y方向
圖10 繞z方向
針對某自行高炮射擊過程中難以實時測量車體姿態(tài)的問題,本文通過構建全炮剛柔耦合動力學模型,并以試驗數(shù)據(jù)做驗證,結合L-M算法BP神經(jīng)網(wǎng)絡構建車體姿態(tài)預測的代理模型。結果表明,代理模型能夠?qū)ι鋼魰r的車體姿態(tài)進行預測,并且滿足精度要求。訓練好的代理模型可作為黑匣子,射擊前通過輸入射擊初始條件,將預測得到的車體姿態(tài)數(shù)據(jù)傳輸至火控,為火控在射擊過程中調(diào)整火炮射擊姿態(tài)提供依據(jù)。