Pantograph maintenance accident virtual demonstration system of high-speed EMU based on Unity3D
-
摘要: 针对高速动车组受电弓检修时操作不规范导致事故发生的问题,利用虚拟现实技术,基于Unity3D,设计并开发了高速动车组受电弓检修事故虚拟演示系统。通过3Ds Max进行建模,结合实际的检修事故案例,进行Unity3D场景搭建,利用Unity3D提供的碰撞检测功能监测检修行为。本系统与传统教学培训相比,减少了枯燥性,增强了沉浸感,满足受电弓检修人员的知识培训、模拟训练等需求。Abstract: Aiming at the problem of accidents caused by non-standard operation during pantograph maintenance of high-speed EMU, this paper used virtual reality technology to design and develop a pantograph maintenance accident virtual demonstration system of high-speed EMU based on Unity3D. This paper established the model based on 3DS MAX, combined with the actual maintenance accident cases, built the scene in Unity3D, used the collision detection function provided by Unity3D to monitor the maintenance behavior. Compared with traditional teaching and training, this system can reduce the boredom, enhance the sense of immersion, and meet the needs of knowledge training and simulation training of pantograph maintenance personnel.
-
Keywords:
- virtual reality /
- pantograph /
- Unity3D /
- accident demonstration /
- collision detection
-
受电弓位于高速动车组车顶,在高速动车组运行时,受电弓升起与接触网接触,从接触网上获取电流,经过车辆上的变压设备处理,传递到车辆的电气系统[1]。受电弓是高速动车组的核心部件,同时,也是高速动车组故障率较高的部件。因此,高速动车组受电弓的检修具有重要意义[2]。目前,针对受电弓的安全检测主要有人工检测、传感器检测和图像检测3种途径。其中,人工检测需要在高速动车组入库断电后进行登顶操作,是常用的检测手段[3]。
考虑到线路和高速动车组负载,受电弓上电压最低为20 kV,受多种因素制约,工人在实际检修过程中,如有操作不规范的情况,会显著增加检修的事故率。受电弓受电时的高电压使得检修人员面临触电危险。考虑到受电弓检修事故的危害性大、不可复制等问题,本文以高速动车组受电弓检修为背景,结合现实中的事故案例,利用虚拟现实技术的强交互性、强感知性[4],研发高速动车组受电弓检修事故虚拟演示系统,实现了事故展示、模拟演练等功能。
虚拟现实概念于1965年被提出,是一种利用计算机制作环境,对现实事物进行还原,使用户沉浸其中的技术[5-6]。Unity3D是由Unity Technologies开发的,让用户轻松创建三维视频游戏、建筑可视化、实时三维动画等互动内容的多平台、综合型游戏开发工具,是全面的、整合的专业游戏引擎。其具有可视化编程界面、高效脚本编辑、开发便捷等优点,支持Java Script、C#、Boo脚本语言,广泛应用于军事与航天工业、室内设计、铁路培训等领域。
1 系统设计
1.1 系统功能
高速动车组受电弓检修事故虚拟演示系统以减少检修事故为目的,通过检修事故的演示,结合虚拟现实技术的优点,让使用者具有身临其境的体验,从而起到警示作用[7]。系统还可进行模拟演练,通过检修的模拟仿真训练,可使检修工人更加熟练完成检修工作,深入了解操作不规范所带来的危害。同时,在系统中嵌入考核模块,对检修知识进行考核。系统的功能架构如图1所示。
1.1.1 事故演示子系统
用户可在事故演示子系统中观看虚拟人物的检修操作,了解检修事故产生的原因及带来的危害。由于虚拟现实技术仿真性强的优势,高压电触电效果展示可给用户带来视觉冲击,使其能更加深刻地意识到操作不规范所带来的严重后果,从而提升培训效果。
1.1.2 模拟演练
模拟演练子系统为用户提供操作练习的机会,用户通过设备上的按键与模拟场景进行交互,以第一视角进行控制,模拟视角移动、视角旋转、检修等行为。为使用户能更加深刻地理解检修过程,系统会在检修的关键步骤上进行提示,当用户的操作步骤发生错误时,系统也会对操作步骤进行讲解,同时,演示可能发生的检修事故与带来的危害。系统可规范用户检修工作流程,提升用户的检修技能,降低实际检修事故的发生率。
1.1.3 视频讲解与知识考核
为提高检修知识储备,用户可在视频讲解子系统中观看检修事故案例视频,也可通过考核子系统对自身进行定期考核。知识考核子系统在数据库中进行题目的随机抽取,对用户的理解程度进行打分并做出是否合格的判断,可巩固用户的检修知识,使用户掌握操作要点及发生事故后的处理方法。
1.2 场景设计流程
进行场景设计时,需先对检修事故案例进行收集[8],确定导致事故发生的因素和场景的设计路线与功能,综合考虑机器性能及场景的还原度,完成对应场景的设计。由于Unity3D对FBX格式的文件适应性强,模型建立完成后需导出为FBX格式。场景的设计流程,如图2所示。
2 系统模型建立
2.1 模型的优化处理
根据系统需要,搜集所需高速动车组模型的尺寸,使用CAD绘制二维图纸,确保图纸与实际模型的尺寸、规格相同,将二维图纸导入到3Ds Max中,进行三维建模。由于高速动车组模型尺寸大、零件数量多,若建模后,将模型直接导入Unity3D中将会占用大量内存空间,造成系统卡顿、场景切换慢等[9]。因此,需要对模型进行优化处理。具体操作步骤为:(1)对模型的顶点进行焊接处理;(2)减少曲面体的曲面分段数;(3)对不影响系统主体的部位进行贴图处理。
2.2 模型坐标轴变换
在建模过程中,合理运用模型的坐标轴可更快速地完成建模,同时,增加模型的真实性与准确性。
3Ds Max完成建模后,需将模型导入到Unity3D中。3Ds Max采用的是右手坐标系(Z轴向上),而Unity3D采用的是左手坐标系(Y轴向上),若直接导入,因坐标轴不匹配,将造成后期脚本编辑出现逻辑错误[9]。由于Unity3D并不具备改变模型坐标轴方向的功能,因此,在导入模型前,需在3Ds Max中对模型进行坐标轴变换,使模型与Unity3D坐标轴相匹配。在3Ds Max中,点击层次面板下的轴选项卡,点选“仅影响轴”,对模型的X、Y、Z轴的方向进行更改,如图3所示。
3 关键技术
3.1 碰撞器检测技术
Unity3D有多种物理引擎,包括刚体、碰撞器、触发器等,可模仿实际物体的受力、碰撞等,使场景更加逼真。
本文对受电弓添加碰撞器及刚体组件,实现对受电弓物理属性的模拟,通过对刚体组件施加作用力的方式,实现受电弓的升起与降落,同时,在模拟检修过程中可利用Unity3D中碰撞器提供的OnCollisionEnter、OnCollisionExit等方法,通过对碰撞器的监测,实现对物体碰撞的检测。从而对检修人员是否触碰受电弓进行实时监测,作为判断是否发生事故的评价标准。若检修人员在检修信号灯未亮起时触碰到受电弓,将触发触电特效;若检修工人在检修信号灯亮起后触碰受电弓,则不会发生检修事故。利用碰撞器的特性,可实现物体状态监测和触发条件判断,增加系统的可操作性,降低程序的复杂性。
3.2 视角移动技术
(1)视角交互
在模拟演练过程中,用户需要与场景中的视角进行交互,从而控制视角进行移动、旋转等操作,Unity3D中提供了Input类,实现对用户的键盘、鼠标点击事件的获取,Input类提供了多种方法来获取用户键盘与鼠标的按下、抬起等事件。在Update中调用Input类,可实现对用户输入的实时获取,利用C#语言进行脚本编辑,实现用户与场景视角的交互。在模拟演练场景中,用户通过键盘上的W、A、S、D键分别进行视角前、后、左、右的移动,并通过鼠标的左右滑动对视角的转向进行控制。
(2)摄像机跟随
在视角的移动过程中,摄像机要跟随视角进行同步运动,使用户拥有更加真实的体验。实现摄像机跟随的方法较多,可直接将摄像机设置为视角的子物体,但该方法会导致摄像机跟随较生硬,用户体验效果不佳。
本文采取逐帧跟随的设计方法,在视角运动过程中,利用代码进行跟随设计,从而实现逐帧跟随,使用户能够拥有更真实的体验。具体步骤为:利用视角当前位置减去原点的世界坐标,获取当前位置的世界坐标;利用摄像机的位置减去视角的位置,获取一个固定的坐标偏移值;在Update中逐帧进行视角的位置检测,用视角的世界坐标加上偏移值,即可确定摄像机的实时位置;将摄像机的转动方向设置为视角行走的方向,即可完成摄像机的跟随。
4 系统实现
4.1 场景导入
场景的导入关系到虚拟仿真的真实性,若导入时出现问题,导致贴图、动画等物体的缺失,用户的体验感下降,无法达到预期效果。
在3Ds Max软件中完成建模后,将模型导出为FBX格式文件,嵌入贴图、动画等关键物体,随后导入到Unity3D软件中进行场景的搭建。由于FBX格式只支持基本贴图格式,导入Unity3D中会有贴图丢失,导致检修场景失去真实性。所以,模型导入后,需要进行Unity3D的材质创建,将缺失的贴图重新贴入,从而完成场景的导入[10]。系统的部分场景如图4所示。
4.2 模拟检修的实现
进行受电弓检修前,先升起受电弓,对其进行供电测试,确保其可以正常工作;在完成供电测试后,受电弓降落,同时,将供电设备断电。断电后,检修信号灯亮起,检修人员进行登顶检修。如果检修人员在受电弓未与接触网脱开、未落稳在其底架的两个橡胶止挡上等情况下进行登顶作业,将面临触电风险。
用户在进入系统后,将以第一视角进行登顶作业,完成登顶操作后,拾取车顶的检修工具,随后进行受电弓检修,若进行检修时受电弓不带电,则完成受电弓检修;若进行检修时受电弓未完成断电,且检修工具与受电弓的距离小于安全距离时,显示界面将给出相关提示,并模拟检修者伤亡情况。
Unity3D提供Animation与Animator两种动画机,本文采用Animation动画机进行伤亡动画的播放,通过对动画机进行程序编写,控制播放判定、播放顺序。利用Animation动画机,可使检修操作的模拟更加自然,节省编程时间,增加系统的操作性。模拟检修效果如图5所示。
5 结束语
本文基于Unity3D开发了高速动车组受电弓检修事故虚拟演示系统,具有事故演示、模拟演练、视频讲解及知识考核等功能,实现了受电弓检修过程的模拟,满足铁路工人的知识培训、模拟训练等需求。系统利用虚拟现实技术,为铁路专业人才的培养提供思路,打破传统的培训方式,同时,有效减少铁路检修事故的发生。
-
[1] 郝 康. 船舶燃油净化系统虚拟现实的研究[D]. 大连: 大连海事大学, 2016. [2] 张佳丽,郎成镰. 基于VR设备的地铁列车故障检修的仿真研究 [J]. 铁路计算机应用,2018,27(9):21-23. DOI: 10.3969/j.issn.1005-8451.2018.09.005 [3] 周 平,裴瑞江,陈滋顶. 基于3D应急演练的铁路职工安全素质提升研究 [J]. 中国安全科学学报,2018,28(2):139-141. [4] 高 媛,刘德建,黄真真,等. 虚拟现实技术促进学习的核心要素及其挑战 [J]. 电化教育研究,2016(10):77-79. [5] 孙志伟,李小平,张 琳,等. 虚拟现实技术下的学习空间拓展研究 [J]. 电化教育研究,2019(7):76-78. [6] 王文润,王阳萍,雍 久. 基于Unity3D的铁路信号设备虚拟现实系统研究 [J]. 铁道标准设计,2016,60(8):145-146. [7] 张 威. 虚拟现实技术在铁路培训领域的研究和展望 [J]. 铁路通信信号,2016,52(6):50-52. [8] 王甫江. VR 技术在铁路职工培训中的应用 [J]. 上海铁道科技,2018(2):122-123. [9] 夏远东,马思群,胡 越,等. 基于Unity3D的受电弓模态测试虚拟培训系统开发 [J]. 自动化技术与应用,2020,39(10):143-145. [10] 唐明哲. 基于虚拟现实的装配仿真应用与研究[D]. 成都: 电子科技大学, 2018. -
期刊类型引用(4)
1. 程钢,童华琳,刘启亮. 高速铁路弹链接触网弹性影响因素及变化规律研究. 实验技术与管理. 2025(04): 170-176 . 百度学术
2. 岳彪,王阳萍,党建武,闵永智,王文润,雍玖. 虚实结合的高速铁路受电弓-接触网仿真交互实验系统设计. 实验技术与管理. 2023(07): 126-133+188 . 百度学术
3. 陈晓坚. 基于动作捕捉技术和Unity 3D的演示系统设计. 自动化与仪器仪表. 2023(12): 144-147+151 . 百度学术
4. 姜少伟. 基于Unity 3D的燃气应急预案实景演练系统设计. 电子技术与软件工程. 2022(14): 54-58 . 百度学术
其他类型引用(0)