王 宇,周建钊
(陆军工程大学 野战工程学院,江苏 南京 210000)
柴油机技术含量高、结构复杂,在实施结构、原理及维修保养实机教学培训时,培训难度大、成本高,满足不了装备使用管理维护人员培训的需求,师生普遍感到学习柴油机的结构、原理、维护保养知识和操作技能时既费时又费力,因此,选择一款优秀的程序开发工具,设计了一套虚拟训练系统,利用系统模拟与训练的功能提升教学训练水平和操作效率。Delphi是一款简单、易学的快速应用程序开发工具,是以面向对象程序设计的一款功能强大的可视化编程软件,其编译器采用选择链接和条件编译技术,直接编译生成可执行代码,开发人员可快速建立项目框架[1],结合3ds max进行三维建模,以及Eon Studio交互逻辑设计,应用Delphi程序开发工具设计虚拟训练系统,具备开发周期短、效率高,并能对虚拟训练系统应用给予强大支持的优势。
为使受训人员熟练掌握柴油机的结构性能、工作原理、保养规程、故障诊断与排除方法等内容,以进行柴油机相关培训的人员应当掌握的基本理论和实际操作为出发点,柴油机虚拟训练系统应包含如下内容:
(1)结构组成观测。用户通过点击结构组成选框按钮,即进入该子模块。可以了解各组成机构零部件的名称、结构、功用、连接关系、配合方式等内容,例如:缸体总成、配气机构、曲轴连杆机构、进排气系统、燃油系统、润滑系统、冷却系统、电气系统等,操作鼠标和键盘以一定的路径和视角观察柴油机的外部形态和内部结构,选取柴油机主要部件作为观测对象,可以透视、剖分等多种方式进行观测,在观测过程中可选择主要部件中的具体零部件,观测同时伴随语音介绍和文字说明。
(2)工作原理演示。受训者操作虚拟环境中柴油机的启动,观察其工作演示;也可通过操作变换视角切换至柴油机各个组成部分(曲轴连杆机构、配气机构、燃料系、润滑系、冷却系、起动系、点火系),实现其原理演示。采用透视和剖分等效果,将操作和零部件动作紧密联系在一起,让受训者对零部件内部工作过程有一个更直观形象的理解。
(3)拆装训练。通过拆卸与装配操作,熟练掌握重要零部件的组成结构和特点以及拆卸装配顺序和注意事项,通过反复训练提高操作者维修效率。
(4)保养训练。根据柴油机保养训练的科目及特点,设置保养内容,并进行细化,保证保养内容较全面完整,受训人员可以有的放矢,根据需要进行有针对性的保障训练。在虚拟训练过程中,提供准确的保养工具和设备,设计了检查、调整、更换、紧固、清洗等操作,在操作的同时,配合文字介绍和语音讲解,对工具选择、工艺流程、要求方法、保养重点和难点进行介绍。
(5)维修训练。在故障数据目录中调用柴油机常见典型故障,在虚拟环境下运用声音、图像、仪表指示、操作失败等方式提示用户柴油机组成部分出现故障,针对相应的故障现象,选择正确的故障诊断方法并进行排除,在维修训练系统中选择故障排除模块,根据提示选择需要的工具进行维修操作,通过反复训练,使操作者熟练掌握故障排除方法。
(6)考核。根据训练考核要求,构建考核场景,可实时对受训人员的操作进行跟踪监测,理论部分进行随堂测试,给出最终成绩和全部训练过程信息,以便检验受训人员的训练质量。
以各模块功能为区分,结构组成观测和工作原理演示为漫游展示,保养训练、拆装训练、维修训练及实操考核为交互训练,随堂测试为理论考核。各训练模块相互衔接,且互不干扰,即可连续进行,也可独立完成区分主面板和子模块,在主界面中点击按钮进入子模块,子模块中区分内容,分别完成规定功能,如图1所示。具体达成以下功能。
图1 训练科目模块化体系构建
首先柴油机虚拟训练系统应当实现对各项视频、文字资源的整合,保存进相应项目文件。对柴油机利用3ds max制作仿真模型,并导入Eon Studio制作交互工程文件,再通过Delphi的程序应用实现柴油机的使用、维护、保养、考核的交互操作模拟和训练的系统功能。
利用Delphi完成规定的功能实现,我们采取先制作子模块,后由主界面完成统一连接的方式。打开Delphi软件设计界面,首先规划好窗体布局,区分好各个子模块的内容区域,使用户可以通过视频、图片、文字来了解各子模块名称及内容[2],如图2所示。
图2 子模块界面设计
虚拟训练环境要求提供有关对象、场景、维修工具等的真实描述。通过生成一个大的虚拟空间,给其它虚拟对象提供了漫游场景。为了给虚拟对象在虚拟场景中精确定位,使受训人员能够操作维修工具执行特定的维修动作,需要给虚拟维修环境指定一个绝对坐标系。
通过定义绝对坐标系,实现虚拟维修场景中的对象定位功能,包括零件(工具)的选择、抓取、放置等动作的定位,为零件的空间移动与旋转提供参考坐标,为实现对象的交互控制提供支持。这个坐标系的指定方法有2种:(1)在场景建模的过程中,利用建模工具来指定对象的坐标中心,当对象导入EON后,在Scene(场景)节点下添加3DPointerA节点实现;(2)导入场景后,通过在场景节点中添加DOF(degree of freedom)节点,修改DOF节点的初始位置,按照系统需求进行手动调整与设置。
在指定了场景坐标系之后,还需要实现场景的三维观察,即视点随受训者移动或经受训者控制,视景实时刷新并动态连续显示,根据受训者在虚拟维修环境中定义的视点位置和视线方向,控制环境中的显示内容。
柴油机虚拟维修训练系统的基本交互任务可分为:对象选择、对象操纵以及系统控制。对象选择是指为实现操作任务而在虚拟维修环境中选择一个或一组零件;对象操纵是指改变被选择物体的位置、方向等属性的任务;系统控制是指为完成虚拟训练场景内特定任务而向系统发出的指令,如重新开始某项操作或者返回到某一特定状态等。
根据操作控制器的输入信息和指令,改变虚拟环境中的各种对象的状态,如装备实体模型的位置、大小、连接关系等,实现训练过程的高度交互控制。交互控制主要包括2个大方面,即装备零部件的拾取和装配体复位。
(1)装备零部件的拾取
虚拟环境下零部件的操作可分为抓取、移动和安放3个动作。基于拾取算法,在虚拟环境下进行实时零部件操作时,系统通过获取控制器光标的位置数据/指令,去驱动所拾取的元件的坐标,实现元件的位置随控制器光标位置改变而变化。
(2)装配体的复位
采用装配体强制复位算法,实时激活装配体复位节点,在受训者虚拟训练过程中,可以根据需要重新开始某一模块的训练。
在Delphi中调用交互功能,可以利用TControl类定义可视化组件,在控件面板中引入ActiveX控件中加入EONX控件,实现数据传递[3]。为方便快捷选取项目,添加TreeView控件建立目录树,在各个节点(TreeNode)中编排每个内容的子项,点击节点则在源代码中对应TreeView.Item[*].Selected=true,未点击节点则为false。保存全部工程生成*.dpr工程文件,*.pas源代码文件,*.dcu单元文件。
在Delphi中开发理论考核功能,数据库使用ACCESS,试题内容和试题答案的编辑使用TXText Control(ActiveX)控件来实现。将柴油机各组成部分及零件的基本信息,拆装、维修等基本内容的操作规范及注意事项,制作成试题,保存时将试题内容和试题答案分别保存为Word格式,然后将Word文档保存到数据库。Delphi连接数据库使用ADOConnection组件,在试题窗体的edit框,显示提示已经设定的考核时间及试题数量。受训者通过点击所要进行的试题的按钮,进行考核,结束后计算受训者最后得分并显示正确答案,形成训练效果的评价考核。
主界面是该系统中最重要的界面,为了使界面简明、美观,系统中运用了Pagecontrol控件,该控件的功能是可以在一个窗体中添加多个页面,从而减少窗体的数量,达到了美化系统界面的目标,并且提高了系统运行的效率。作为一款工具类软件,主界面的设计应当直观形象,采用了中规中矩的区域划分形式,主要为左右结构,左侧为菜单栏,设置按钮并负责连接各子模块,如图3所示。
在窗体中合理设置子模块的入口,然后在控件面板中安装子模块的.pas文件,即可实现点击进入子模块功能,如图4所示。
为了验证系统交互设计的合理性和可用性,运行系统,进行了兼容性运行检测,程序运行流畅,依次点击各模块,检查是否能够顺利进入,并对设计的功能进行操作使用,测试是否符合设计要求。图5所示为通过鼠标键盘操作改变结构视角,检验多视角漫游观测功能;图6为选择科目按提示进行操作,测试交互功能是否正常;图7为进入理论考核模块,测试考核功能、信息提示及成绩评价功能是否正常。
若虚拟维修训练系统无异常退出情况,渲染性能符合使用要求,未出现异常,所有功能皆可以顺利使用,则表明系统完成。
图3 系统主界面
图4 安装子模块组件
图5 视角漫游功能
图6 拆装交互功能
图7 理论考核功能
利用Delphi编程软件为基础,以柴油发动机为研究对象,开发面向以维修训练为目的的虚拟训练系统,此系统属于基于PC的交互式模拟虚拟训练系统,成本低,使用方便,便于推广。通过试用,能够完成工作原理展示、视角观测、拆装训练、保养训练、维修训练、训练考核等设计的操作训练,用户体验直观便利,较好解决该型装备在实际训练中存在的难题,具有提高训练效率和水平,减轻装备使用和维护压力的良好效果。