李金晟,李巖,李英男,曹樹新,陳琦
(南京理工大學(xué) 能源與動力工程學(xué)院,江蘇 南京 210094)
Android系統(tǒng)在彈道仿真分析中的應(yīng)用研究*
李金晟,李巖,李英男,曹樹新,陳琦
(南京理工大學(xué) 能源與動力工程學(xué)院,江蘇 南京 210094)
為了滿足野外靶場方便地進行彈道仿真預(yù)測及對實驗彈道數(shù)據(jù)進行分析的需求,基于當(dāng)前主流的Android平臺,通過建立6DOF的剛體彈道模型及卡爾曼濾波預(yù)測模型,設(shè)計了基于Android平臺的彈道仿真計算及數(shù)據(jù)分析軟件,實現(xiàn)了彈道計算、試驗數(shù)據(jù)分析等功能。研究結(jié)果表明,基于手機硬件平臺與基于Windows平臺的彈道仿真軟件計算結(jié)果精度一致,在保持精度前提下實時性稍有下降,且經(jīng)卡爾曼彈道濾波后,能有效剔除測量彈道參數(shù)的噪聲。研究結(jié)果可為相關(guān)領(lǐng)域提供一定參考和借鑒。
Android平臺;6DOF彈道模型;彈道仿真;卡爾曼濾波;彈道預(yù)測;初速獲取
近年來,Android操作系統(tǒng)憑借其平臺的靈活性、開放性、互聯(lián)性,已成為便攜式設(shè)備操作平臺的主要發(fā)展方向,并廣泛應(yīng)用于軍用領(lǐng)域。在美國,美國國防部已批準(zhǔn)在其政府辦公網(wǎng)絡(luò)中大量使用Android設(shè)備,并開發(fā)部署了大量型號的智能作戰(zhàn)應(yīng)用系統(tǒng)[1]。國內(nèi)基于Android平臺開發(fā)軍用領(lǐng)域的軟件也進行了大量的研究。但圍繞彈道仿真及計算分析軟件,由于計算量較大、精度和實時性要求較高,基于Android平臺的應(yīng)用還較少。隨著硬件平臺性能的不斷提高及Android系統(tǒng)的日益普及,有必要采用Android便攜式平臺開發(fā)出一種彈道仿真分析軟件,用于野外靶場中彈道解算及分析。目前,文獻[2]基于Android平臺,通過構(gòu)建剛體5D彈道模型,進行了仿真計算。但其沒有實現(xiàn)對外場雷達量測數(shù)據(jù)進行彈道預(yù)測、實時分析等功能。故本文重點針對旋轉(zhuǎn)穩(wěn)定無控彈,通過建立6DOF(six degrees-of-freedom)剛體彈道模型,基于卡爾曼濾波算法,實現(xiàn)了多項彈道參數(shù)輸入、彈道仿真計算、利用雷達數(shù)據(jù)實時預(yù)測彈道落點等功能,為彈道評測提供了量化依據(jù)。
1.1質(zhì)點彈道模型
較高的實時性和精度要求是基于Android平臺開發(fā)彈道仿真分析軟件的最大難點,由于Android系統(tǒng)普遍采用基于低功耗的ARM平臺架構(gòu),數(shù)據(jù)處理性能較基于X86平臺構(gòu)架偏弱,無法同時達到實時性和精度均為最優(yōu)。為此本文采用3DOF(three degrees-of-freedom)質(zhì)點彈道模型和6DOF剛體彈道模型選擇性使用的設(shè)計方案。
由文獻[3]得,直角坐標(biāo)系下,彈丸質(zhì)心運動方程如下:
(1)
1.2剛體6DOF彈道模型
為了進一步完善彈道參量、優(yōu)化彈道計算精度,本文設(shè)計了剛體6DOF彈道模型。其包括質(zhì)心運動和繞心運動的動力學(xué)方程、運動學(xué)方程。本文采用的剛體6DOF模型基于以下假設(shè):彈丸軸對稱,全彈道章動角較小,線性氣動力假設(shè),忽略科氏力且不考慮底部排氣或火箭噴推。
運動方程組如下[4-5]:
(2)
1.3卡爾曼濾波模型
對雷達量測彈道數(shù)據(jù)進行濾波處理的常用方法有:最小二乘濾波,卡爾曼濾波和衰減記憶濾波等。本文采用卡爾曼濾波是因為其既可以對測量彈道進行濾波,提高數(shù)據(jù)處理精度,又可以采用動態(tài)彈道模型進行外推,預(yù)估彈道落點??紤]到彈道濾波要快速性、實時性,本文采用計算量較小的質(zhì)點彈道模型作為彈道濾波和外推彈道的狀態(tài)方程,方程為上述式(1)。
取濾波狀態(tài)變量為
X= (x1,x2,x3,x4,x5,x6,x7)T=
(x,y,z,vx,vy,vz,c)T.
(3)
雷達坐標(biāo)系和直角坐標(biāo)系的轉(zhuǎn)換關(guān)系可參考文獻[6],根據(jù)其得量測方程為
(4)
考慮到測試?yán)走_提供的量測數(shù)據(jù)是離散性的,本文采用擴展卡爾曼濾波理論[7-8],通過對質(zhì)點彈道模型的狀態(tài)方程和量測方程進行線性化,離散化處理,可得擴展卡爾曼濾波彈道模型。
預(yù)測方程:
t.
(5)
觀測預(yù)測方程:
(6)
方差預(yù)測:
(7)
濾波方程:
(8)
增益矩陣:
(9)
濾波方差:
Pk=(I-KkHk)Pk|k-1,
(10)
濾波初值:
(11)
至此,便可用式(5)~(11)對質(zhì)心彈道方程組(式(1))進行向后外推計算,直到y(tǒng)=0為止,獲得預(yù)測結(jié)果。
1.4彈丸初速的獲取
在外場通過彈道仿真計算預(yù)估彈丸飛行軌跡和彈著點的基本參數(shù)時,彈丸初速的誤差對射擊精度具有重要影響。在無初速雷達情況下,為了提高仿真計算精度,本文根據(jù)經(jīng)過濾波處理的量測數(shù)據(jù)采用多項式擬合法求取初速。因為它是以實測數(shù)據(jù)為基礎(chǔ)的,而各發(fā)彈初速的跳動是由于裝藥性能差異和這段彈道上起始擾動影響不同而引起的。所以根據(jù)多項式擬合求取所得初速,可以反映出裝藥性能的穩(wěn)定性以及武器系統(tǒng)起始擾動散布大小[9]。
由文獻[10]可知得,利用多項式擬合外推初速時,采用的(v,t)數(shù)據(jù)應(yīng)為后效期作用結(jié)束后的某段彈道數(shù)據(jù)。在這段彈道上彈丸飛行速度隨時間的變化規(guī)律近似描述為
(12)
對經(jīng)過卡爾曼濾波處理的實驗彈道數(shù)據(jù): (v1,t1),(v2,t2),…,(vn,tn),由線性最小二乘法得,擬合目標(biāo)函數(shù)為
(13)
通過高斯消元法得出在測試誤差允許的條件下,表征彈丸飛行速度隨時間的變化規(guī)律的最優(yōu)表達式:
(14)
式(14)即為描述彈丸速度-時間規(guī)律的最終方程,當(dāng)飛行時間為0,即可得出彈丸初速。
本文研究的彈道仿真及分析軟件的設(shè)計實現(xiàn)是建立在Android平臺既定的基本框架之上?;贏ndroid平臺的特點及上述理論模型,本文在Android-SDK-Studio提供的運行環(huán)境下實現(xiàn)整個程序的框架如圖1所示。
圖1 程序框架圖Fig.1 Picture of program architecture
Activity是應(yīng)用程序的門面,完成既定的每一個功能模塊下的Activity的布局對Activity的功能實現(xiàn)有著重要的指導(dǎo)意義。為了使軟件整體布局更為靈活,同時方便用戶輸入仿真計算所需參數(shù),本文通過嵌套使用相對布局方式、線性布局方式來構(gòu)造相關(guān)界面[11-12],如圖2,3所示。
圖2 軟件界面圖Fig.2 Picture of software interface
圖3 參數(shù)輸入界面圖Fig.3 Picture of parameter input
彈道仿真分析軟件程序的設(shè)計重點為:在Android平臺提供的運行環(huán)境下使服務(wù)層內(nèi)仿真計算、濾波處理、初速擬合、 圖像繪制得以實現(xiàn)?,F(xiàn)提取程序內(nèi)的主要設(shè)計類如圖4所示。
圖4 服務(wù)層內(nèi)主要功能類圖Fig.4 Main function of service layer
進行彈道仿真計算及相關(guān)曲線繪制時,為了提高運行速度同時減少操作步驟,本文同時開啟彈道計算線程與實時曲線繪制線程,通過定義多個動態(tài)數(shù)組將實時彈道數(shù)據(jù)直接傳遞到圖像繪制類。在不影響曲線效果前提下,3DOF,6DOF模型采樣間隔分別取0.05 s,0.01 s,然后通過Intent方法轉(zhuǎn)換Activity界面,提供計算結(jié)果和圖像的反饋。進行實驗數(shù)據(jù)濾波處理前,為了提高量測數(shù)據(jù)文件傳輸速率及可靠性,本文采用USB協(xié)議直接從主機下載接收量測數(shù)據(jù)并將其導(dǎo)入程序數(shù)據(jù)層[13]。為了與量測數(shù)據(jù)進行對比,分析濾波效果,且滿足初速擬合類及圖像繪制類對其多次調(diào)用的需求,本文將濾波處理數(shù)據(jù)寫入文件,存儲于數(shù)據(jù)層內(nèi)。調(diào)用3DOF模型和6DOF模型進行仿真計算所得彈丸仿真飛行軌跡、v-t曲線分別如圖5~7所示。
圖5 3DOF彈道飛行軌跡圖Fig.5 Picture of 3DOF ballistic trajectory
圖6 6DOF彈道飛行軌跡圖Fig.6 Picture of 6DOF ballistic trajectory
圖7 6DOF彈道v-t曲線圖Fig.7 v-t diagram of 6DOF trajectory
3.1針對Android平臺彈道計算實時性優(yōu)化設(shè)計
由于基于X86處理器的Windows平臺和基于ARM處理器的Android平臺在兼容性、處理能力和功耗等方面有很大不同,如果將Windows平臺中的算法直接應(yīng)用到Android平臺中可能會帶來執(zhí)行效率降低,BUG增加,內(nèi)存溢出等問題。因此為了在Android平臺中實現(xiàn)相關(guān)功能,同時提高代碼執(zhí)行效率,本文采用如下優(yōu)化方法[14]。
使用實體類。本文所建立的相關(guān)功能類都為實體類,因為調(diào)用一個實體類對象比接口引用效率高。但在Windows平臺下,由于接口的多態(tài)性,同時為了便于程序二次開發(fā)和維護,應(yīng)多采用接口引用。
使用靜態(tài)方法及本地方法。對于不需要訪問類成員的方法,本文在定義時,多數(shù)聲明為靜態(tài)方法。因為靜態(tài)方法的執(zhí)行效率高于虛方法。同時,本文多采用Java類庫內(nèi)方法實現(xiàn)相關(guān)功能而非重新編寫。如在進行初速擬合,讀取文件內(nèi)濾波數(shù)據(jù)時,使用String類的split()方法將字符串還原為數(shù)組。在Windows平臺下,由于虛函數(shù)便于擴展、維護,故從程序設(shè)計角度來說,使用虛函數(shù)好處更大。
使用本地變量。訪問成員變量比訪問本地變量要慢。因此,本文將需要多次調(diào)用的彈道諸元變量緩存到本地,同時對于非常用類成員,也多采用直接訪問方式,而非通過getter與setter方法。但在Windows平臺下,使用getter與setter方法可以方便地增加額外功能,任意管理變量生命周期和內(nèi)存存儲方式。
3.2兩個平臺計算結(jié)果對比分析
本文以旋轉(zhuǎn)穩(wěn)定無控彈為例,對其進行仿真計算。將6DOF彈道模型計算生成的彈道數(shù)據(jù),假設(shè)為在靶場實驗時彈丸的真實飛行數(shù)據(jù),通過疊加高斯隨機函數(shù)引入系統(tǒng)噪聲誤差,形成雷達量測數(shù)據(jù)。在靶場實際應(yīng)用時,本文采用USB協(xié)議直接從主機將雷達量測數(shù)劇導(dǎo)入軟件當(dāng)中。然后利用卡爾曼濾波方法對量測數(shù)據(jù)進行處理,濾除雷達測量信號中的隨機噪聲。根據(jù)文獻[15]知,合理的選取雷達量測數(shù)據(jù)量是十分必要的,因為過分的增加量測數(shù)據(jù),將會使彈道解算的時間增加,而精度的提高卻有限。而且Android平臺相對于Windows平臺,硬件性能較弱。因此在基于Android平臺進行運算時,雷達跟蹤時間取6~8 s,采樣間隔取0.2 s,雷達測量誤差σx=5 m,σy=10 m,σz=5 m。卡爾曼濾波預(yù)測彈丸飛行軌跡如圖8所示。
圖8 卡爾曼濾波預(yù)測軌跡圖Fig.8 Picture of Kalman filtering prediction
輸入圖3界面中參數(shù),分別基于Android平臺(測試機處理器:六核2.11 GHz運行內(nèi)存:3 GB)與Windows平臺(測試機處理器:四核2.4 GHz運行內(nèi)存:4 GB)的彈道仿真計算結(jié)果與卡爾曼濾波預(yù)測結(jié)果如表1所示。
表1結(jié)果顯示,Android平臺與Windows平臺6DOF仿真計算結(jié)果基本一致,且經(jīng)卡爾曼彈道濾波后,能有效剔除測量彈道參數(shù)的噪聲,所獲彈道偏差、初速偏差較小,滿足實驗精度要求,證明了軟件的可靠性。但是在保持精度的前提下,手機硬件平臺的實時性下降。這是因為目前基于ARM的處理器在數(shù)據(jù)處理能力上不如基于X86的處理器。不過調(diào)用3DOF彈道模型進行仿真計算可以滿足實時性要求,其計算所需時間為1.397 s。
本文主要介紹了基于Android平臺的彈道仿真及數(shù)據(jù)分析軟件的設(shè)計與實現(xiàn)。彈道仿真及數(shù)據(jù)分析軟件作為一款針對野外靶場實驗人員的輔助性軟件,具備了進行彈道仿真計算及對實驗彈道數(shù)據(jù)進行分析的功能。進行實驗前,可以先通過3DOF,6DOF彈道模型進行彈道仿真計算,對實驗結(jié)果有一個預(yù)估。實驗結(jié)束后,導(dǎo)入量測數(shù)據(jù),通過調(diào)用卡爾曼濾波方法對數(shù)據(jù)進行去除噪聲處理,然后將實驗彈丸軌跡繪出,并外推彈道落點,計算彈道偏差。除此之外該軟件還有初速擬合、GPS等實用小功能。雖然與基于Windows平臺的計算機相比,該軟件運行速度并不完美。但是基于Android平臺的軟件有其獨特優(yōu)勢,操作簡單、攜行方便、功耗小。而且隨著便攜設(shè)備硬件技術(shù)的高速發(fā)展和Android 系統(tǒng)不斷更新,再加上后期對相關(guān)代碼與算法不斷優(yōu)化,使之運行速度與精度不斷提高,定能給相關(guān)領(lǐng)域人員提供更好幫助。
表1 不同平臺的仿真及預(yù)測結(jié)果Table 1 Simulated and forecasted results of different platform
[1] 周澤云,向陽霞,鄒渝,等.Android 系統(tǒng)在裝備保障信息系統(tǒng)中的應(yīng)用[J].四川兵工學(xué)報,2015,36(4):77-80.
ZHOU Ze-yun,XIANG Yang-xia,ZOU Yu,et al.Application of Android System in Equipment Support Information System [J].Journal of Sichuan Ordnance,2015,36(4):77-80.
[2] 吳紅權(quán),郝赤,韋宏強,等.基于Android平臺嵌入式彈道仿真系統(tǒng)研究與實現(xiàn)[J].系統(tǒng)仿真學(xué)報,2013,25(8):1741-1745.
WU Hong-quan,HAO Chi,WEI Hong-qiang,et al.Research and Development of Embed Ballistic Trajectory Simulation System Based on Android Portable Apparatus [J].Journal of System Simulation,2013,25(8):1741-1745.
[3] 王中原,周衛(wèi)平.外彈道設(shè)計理論與方法[M].北京:科學(xué)出版社,2004:32-36.
WANG Zhong-yuan,ZHOU Wei-ping.Theroy and Method on External Ballistic Design[M].Beijing: Publishing House of Science,2004:32-36.
[4] 黃吉傳,劉占辰,房振生.高速旋轉(zhuǎn)彈丸外彈道仿真研究[J].仿真技術(shù),2008,24(6):227-229.
HUANG Ji-chuan,LIU Zhan-chen,F(xiàn)ANG Zhen-sheng.Simulation on Exterior Trajectory of the Spinning Projectile[J].Simulation Technology,2008,24(6):227-229.
[5] 修觀,王良明,楊榮軍.線性彈道模型建立與仿真[J].海軍工程大學(xué)學(xué)報,2010,22(2):85-91.
XIU Guan,WANG Liang-ming,YANG Rong-jun. Construction and Simulation of Linear Trajectory Model[J].Journal of Naval University of Engineering,2010,22(2):85-91.
[6] 徐明友.現(xiàn)代外彈道學(xué)[M].北京:兵器工業(yè)出版社,1999:128-141.
XU Ming-you.Model External Ballistic[M].Beijing:Publishing House of Ordnance Industry,1999:128-141.
[7] 魯健輝,劉代軍,楊林沖.2種卡爾曼濾波算法的應(yīng)用分析[J].現(xiàn)代防御技術(shù),2012,40(6):126-128.
LU Jian-hui,LIU Dai-jun,YANG Lin-chong.Applicat-ion Analysis of Two Kalman Filter Algorithms[J].Modern Defence Technology,2012,40(6):126-128.
[8] 胡獻君,王航宇,周德超.粒子濾波跟蹤彈道下降段在炮位偵察中的應(yīng)用[J].現(xiàn)代防御技術(shù),2013,41(1):104-109.
HU Xian-jun,WANG Hang-yu,ZHOU De-chao.Application of Tracking Descend Trajectory with Particle Filter on Detecting Cannon Location[J].Modern Defence Technology,2013,41(1):104-109.
[9] 趙子華,梁世超,張峰.內(nèi)外彈道設(shè)計中的初速概率誤差分析[J].彈道學(xué)報,1997,9(2):77-79.
ZHAO Zi-hua,LIANG Shi-chao,ZHANG Feng.Error Analysis of Initialvelocity on Internal and External Ballistic Design[J].Journal of Ballistics,1997,9(2):77-79.
[10] 劉世平.彈丸速度測量與數(shù)據(jù)處理[M].北京:兵器工業(yè)出版社,1994:145-146.
LIU Shi-ping.Bullet Velocity Measurement and Data Processing[M].Beijing:Publishing House of Ordnance Industry,1994:145-146.
[11] 邵翔,徐日.基于Android的事務(wù)管理型應(yīng)用軟件的設(shè)計與實現(xiàn)[J].北京電子科技學(xué)院學(xué)報,2011,19(4):81-83.
SHAO Xiang,XU Ri.Design and Development of School Days Based on Android[J].Journal of Beijing Electronin Science and Technology Institute,2011,19(4):81-83.
[12] 柯博文(美).Android手機/平板電腦開發(fā)新挑戰(zhàn)[M].北京:電子工業(yè)出版社,2014:118-126.
KE Bo-wen(USA).Android Mobile or Tablet PC Development Challenges[M].Beijing:Publishing House of Electronics Industry,2014:118-126.
[13] 應(yīng)冬青,王健.USB協(xié)議在嵌入式系統(tǒng)文件傳輸中的應(yīng)用[J].電子器件,2011,34(1):105-107.
YING Dong-qing,WANG Jian.Application of USB Protocol in Transmitting a File to the Embedded System[J].Chinese Journal of Electron Devices,2011,34(1):105-107.
[14] 徐尤華,熊傳玉.Android移動開發(fā)優(yōu)化策略[J].計算機時代,2011(12):23-24.
XU You-hua,XIONG Chuan-yu.The Optimizing Strategy of Android Mobile Development[J].Computer Era,2011(12):23-24.
[15] 史金光,劉猛,曹成壯,等.彈道修正彈落點預(yù)報方法研究 [J].彈道學(xué)報,2014,26(2):29-33.
SHI Jin-guang,LIU Meng,CAO Cheng-zhuang,et al.Research on Method of Falling Point Prediction for Trajectory Correction Projectile[J].Journal of Ballistics,2014,26(2):29-33.
ApplicationResearchofAndroidSysteminBallisticTrajectorySimulationAnalysis
LI Jin-sheng,LI Yan,LI Ying-nan,CAO Shu-xin,CHEN Qi
(NUST,Energy and Power Engineering College,Jiangsu Nanjing 210094,China)
In order to satisfy the demand that ballistic trajectory simulation prediction and analyze experimental data can be conveniently achieved, the 6 degrees-of-freedom(DOF) rigid trajectory model and the ballistic model of Kalman filtering is established by using mainstream Android portable apparatus. Simulation calculation of ballistic trajectory and experimental data analysis software is designed on Android operation system to achieve calculation of ballistic trajectory and experimental data analysis. The results show that the same precision of calculation is achieved on the Android operation system and the Windows operation system, but the real-time is reduced under the precondition of precision. The measurement noise can be decreased greatly by Kalman filtering. All the results offer reference for other related area.
Android portable apparatus;6 degrees-of-freedom(DOF) trajectory modeling;ballistic trajectory simulation;Kalman filtering;trajectory prediction;initial velocity acquisition
2016-10-04;
2016-12-30
李金晟(1994-),男,內(nèi)蒙古五原人。碩士生,主要從事外彈道設(shè)計與仿真研究。
通信地址:210094 江蘇省南京市孝陵衛(wèi)200號南京理工大學(xué)能源與動力工程學(xué)院802教研室E-mail:liyan2123@126.com
10.3969/j.issn.1009-086x.2017.05.029
TJ012.3;TP391.9
A
1009-086X(2017)-05-0188-07