基于虚拟场景的捷联图像制导半实物仿真关键技术*
2011-12-07陶声祥王书宇
陶声祥,王书宇,沈 欢
(解放军炮兵学院,合肥 230031)
0 引言
捷联图像制导是将成像导引头直接与弹体刚性捷联,通过CCD获取前方目标场景,由无线电传回遥控中心并在其视频图像中找到目标,计算出偏差量输出导引指令给导引头,再通过弹上控制系统调整舵机偏转进行目标修正,最终准确命中目标[1]。
文中介绍的基于虚拟场景的捷联图像制导半实物仿真系统是将导引头实物和遥控中心引入回路,创建一个接近真实飞行场景的仿真平台。该仿真平台不仅能为测试、改进导引头和目标识别与跟踪算法提供试验条件,并能同步显示出弹丸的实时受控飞行弹道和相关数据。
1 系统结构及工作原理
基于虚拟场景的捷联图像制导半实物仿真系统是由虚拟场景生成系统、仿真控制工作站、多通道投影系统、遥控中心、三轴转台和导引头组成,如图1所示。
图1 基于虚拟场景的捷联图像制导半实物仿真系统框图
工作原理:虚拟弹丸开始制导时,先由仿真控制软件将弹丸的当前位置和姿态传给虚拟场景生成系统,分别产生弹丸飞行和目标仿真场景,由多通道投影系统分别投影到一个宽屏和一个大屏幕上;捷联图像制导导引头从大屏幕上获取目标视频图像,传给遥控中心,遥控中心根据目标识别与跟踪算法,结合外弹道控制模型,计算出制导指令并传给仿真控制工作站和导引头;仿真控制系统通过内置的制导弹动力学、运动学等数学模型解算出弹体在下一时刻的空间位置和姿态角,并将这些参数传给虚拟场景生成系统,重绘并刷新这两个场景,同时将弹体姿态角传给三轴转台,通过伺服系统实现导引头的姿态变化,完成遥控中心对制导弹的一次控制工作过程,再获取下一帧视频图像,继续控制,如此反复,直至结束。
2 系统关键技术及其实现
2.1 虚拟场景生成系统
系统硬件如图2所示,由多台图形工作站和光纤网组成。系统软件由仿真引擎、场景配置模块、场景和模型库组成,采用分布式多通道渲染。仿真引擎由Vega Prime 2.01[2]和OpenGL混合编程实现。场景配置模块可根据需求选择不同的场景,场景使用Creator建模(内建丘陵、平原、海面等三维广域地形;制导弹三维模型;坦克、装甲车等军事目标模型以及模拟雨、雪、雾天气等)。该系统内建3个独立输出通道(通道1~3)。通道1、2中视点位置重合,沿观察方向拼接显示弹丸飞行场景,在通道中通过场景叠加绘制弹道、各类辅助线和飞行参数等;通道3中视点设定在虚拟导引头处,观察方向与弹体中轴线重合,用于输出目标仿真场景。如何进行场景叠加和配置是两个最难解决的问题。
图2 分布式渲染硬件结构框图
2.1.1 场景叠加
弹丸飞行场景中需要叠加绘制各类辅助线和汉字,由于VP提供的叠加功能有限,如叠加字符功能仅限英文字符[3],而不能叠加汉字。其解决方案是在VP中嵌入OpenGL代码来实现灵活多变的叠加绘制。具体做法是声明一个类,继承vsChannel类中的Subscriber,重载notify函数。在重载函数的实现过程中加入需要绘制的OpenGL的代码,实现各类辅助线和汉字的叠加绘制。关键代码如下所示:
class CVPChannelSubscriber∶public vsChannel∶∶Subscriber
{
virtual void notify(vsChannel∶∶Event event,
const vsChannel*channel,vrDrawContext
*context)
{
MyCode();//这里添加OpenGL代码
}
}
由于VP中默认视线是沿着y轴,而OpenGL中默认视线是沿着z轴,因此还需要进行转换将两者的视线方向统一起来。
2.1.2 场景配置模块设计
场景配置模块用于选择不同的场景(如地形、目标类型、目标位置及运动方式、天气、观察视点的位置和角度等)。通常做法是在文件中进行配置,缺点是不直观。该系统按照“所见即所得”的原则,为用户提供了一个方便快捷的配置界面。
图3 内存映射文件中的数据结构
受到 VP本身功能限制,配置界面无法由VP进程产生,为此把场景配置模块设计成一个单独的MFC窗口程序,由它启动VP进程,并完成用户操作。这种方案的难点在于这两个进程之间需要进行快速有效的通信和数据交换,综合考虑实现的快捷性和通信性能,采用共享内存映射文件的方式。
内存映射文件中的数据结构如图 3所示,由MFC进程与VP进程共享。系统中的VP进程是一个控制台程序,不能通过消息响应机制与MFC进程交互。为此,在VP进程中创建一个数据队列,启动一个单独的线程,不断的读取该内存映射文件并检测是否有操作消息。若有,则将共享数据放入数据队列中,同时渲染主循环不断的从队列中取数据进行处理,完成操作。另外,由于MFC进程是一个独立的窗口应用程序,它本身具有接收消息的功能,只需向其发送Windows消息即可。
2.2 弹-目相对运动关键参数的计算
图4 导引头-目标场景相互关系图
如图4所示,当导引头偏转一定角度时,其光学中心延长线与大屏幕投影幕交于A点,以自身最大视场角建立观察体,观察体在大屏幕上形成摄像区V3。VP中指定的虚拟视点等同于导引头的光学中心,虚拟视点的偏转角应随时与导引头保持一致,则由视点生成的虚拟场景V1在大屏幕上的投影中心与A点重合。假设全部投影出来,则为虚拟投影区,其中两边与大屏幕边缘重合。由于只能在大屏幕上投影,所以要对V1进行裁剪,将裁剪后的场景V2投影在大屏幕上[4]。为实现上述目的,必须计算虚拟场景的裁剪比例和虚拟视点的视场角。
2.2.1 计算虚拟场景的裁剪比例
记V1的长与高分别为L1、H1;V2的长与高分别为L2、H2,则裁剪比例如下:
2.2.2 计算虚拟视点的视场角
记虚拟视点的水平、垂直视场角分别为α′和β′;导引头水平、垂直视场角分别为θ和γ;f为大屏幕的水平分辨率,d′为VP中虚拟视点沿观察方向与地面之间的距离;W1、W2分别为V1和V3的水平长度(像素),则有:
2.3 系统实时性和子系统之间的协调同步
为实现各子系统之间的实时数据通讯,在每个主机上插入VMIC反射内存卡,通过光纤连成一个星形VMIC反射内存实时网络[5],以确保整个系统的实时性。由仿真控制工作站控制各分系统之间的协同同步,使用CPU时间戳和多线程技术,完成高精度计时器,可达到纳秒级的计时精度。
系统可根据不同类型的制导弹选择相应的外弹道迭代算法,以迭代时间步长作为仿真步长,发送控制指令进行协调同步。
3 总结
文中主要讨论研究了基于虚拟场景的图像制导半实物仿真系统中的关键技术,并提出了相应的解决方案,本系统已成功应用于某型捷联电视制导弹武器系统的半实物仿真试验中,取得了令人满意的效果。
[1]黄世奇,禹春来,刘代志,等.成像精确制导技术分析研究[J].导弹与航天运载技术,2005(5):20-25.
[2]王乘,李利军,周均清,等.Vega实时三维视景仿真技术[M].武汉:华中科技大学出版社,2005.
[3]MultiGen-Paradigm Inc.MultiGen-Paradigm Inc Vega Prime Programmer's Guide Ver 2.0[M].2005.
[4]吕品,张金芳.分布式仿真系统的多通道视景生成[J].系统仿真学报,2007,19(6):1291-1295.
[5]高立娥,康凤举,王彦恺.一种基于反射内存实时网络的半实物仿真系统[J].计算机仿真,2004,22(3):29-32.