动车组密接式车钩虚拟仿真实验系统设计

2019-11-26 07:29王丹红史开志
实验室研究与探索 2019年10期
关键词:车钩动车组实验

肖 乾 王丹红 史开志

(1.华东交通大学 轨道交通技术创新中心,南昌 330013; 2.南昌工善科技有限公司,南昌 330013)

0 引 言

密接式车钩作为高速动车组重要部件之一[1],车钩实验是轨道相关专业学生必不可少的实验环节,现有的车钩实验教学环节存在内部结构无法观察、设备采购维护成本高、专业操作技术强、操作危险系数高等不足[2]。研发一套能实现不受时空限制且能保证学习质量的动车组密接式车钩实验系统很有必要。

目前,虚拟现实(Virtual Reality,VR)技术在轨道、教育领域的应用已取得一定成果[3],杨颜志[4]通过结合虚拟样机和VR技术,进行不同工况下铁道车辆舒适性分析试验;吴海超等[5]开发了动车虚拟驾驶仿真系统,实现了对CRH3动车组驾驶进行全三维虚拟化列车逻辑模型仿真;米小珍等[6]设计开发了面向检修的CRH3动车组转向架虚拟仿真系统。至今仍没有针对密接式车钩的虚拟仿真实验教学方面的应用,本文基于VR技术设计研发一套动车组密接式车钩虚拟仿真实验系统,主要解决动车组密接式车钩现场实验教学中结构不可见,工作原理不可及,实验过程不可控的问题[7],使学生在虚拟场景完成现场车钩实验,且能够满足车钩实验教学及考核要求。

1 系统总体设计

1.1 需求分析

基于“以学生为主体,寓教于乐”的教学理念,结合现场实验教学内容,设计的动车组密接式车钩虚拟仿真实验系统应能满足以下教学需求:提供全面且系统的教学内容以及规范化的实验操作步骤[8];操作界面符合人性化及美学设计要求,能达到良好的交互效果;所有的操作均能够自动根据输入信息实时判断且更新,正确输出对应结果;不受时空限制,用户线上完成实验操作[9]。

1.2 系统总体架构设计

本文所设计的系统总体架构如图1所示,包括用户层级的交互设计、内容交互功能设计以及底层支撑技术开发。

图1 系统总体架构

用户层级的交互设计用于实现Unity 3D程序和网页中元素的交互功能,并提供资源下载渠道。用户可在网页上操作由Unity 3D中发布的车钩虚拟仿真实验,也可登录、注册、查看实验操作指南、编写预习报告、信息查询等。

内容及交互功能设计是整个实验系统设计的核心,它不仅要满足实验内容的完整性,还要保证用户能够对车钩实验有深刻的理解,在达到教学效果的同时提高用户的学习兴趣[10]。其内容上总体划分为拆装实验、连挂实验、性能实验3个模块,且3个模块知识的难度是依次递增的。其中拆装实验的设计用于熟知其结构及装配关系,具有内部结构可视、拆装流程可控以及操作流程规范等特点[11];连挂实验用于分析不同影响因素下车钩的连挂质量以及三态原理作用过程[12],需完整展示三态运动过程以及连挂质量检测操作,实现连挂过程的可控性;性能仿真实验用于分析车钩在不同速度等级下的车钩性能,实现性能测试操作、多工况碰撞仿真和拉伸强度应力应变分析[13]。

底层支撑技术开发是完成系统功能设计的基础,用于支撑内容交互功能的具体实现,开发人员根据系统用户需求选择合理的软件进行设计,利用相应的软件完成实体模型的创建与优化、拉伸强度分析、动力学仿真分析、界面设计和程序逻辑控制等。

2 关键技术

2.1 模型优化技术

综合考虑系统对三维模型的精度要求以及性能的优化程度,将车钩、试验台等关键模型采用Creo4.0进行参数化建模,实验室墙体、安全标识、门窗等则以多边形(Polygon)建模为主的3Ds Max软件建模[14]。在模型优化过程中需将参数化建好的模型导入多边形建模软件中进行整合,由于3Ds Max具有其特有的实体功能,导入之后的模型不会自动生成三角面,在保证模型精度的条件下,需对转变成可编辑多边形后的模型进行减面处理、断点焊接等优化操作,其中要求尽可能保证稳定型的四边形。

为保证模型的逼真性,在导入虚拟场景前需要先对模型进行UV展开,使用专业贴图绘制软件Substance Painter完成贴图制作。对不同要求的模型设置不同的贴图和纹理,例如车钩头外表面,属于铸造件且材质为铸铁,其表面的漆面相对其他金属而言比较粗糙,进行纹理贴图时其凹凸感较强。最终达到的车钩效果如图2所示。

2.2 多媒体信息处理技术

为增强虚拟仿真实验的沉浸感,系统需添加音效,图片、动画、视频等多媒体信息资源,其资源占用内存较多,对硬件配置及网络带宽要求高。因此在发布之前对多媒体资源进行多级处理是保证正常开发的关键步骤之一,导入虚拟场景前对视频、声音、图像等资源文件先采用格式工厂进行预处理,导入后的多媒体信息在Unity 3D中进行以下再处理操作:将图片设为精灵(Spirit)格式以匹配对应的UI,音频通过音频源(AudioSource)进行处理,动画进入动画状态机(Animation)中编辑,视频则通过AVProVideo插件实现在虚拟环境的播放控制,同时生成的资源文件(StreamingAssets)可减少运行内存[15]。

图2 优化后的车钩模型

2.3 虚拟现实技术

VR技术是基于人机交互、网络通信等技术发展的更高层次的仿真技术,具有的沉浸性、交互性、虚幻性、逼真性等特点[16],其常用来开发的引擎为Unity,强大的Unity引擎内置声音、视频、碰撞器等多种组件,配合使用可以大幅度减少内存的占用率,同时降低脚本程序的编写难度,加快开发进程。在车钩实验中涉及的碰撞、变形、透明外壳等操作可以通过添加Unity引擎中不同性质的组件得以实现,而不同的界面间的切换、点击事件的控制、操作方式的选择、实验进程的调整等逻辑判断可在Unity自带的脚本编辑器(MonoDevelop)或VS(Microsoft Visual Studio)中进行脚本程序的编写。应用NGUI创建UI交互界面,配合导入的3D模型、多媒体资源搭建数字化的三维虚拟场景[14]。基于Unity兼容性强的特点,本实验系统可发布于多种平台,实现网络化与资源共享[17]。

3 车钩虚拟仿真实验系统开发

3.1 虚拟仿真实验系统开发流程

车钩虚拟仿真系统的开发流程如图3所示。

图3 虚拟仿真实验开发流程

通过参数化建模软件创建和优化好的车钩、试验台等三维模型再进行两条不同路径的处理,一条是将车钩以IGES格式分别导入有限元软件ANSYS和动力学仿真软件(Universal Mechanism,UM)中完成车钩碰撞性能和拉伸强度性能仿真分析,将分析的数据通过SQL Server数据库与VS建立联系,通过脚本程序实现虚拟场景中实验数据的调用;另一条是将所有场景模型以IGES格式导入3Ds Max中重置UV并制作贴图,再将其导入Unity 3D中完成虚拟场景的搭建。通过界面设计和程序控制实现内容交互功能,最后将完整的实验系统以WebGL打包部署到IIS上,结合教学要求进行用户层级的网页设计,最终实现动车组密接式车钩虚拟仿真实验的在线操作。实验总体操作流程如图4所示。

3.2 交互功能具体实现

系统利用Unity引擎整合模型及多媒体信息资源,模拟真实场景中车钩实验的操作步骤、操作方式、实验现象等[18],真实的还原现场车钩的虚拟拆装过程、不同连挂速度下的车钩连挂过程、连挂实验的操作过程、性能实验的操作步骤及检测操作等。

3.2.1 内部结构可视化

实验中用户可根据需要随时查看车钩内部机械结构及其运动状态,例如关闭球阀动作中,需要将遮挡球阀的盖板进行透明,使球阀可见、可控,制作过程中采用透明度混合(AlphaBlend)方法控制模型在渲染时的透明通道,采用Unity 3d自己封装的一个调用GG/HISL/GLSL的接口(ShaderLab)完成片段着色器(Fragment shaders)的编写,实现模型半透明的效果,用程序设置零部件(添加了mesh collider控制器)半透明的触发方式,通过射线检测(physics linecast)实现鼠标单击对应模型时该模型半透明显示,当重复单击同一个模型时对应模型材质还原。最终可实现如图5所示的车钩头内部可视化的效果。

3.2.2 实验操作规范化实现

实验各流程严格按对应操作手册中规定的步骤依次进行,主要是通过C#脚本程序实现,将创建的脚本程序分别绑定到不同的操作对象上,使其在各自的生命周期中运行,执行的顺序由对应事件函数和触发机制确定。如图6所示为卡环联接装置拆卸的控制流程。

程序中逻辑判断的对象主要是虚拟场景中交互操作的反馈结果。碰撞检测的过程是射线与添加碰撞器Collider的物体发生碰撞后获得反馈的过程,其中射线是一条由主相机(Main Camera)到鼠标的光标坐标发射的无终点直线。

3.2.3 三态原理动态展示

车钩三态原理的动作过程以动画形式展示,通过3Ds Max中IK解算器(IK Solver)和HD解算器(HD Solver)分别定义车钩内部不同零部件间运动关系,给对应末端效应器制作动画,同时配合帧动画做细微调整,达到最佳动态效果。以闭锁过程为例,先确定钩板、连杆等构件间运动关系,链接构件间的父子关系,在设置面板中定义约束关系及拉簧的刚度,在轨迹视图-曲线编辑器(Track View-Curve Editor)面板中制作动画,将导入Unity 3D后的连续动画帧根据需求分解成多个片段,由可视化的Animator编辑器管理多个动画状态的切换,实现闭锁过程的可控性。

图4 实验总体操作流程

图5 车钩头内部结构

图6 卡环联接装置拆卸控制流程

3.2.4 连挂质量测试效果实现

在密接式车钩综合性能试验台上对车钩进行连挂测试,主要从机、电、气三方面进行车钩连挂质量检测,需要表现出电流以及气流连接后的路径情况,操作过程由程序逻辑控制,表现形式主要利用粒子系统(Particle System)实现。通过粒子特效(Particle Effect)窗口编辑仿真过程,在Particle System组件属性面板下的发射(Emission)、形状(Shape)、渲染(Renderer)等控制类模块中设置粒子颜色、密度、形状、生命周期等状态参数,配合粒子系统曲线编辑器(Particle System Curves Fditor)模拟出电路中电流的流向。如图7所示为MRP的风管接头接通后的气路特效。

图7 MRP的风管气路特效

3.2.5 性能仿真操作的实现

在虚拟场景中主要模拟性能实验的操作流程,其仿真计算主要在专业的数值仿真软件UM、和Ansys中,本系统主要通过SQL Server数据库存储仿真分析结果,在Visual Studio中利用程序调用仿真结果,将其用于虚拟场景中的结果显示及分析,实现虚拟场景中的操作步骤与数值仿真软件分析结果的一一对应。性能仿真操作界面如图8所示,其中①为步骤提示面板,②为参数输入及结果显示面板,目前显示的是在5 km/h连挂速度下的碰撞力随时间变化曲线(F-t曲线),③为虚拟实验场景。

图8 性能仿真操作界面(虚拟场景)

3.2.6 实验操作计分功能的实现

实验操作分值采用累加制计算。需先对需要计分的操作步骤按顺序定义序列号以及相应的分值,将其存储于数据库中。系统会自动记录用户的每个操作情况,但在计分程序中只会记录对应序列号所对应的操作步骤,并根据操作中检测到的结果与数据库中序号和分值进行对比,相同则累加相应分值,反之不计分,最终系统在用户点击提交按钮之后将总操作分自动记录在实验报告中。

4 系统调试与发布

系统调试可分为发布前的引擎调试和发布后的平台直接运行功能调试两个阶段,前者在系统运行中通过控制台(Console)面板检测脚本出现的逻辑错误,系统将执行的每条程序的输出结果、耗费时间、警告和错误原因和数量等信息显示在Console面板中;后者在运行发布的系统,与预估结果进行对比,检测不同平台间的兼容性问题和发布过程中参数设置产生的影响。调试中Unity的性能分析面板(Profiler)提供了在编辑器外部运行时系统的运行性能参数,设计人员可根据其运行测试结果优化所开发的系统,减少资源占用。

基于B/S架构,用户可通过浏览器运行发布后的软件系统,实现资源共享且不受时空限制[19]。系统以Web GL发布,导出后的Release、TemplateData 文件夹和一个index.html文件打包部署到IIS上,建立服务器后通过服务器地址进行访问,用户可根据得到的网址链接进入对系统进行在线操做。通过SendMessage()和Application.External- Call()两种方式实现WebGL和ASP.NET的交互。经设计过后的系统网页如图9所示。

图9 系统网页平台发布

5 结 语

动车组密接式车钩虚拟仿真实验系统利用VR技术和仿真分析软件真实还原了车钩试验的操作步骤及方法,使学生能在不受时空限制的虚拟环境中完成车钩的拆装、连挂、性能仿真实验,由浅至深逐步引导学生学习动车组密接式车钩结构组成、三态原理、连挂力学特性等专业知识。相对传统观摩式的实训而言,系统全面涵盖了密接式车钩的重点和难点,有效的培养了学生的动手实践能力,在实验教学领域有较高的应用价值。

猜你喜欢
车钩动车组实验
记一次有趣的实验
国产330型车钩连挂兼容性研究
一种基于ResNet的车钩状态识别方法及其应用
“95后”动车组女司机的首个春运
做个怪怪长实验
动车组BTM带内干扰的排查与整治
设有挡肩的尾端圆弧接触重载车钩稳钩能力研究
CRH3型动车组轮对压装曲线研究
NO与NO2相互转化实验的改进
实践十号上的19项实验