辅助机务虚拟维修训练系统的设计与应用
2017-06-01孙忠云田涛苏锋
孙忠云,田涛,苏锋
(海军航空工程学院青岛校区,山东青岛266041)
辅助机务虚拟维修训练系统的设计与应用
孙忠云,田涛,苏锋
(海军航空工程学院青岛校区,山东青岛266041)
为保证交互响应的实时性,确保逻辑解算的可靠性和一致性的要求,提出基于TCP/IP协议采用分布计算的C/S体系结构,将人机交互与逻辑解算分别在不同的进程中进行计算,根据面向对象的设计思想采用组件化技术来设计平台架构,通过Windows组播方式实现座舱内外协同训练和多人协同分布式训练的方法,并在某型飞机机务维修训练模拟器中得以应用。
虚拟维修;虚拟现实;协同训练
0 引言
虚拟维修(Virtual Maintenance)是以计算机技术与虚拟现实技术为依托,在由计算机生成的、包含产品数字样机与维修人员3D人体模型的虚拟场景中,通过驱动人体模型(包括采用在回路的方式)完成整个维修过程仿真的综合性应用技术[1]。虚拟维修训练系统(Virtual Maintenance Training System)是一种有效的训练手段,受训人员可以在任何时间、任何环境下进行训练以熟悉整个机务维护、维修过程。应用虚拟现实技术构建军用装备虚拟维修训练系统不仅可以解决实装训练不足的问题,并且可以提供多人次、多场位的训练环境,既节约了大量的训练经费,又能保证训练安全。因此已经成为维修技术的发展趋势之一,各国都在积极开展这方面的研究和应用[2-5]。
现阶段,机务人员从接触装备,熟悉装备,再到掌握装备的维护、维修方法的学习周期长,受场地、环境等诸多因素的影响大,同时参训的人数少,训练费用高,无法保证大规模,高强度的训练,也就无法快速的提高机务人员的维护、维修和战斗准备水平。因此采用虚拟现实技术构建一套机务人员虚拟维修训练系统,对于缩短机务人员维护、维修的学习周期,提高部队战斗力有重要意义。
1 相关研究
目前我军几乎所有的大型复杂装备都没有配置维修训练器材,对维修人员的训练主要是结合实装进行,存在如下缺陷[6]:①结合实装维修训练,其数量和训练场地,受训人员的数量和时间难以保证,训练效率低下;②新装备功能结构复杂,造价昂贵,难以提供在实践上做维修训练使用,造成维修训练工作无法进行,从而影响战备完好率和战斗力的快速形成;③结合实装维修训练,局限性大,所见故障现象和所能体会的维修操作有限,大多还只能从书本上进行抽象理解;④维修训练结合实装维修,多限于分解、结合,而对故障检测这一维修训练的重要内容训练甚少;⑤结合实装进行维修训练,成本高,甚至是不可能。
对于新装备,机务人员从理论改装学习到实装训练有一个周期,在这个周期里,机务人员接触不到实装,更无法结合实装进行改装学习,即使到了结合实装训练阶段,也因实装价格昂贵、系统复杂,训练成本高等诸多因素受到限制。
随着虚拟现实技术自身的发展,其应用研究领域的不断扩大和成熟,以计算机仿真、虚拟现实以及多媒体、计算机网络和数据库管理等技术为支撑,构建一套机务人员虚拟维修训练系统可以很好的解决上述问题。
2 系统功能和总体结构
2.1 系统功能
用于机务人员虚拟维修的训练系统是一个以飞机座舱为模拟对象,具备设备操作、飞机外部检查、座舱内部检查、通电检查和发动机起动与试车等方面的模拟训练功能的综合系统。系统要求能够针对机务人员教学和满足部队的实际训练要求,在PC机上实现,在设计与构建上要满足通用化、标准化和易升级扩展、维护,信息以图像、声音、语言和文字等形式传达给受训人员,通过鼠标、键盘进行交互。根据机务人员日常保障、维护、维修的操作规程和训练大纲的要求,确定系统的功能如下:
(1)程序训练功能。包括飞机外部检查、座舱内部检查、通电检查、发动机试车与检查、设备使用和故障处置等功能。
(2)理论学习功能。包括维护规程学习和维修手册学习。
(3)训练考核功能。包括理论考核和程序训练考核。
(4)训练管理功能。用户管理、考核管理、故障设置和系统管理功能。
根据机务人员虚拟维修训练系统的功能组成,设计系统功能结构如图1所示。
图1 系统功能结构
2.2 总体结构
系统基于TCP/IP协议采用分布计算的C/S体系结构,将人机交互与逻辑解算分别在不同的进程中计算,既能保证交互响应的实时性,又能保证逻辑解算的可靠性和一致性。根据面向对象的设计思想采用组件化技术来设计平台架构,通过Windows组播方式可实现座舱内外协同训练和多人协同分布式训练,使局域网内一个组代表一架飞机,确保了数据交换的准确性。采用Windows消息机制实现人机交互,达到了仿真训练交互响应的实时性和可靠性运行指标要求。系统总体结构如图2所示。
图2 系统的总体结构
客户端程序基于人机交互的可靠性与实时性原则主要完成虚拟环境的建立与显示、座舱内模拟量的采集与上报、座舱内仪表设备的驱动。主要包括3个部分:视景和虚拟仪表组件(此处的虚拟仪表含所有的模拟量输入与显示)、数据池插件、SOCKET组件。由于客户端是与用户直接进行交互的,因此采用菜单和快捷键方式设计一个简单直观的人机界面交互接口。受训人员可以通过菜单选择相应的视景文件、数据池文件、更新相应飞机的仪表动态库。
受训人员使用外设来完成模拟训练。通过键盘快捷键、鼠标点击某个元件(如打开某个开关、按钮)触发窗体消息,完成元件标识和状态值的处理,接着由SOCKET组件通过TCP/IP方式发送给服务端,服务端通过插件管理组件触发逻辑推理,将逻辑运算结果以组播的方式通过TCP/IP发送给组内所有客户端同时更新服务端的数据池,客户端将运算结果存储到数据池中,启动线程进行仪表赋值。部分实时结果数据需要通过UDP方式传送给客户端。
服务端是以窗体形式嵌入到客户端,同时给用户提供一个友好的设置界面,包括服务器地址、本机地址、组播地址的设置,服务端需要根据客户端所更新的机型文件来更新服务端的逻辑、数据池等。主要功能是进行逻辑运算、数据池更新、以及对PLUGIN进行管理。为保证运算速度、发送解算结果的实时性,通过面向交互状态的主动触发和筛选机制结合回调函数与PLUGIN技术,保证运算速度和发送结果的实时性。
客户端的操作结果通过网络传送到服务端,触发插件管理组件调用逻辑推理,运算结果通过SOCKET发送给组内所有客户端同时更新服务端数据池。基于分布式的原则,任何时候网内任何一台计算机只要连接到该服务器,即加入了该组,成为这架飞机的一个训练人员。因此组内的所有受训计算机必须实时同步,所以该计算机一旦连接到服务端,首先通过SOCKET获取服务端数据池内各元件的状态,存入客户端数据池,启动线程完成仪表赋值,这样保证了新加入的计算机和已经在训练中的计算机能够实时同步。
3 系统软件的构建
系统采用Visual C++6.0和Vega Prime相结合的方式进行平台的开发构建,使用场景建模软件Multi-Gen Creator对场景几何模型构建,虚拟仪表制作软件GL Studio对机载设备仿真的方式进行开发。系统的开发流程和关键技术主要有嵌入式逻辑代码自动生成技术、虚拟仪表技术、视景组件技术。
3.1 嵌入式逻辑代码自动生成技术
嵌入式逻辑代码自动生成技术给脚本编写者提供图形化的编辑 界面,脚本编写者对设备的实体和行为进行建模,并把这种模型在图形化的编辑 环境中通过一定的图元表现出来,结构化图元可以真实的反映出各级设备的连接关系及其操作响应(行为),并通过嵌入式组件对图元进行管理与代码的自动生成,生成的代码在主控程序的逻辑解算模块中自动运行,实现所见即所得,快速代码化。图3是嵌入式逻辑代码生成技术应用中的1个行为建模的例子。
3.2 虚拟仪表技术
GL Studio是DISTI公司开发的一款优秀的仪表仿真工具,是1个独立平台的快速的原型工具,用来创建实时的、二维或三维的、照片级的互动图形界面。它能与HLA/DIS仿真应用相连,生成的C++和OpenGL TM源代码可以单独运行,也可以嵌入其他应用中。
GL Studio设计的仪表可以重建真实飞机的座舱结构和控制,如座舱通电演练、熟悉操作流程,提供一个完全真实的虚拟化环境。通过GL Studio的纹理映射和元件对象联合创建制作的飞机各类仪表和综合显示器能形象逼真的反映出飞机仪表的真实信息及状态,结合Creator,Vega Prime等可以分解整架飞机各专业的机载设备、仪表显示、综合显示、信号反馈、人机交互等操作过程,完全按照飞行准备程序和设备检查程序进行通电检查、操作程序考核评估等任务。图4是GL Studio开发虚拟仪表的流程图。
图3 1个行为建模架构
图4 GLStudio开发虚拟仪表流程图
3.3 视景组件技术
使用视景仿真软件进行虚拟现实开发时,程序员编程直接面对的是视景软件的SDK。直接使用SDK进行开发,受限于视景SDK依赖的编程环境和编程语言,并且必须完全了解其机理和API函数后,才能编程,这种编程方法需要的相关知识多、编程效率低下,不利于分工协作,不利于模块化开发,也不利于统一过程管理和系统体系构架的设计。基于上述原因,研发视景组件,将视景完全封装到COM组件中,通过提供相应的控制接口来实现对视景的交互。
基于COM组件机制,封装视景软件(VEGA PRIME),屏蔽了虚拟现实软件使用的复杂性。使用自己编写的COM进行编程,不依赖于具体的编译环境和编程语言,可大大降低编程难度。具体优点如下:
(1)虚拟现实软件支持现有WINDOWS下的所有编程语言,包括VB6,VC6,VBdotNET,VC7,C#,JAVA,DELPHI,C++ BUILDER,POWERBUILDER等编程语言,扩展了原来只能用C++进行编程的限制,扩展了VEAG PRIME在其他语言上的应用。
(2)降低虚拟现实编程的难度,使工作效率大大提高。原来的VEGA PRIME平台的编程,需要熟练的高级程序员才能胜任,使用ACTIVEX控件进行编程,则只要入门级的程序员即可。
(3)随着虚拟现实技术的发展,可以更新视景组件的内部实现机理和依赖的平台,但是提供的接口不变,这样可以保证视景组件具有良好的兼容性和可扩展性。
(4)COM组件的应用使得视景模块与主程序之间仅存在数据的交换,相对独立,便于程序的调试和扩展。
4 系统的特点
系统尽可能的模拟真实的操作环境,运行效果如图5。同时,系统具有4个特点。
图5 系统运行效果
(1)系统基于普通PC机,训练过程中信息以图像、语言和文字的形式传送到受训的机务人员,机务人员通过鼠标、键盘以及模拟操纵杆设备与系统进行交互。
(2)针对机务人员的日常维护、维修保障训练,系统可以完成机务人员操作规程和训练大纲所规定的90%以上任务的虚拟维修训练项目。
(3)系统的机务人员维修、维护工作与实装操作完全一致,通过模拟真实的工作环境和设备,能够有效的模拟实装飞行前、飞行后的机务准备工作,能够设置相应的故障并且给出准确的故障处置方法。
(4)系统能够根据机务人员操作规程和训练大纲的要求对受训人员进行理论学习与考核、程序训练实习与考核,缩短了机务人员改装训练、考核的周期。
5 结论
机务人员虚拟维修训练系统的开发主要需要考虑到机务人员理论改装的内容是否完整,模拟实装训练的科目是否全面,在达到训练效果的情况下要尽可能的降低模拟器的开发成本[7]。本系统通过多媒体技术,数据库管理等技术实现了机务人员理论改装教学的全面性,通过采用Visual C++6.0和Vega Prime相结合的方式进行开发,再辅以场景建模软件Multi-Gen Creator对场景几何模型构建和虚拟仪表制作软件GL Studio对机载设备仿真的方式进行开发,使系统可以真实的仿真机务人员在实装上的日常维护,维修训练,并且使得系统开发上手快、周期短、成本低。其次,本系统属于静态的训练模拟系统,在1台普通的PC上即可实现机务人员理论改装,维护、维修训练90%以上的任务,因此系统的硬件配置要求低、推广应用成本低。
机务人员虚拟维修训练系统,已经在《某型飞机机务维修训练系统》中得以应用,满足了系统功能和部队实际训练的要求,具有一定的应用推广价值。
[1]马麟.虚拟维修过程模型的研究[D].北京航空航大大学,2003.
[2]杨宇航,李志忠,等.虚拟维修研究综述[J].系统仿真学报,2005,17(9):2191-2195.
[3]伍永昌,杨宇航,等.基于计算机技术的导弹维修仿真演示系统[J].计算机仿真,2003,20(9):29-31.
[4]刘玉海,俞康伦,等.基于虚拟现实的装备维修仿真训练系统研究[J].计算机仿真,2002,19(2):49-51.
[5]杨宇航,李志忠,等.基于虚拟现实的导弹维修训练系统[J].兵工学报,2006,27(2):297-300.
[6]张建伟,陆亨立.虚拟现实技术及其应用[J].电子科技导报,1999(8):26-27.
[7]苏群星,刘鹏远.大型复杂装备虚拟维修训练系统设计[J].兵工学报,2006,27(1):79-83.
〔编辑 李波〕
TP399
B
10.16621/j.cnki.issn1001-0599.2017.01.48