李金晟,李巖,李英男,曹樹新,陳琦
(南京理工大學 能源與動力工程學院,江蘇 南京 210094)
Android系統(tǒng)在彈道仿真分析中的應用研究*
李金晟,李巖,李英男,曹樹新,陳琦
(南京理工大學 能源與動力工程學院,江蘇 南京 210094)
為了滿足野外靶場方便地進行彈道仿真預測及對實驗彈道數據進行分析的需求,基于當前主流的Android平臺,通過建立6DOF的剛體彈道模型及卡爾曼濾波預測模型,設計了基于Android平臺的彈道仿真計算及數據分析軟件,實現(xiàn)了彈道計算、試驗數據分析等功能。研究結果表明,基于手機硬件平臺與基于Windows平臺的彈道仿真軟件計算結果精度一致,在保持精度前提下實時性稍有下降,且經卡爾曼彈道濾波后,能有效剔除測量彈道參數的噪聲。研究結果可為相關領域提供一定參考和借鑒。
Android平臺;6DOF彈道模型;彈道仿真;卡爾曼濾波;彈道預測;初速獲取
近年來,Android操作系統(tǒng)憑借其平臺的靈活性、開放性、互聯(lián)性,已成為便攜式設備操作平臺的主要發(fā)展方向,并廣泛應用于軍用領域。在美國,美國國防部已批準在其政府辦公網絡中大量使用Android設備,并開發(fā)部署了大量型號的智能作戰(zhàn)應用系統(tǒng)[1]。國內基于Android平臺開發(fā)軍用領域的軟件也進行了大量的研究。但圍繞彈道仿真及計算分析軟件,由于計算量較大、精度和實時性要求較高,基于Android平臺的應用還較少。隨著硬件平臺性能的不斷提高及Android系統(tǒng)的日益普及,有必要采用Android便攜式平臺開發(fā)出一種彈道仿真分析軟件,用于野外靶場中彈道解算及分析。目前,文獻[2]基于Android平臺,通過構建剛體5D彈道模型,進行了仿真計算。但其沒有實現(xiàn)對外場雷達量測數據進行彈道預測、實時分析等功能。故本文重點針對旋轉穩(wěn)定無控彈,通過建立6DOF(six degrees-of-freedom)剛體彈道模型,基于卡爾曼濾波算法,實現(xiàn)了多項彈道參數輸入、彈道仿真計算、利用雷達數據實時預測彈道落點等功能,為彈道評測提供了量化依據。
1.1質點彈道模型
較高的實時性和精度要求是基于Android平臺開發(fā)彈道仿真分析軟件的最大難點,由于Android系統(tǒng)普遍采用基于低功耗的ARM平臺架構,數據處理性能較基于X86平臺構架偏弱,無法同時達到實時性和精度均為最優(yōu)。為此本文采用3DOF(three degrees-of-freedom)質點彈道模型和6DOF剛體彈道模型選擇性使用的設計方案。
由文獻[3]得,直角坐標系下,彈丸質心運動方程如下:
(1)
1.2剛體6DOF彈道模型
為了進一步完善彈道參量、優(yōu)化彈道計算精度,本文設計了剛體6DOF彈道模型。其包括質心運動和繞心運動的動力學方程、運動學方程。本文采用的剛體6DOF模型基于以下假設:彈丸軸對稱,全彈道章動角較小,線性氣動力假設,忽略科氏力且不考慮底部排氣或火箭噴推。
運動方程組如下[4-5]:
(2)
1.3卡爾曼濾波模型
對雷達量測彈道數據進行濾波處理的常用方法有:最小二乘濾波,卡爾曼濾波和衰減記憶濾波等。本文采用卡爾曼濾波是因為其既可以對測量彈道進行濾波,提高數據處理精度,又可以采用動態(tài)彈道模型進行外推,預估彈道落點??紤]到彈道濾波要快速性、實時性,本文采用計算量較小的質點彈道模型作為彈道濾波和外推彈道的狀態(tài)方程,方程為上述式(1)。
取濾波狀態(tài)變量為
X= (x1,x2,x3,x4,x5,x6,x7)T=
(x,y,z,vx,vy,vz,c)T.
(3)
雷達坐標系和直角坐標系的轉換關系可參考文獻[6],根據其得量測方程為
(4)
考慮到測試雷達提供的量測數據是離散性的,本文采用擴展卡爾曼濾波理論[7-8],通過對質點彈道模型的狀態(tài)方程和量測方程進行線性化,離散化處理,可得擴展卡爾曼濾波彈道模型。
預測方程:
t.
(5)
觀測預測方程:
(6)
方差預測:
(7)
濾波方程:
(8)
增益矩陣:
(9)
濾波方差:
Pk=(I-KkHk)Pk|k-1,
(10)
濾波初值:
(11)
至此,便可用式(5)~(11)對質心彈道方程組(式(1))進行向后外推計算,直到y(tǒng)=0為止,獲得預測結果。
1.4彈丸初速的獲取
在外場通過彈道仿真計算預估彈丸飛行軌跡和彈著點的基本參數時,彈丸初速的誤差對射擊精度具有重要影響。在無初速雷達情況下,為了提高仿真計算精度,本文根據經過濾波處理的量測數據采用多項式擬合法求取初速。因為它是以實測數據為基礎的,而各發(fā)彈初速的跳動是由于裝藥性能差異和這段彈道上起始擾動影響不同而引起的。所以根據多項式擬合求取所得初速,可以反映出裝藥性能的穩(wěn)定性以及武器系統(tǒng)起始擾動散布大小[9]。
由文獻[10]可知得,利用多項式擬合外推初速時,采用的(v,t)數據應為后效期作用結束后的某段彈道數據。在這段彈道上彈丸飛行速度隨時間的變化規(guī)律近似描述為
(12)
對經過卡爾曼濾波處理的實驗彈道數據: (v1,t1),(v2,t2),…,(vn,tn),由線性最小二乘法得,擬合目標函數為
(13)
通過高斯消元法得出在測試誤差允許的條件下,表征彈丸飛行速度隨時間的變化規(guī)律的最優(yōu)表達式:
(14)
式(14)即為描述彈丸速度-時間規(guī)律的最終方程,當飛行時間為0,即可得出彈丸初速。
本文研究的彈道仿真及分析軟件的設計實現(xiàn)是建立在Android平臺既定的基本框架之上?;贏ndroid平臺的特點及上述理論模型,本文在Android-SDK-Studio提供的運行環(huán)境下實現(xiàn)整個程序的框架如圖1所示。
圖1 程序框架圖Fig.1 Picture of program architecture
Activity是應用程序的門面,完成既定的每一個功能模塊下的Activity的布局對Activity的功能實現(xiàn)有著重要的指導意義。為了使軟件整體布局更為靈活,同時方便用戶輸入仿真計算所需參數,本文通過嵌套使用相對布局方式、線性布局方式來構造相關界面[11-12],如圖2,3所示。
圖2 軟件界面圖Fig.2 Picture of software interface
圖3 參數輸入界面圖Fig.3 Picture of parameter input
彈道仿真分析軟件程序的設計重點為:在Android平臺提供的運行環(huán)境下使服務層內仿真計算、濾波處理、初速擬合、 圖像繪制得以實現(xiàn)?,F(xiàn)提取程序內的主要設計類如圖4所示。
圖4 服務層內主要功能類圖Fig.4 Main function of service layer
進行彈道仿真計算及相關曲線繪制時,為了提高運行速度同時減少操作步驟,本文同時開啟彈道計算線程與實時曲線繪制線程,通過定義多個動態(tài)數組將實時彈道數據直接傳遞到圖像繪制類。在不影響曲線效果前提下,3DOF,6DOF模型采樣間隔分別取0.05 s,0.01 s,然后通過Intent方法轉換Activity界面,提供計算結果和圖像的反饋。進行實驗數據濾波處理前,為了提高量測數據文件傳輸速率及可靠性,本文采用USB協(xié)議直接從主機下載接收量測數據并將其導入程序數據層[13]。為了與量測數據進行對比,分析濾波效果,且滿足初速擬合類及圖像繪制類對其多次調用的需求,本文將濾波處理數據寫入文件,存儲于數據層內。調用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)化設計
由于基于X86處理器的Windows平臺和基于ARM處理器的Android平臺在兼容性、處理能力和功耗等方面有很大不同,如果將Windows平臺中的算法直接應用到Android平臺中可能會帶來執(zhí)行效率降低,BUG增加,內存溢出等問題。因此為了在Android平臺中實現(xiàn)相關功能,同時提高代碼執(zhí)行效率,本文采用如下優(yōu)化方法[14]。
使用實體類。本文所建立的相關功能類都為實體類,因為調用一個實體類對象比接口引用效率高。但在Windows平臺下,由于接口的多態(tài)性,同時為了便于程序二次開發(fā)和維護,應多采用接口引用。
使用靜態(tài)方法及本地方法。對于不需要訪問類成員的方法,本文在定義時,多數聲明為靜態(tài)方法。因為靜態(tài)方法的執(zhí)行效率高于虛方法。同時,本文多采用Java類庫內方法實現(xiàn)相關功能而非重新編寫。如在進行初速擬合,讀取文件內濾波數據時,使用String類的split()方法將字符串還原為數組。在Windows平臺下,由于虛函數便于擴展、維護,故從程序設計角度來說,使用虛函數好處更大。
使用本地變量。訪問成員變量比訪問本地變量要慢。因此,本文將需要多次調用的彈道諸元變量緩存到本地,同時對于非常用類成員,也多采用直接訪問方式,而非通過getter與setter方法。但在Windows平臺下,使用getter與setter方法可以方便地增加額外功能,任意管理變量生命周期和內存存儲方式。
3.2兩個平臺計算結果對比分析
本文以旋轉穩(wěn)定無控彈為例,對其進行仿真計算。將6DOF彈道模型計算生成的彈道數據,假設為在靶場實驗時彈丸的真實飛行數據,通過疊加高斯隨機函數引入系統(tǒng)噪聲誤差,形成雷達量測數據。在靶場實際應用時,本文采用USB協(xié)議直接從主機將雷達量測數劇導入軟件當中。然后利用卡爾曼濾波方法對量測數據進行處理,濾除雷達測量信號中的隨機噪聲。根據文獻[15]知,合理的選取雷達量測數據量是十分必要的,因為過分的增加量測數據,將會使彈道解算的時間增加,而精度的提高卻有限。而且Android平臺相對于Windows平臺,硬件性能較弱。因此在基于Android平臺進行運算時,雷達跟蹤時間取6~8 s,采樣間隔取0.2 s,雷達測量誤差σx=5 m,σy=10 m,σz=5 m??柭鼮V波預測彈丸飛行軌跡如圖8所示。
圖8 卡爾曼濾波預測軌跡圖Fig.8 Picture of Kalman filtering prediction
輸入圖3界面中參數,分別基于Android平臺(測試機處理器:六核2.11 GHz運行內存:3 GB)與Windows平臺(測試機處理器:四核2.4 GHz運行內存:4 GB)的彈道仿真計算結果與卡爾曼濾波預測結果如表1所示。
表1結果顯示,Android平臺與Windows平臺6DOF仿真計算結果基本一致,且經卡爾曼彈道濾波后,能有效剔除測量彈道參數的噪聲,所獲彈道偏差、初速偏差較小,滿足實驗精度要求,證明了軟件的可靠性。但是在保持精度的前提下,手機硬件平臺的實時性下降。這是因為目前基于ARM的處理器在數據處理能力上不如基于X86的處理器。不過調用3DOF彈道模型進行仿真計算可以滿足實時性要求,其計算所需時間為1.397 s。
本文主要介紹了基于Android平臺的彈道仿真及數據分析軟件的設計與實現(xiàn)。彈道仿真及數據分析軟件作為一款針對野外靶場實驗人員的輔助性軟件,具備了進行彈道仿真計算及對實驗彈道數據進行分析的功能。進行實驗前,可以先通過3DOF,6DOF彈道模型進行彈道仿真計算,對實驗結果有一個預估。實驗結束后,導入量測數據,通過調用卡爾曼濾波方法對數據進行去除噪聲處理,然后將實驗彈丸軌跡繪出,并外推彈道落點,計算彈道偏差。除此之外該軟件還有初速擬合、GPS等實用小功能。雖然與基于Windows平臺的計算機相比,該軟件運行速度并不完美。但是基于Android平臺的軟件有其獨特優(yōu)勢,操作簡單、攜行方便、功耗小。而且隨著便攜設備硬件技術的高速發(fā)展和Android 系統(tǒng)不斷更新,再加上后期對相關代碼與算法不斷優(yōu)化,使之運行速度與精度不斷提高,定能給相關領域人員提供更好幫助。
表1 不同平臺的仿真及預測結果Table 1 Simulated and forecasted results of different platform
[1] 周澤云,向陽霞,鄒渝,等.Android 系統(tǒng)在裝備保障信息系統(tǒng)中的應用[J].四川兵工學報,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] 吳紅權,郝赤,韋宏強,等.基于Android平臺嵌入式彈道仿真系統(tǒng)研究與實現(xiàn)[J].系統(tǒng)仿真學報,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)平.外彈道設計理論與方法[M].北京:科學出版社,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] 黃吉傳,劉占辰,房振生.高速旋轉彈丸外彈道仿真研究[J].仿真技術,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].海軍工程大學學報,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)代外彈道學[M].北京:兵器工業(yè)出版社,1999:128-141.
XU Ming-you.Model External Ballistic[M].Beijing:Publishing House of Ordnance Industry,1999:128-141.
[7] 魯健輝,劉代軍,楊林沖.2種卡爾曼濾波算法的應用分析[J].現(xiàn)代防御技術,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] 胡獻君,王航宇,周德超.粒子濾波跟蹤彈道下降段在炮位偵察中的應用[J].現(xiàn)代防御技術,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] 趙子華,梁世超,張峰.內外彈道設計中的初速概率誤差分析[J].彈道學報,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] 劉世平.彈丸速度測量與數據處理[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的事務管理型應用軟件的設計與實現(xiàn)[J].北京電子科技學院學報,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] 應冬青,王健.USB協(xié)議在嵌入式系統(tǒ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] 史金光,劉猛,曹成壯,等.彈道修正彈落點預報方法研究 [J].彈道學報,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-),男,內蒙古五原人。碩士生,主要從事外彈道設計與仿真研究。
通信地址:210094 江蘇省南京市孝陵衛(wèi)200號南京理工大學能源與動力工程學院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