李金晟,李岩,李英男,曹树新,陈琦
(南京理工大学 能源与动力工程学院,江苏 南京 210094)
Android系统在弹道仿真分析中的应用研究*
李金晟,李岩,李英男,曹树新,陈琦
(南京理工大学 能源与动力工程学院,江苏 南京 210094)
为了满足野外靶场方便地进行弹道仿真预测及对实验弹道数据进行分析的需求,基于当前主流的Android平台,通过建立6DOF的刚体弹道模型及卡尔曼滤波预测模型,设计了基于Android平台的弹道仿真计算及数据分析软件,实现了弹道计算、试验数据分析等功能。研究结果表明,基于手机硬件平台与基于Windows平台的弹道仿真软件计算结果精度一致,在保持精度前提下实时性稍有下降,且经卡尔曼弹道滤波后,能有效剔除测量弹道参数的噪声。研究结果可为相关领域提供一定参考和借鉴。
Android平台;6DOF弹道模型;弹道仿真;卡尔曼滤波;弹道预测;初速获取
近年来,Android操作系统凭借其平台的灵活性、开放性、互联性,已成为便携式设备操作平台的主要发展方向,并广泛应用于军用领域。在美国,美国国防部已批准在其政府办公网络中大量使用Android设备,并开发部署了大量型号的智能作战应用系统[1]。国内基于Android平台开发军用领域的软件也进行了大量的研究。但围绕弹道仿真及计算分析软件,由于计算量较大、精度和实时性要求较高,基于Android平台的应用还较少。随着硬件平台性能的不断提高及Android系统的日益普及,有必要采用Android便携式平台开发出一种弹道仿真分析软件,用于野外靶场中弹道解算及分析。目前,文献[2]基于Android平台,通过构建刚体5D弹道模型,进行了仿真计算。但其没有实现对外场雷达量测数据进行弹道预测、实时分析等功能。故本文重点针对旋转稳定无控弹,通过建立6DOF(six degrees-of-freedom)刚体弹道模型,基于卡尔曼滤波算法,实现了多项弹道参数输入、弹道仿真计算、利用雷达数据实时预测弹道落点等功能,为弹道评测提供了量化依据。
1.1质点弹道模型
较高的实时性和精度要求是基于Android平台开发弹道仿真分析软件的最大难点,由于Android系统普遍采用基于低功耗的ARM平台架构,数据处理性能较基于X86平台构架偏弱,无法同时达到实时性和精度均为最优。为此本文采用3DOF(three degrees-of-freedom)质点弹道模型和6DOF刚体弹道模型选择性使用的设计方案。
由文献[3]得,直角坐标系下,弹丸质心运动方程如下:
(1)
1.2刚体6DOF弹道模型
为了进一步完善弹道参量、优化弹道计算精度,本文设计了刚体6DOF弹道模型。其包括质心运动和绕心运动的动力学方程、运动学方程。本文采用的刚体6DOF模型基于以下假设:弹丸轴对称,全弹道章动角较小,线性气动力假设,忽略科氏力且不考虑底部排气或火箭喷推。
运动方程组如下[4-5]:
(2)
1.3卡尔曼滤波模型
对雷达量测弹道数据进行滤波处理的常用方法有:最小二乘滤波,卡尔曼滤波和衰减记忆滤波等。本文采用卡尔曼滤波是因为其既可以对测量弹道进行滤波,提高数据处理精度,又可以采用动态弹道模型进行外推,预估弹道落点。考虑到弹道滤波要快速性、实时性,本文采用计算量较小的质点弹道模型作为弹道滤波和外推弹道的状态方程,方程为上述式(1)。
取滤波状态变量为
X= (x1,x2,x3,x4,x5,x6,x7)T=
(x,y,z,vx,vy,vz,c)T.
(3)
雷达坐标系和直角坐标系的转换关系可参考文献[6],根据其得量测方程为
(4)
考虑到测试雷达提供的量测数据是离散性的,本文采用扩展卡尔曼滤波理论[7-8],通过对质点弹道模型的状态方程和量测方程进行线性化,离散化处理,可得扩展卡尔曼滤波弹道模型。
预测方程:
t.
(5)
观测预测方程:
(6)
方差预测:
(7)
滤波方程:
(8)
增益矩阵:
(9)
滤波方差:
Pk=(I-KkHk)Pk|k-1,
(10)
滤波初值:
(11)
至此,便可用式(5)~(11)对质心弹道方程组(式(1))进行向后外推计算,直到y=0为止,获得预测结果。
1.4弹丸初速的获取
在外场通过弹道仿真计算预估弹丸飞行轨迹和弹着点的基本参数时,弹丸初速的误差对射击精度具有重要影响。在无初速雷达情况下,为了提高仿真计算精度,本文根据经过滤波处理的量测数据采用多项式拟合法求取初速。因为它是以实测数据为基础的,而各发弹初速的跳动是由于装药性能差异和这段弹道上起始扰动影响不同而引起的。所以根据多项式拟合求取所得初速,可以反映出装药性能的稳定性以及武器系统起始扰动散布大小[9]。
由文献[10]可知得,利用多项式拟合外推初速时,采用的(v,t)数据应为后效期作用结束后的某段弹道数据。在这段弹道上弹丸飞行速度随时间的变化规律近似描述为
(12)
对经过卡尔曼滤波处理的实验弹道数据: (v1,t1),(v2,t2),…,(vn,tn),由线性最小二乘法得,拟合目标函数为
(13)
通过高斯消元法得出在测试误差允许的条件下,表征弹丸飞行速度随时间的变化规律的最优表达式:
(14)
式(14)即为描述弹丸速度-时间规律的最终方程,当飞行时间为0,即可得出弹丸初速。
本文研究的弹道仿真及分析软件的设计实现是建立在Android平台既定的基本框架之上。基于Android平台的特点及上述理论模型,本文在Android-SDK-Studio提供的运行环境下实现整个程序的框架如图1所示。
图1 程序框架图Fig.1 Picture of program architecture
Activity是应用程序的门面,完成既定的每一个功能模块下的Activity的布局对Activity的功能实现有着重要的指导意义。为了使软件整体布局更为灵活,同时方便用户输入仿真计算所需参数,本文通过嵌套使用相对布局方式、线性布局方式来构造相关界面[11-12],如图2,3所示。
图2 软件界面图Fig.2 Picture of software interface
图3 参数输入界面图Fig.3 Picture of parameter input
弹道仿真分析软件程序的设计重点为:在Android平台提供的运行环境下使服务层内仿真计算、滤波处理、初速拟合、 图像绘制得以实现。现提取程序内的主要设计类如图4所示。
图4 服务层内主要功能类图Fig.4 Main function of service layer
进行弹道仿真计算及相关曲线绘制时,为了提高运行速度同时减少操作步骤,本文同时开启弹道计算线程与实时曲线绘制线程,通过定义多个动态数组将实时弹道数据直接传递到图像绘制类。在不影响曲线效果前提下,3DOF,6DOF模型采样间隔分别取0.05 s,0.01 s,然后通过Intent方法转换Activity界面,提供计算结果和图像的反馈。进行实验数据滤波处理前,为了提高量测数据文件传输速率及可靠性,本文采用USB协议直接从主机下载接收量测数据并将其导入程序数据层[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平台弹道计算实时性优化设计
由于基于X86处理器的Windows平台和基于ARM处理器的Android平台在兼容性、处理能力和功耗等方面有很大不同,如果将Windows平台中的算法直接应用到Android平台中可能会带来执行效率降低,BUG增加,内存溢出等问题。因此为了在Android平台中实现相关功能,同时提高代码执行效率,本文采用如下优化方法[14]。
使用实体类。本文所建立的相关功能类都为实体类,因为调用一个实体类对象比接口引用效率高。但在Windows平台下,由于接口的多态性,同时为了便于程序二次开发和维护,应多采用接口引用。
使用静态方法及本地方法。对于不需要访问类成员的方法,本文在定义时,多数声明为静态方法。因为静态方法的执行效率高于虚方法。同时,本文多采用Java类库内方法实现相关功能而非重新编写。如在进行初速拟合,读取文件内滤波数据时,使用String类的split()方法将字符串还原为数组。在Windows平台下,由于虚函数便于扩展、维护,故从程序设计角度来说,使用虚函数好处更大。
使用本地变量。访问成员变量比访问本地变量要慢。因此,本文将需要多次调用的弹道诸元变量缓存到本地,同时对于非常用类成员,也多采用直接访问方式,而非通过getter与setter方法。但在Windows平台下,使用getter与setter方法可以方便地增加额外功能,任意管理变量生命周期和内存存储方式。
3.2两个平台计算结果对比分析
本文以旋转稳定无控弹为例,对其进行仿真计算。将6DOF弹道模型计算生成的弹道数据,假设为在靶场实验时弹丸的真实飞行数据,通过叠加高斯随机函数引入系统噪声误差,形成雷达量测数据。在靶场实际应用时,本文采用USB协议直接从主机将雷达量测数剧导入软件当中。然后利用卡尔曼滤波方法对量测数据进行处理,滤除雷达测量信号中的随机噪声。根据文献[15]知,合理的选取雷达量测数据量是十分必要的,因为过分的增加量测数据,将会使弹道解算的时间增加,而精度的提高却有限。而且Android平台相对于Windows平台,硬件性能较弱。因此在基于Android平台进行运算时,雷达跟踪时间取6~8 s,采样间隔取0.2 s,雷达测量误差σx=5 m,σy=10 m,σz=5 m。卡尔曼滤波预测弹丸飞行轨迹如图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平台的弹道仿真及数据分析软件的设计与实现。弹道仿真及数据分析软件作为一款针对野外靶场实验人员的辅助性软件,具备了进行弹道仿真计算及对实验弹道数据进行分析的功能。进行实验前,可以先通过3DOF,6DOF弹道模型进行弹道仿真计算,对实验结果有一个预估。实验结束后,导入量测数据,通过调用卡尔曼滤波方法对数据进行去除噪声处理,然后将实验弹丸轨迹绘出,并外推弹道落点,计算弹道偏差。除此之外该软件还有初速拟合、GPS等实用小功能。虽然与基于Windows平台的计算机相比,该软件运行速度并不完美。但是基于Android平台的软件有其独特优势,操作简单、携行方便、功耗小。而且随着便携设备硬件技术的高速发展和Android 系统不断更新,再加上后期对相关代码与算法不断优化,使之运行速度与精度不断提高,定能给相关领域人员提供更好帮助。
表1 不同平台的仿真及预测结果Table 1 Simulated and forecasted results of different platform
[1] 周泽云,向阳霞,邹渝,等.Android 系统在装备保障信息系统中的应用[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平台嵌入式弹道仿真系统研究与实现[J].系统仿真学报,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] 王中原,周卫平.外弹道设计理论与方法[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,FANG 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] 徐明友.现代外弹道学[M].北京:兵器工业出版社,1999:128-141.
XU Ming-you.Model External Ballistic[M].Beijing:Publishing House of Ordnance Industry,1999:128-141.
[7] 鲁健辉,刘代军,杨林冲.2种卡尔曼滤波算法的应用分析[J].现代防御技术,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].现代防御技术,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].北京:兵器工业出版社,1994:145-146.
LIU Shi-ping.Bullet Velocity Measurement and Data Processing[M].Beijing:Publishing House of Ordnance Industry,1994:145-146.
[11] 邵翔,徐日.基于Android的事务管理型应用软件的设计与实现[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手机/平板电脑开发新挑战[M].北京:电子工业出版社,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协议在嵌入式系统文件传输中的应用[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移动开发优化策略[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 江苏省南京市孝陵卫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