魏仁辉
摘 要:为提高地铁员工的培训效果,设计了地铁在线员工培训虚拟仿真系统,该系统设计过程中,采用 Unity 3D 引擎,利用三维建模软件SolidWorks实现地铁车辆设备、车站环境及设施、地铁的供电设备、通信设备等的建模,同时使用PixyzStudio、Cinema4D软件进行修正,最后完成虚拟场景整合,利用桌面虚拟现实设备zSpace实现人机交互性能,结果表明:系统每一帧运行的时间间隔平均为 16.85 ms,应用性能较好。
关键词:Unity 3D;虚拟现实;员工培训
中图分类号:TP319;TU39 文獻标识码:A 文章编号:1001-5922(2021)11-0193-04
Research on the Implementation of Online Distributed Virtual Simulation Technology
Wei Renhui
(Xi an Railway Vocational and Technical College, Xi an 710014, China )
Abstract:In order to improve the training effect of subway employees, the virtual simulation system of subway online staff training is designed. In the design process, the Unity 3D engine is used to use the 3D modeling software SolidWorks to realize the modeling of subway vehicle equipment, station environment and facilities, subway power supply equipment, communication equipment, etc. At the same time, PixyzStudio and Cinema4D software were used to correct, finally virtual scene integration and desktop virtual reality device zSpace to achieve human-computer interaction performance. The results show that the time interval of each frame is 16.85 ms with good application performance.
Keywords:Unity 3D; VR; employee training
0 引言
目前,国内针对轨道交通类专业开发的虚拟仿真培训系统主要有以下两种形式:单机模式虚拟仿真培训系统和分布式虚拟仿真培训系统。随着地铁对培训工作的要求越来越高,虚拟仿真培训系统仅仅实现虚拟仿真技术已不能满足培训需要,分布式系统已经越发作为主要形式进行开发。建立仿真系统平台有很多种方法,但具有三维物理特征的场景效果开发困难; RT-LAB 系统平台具有很好的开放性但平台的通用性较差[4];采用VxWorks系统在数据交换上具有便捷性优势,且实时性特点较为突出,不过从其功能的扩展上来看并不十分的理想[5];以UWSim 软件为支持执行对虚拟场景的构建任务,在程序的修改上面临着复杂而又难度较大的问题[6-7]。Unity 3D开发作业相对简便,在复杂的半实物仿真系统的研究及开发上表现出很好的适用性。对此,本文在此技术的支持下设计了基于在线分布式虚拟仿真技术的地铁在线员工培训系统,期望为地铁员工培训提供一种新的思路。
1 系统实现的目标
虚拟现实技术对计算机图形学、人机交互、人工智能以及传感器等诸多极具现代化特点的先进技术予以涉及,主要包括计算机硬件与软件以及诸多类型的传感器。它们共同组成一种人工——虚拟环境,能够对现实世界中存在的事物与环境进行模拟,且模拟的情景非常的逼真,在一定程度上,甚至能够实现对不存在的场景的模拟。当人投入至这一虚拟环境中时,会有一种非常真实的体验感,且具有亲自操作的功能,亦即实现一种同虚拟环境之间非常自然的交互。
虚拟现实技术的含义主要包括3个方面:①基于计算机技术的支持得到的环境具有非常明显的虚幻性特点;②虽然环境十分虚幻,但是人们在这一环境下所产生的具体感觉(包括视觉、听觉、触觉等等)都非常 的逼真;③通过对一些自然方法的采用(像是手动、口说以及产生其他肢体上的动作等),人们能够同这一虚幻而又十分逼真的环境进行很好的交互,而在此过程中,虚拟环境又能结合人们作出的具体动作给予相应的反馈。
虚拟仿真技术是一种仿真技术同虚拟现实技术相互结合的产物,在仿真技术中表现出更加高级的特点。对该技术最为典型的特征进行分析与把握,体现在对全系统所作的具有统一性以及完整性的虚拟环境的构建,并在此基础之上对一系列实体进行集成及控制之上。虚拟仿真可以进行操作训练、事故、火灾等应急演练等,因此,虚拟仿真在轨道交通的员工培训上有着较为突出的优势。以地铁员工为培训对象的在线分布式虚拟仿真系统利用Unity 3D技术制作3D场景,其主要功能就是结合地铁运维、地铁检修、地铁调度、驾驶理论知识,通过模拟操作和考试提高工作人员的业务水平,提高工作效率。地铁仿真系统的开发流程如下:
2 系统设计
2.1 系统架构设计
地铁虚拟仿真培训系统支持平台主要功能包括对地铁场景中实体、非实体对象进行三维化展示,有效管理场景内的各项要素,为仿真数据提供良好的数据驱动接口以及进行实时与高效交互等多种功能,交互操作功能由zSpace实现,交互操作功能由3部分组成,分别为被动式偏振3D眼镜、显示屏及6自由度操控笔,6自由度操控笔是进行虚拟地铁运维管理、地铁检修、地铁调度、模拟驾驶的交互输入方式。虚拟仿真系统是一个具有物理逻辑和工作规则的虚拟演示及操作环境,具有良好的可扩展性。
按照地铁虚拟仿真培训系统培训中所涉及的内容,系统由培训考试模块、场景仿真模块、虚拟控制模块构成,系统整体架构B/S模式,数据库采用MYSQL数据技术,3D虚拟场景系统采用Unity 3D引擎和C#语言开发。地铁系统的员工登录培训系统需要进行身份验证。分布式虚拟仿真系统在应用中将位于不同物理位置的多个用户或多个虚拟环境连接在一起,实现信息的共享,比如可以实现不同岗位的地铁应急处置培训等。该系统中Unity 3D虚拟仿真引擎只能通过TCP/IP组件实现系统的分布式开发,而互联网之间的数据传递通过WebSeivce技术实現,采用WebService采取标准描述相关组件和XML数据传递模型。地铁员工仿真培训整体系统架构和功能模块如图2、图3所示。
2.2 地铁场景模型建立及导入
Unity 3D,简称U3D,是一款游戏引擎软件[8],在虚拟仿真开发引擎中具有极高的通用性[9-11]。地铁场景建模过程中的开发环境为Unity 3D,建立虚拟的地铁场景,利用三维建模软件SolidWorks实现地铁车辆设备、车站环境及设施等的参数化建模,同时使用PixyzStudio、Cinema4D软件进行修正,如纹理贴图、重建坐标轴等,最后完成虚拟场景整合,导出为Unity 3D支持的FBX文件。
2.3 脚本平台的开发
分布式虚拟仿真系统需要通过互联网传递大量的标准化、结构化的数据,所有虚拟仿真系统的任务脚本都可以通过 XML编写实现,编辑好的XML的脚本通过C#语言被U3D解释并执行。可视化脚本编辑平台实现逻辑结构如图4所示。
3 系统实现
3.1 人机交互的实现
人机交互设备主要为6自由度操控笔,在此操控笔的支持下,执行对虚拟射线的发射任务。这一操作的进行可以选中某一物体,当虚拟射线和选中的物体之间出现相互接触的情况之时,通过点击对应的交互键实现物体的抓取或缩放。6自由度操控笔的移动算法主要是设置重力值和移动速率,移动速率和时间的乘积即可得到水平方向或者是垂直方向的物体移动距离,操控笔交互功能流程如图5所示。
当用户进行地铁相应的场景虚拟仿真模拟时,通常需要对相应的部件沿x、y、z轴进行移动或者旋转,分别是平移和转动。在Unity中,物体的旋转可以用单位四元数进行描述,表达式为,假设物体的初始坐标点为P1与射线碰撞点坐标P2的偏移向量为,射线长度,四元数与向量之间的运算 如式(1)[12]。
式(1)中,为操控笔的初始转角;0,(0,0,1)为操控笔的局部坐标系正方向[13]。
完成对初始信息的记录工作之后,进一步参照式(2)~式(5)的具体计算,将更新之后的物体的转角及位置确定下来:
式(2)~式(5)中,Ppi所表示的是在进行第i次循环之时,射线碰撞点的实际坐标,P2i表示的则是在进行第i次循环之时,操控笔所处的实际位置。另外,表示的是在进行第i次循环之时,操控笔的具体转角;则是操控笔转角四元数的逆,用于补偿第1次循环计算中的偏差。根据式(1)~式(5)6自由度抓取之后,当射线与物体接触时,通过坐标系计算出物体的缩放比例赋值给被选中的物体,实现与物体的虚拟交互。
3.2 虚拟场景漫游的设计实现
6自由度操控笔是进行虚拟地铁运维管理、地铁检修、地铁调度、模拟驾驶的交互输入方式,系统需要设计地铁运维管理、地铁检修、地铁调度、模拟驾驶的虚拟场景。6自由度操控笔的交互实现:第一,根据图2建立完整的、真实的地铁运维管理、地铁检修、地铁调度、模拟驾驶的虚拟场景,设置不同的角色模型导入Unity3D中,然后根据不同角色的访问需求设置控制代码[14]。第二,为了逼真的实现三维仿真,采用Unity3D中内置的ThirdPerson Character包进行场景的漫游设置[15];第三,人机交互操作通过6自由度操控笔和鼠标实现;6自由度操控笔控制角色移动,鼠标控制漫游视角的旋转。虚拟仿真系统除了具有漫游场景功能之外,还可以通过过UI界面(用户界面)视图栏的相机切换实现不同视角的查看,设置特定的相机和浏览视角。
3.3 在线考试的实现
系统虚拟仿真场景采用Unity 3D引擎,可以满足地铁员工在线学习、在线考试的相关需求,通过模拟地铁的调度和运维等场景,可提升工作人员的职业技能。员工需要先登录虚拟仿真系统,登录之后根据设置的操作规程,点击相应的模块进行在线学习与考试,以提高职业技能。
4 仿真系统运行结果
4.1 运行效果
在运行仿真系统的过程中,用户可以与系统进行交互,具体:基于主界面利用6自由度操控笔可以选择不同的虚拟场景,移动6自由度操控笔移动虚拟射线进行交互操作;如城轨车站应急救援虚拟场景,用户进入场景之后,可以从不同的视角进行观看,增强用户的实时交互体验。
4.2 交互实时性评价
为了对系统所表现出来的应用性以及实用性功能进行测试,针对系统的交互性能展开测试,此过程应用的计算机配置CPU型号:Intel 酷睿i5 7500,CPU频率:3.4G Hz,内存容量:8 GB DDR4。操控笔交互过程中系统每一帧运行的时间间隔平均为 16.85 mm,拥有优良的交互实时性能。该系统采用虚拟化的培训手段,避免使用真实的样机, 在实践应用中有以下优点,一是培训效率高;二是培训成本低;三是培训过程安全。
5 结语
本研究以地铁在线员工培训虚拟仿真系统,该系统的人机交互性能较好,采用桌面虚拟现实设备,操控笔交互过程中系统每一帧运行的时间间隔平均为 16.85 mm。系统虚拟仿真场景采用 Unity 3D 引擎,Unity 3D 建立虚拟的地铁场景,利用三维建模软件Solid Works实现地铁车辆设备、车站环境及设施、地铁的供电设备、通信设备等的建模,同时使用Pixyz Studio、Cinema 4D软件进行修正,最后完成虚拟场景整合,其可以满足地铁员工在线学习、在线考试的相关需求,通过模拟地铁的调度和运维等场景,可提升工作人员的职业技能。
参考文献
[1]曲兴卫. 基于虚拟现实技术的兵马俑复制品模型展示系统[J].电子测量技术,2019,42(19):154-157.
[2]秦超龙,宋爱国,吴常铖,等. 基于Unity 3D与Kinect的康复训练机器人情景交互系统[J]. 仪器仪表学报,2017,38(03):530-536.
[3]杨艳芳,贺 焕,舒 亮,等. 基于时间Petri网的断路器虚拟装配系统研究[J]. 中国机械工程,2019,30(3):62-69
[4]张冀川,徐家斌,童亦斌,等. 基于RT-LAB的MMC半实物仿真平台设计[J]. 电力电子技术,2016,50(03):26-28.
[5]任福深,孙雅琪,胡 庆,等. 基于Unity 3D的水下机器人半实物仿真系统[J/OL]. 系 统仿真报:1-10[2020-08-06]. http://kns.cnki.net/kcms/detail/11.3092.v.20200327.1718.006.html.
[6]邢瑞毅,马世伟,钟建鹏. 基于Simulink的水下无人机器人建模与仿真[J]. 系统仿真技术,2018,14(02):109-112+135.
[7]P REZ J, SALES J,P E ALVER A,et al. Robotic Manipulation Within the Underwater Mission Planning Context[M]. Motion and Operation Planning of Robotic Systems. Springer International Publishing,2015:595-612.
[8]安葳鵬,孟卫娟. 基于虚拟现实的煤矿设备装配仿真系统研究[J]. 测控技术,2017,36(8):114-117.
[9]李军锋,巫庆辉,刘 杰. 基于Unity 3D的《电机拖动》虚拟实验室设计与开发[J]. 国外电子测量技术,2016,35(10):87-90.
[10]张 衡,张泽宇. 基于MEMS传感器和Unity3D的人体运动捕获系统[J].图学学报,2015,36(2):274-281.
[11]王文润,王阳萍,雍 玖. 基于Unity 3D的铁路信号设备虚拟现实系统研究[J]. 铁道标准设计,2016,60(8):144-147.
[12]魏士松,周正东,章栩苓,等. 基于桌面虚拟现实技术的航天器虚拟维修训练系统[J/OL]. 系统仿真学报:1-7[2020-08-06]. http://kns.cnki.net/kcms/detail/11.3092.V.20200803.1715.002.html.
[13]朱希安,徐宇翔. 基于射线的虚拟手动态碰撞检测算法[J]. 北京信息科技大学学报,2015,30(2):20-25.
[14]胡素芸,邵斌澄,李 坤,等. 面向航天员虚拟训练的人机交互系统研制和测试[J]. 电子测量与仪器学报,2017,31(12):1902-1911.
[15]王 瑞,薛慰慈. 基于Unity 3D的增强现实动画展示窗[J]. 电子测量技术,2019,42(12):100-105.