灵图互动-数字孪生,虚拟仿真解决方案优质提供商

灵图互动是数字孪生虚拟仿真平台软件优质企业

虚拟拆装教学系统开发-动车组转向架检修虚拟仿真实训室建设

发布时间:2023-07-17

编辑人:灵图互动

阅读量:346

转向架是动车的走行部,犹如人的双腿,是动车最核心的部件之一,它直接决定了动车的稳定性和乘坐舒适性。在转向架的拆装及检修操作培训过程中,如果操作不当,会造成转向架零件的损坏,甚至发生安全事故,导致受训人员受伤等情况发生。虚拟现实技术在转向架拆装及检修中的应用,可以有效解决以上难题。

动车组转向架虚拟拆装教学系统通过计算机生成三维虚拟拆装环境,能够让受训人员身临其境地沉浸在虚拟环境中,根据操作说明,较快速地掌握设备操作流程和规范,避免操作不当导致人员受伤或设备损坏,而且可以反复学习使用、不受时间地域限制、实际交互性强,能有效降低教学成本、提高学习效率。

动车组转向架虚拟拆装教学系统

1. 动车组转向架虚拟拆装教学系统架构

动车组转向架虚拟拆装教学系统基于Unity3D虚拟现实开发平台,结合三维建模软件 3Ds Max 创建模型,采用 C# 语言编写控制脚本实现转向架各部分系统零件拆装演示。利用数据库技术完成转向架的基本信息、转向架结构、工作原理、拆装练习、评价考核等功能模块,实现培训练习,使得受训人员对转向架拆装操作进行全面的培训。系统主要由交互体验层、系统数据层、脚本数据层及模型数据层组成。

1.1 交互体验层

实现转向架虚拟拆装交互演示。

1.2 系统数据层

管理转向架零件的基本信息、结构原理、拆装顺序及用户管理等数据。

1.3 脚本数据层

使用C#脚本对场景的交互、转向架拆装、碰撞响应、用户界面及声音的编辑控制。

1.4 模型数据层

存储转向架3D模型(.FBX)、动画、标准材质、声音等基础关键数据实时被运行脚本调用。

2 动车组转向架虚拟拆装教学系统开发

2.1 动车组转向架虚拟拆装教学系统开发流程

动车组转向架虚拟拆装教学系统按照需求的不同设计不同的功能模块,从而实现全面的转向架拆装的培训任务。具体开发流程 :

(1)参考动车转向架图纸及相关场景的三维模型的建立,将模型导入 Unity3D 平台,进行场景建立。另外,同时整理转向架各部分系统的零件信息并录入数据库 ;

(2)通过编写 C# 脚本实现系统界面交互、系统三维场景交互、系统与数据库的通信 ;

(3)通过 Unity3D 平台将系统发布到 PC 桌面展示。

2.1.1 三维场景构建

动车组转向架虚拟拆装教学系统对模型的要求较高,通常采取依据 CAD 图纸和物体实际图片进行建模。Unity3D 作为虚拟现实软件其建模功能较弱只能构建基础的模型物体,对于转向架设备之类的复杂精细模型并不合适,因此,动车组转向架虚拟拆装教学系统采用 3Ds Max 进行模型制作,3Ds Max 具有强大的建模工具和材质贴图调整功能,其制作出的模型逼真,表现力好。

下面以制动系统为例介绍模型的导入过程。转向架制动系统其整体包含了许多形状复杂的零件,因此,在制作模型的过程中确保真实性的前提下,对模型进行合理优化,避免模型数据量过大导致数据溢出影响转向架虚拟拆装系统的运行效率,导致体验效果不理想等问题。动车组转向架虚拟拆装教学系统利用 3Ds Max 对模型的面数进行优化,将模型中看不到的点、线、面进行删除等操作,精简模型,最后导出为 Unity3D 支持的 FBX 格式文件导入相关场景。

动车组转向架虚拟拆装教学系统开发

2.1.2 交互脚本设计

动车组转向架虚拟拆装教学系统采用 C# 进行交互脚本进行相关开发和设计。(1)为了实现对转向架模型的多角度展示,编写 C# 的MouseView.cs 脚本进行鼠标滚轮缩放和旋转拖动的功能。

(2)为了实现转向架拆装演示和操作功能,利用Unity3D 引擎 NGUI 的 Tween 类方法实现零件的位置变化、高亮显示、透明度调节的功能。

(3)为了模拟真实的拆装效果,动车组转向架虚拟拆装教学系统中转向架零件的运动采用Tween Position 方法实现,在脚本中设置零件运动前后的位置坐标,利用 Rigidbody 方法添加零件的重力效果,实现转向架拆装过程中真实的运动轨迹。

(4)为了实现零件运动结束后消失的效果,通过编写 C# 的Gameobject.active 方法实现零件在运动到地面之后零件自动消失,此时可以模拟出转向架零件在拆卸过程中的交互。将转向架各部分系统零件制作成预制物体分类存储到 Profab 文件,利用 C# 的 Instatiate方法结合碰撞器完成在指定的位置添加指定的零件,实现转向架装配的交互。

2.1.3 信息数据库设计

动车组转向架虚拟拆装教学系统中,信息数据库存储转向架各零件拆装顺序,转向架各部分系统基本信息、结构工作原理及参加培训人员的个人信息和评价考核结果等数据。

动车组转向架虚拟拆装教学系统利用 SQL Serves 2010 为数据的管理和开发基础,以 C# 脚本实现与 Unity3D 中数据通信。例如 :Unity3D 引擎中的转向架装配体零件模型及其基本信息在数据库中都有对应的 ID,并按照一定的分组形式在数据库中以数组的形式存储与读取,方便系统快速读取并将模型或显示信息通过数据通信在 Unity3D 交互界面实时显示。

2.2 动车组转向架虚拟拆装教学系统关键功能实现

2.2.1 转向架拆卸功能

转向架的零件众多,拆卸过程复杂。为了能够较为真实表现零件的拆装过程,需要采用动画表现能力强的方法来控制零件,使其能平滑地显示零件的平移、旋转、放缩等动画过程。动车组转向架虚拟拆装教学系统利用 Unity3D中 iTween 插件实现这些效果。该插件是一种功能强大的动画效果编辑插件,使零件从一种状态变换成另一种状态时过渡平滑,可以通过不同的动画曲线表现出不同的物体运动速度的变化。将 iTween 插件导入 Unity3D 中可以较好地完成零件的平移、旋转、放缩以及零件的高亮显示等动画过程。

(1)零件的运动功能

零件运动包括平移、旋转、放缩等运动效果。通过利用 iTween.MoveTo(),iTween.RotateTo() 和iTween.ScaleTo() 分别可以实现对零件的平移、旋转、

放缩的运动视觉效果。另外,摄像机的过渡转场也需要用 iTween.RotateTo() 将摄像机旋转到正确的角度。这些代码的使用方法类似。

(2)零件的表面材质变化功能

在转向架虚拟拆装过程中,零件颜色的变化代表拆解顺序的过程。所以零件表面材质变化也是相当重要的。为实现该功能可以使用 iTween.ValueTo()方法,当鼠标放置某零件上方触发该出碰撞器响应使该零件表面材质发生渐变动画。

动车组转向架虚拟拆装教学系统关键功能实现

2.2.2 转向架装配功能

转向架虚拟装配过程是通过使用鼠标选择相应的零件拖放到相应的安装位置,并且实时监测零件是否到达正确安装位置,只有在正确的安装位置才能将零件从鼠标中释放并摆放到正确位置,在装配过程中会实时有零件的装配信息提示。若选错零件或安装位置不正确,零件会一直随鼠标一起运动,直至按照提示将零件正确地安装在所在位置。在此过程中鼠标的拖动功能、识别安装位置及信息提示功能是该部分的关键技术。

(1)鼠标拖动功能

在转向架虚拟装配过程中,每一步的装配过程都会利用鼠标拖动零件到对应位置完成安装工作。为实现该功能需要通过监听鼠标的点击事件和拖拽事件,并将鼠标的移动数据记录下来,使所要拖动的零件根据当前位置坐标和鼠标的移动数据进行计算,即可得到零件的目标位置坐标,最后将目标位置坐标赋予当前零件即可实现鼠标对零件的拖动。

(2)识别安装位置功能

当零件被拖动时,系统会实时监测零件与目标位置的距离,当该距离小于设定的数值时,零件表面材质颜色会发生改变,并提示相关装配信息。

动车组转向架虚拟拆装教学系统突破了传统的理论学习、动画演示、实际操作等的培训方式。通过虚拟环境对转向架基本信息、设备结构、工作原理、拆装操作 4个模块的操作学习,可以使培训人员理论学习与操作实践相结合,实现对转向架拆装的全面培训。

优秀案例推荐:

  • 1

灵图互动(武汉)科技有限公司版权所有Copyright © 2015-2023

鄂ICP备16014868号-1

虚拟仿真 数字孪生