火炮装填系统实时三维人机界面显示技术研究

2014-07-02 01:28张瑞霞魏宁波郑海鹏潘江峰
火炮发射与控制学报 2014年1期
关键词:人机界面火炮总线

张瑞霞,魏宁波,郑海鹏,潘江峰

(西北机电工程研究所,陕西咸阳 712099)

火炮装填系统实时三维人机界面显示技术研究

张瑞霞,魏宁波,郑海鹏,潘江峰

(西北机电工程研究所,陕西咸阳 712099)

实现了一种火炮装填系统三维实时显示的人机界面,将传统虚拟现实与总线通信技术结合起来,形成一种三维模型+数据驱动的模式。通过CAN总线采集现场传感器数据并根据通信协议进行数据处理,再将运算后的数据赋予部件模型对应的变量,使界面显示出当前部件模型的实时运行状态,从而在操作终端实现与实际装填系统状态准确一致的虚拟视景。此方法达到了可视化的实时显示效果,增强了操作手的真实感,以及作战指挥人员的真实性和交互性,提高了指挥自动化系统的实用性。

火炮装填系统;现场数据;三维;虚拟样机;人机界面

1 人机界面显示方式的发展

上个世纪50年代初,火炮装填系统人机界面的形式是由按钮式开关和显示灯组成的简单通断信号,这一阶段没有图形化的界面显示。随着计算机信息科技的发展,装填系统人机界面的状态显示形式转变为一种由计算机和可编程终端所组成的可以生成一系列二维符号曲线图表的方式。这种工作方式是从可编程控制器、各种数据采集卡等现场设备中采集实时数据,发出控制命令并监控系统运行是否正常,同时进行二维图形显示和描述。随着装填控制系统复杂度的提高,二维图形的显示已不能满足需求,人们可以使用计算机来精确地再现现实世界中的三维物体,通过计算机图形学来实现模拟现实物体的目的。在运用三维人机界面显示技术时,国外也进行了相应的研究,如德国的Donar模块化火炮终端界面就是对实际的装填系统运行状态进行了全面三维仿真显示。这种方式能够充分显示装填系统的动作流程,使得操作者更加清晰直观看到火炮的运行状态,并快速对系统作出响应,大大提高了终端界面的可视化程度,操作更加便捷[1]。

2 实时三维人机界面组成与特点

装填系统实时三维人机界面的硬件装置由装填手终端、装填控制器、各输入开关、位置传感器、驱动器件及半自动辅助运行开关等组成。装填手终端是一个带3D图形加速卡和总线网络接口的嵌入式计算机,它是整个装填控制系统状态人机交互的主体,是装填系统综合信息的显示窗口和控制指令的主要操作窗口,通过总线网络接口与装填控制器、火指控系统保持信息通信和实时数据交换,完成现场指令的采集;装填控制器主要完成输入输出采集、驱动,根据控制系统工作状态及火指控指令实现流程控制、弹药管理等功能,并通过CAN总线保持与装填手终端的数据交换,传递设备状态及运行状态等信息;输入开关和驱动器件包括:行程开关、光电编码器、伺服电机、电磁阀和比例阀等,由装填控制器对其进行采集和相应控制;位置传感器是各运动部件运行到位时的感应器,通过传递位置传感器的现场数据值来实现实时显示;半自动辅助运行开关是指在线人工装填、弹药人工补给和人工开关闩的情况下,为配合控制系统完成协同动作所需的动作衔接开关,是装填系统射速和安全性的必要保证。

装填系统人机界面的主要特点是将传统虚拟现实技术与总线通信技术结合起来,形成一种模型+数据驱动的模式。即首先通过现场数据驱动模块经由CAN总线采集现场传感器的数据,再通过三维仿真生成模块将运算后的数据赋予部件模型,从而在终端实现装填系统的实时三维显示。

界面采用计算机图形学技术,针对装填系统的特点及工作流程,设计开发了一个装填系统的三维人机界面显示系统,装填手终端与装填控制器进行实时通信,采集CAN总线传输的现场传感器数据,从而使虚拟样机与实际装填系统状态准确一致。整个装填系统实时三维人机界面体系架构如图1所示。

3 人机界面各模块技术分析

该装填控制系统中三维人机界面的设计首先要对每个运动部件进行三维建模,建立合适三角形数量的部件模型,使用Direct3DAPI图形开发技术,在Visual Studio.NET平台下设计而完成,人机界面的实现主体由控制界面模块、现场数据驱动模块和三维仿真生成模块三个部分组成。

3.1 控制界面模块

该模块主要是一个友好简洁的人机交互控制面板。界面主窗体主要包括火指控通信区、运行状态显示区和三维模拟仿真显示区。火指控通信区通过CAN总线局域网与上位计算机连接通信,并显示通信数据;运行状态区显示系统的运行状态、运行时间等;三维模拟仿真显示区中,用户可根据需要在装填过程中对不同视角的显示手动进行相应选择,或者系统针对观察者自动以最佳视角角度对动作流程轨迹进行三维仿真的跟踪模拟显示。

3.2 现场数据驱动模块

如图2所示,实现装填系统的实时三维显示,需在装填系统人机界面装置的计算机内存中创建一块数据存储区域,用来存储CAN总线的实时通信数据。通过内存共享接收CAN总线实时数据,需要完成以下两步:

1)装填控制器采集现场传感器实时数据并根据通信协议打包,上传至装填系统内部CAN总线,同时写入内存共享区域中。

2)人机界面中的现场数据驱动模块从内存共享取得内部CAN总线上的实时数据包并进行解包,将数据赋予对应的变量,供三维仿真生成模块使用。

在具体实时显示时,图2中的3个程序架构都需做好准备。在CAN通信程序架构中,要先在内存中开辟一块数据存储区域,按照CAN通信协议发送或者接收总线上经过传感器传来的实时数据,并将需要发送或接收的实时数据按顺序排放在开辟好的内存共享区域中;在内存共享程序架构中,需要有创建、打开和关闭内存区域的程序,供CAN通信和人机界面调用;在人机界面程序架构中有3个程序模块,现场数据驱动模块首先将总线上各传感器标定数据进行打包,由控制界面模块实时调用,三维模型需要用到现场数据时,再通过现场数据驱动模块对实时传来的打包数据包进行解包,将解包数据进行坐标转换运算,再赋予模型,完成动态仿真的虚拟显示。这种通过内存共享实现人机界面与CAN总线实时交互的技术方法,大大提高了显示系统的时效性。

在数据驱动的三维仿真系统中,用户输入的动作仿真程序必须经过编译、速度计算和信息过滤等多种数据处理后,才能被终端程序使用。所以数据处理相当于仿真系统的指挥中心,以程序行为单位处理模块程序函数,将仿真系统中的各种数据编译成便于计算机处理的数据包格式,存放在指定的内存专用区域。在装填动作运行过程中选取逐行读取、分析和画图的方式,有利于提高系统实时性和直观性。最终生成的重要数据,系统自动存储以便通过CAN总线局域网通信与主控计算机进行数据传送。

3.3 三维仿真生成模块

根据数据处理模块传递的指令在控制面板的显示窗口中动态演示装填过程。此时根据需要,对演示的场景及图像的观察视角和位置可进行调节,这就需要针对不同需求进行相应的观察变换。观察变换确定观察者在世界空间中的位置,把顶点变换到摄像机空间。在摄像机空间,摄像机(或观察者)在原点向正z方向看(Direct3D使用左手坐标系,所以z的正方向指向场景)。观察矩阵把世界空间中的对象围绕这一个摄像机的位置(原点)和方向重新定位。创建观察矩阵的方法,就是把一个平移矩阵同旋转矩阵关于每个轴组合起来。表示为

式中:W 是被创建的观察矩阵;T是重新定位世界中对象位置的平移矩阵;Rz、Ry、Rx分别是围绕z,y和x轴旋转对象的旋转矩阵。平移和旋转矩阵是基于摄像机在世界空间中的逻辑位置和方向的。

平移变换为

缩放变换为:

旋转变换为:绕x轴旋转:

绕y轴旋转:

由此可知,进行坐标变换的实质就是变换描述坐标系统的矩阵,在进行了坐标变换之后,三维坐标的场景才能投影到二维屏幕上。

考虑到计算机显卡的性能,采用合适数量的低多边形实体建模方式,使得模型的三角形数量可以足够的小,这样在三维显示渲染时可以显著地提高图像显示速度,从而达到实时显示的效果。模块主要利用三维造型软件3dsMAX进行整体部件低多边形建模,用Direct3DAPI实现了装填系统的三维仿真显示。首先利用3dsMAX进行实体部件建模并保存为多个数据文件,通过程序调用对应文件到Direct3D环境设置中,根据这些文件所需使用的矩阵、视口以及光线来建立T&L流水线[3],即通过世界转换、视图转换、照明和裁减,将其投影到屏幕空间,并根据视口的规定进行缩放。最后在Direct3D图形库中,利用双缓存技术,使前后帧不断调换,从而实现连续动画的效果。

下面以弹协调器为例说明动态仿真的全过程。首先运用三维造型软件建立低多边形的弹协调器模型,模型中包括弹、弹协调器、托弹盘、抱弹、挡弹板四个部件,对应的模型矩阵取名为弹、弹协调器、弹协调器-托弹盘、弹协调器-托弹盘-抱弹、弹协调器-托弹盘-挡弹板,将这4个模型分别存储为.x的文件格式,在Visual Studio.NET平台下,人机界面的三维仿真生成模块中调入对应仿真部件模型的名称.x文件,再设置Direct3D的环境,包括不同角度的光线、材质和视口,在人机界面的显示终端上就呈现出静态时的弹协调器状态。三维动态仿真时通过内存共享程序将CAN总线上实时传感器数据调入,如果接收到“弹协调器上升”的信号,就为弹协调器的材质调入运行时的材质。当收到“弹协调器翻转末位开关”为True时,弹协调器-托弹盘矩阵需要将弹协调器矩阵和某一个经过Rotation和Translation运算后的矩阵相乘,而使得弹协调器-托弹盘精确定位到翻转到位的位置;当收到“弹协调器抱弹油缸初位开关”信号为True时,矩阵将弹协调器-托弹盘和一个经过Rotation和Translation运算后矩阵相乘,而使弹协调器-托弹盘-抱弹定位到目标位置;就这样,目标部件的运行相对其他部件经过一定的角度旋转和位移移动而达到目标位置的精确定位,从而,在人机界面终端装置实现与实际装填系统状态准确一致的虚拟弹协调器模拟的过程。以此类推,可以实现整个火炮装填系统各个运行部件的虚拟仿真。

三维人机界面最重要的一部分内容就是如何快速简便地对复杂虚拟结构模型进行三维建模以及对模型进行人机交互控制。在计算机上用逼真的三维几何造型构建一个实时信息环境,使得用户如同在现场一样,能完全真实地以图像的形式观察装填系统执行中每个结构部件的各种状态和各种运行参数,可大大提高客户端的真实感[4]。装填系统的三维仿真模型如图3所示。

4 结束语

火炮装填系统实时三维人机界面是针对火炮结构动作过程和信息环境构建了一个虚拟样机,是对真实装填系统在更高层次上的抽象,是三维图形技术在火炮人机界面上的一次探索。通过低多边形的实体建模方式,使得模型的三角形数量可以足够的小,在实时渲染时可显著地提高图像显示速度,减少计算量,达到实时显示的效果。这种开放直观的图像效果和简便实用的操作方法,可使操作手全面直观地观测到火炮装填结构动作的实时运行状态,充分体现其实时直观性和交互真实感。

(References)

[1]王长斌,陈运生,杨国来.虚拟自行火炮分布式实时动力学仿真系统[J].计算机工程,2001,27(9):35-36.WANG Chang-bin,CHEN Yun-sheng,YANG Guo-lai.The distributed real-time dynamics simulation system of the virtual self-propelled artillery[J].Computer Engineering,2001,27(9):35-36.(in Chinese)

[2]武永康.Direct3D原理与API参考[M].北京:清华大学出版社,2001.WU Yong-kang.The principle of Direct3Dand its API reference[M].Beijing:Tsinghua University Press,2001.(in Chinese)[3]Peter J Kovach.Direct3D技术内幕[M].李晔,译.北京:清华大学出版社,2001.Peter J Kovach.The technological insider of Direct3D[M].LI Ye,translated.Beijing:Tsinghua University Press,2001.(in Chinese)

[4]刘雷.火炮虚拟样机研究[J].系统仿真学报,2005,17(1):111-113.LIU Lei.Research on the virtual prototype of the artillery[J].Journal of System Simulation,2005,17(1):111-113.(in Chinese)

Display Technology Research of Gun Loading System in 3D and Real-time Man-machine Interface

ZHANG Rui-xia,WEI Ning-bo,ZHENG Hai-peng,PAN Jiang-feng
(Northwest Institute of Mechanical &Electrical Engineering,Xianyang 712099,Shaanxi,China)

A kind of man-machine interface that can display the gun loading system in 3Dreal-time was designed to form a mode of 3Dmodel &data drive by use of combining the traditional virtual prototype technology with bus communication technology.Field sensor data were collected by means of CAN bus,and data process was performed according to communication protocols.Corresponding variable quantity of the component model with processed data were decided and thus to display the real-time running state of the current component model,and the virtual prototype can realize the accuracy and consistent virtual scene agreed with the actual loading system at the operation terminal.This method can obtain the real-time display effect of visualization,enhance the reality sense of operation staff as well as the authenticity and interactivity of combat command personnel,and greatly improve the practicability of the command automation system.

gun loading system;field data;3D;virtual prototype;man-machine interface

TJ302

A

1673-6524(2014)01-0088-04

2013-08-15;

2013-10-14

张瑞霞(1982-),女,硕士,工程师,主要从事火炮控制与计算机图形学理论与应用研究。E-mail:651356897@qq.com

猜你喜欢
人机界面火炮总线
浅谈无锡地铁信号系统人机界面的应用与研究
火炮也减肥
现代汽车人机界面(HMI)设计趋势
一种基于CAN总线的误码测试方法
人机界面设计中的心理学因素
乌拉尔车辆厂将建立一条自动化生产线
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计
人机界面设计概述
宝马F02车总线系统