基于虚拟现实的沉浸式虚拟协同培训系统设计
2021-08-27刘涛,蔡杰
刘 涛,蔡 杰
(中国船舶集团有限公司第七一三研究所,河南郑州 450015)
0 引言
近年来,随着我国海军力量建设的不断增强,各种新型的舰船、舰载设备和武器系统陆续交付使用,呈现出数量大、范围广、型号多等特点。在大批次、多型号的舰载武器交付部队的同时,仅仅是做好了万里长征第一步,随之而来的是部队如何进行装备的使用操作、维护保养、故障维修等问题,要做到会用、会保、会修,这样才能发挥装备的性能,使装备保持战斗力。在当前的国内外形势下,多频次、高强度用装备训练成为一种常态,为保证装备功能、性能发挥和战斗力有效形成,装备的日常训练及训练效果的重要性越来越突出。长期以来,各类装备的培训都以理论学习和实装操作为主[1]。理论培训多以使用说明书、图册为主,手段单一、低效、交互性差;实装操作对装备和材料损耗大,训练成本高,操作风险大,且受时间和环境的限制。在装备的操作、维修等环节,需要多人协同作业,相互之间的协作能力差,配合不默契。在目前的培训方式下,培训效果不理想。同时,部队一线作战人员存在着流动性大、换岗调动频繁等问题,在该形势下,如何快速的使学员掌握装备,使装备快速形成并保持战斗力十分重要。
虚拟现实技术具有良好的经济型、可控性、安全性、灵活性、便利性等特点,而且不受空间、场地、天气的限制[2-3]。利用虚拟现实进行将虚拟现实培训技术引入到培训中,能较好的解决武器装备在培训中存在的问题,充分调动学员学习的积极性和主动性,提升学员之间的相互协作能力,达到以练促训、以训促战的目的。
针对以上问题,以某型舰载武器装备为研究对象,基于虚拟现实技术,构建一种沉浸式虚拟协同培训系统,从而解决装备在培训中存在的战训矛盾、交互性差、训练成本高,操作风险大等问题,使战士的日常训练不再受空间、时间、环境和装备限制,让训练更加有效、考核更加科学、效果更加显著,掌握装备操作技能、协作能力,使得装备真正保持战斗力。
1 总体方案设计
Unity 3D 是由Unity Technologies 公司开发的专业跨平台游戏开发及虚拟现实引擎[4],具有用户界面直观、文件格式丰富、跨平台性好、灵活性强、性能高等特点,支持多种脚本开发语言和多种平台发布[5]。
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,进行数据结构的管理、分析和链接,具有数据的共享和集中控制,减少数据的冗余度,保持数据的独立性、可维护性以及故障恢复等特点[6]。目前数据库管理软件主要有SQL Server、Access、Oracle、MySQL 等,其中,MySQL 以其开源性、体积小、速度快、高效性、便捷性等特点得到广泛的应用。综合以上特点,采用MySQL 进行数据管理。
通过以上分析,针对设计的沉浸式虚拟协同培训系统的应用需求,采用虚拟现实技术、分布式交互技术、数据库管理技术,开展沉浸式虚拟培训系统开发技术研究,重点研究装备虚拟培训仿真架构技术、装备虚拟培训仿真系统建模技术、基于VR(Virtual Reality,虚拟现实)的虚拟训练交互技术。以某型舰载武器装备为对象,通过Unity 3D 开发引擎进行虚拟培训系统的开发工作,实现装备在使用和维修中的教学、训练等功能;并通过网络通信技术上使多用户之间数据互联互通,实现多人虚拟系统交互功能;利用MySQL 数据库进行培训要素综合管理;使用VR 硬件设备进行虚拟培训,总体方案设计如图1 所示。
图1 总体方案设计
1.1 系统结构框架设计
系统架构是整个虚拟培训系统的核心,体现在数据来源、方案规划、VR 仿真、装备联调和数据与接口管理方面。系统采用模块化设计思想,模块之间耦合度低,便于后续扩展维护。采用MVC 三层结构设计模式,软件程序代码重复利用率高[7]。总体的结构框架如图2 所示。
图2 系统结构框架
(1)数据层。数据层是整个系统的基础,根据不同数据类型、管理需求、组织维护等要求,采用MySQL 数据库对人员信息库、装备信息库、故障信息库、维修方案库和教学管理库进行培训要素管理,完成系统基础数据表设计。
(2)运行基础平台层。运行基础平台层主要提供装备虚拟仿真技术软件平台的底层支持平台和硬件支持平台,提供相应数据接口,采用目前采用的.NetFrame 框架,基于Unity3D 三维引擎开发技术,实现虚拟现实技术展现。VR 平台主要包括头盔类设备、定位类设备、动作捕捉类、力反馈类设备等相关设备及接口开发。主要实现方法是利用.NetFrame 框架作为底层及数据访问层进行科学化管理;基于Unity3D 的开发引擎平台,建立相关三维仿真场景,模拟相关装备的作业动作,通过三维建模工具创建相应的武器装备虚拟模型,利用网络化服务进行装备模型驱动,以VR 相关硬件设备进行整个装备维修保障作业仿真的三维动态展示。
(3)业务层。业务层是整个系统的核心功能,主要针对装备维修数据维护、教学管理、训练管理、考核管理、协同管理等方面进行系统整体架构设计。实现装备模拟维修、训练、考核的规范化与科学化。
1.2 功能模块设计
设计的沉浸式虚拟协同培训系统,其培训内容涵盖该型装备的整个培训过程,包括理论培训、实操培训和维修培训,同时辅之以语音、问题等交互元素对学员进行操作注意事项或错误事项提示,实现学员对装备的规范化操作。在学员完成系统培训后进行相应的课程考核,记录相应成绩并进行综合评判。主要包括UI、基本功能、多人协同等功能模块。主要模块如图3 所示。
图3 主要模块
(1)UI 模块。使用Unity 3D 开发引擎中的UGUI 模块进行用户界面制作和功能开发,实现主界面和各分界面之间的页面切换功能;点击Button、Toggle 等UI 元素实现软件功能的调整和选取功能;实现多个虚拟场景之间的切换功能;实现培训过程中向学员显示操作提示信息等培训系统与用户之间的交互等功能。
(2)基本功能模块。主要包括虚拟培训系统基本的功能模块,如教学管理、训练管理和维修管理,以及各个功能模块包含的基本内容,涵盖武器装备培训的全过程。模块功能组成如图4所示。
图4 模块功能组成
2 系统实现
2.1 数据库设计
根据培训系统的功能要求进行系统核心数据表设计,利用MySQL 数据库实现数据表的创建工作,核心数据表举例见表1。
表1 核心数据表举例
以学员信息表、成绩信息表和装备属性信息为例,描述信息表中相应的字段名、字段类型、约束类型及含义描述。学员信息表记录学员的登陆名、登陆密码及学习时长,完成系统登陆时的身份验证功能,并根据学员的登陆名将其在进行培训考核的理论分数、实操分数、维修分数进行记录,为学员水平的综合评定进行数据积累。学员信息表见表2,成绩信息表见表3。
表2 学员信息表
表3 成绩信息表
2.2 功能实现
2.2.1 教学管理
教学管理模块主要包括登陆系统、理论学习等6 个分模块,主要功能及实现方式如下:
(1)登陆系统。采用Unity 3D 中的UGUI 组件并结合MySQL数据库技术进行登陆系统设计,实现培训系统的受训人员范围掌控和保障培训系统安全的同时,能够记录受训人员的培训学习情况。
(2)理论学习和考核。采用Unity 3D 中的UGUI 组件将该型装备的说明书、原理图、实物图等培训资料进行电子化显示,实现基础原理理论学习、查询功能。为实现对学员理论学习的实际掌握程度的把握,依据相关考试项目的相关规定,采用Unity 3D 中的Toogle、Input Field 等UI 控件进行理论考核。
(3)成绩查询及教学计划。采用MySQL 数据库技术记录学员在理论知识、装备操作以及维修保障方面的培训成绩,采用Unity 3D 中的Button、Text 等UI 控件查询学员成绩并显示结果,根据学员培训的综合情况查漏补缺制定专项教学计划。
2.2.2 训练管理
训练管理模块主要为学员提供装备操作方面的运行环境,依据装备的实操培训和考核的流程进行,包括演示模式、训练模式、考核模式、考核评估等4 个分模块,主要功能及实现方式如下:
(1)演示模式。针对装备的动态原理图、工作过程、操作过程,构建生动逼真的二维、三维场景进行直观展现,同时借助三维动画、声音、文本等多媒体技术的展现形式加深学习印象提升培训效果。此外,为便于学员针对关键操作流程进行选择性、重复性学习,提升学习效率,在该模块具备演示流程的播放、快播、慢播、暂停、回放等功能,系统采用Unity3D 中的DOTween 工具插件进行功能开发。功能控制表见表4。
表4 功能控制表
(2)训练模式。在该模式下,学员可在虚拟场景中行走并自行操控虚拟场景中的工具、零件、按钮等对象,进行装备的操作或拆装训练。分别创建了操作流程控制类(StatusRecord_Controller)和操作提示信息类(PromptMessage_Controller),训练流程如图5 所示,通过Int 值进行步骤检索,判断学员操作步骤的正确性,并根据训练情况进行操作事项提醒。学员进行具体操作时,控制类会首先判断是否满足触发条件,当条件满足时,学员才可进行该步骤的操作;当条件不满足时,信息类会弹出操作错误和正确操作步骤,通过反复的训练进而规范学员对装备的操作流程,固化操作方法,实现装备的训练功能。
图5 训练流程
(3)考核模式。为考核学员的实际掌握程度,在训练模式的基础上,将取消操作提示信息类(PromptMessage_Controller),由学员进行自行操作。同时取消操作流程控制类(Status-Record_Controller),并针对装备的各个操作过程分别计以分值,根据学员的具体操作情况进行分数统计,实现单机考核。
(4)考核评估。根据学员单机考核的情况,从操作的正确性、操作时间等方面进行整体评估。将装备使用操作等方面需要学员掌握的技能进行低、中、高分级划分,对学员的培训情况进行等级划分,判断学员技能的盲点或薄弱环节,有针对性的进行补充学习提醒。
2.2.3 维修管理
维修管理模块主要为学员提供有关装备的故障维修操作方面的培训,并进行装备的排故考核,包括演示模式、训练模式、考核模式、考核评估等4 个分模块,综合提升学员从故障现象入手判断并排除故障的能力。维修管理模块的实现原理与训练管理模块一致,其原理不再进行详细说明。
2.3 多人协同训练设计
在虚拟训练环境中,各个虚拟对象进行装备的虚拟操作。通过协同技术实现整个场景中的维修、训练操作同步,并且在场景中解决虚拟对象、虚拟装备、虚拟工具等虚拟实体的实时状态、操作姿态等特性传输问题。
在装备典型结构的训练环境中,多人协作维修训练功能主要体现在协同环境下的数据实时同步实现方面。而协同环境主要是指定物体或对象间的信息交互的基础,数据是指不同对象在三维场景中方位信息(视图的相对坐标和世界绝对坐标)、运动信息(静态和动态)和相关联属性(规则状态),其中涉及武器装备资源数据较多,实时性要求高,另外,在三维场景下,三维数据的帧速率对网络要求较高。基于以上需求,采用Smart-FoxServer 网络服务引擎进行培训系统中的协同作业模块的开发工作,该网络服务引擎支持包括Unity 在内的多个平台,易用且高效。通过网络服务架构的公共API(Public API)可实现自定义的客户端和服务器端间的数据安全通信的功能。多人协同训练设计如图6 所示。
图6 多人协同训练设计
3 系统测试
通过使用HTC Vive 等VR 硬件设备连接本系统进行系统测试,主要测试情况如下:系统登录如图7 所示,操作训练如图8 所示,操作提醒如图9 所示,参考结果如图10 所示。
图7 系统登录
图8 操作训练
图9 操作提醒
图10 考核结果
4 结束语
基于虚拟现实技术,使用Unity 3D 引擎、MySQL 数据库等工具平台,设计开发了某型舰载武器装备沉浸式虚拟协同培训系统,通过系统测试表明,能够满足装备在使用和维修方面进行训练和考核的要求,在降低装备训练成本和风险的同时,能够提升训练效率和相互协同作业的能力,能有效提高培训的效率,对其他武器装备具有重要的推广价值。