1. 引言
在武器性能试验中,通常需要获取多维参数,如弹丸的初始扰动、姿态、初速、着速等,为试验评估鉴定提供数据支撑。然而现有的测试方法通常独立开展,没有深入挖掘测试数据间的相互关系,评价能力得不到提升 [1]。因此,针对测试系统繁多、信息孤岛、数据査询繁琐、测试数据不直观和缺乏综合处理的手段等问题,将测试中的离散数据进行集成,挖掘多维数据间的关系,再现武器试验中不同时刻下弹丸飞行过程,构建切实可效的可视化平台 [2] [3] [4] [5],有助于从不同的视角观察和分析所有获取的测试数据,提高目标运动综合分析处理的能力。
在航天领域,美国Analytical Graphics公司开发的商业软件STK能够支持对于如火箭发射、绕轨运动、释放卫星等航天任务全过程的可视化,可对卫星的位置、姿态和遥感器覆盖能力等内容进行分析。而对于常规武器中的不同测试项目中各种数据,缺乏集成的数据管理、数据可视化系统。
本文从目标飞行过程入手,将在试验中弹丸飞行过程中的测试数据进行集成,融合对弹丸飞行的流场仿真数据,加载在基于纹理数据的弹丸、火炮等模型中,再现武器飞行过程中的试验场景。利用OGRE搭建基于纹理重建三维模型的可视化平台,将弹丸飞行过程中的不同类型的实测数据和仿真数据进行格式统一,时序对准后作为输入,人机交互看到的整个试验过程作为输出,实现在弹丸飞行过程中的数据集成和可视化仿真。
2. 可视化平台结构
可视化平台主要分为目标飞行基本模型,三维可视化模型,如图1所示。目标飞行基本模型包括弹体、火炮和场景模型、目标运动数据模型包括实测数据以及飞行的流场仿真数据 [6]。其中弹体模型和火炮模型通过模型重构得到.Obj格式文件后导入3DsMax等商业软件,而后导出mesh文件格式加载在平台中;弹丸运动的数据通过试验过程中的实测数据得到;将弹体运动的数据模型作为弹体模型的驱动,即可实现弹丸飞行的运动;弹丸飞行的流场数据由流场仿真得到 [3]。三维可视化模型通过OGRE引擎实现,将三维运动场景转换为二维观察平面的过程,通过调整观察参数,实现从不同的视口、不同的视角、不同距离观察弹丸飞行过程中的状态。其中在基于重建三维实测模型的OGRE平台中还多了流场仿真的可视化结果,可视化结果可根据平台刷新频率加载流场仿真结果。其中对于不同测试项目的数据、以及仿真数据均需要进行统一格式处理,时序对准。之后再把所有上述提到的数据统一导入到OGRE引擎构建的可视化平台中。
2.1. 弹体、火炮和场景基本模型
模型的构建方法如图1所示:第一种是通过已知目标几何尺寸生成三维模型,通过三维画图软件建立基本模型,而后贴图生成模型纹理,如图1(a);第二种是利用三维扫描设备直接对目标进行扫描,重建获得目标的三维几何模型,如图1(b);第三种是利用结构光投影原理,使用相机相对目标在不同位置进行拍摄,获取多幅图像,根据计算机视觉的原理实现目标三维模型的构建,如图1(c)。其中,该三种类型的模型的通用格式为.obj格式,可直接经过3DsMax的EOEMax插件处理导出成.mesh格式文件,再导入OGRE平台中。
(a)
(b)
(c)
Figure 1. Methods of generating projectiles, artillery and scene models
图1. 生成弹体、火炮和场景模型的方法
2.2. 目标运动数据模型
弹丸运动的数据包括:世界坐标系的定义,各时刻弹丸的位置坐标
,各时刻弹丸的姿态包括偏航角
、俯仰角
、攻角
。弹丸各时刻的速度,可由对各个时刻的位置坐标求导得到。需将弹丸的质心坐标在弹体坐标系下确定,将弹丸的位置坐标和速度坐标加载在弹丸的质心上,实现弹丸在空间中位置和速度的改变。将弹丸运动的各个位置点上,将偏航角和俯仰角加载在弹丸质心与弹头的连线与地面水平面的夹角上,将攻角加载在弹丸质心与弹头连线和弹丸速度方向的夹角上,则可得到速度方向。
以某型榴弹炮验证试验的试验数据为例,将得到的测试数据进行归类划分,分成火炮和弹丸两类,而后进行时序对齐,最后线性插值得到最终的序列点,最终生成的测试数据的数据格式如表1所示。

Table 1. Unified format of test data sequence
表1. 测试数据时序统一后格式
2.3. 目标流场仿真数据
可视化平台需要加载的流场动态数据如图2所示。
(a) 压力场动态数据
(b) 温度场动态数据
Figure 2. Target flow field simulation data
图2. 目标流场仿真数据
2.4. 三维可视化模型
本文中采用OGRE渲染引擎作为数字仿真场景的图元渲染工具,分析三维场景由几何模型构建通过GPU渲染管线后在成像窗口上生成二维图像的过程。图3所示为OGRE搭载引擎的GPU渲染管线流程,该流程可分为三维模型构建、模型插件导出几何信息、坐标变换、图元装配、光栅化操作、像素着色、图像帧缓存等过程,最终将三维场景以模拟摄像机在特定视口下的二维成像的形式显示在渲染窗口上。

Figure 3. GPU primitive drawing pipeline process
图3. GPU图元绘制管线流程
3. 某型榴弹炮飞行过程可视化平台搭建
3.1. 可视化平台实现功能
利用OGRE渲染引擎搭建的可视化平台,主要可实现以下功能:
1) 完成基于实测图像的地形、天空、火炮、弹丸模型的加载;
2) 对于在试验中实际测量的火炮扰动数据、弹丸运动参数数据,进行实时运动参数确定与加载,驱动火炮、弹丸模型运动;
3) 对于实际测试的初始条件和边界条件,运用流体仿真手段,仿真弹丸从出膛口开始到膛内火药排空为止的温度场和压力场数据,并根据实测数据的时间在平台中进行温度场和压力场数据的加载。
4) 对火炮、弹丸的运动参数数据和流场仿真数据进行实时显示,包括火炮炮管和制退器的位移,弹丸的攻角和位置,温度场和压力场的显示。
5) 完成人机交互过程:操作人员可根据鼠标、键盘实现观察窗口和视角的变化,可跟随弹丸的运动观察整个武器发射过程。
3.2. 实测数据动态加载
3.2.1. 炮管和炮身的扰动
在炮管和炮身特定位置贴上标志点,事前对标志点进行标定,在试验过程中利用高速相机对武器发射过程进行拍摄 [7]。拍摄后对标志点的平面运动状态进行分析,从而得到炮管炮身的水平和竖直位移。利用水平和竖直位移的数据量,驱动绑定在可视化平台中对应的炮管和炮身的节点上,通过节点的位移传递到实体模型的位移,实现炮管和炮身实体模型的扰动。表1数据中的炮管位移,即为在测试数据中进行线性插值后得到,并将其加载到平台中。图4 为不同时序下的炮口扰动。

Figure 4. Disturbance of the barrel at different timings
图4. 不同时序下的炮管的扰动
3.2.2. 弹丸运动参数的插值模型
本可视化模型假设在测量系统中不存在有系统误差,只存在有纯偶然误差,并且误差符合正态分布,最后误差的均值为0。在这样的假设前提下,通过高速摄影得到特定时间对应弹丸的位移及平均速度,对其使用最小二乘插值,即可得到一系列对应时间的位移以及速度。利用水平和竖直位移的数据量,驱动绑定在可视化平台中对应的炮管和炮身的节点上,通过节点的位移传递到实体模型的位移,实现弹丸实体模型的运动。图5为不同时序下的弹丸运动。

Figure 5. Projectile movement in different time series
图5. 不同时序下的弹丸运动
3.2.3. 仿真数据动态加载
对于流场仿真数据,由于仿真的步长为0.0001 s,在某型榴弹炮飞行20 m时会生成2800个以上时间节点的数据。因此选取其中关键时间特征点 [8],压力仿真结果如图6所示。其中颜色对应的压力值大小对应视场左侧的颜色柱。

Figure 6. Simulation results of pressure field during weapon launch
图6. 武器发射过程中压力场仿真结果
由于对武器发射过程中压力场和温度场进行的是二维仿真,仿真区域为沿炮管的轴对称截面,因此将结果导入三维可视化平台时,只有视口在垂直于炮管的轴对称截面上才为图示的仿真结果。那么进行人机交互旋转视角时,二维的流场仿真结果也需要进行旋转:由于是轴对称图形,只要找到这个视角与对称轴的关系,根据此关系对二维图进行旋转即可。
3.2.4. 仿真数据动态加载
数据显示的内容包括文字内容位置、攻角、速度、横向速度、纵向速度、加速度、横向加速度、纵向加速度、时间,以及流场中温度场和压力场的颜色柱,如图7所示。
3.2.5. 人机交互热键
人机交互过程中使用的热键包括:
数字1:实现场景镜头转到炮身和炮管,重点关注炮身炮管的扰动;
数字2:实现场景镜头转到弹丸,并实现与弹丸运动的同步跟踪,重点关注弹丸的流场分布与攻角;
数字3:实现场景镜头转到弹丸,视角不随弹丸运动,重点关注弹丸不同位置的流场分布;
方向键up:实现整个场景镜头的往前移动;
方向键down:实现整个场景镜头的往后移动;
方向键left:实现整个场景镜头往左移动;
方向键right:实现整个场景镜头往右移动;
方向键PageUp:实现整个场景镜头往上移动;
方向键PageDown:实现整个场景镜头往下移动;
鼠标左键长按点击时移动:实现镜头在固定位置的俯仰、偏航视角。
鼠标左键点击时:实现弹丸自身周围亮度的改变。
3.3. 结果显示
综合实体模型、流场数据以及驱动数据,可视化平台加载数据后显示如图8所示。
(a) 可视化平台加载压力场
(b) 可视化平添加载温度场
Figure 8. Display after loading data on the visualization platform
图8. 可视化平台加载数据后的显示
4. 结论
本文在基于实际测试项目的数据进行格式统一,时序对齐后,利用OGRE引搭建了可视化平台,实现了基于图像纹理的实体模型动态加载和流场仿真数据的动态加载,并具有数据显示和人机交互功能。
在平台搭建过程中运用到的不同测试数据时序对齐方法,数据格式统一方法,线性插值方法,能够有效地将不同测试项目不同时间下的数据进行整理,便于数据集成和数据查找,为实现武器试验中所有测试项目测试数据的集成和可视化,提高目标运动综合分析处理的能力奠定基础。但本文的不足在于,在对数据进行集成和可视化之后,缺乏对数据深入挖掘和融合分析,之后还需要对综合的数据如何处理分析进行思考。