某型航空侦察设备转运仿真训练系统设计与实现∗

2020-03-03 12:25赵育良苏媛媛王淑娟
舰船电子工程 2020年1期
关键词:控件规程二次开发

赵育良 苏媛媛 王淑娟

(海军航空大学青岛校区 青岛 266041)

1 引言

作为高精密航空光学设备,某新型航空侦察装备为了满足远程侦照的需要,需加装长焦镜头,其体积和重量都较普通侦察设备更大,而由于其维护工作主要需围绕工作房和飞机上展开,需实现对相机的安装、运输等工作。整个运输和安装过程的保障由运输装卸车、相机装卸滑车、设备检测搁置车、相机吊装平平衡架和吊车等组成,操作过程复杂,精度要求高,需要经过反复训练才能达到规程要求。该工作传统的训练方式往往是利用维护规程、多媒体、录像和教材等资源结合实装训练开展,这些训练方式可交互性差,训练费效比高,且存在受训人员数量和时间难以保证的缺陷[1~2]。基于此,结合维护规程要求,我们开发了基于EONStudio的基于桌面的该型侦察设备内外场转运仿真训练系统。

2 系统功能与组成

系统采用计算机仿真技术,依据该型装备的维护规程和相关要求,构建一套包括仿真环境、仿真设备、维护工具及维修过程信息的综合训练系统。该系统针对某型相机的内外场转运过程及操作要求,在三维环境下实现基于PC机桌面的人机交互操作训练。系统主要具有虚拟训练、训练管理、学习查询及多媒体教学等四个功能模块,其核心是相机转运虚拟仿真训练模块,该模块以维护规程为依据,完成相机内外场转运的整个操作流程。根据规程规定,主要包括以下三个过程:相机工作房安装过程;从库房至飞机的运输过程;飞机上的安装过程。用到的转运仿真逻辑模型严格按照规程规定,构建上述三个过程中的子流程,根据转运过程中用到的地面辅助维护设备及工具建立模型组件,并根据相关设备的使用操作原理构建其属性及接口,为后续的转运过程的仿真提供支持。在仿真训练过程中,提供操作步骤提示信息,并提供当前操作部分的闪亮提示,便于初学者训练。系统亦可关闭提示信息,并记录训练信息,便于参训人员的训练效果监控及考核。图1为系统总体结构图。

图1 系统的总体结构图

3 系统技术实现

3.1 软件选择

虚拟仿真平台利用C#结合Eon Studio进行开发。Eon Studio是目前全世界公认的整合性、延展性最好虚拟现实开发展示系统[3~4]。它支持 55 种CAD格式,支持90%以上的外设而无需编程。Eon提供一套完整的剧院级运算解决方案,让整体的渲染画质能近似于大手笔预算所制作出的好莱坞电影,使用CG技术提供优越的照片级的视觉效果。同时它支持OpenGL或Direct3D硬件加速,用户可以自定义渲染品质、灯光模式、阴影模式和填充模式等,可以方便高效地开发仿真程序。但是单独的Eon生成的仿真程序,交互性和可控性差,也不能进行实时的动态仿真。系统建模采用3DSMAX三维建模应用软件,EON Studio专门提供了用于3D MAX模型导出的EON Raptor插件,可直接将模型导出并保存成EON文件格式。通过在C#程序中使用Eon附带的Eon控件调用、驱动Eon仿真程序,进行仿真程序的二次开发,加深人机交互的深度,拓宽了人机交互的范围,增强仿真程序的可控性,实现了较复杂的虚拟仿真,并且可以按照训练大纲将训练任务分块,解决了单纯的Eon仿真程序在加载大场景时耗时、响应速度慢、实时性差的缺点。

3.2 系统模型设计

1)主要模型

图2 装卸车模型

2)模型设计要求

侦察设备及其辅助维护设备是虚拟仿真的目标对象,大部分设备的物理模型都要完整的构建出来。由于模型最终用于制作虚拟仿真训练系统,故要求模型从外观、结构及尺寸比例必须与仿真对象一致。虚拟环境下的装备物理模型要用在实时渲染引擎中,而不是用于动画或静态效果图的制作,因此虚拟现实软件对于模型的质量有更高的要求[5]。且尽量对模型进行三个方面的优化:一是面的数量。EON的一个很大的优点是对模型的点、线、面有较强的优化能力,但在虚拟仿真系统制作过程中,为避免过度占用资源,要尽量减少模型面数;二是贴图的使用。贴图集中放在一张2m×2n的图上,以节约EON调入贴图的时间;三是对仿真模型进行适当的分组及命名,以便在仿真脚本编写时方便调用。

3.3 系统仿真实现

仿真系统不仅要求形象直观地将装备各个部分的3D模型以转运过程展现给使用者,而且要求能够很好地指导使用者进行转运训练,还要能通过训练过程记录,实现训练过程的监控及考核。整个系统在实现过程中涉及到了数据库、3D模型建立、行为模型制作、二次开发等方面,主要包括装备模型制作、行为逻辑模型编辑、数据库建立等几个部分,如图3所示。

图3 仿真拆装实现流程

系统的实现是以C#为平台,在对EON Studio二次开发的基础上进行的,二次开发要求开发对象要足够开放,而EON提供了对外部程序的接口EonX,完全可以实现对其进行应用开发,并且EON有丰富的节点、元件库,可以方便地给三维模型加上行为。鉴于C#方便、高效及其强大的功能,本系统用它作为二次开发的平台,最终实现系统的功能需要。图4为EON与C#的接口关系[6~9]。

图4 EON与C#接口关系

航空相机本身结构复杂,附属设备多,零部件数量多,同时转运过程还需要机场、工作房及飞机平台等环境模型,再加上虚拟维修系统对模型的几何尺寸精细程度和位置准确度的要求比较高,建立三维模型的工作量很大。目前,三维建模工具有许多,该设计所用的3DMax操作简易、渲染效果逼真,还可以直接输出EON文件。因此,利用3DMax完成仿真对象三维物理模型,利用EonRaptor将模型导出成EON标准格式(*.eoz)。

在EON环境下,调整三维视景参数后,根据仿真转运规划,利用其提供的ClickSensor节点、Time⁃Sensor节点、Place节点、Counter节点、Light节点、Latch节点、PopupMenu节点等,设置转运流程,实现与操作规程与设备操作原理一致的交互功能。对于复杂的运动方式及操作逻辑,大量采用JavaS⁃cript类与Script结点建立联系,使用JavaScript脚本来控制复杂程序的运行。这是整个系统开发的核心,直接关系到与应用程序的仿真流程及接口通信逻辑。

EON仿真拆装逻辑完成后,通过混合编程技术在C#中调用,实现EON的二次开发。如前所述,要实现这一步必须借助EonX控件,EonX是EON提供给宿主程序(即二次开发平台C#)的通信接口,通过它可以把行为模型显示在宿主程序中,进行正常浏览。它通过EON内部的路由解释器接受宿主程序的输入消息,改变视点位置,同时,可向宿主程序输出消息,完成这一通信过程靠的是EON中的路由接口—InEvent和OutEvent。

那天,直到黑袍人的水船行出去很远,他才突然想起,还未问过对方的名字,这让他觉得自己很失礼。于是,他大声朝着远去的船影喊道:“你叫什么名字?”

为便于仿真平台与拆装、转运及设备使用控件进行系统交互,设置各类交互协议。

Start:输入,布尔类型,主要获得仿真程序运行是否有效。

TakeApart:输入,布尔类型,主要获得拆卸程序运行是否有效。

TakeOn:输入,布尔类型,主要获得组装程序运行是否有效。

CurrentTime:输入,数据类型,主要控制闪灯工作时间。

Step:输入,布尔类型,主要获得工作步骤。

Pre:输入,布尔类型,主要快进到下一步。

Back:输入,布尔类型,主要快退到上一步。

FirNumberStep:输出,整型,主要获得程序运行到当前步骤。

PIsActive:输出,整型,主要获得快进是否有效。

BIsActive:输出,整型,主要获得快退是否有效。

OpenRemark:输入,布尔类型,主要获得开提示是否有效。

CloseRemark:输入,布尔类型,主要获得关提示是否有效。

ClickObj:输出,整型,当前点击对象。

系统利用树形操作规程控件通过读取外部预定义的xml规程文件,加载包含规程条目的内容信息、规程条目操作的视角信息以及虚拟维修拆卸装配序列的约束信息等内容。操作规程控件从操作规程文件中读取每条操作条目的内容并显示。当用户选择规程的某一条目时,操作规程控件发送一个事件到事件处理器,事件处理器将根据规程条目的视角信息,使EON仿真程序跳转到该条目操作所对应的视角。同时操作规程控件将根据条目之间的约束关系确定条目所对应的操作是否可执行。

3.4 训练考核与管理

为了便于训练管理及过程监控,用户需要输入用户名及密码后方可登陆系统。通过用户管理系统,可实现对用户的管理,对用户登陆后的训练流程进行记录监控,并可组织训练考核及成绩评定。

4 结语

虚拟维修训练系统的开发主要需要考虑到模拟器材的价格不能太高,在达到训练效果的情况下要尽可能地降低模拟器的成本[10~12]。本系统采用C#和Eon相结合的方式进行开发,在充分利用了Eon的特点下,尽量避开了复杂的视景仿真驱动计算,因此系统开发上手快、周期短、成本低;其次本系统属于基于桌面的交互式模拟训练系统,在一台普通的PC上即可实现训练与考核,硬件成本低且便于推广。通过试用,对本系统所涉及的技术、方法进行了验证,结果表明本系统能够按照规程完成复杂的相机转运操作训练,系统界面友好,操作直观,场景逼真,能较好地解决该型设备在转运训练中存在的难题,有效提升训练效益和水平,解除了部队对实装训练影响装备寿命的担忧,为该型设备维护使用水平的提高发挥了重要的作用。

猜你喜欢
控件规程二次开发
基于C++Builder 的电子邮件接收程序设计*
AutoCAD 与PDMS 二次开发在三维复杂形体设计建模上的应用
中国新车评价规程
基于规程法的雷击跳闸率计算
使用“填表单”微信小程序 统计信息很方便
中国新车评价规程
基于.net的用户定义验证控件的应用分析
例谈对高中数学教材中习题的二次开发
浅谈CAD软件二次开发的方法及工具
例谈课本习题的“二次开发”