APP下载

基于Unity3D 的轨道车辆虚拟设计系统研究

2021-04-24彭俊江

华东交通大学学报 2021年1期
关键词:部件轨道设置

万 平,彭俊江,肖 乾,周 鹏

(1. 中车株洲电力机车有限公司大功率交流传动电力机车系统集成国家重点实验室,湖南 株洲412001;2. 株洲国创轨道科技有限公司,湖南 株洲412001;3. 华东交通大学载运工具与装备教育部重点实验室,江西 南昌330013)

轨道车辆设计为满足差异化要求,设计时根据功能定义,设计特定的机械结构布局、内外布局、装饰风格等,并对设计部件进行有限元分析,验证部件的合规性。 过往的轨道车辆设计周期长,设计分散,设计效果无法实时动态显示,需要在轨道车辆完成整装后方可系统性浏览轨道车辆的设计效果,再根据其中不合理环节进行改进。 重复改进的过程中既浪费了时间,延长了设计周长,同时需要耗费更多的财力和物力,且在可视化、交互、展示效果等方面存在一定的不足。 有鉴于此,利用最新的信息技术,开发基于Unity3D 的轨道车辆虚拟设计系统,弥补其在数字可视化、交互、展示效果等方面存在一定的不足。

查阅文献可知,已有部分专家学者深入研究虚拟现实技术在轨道车辆应用的可行性,并取得了一定的成果。 杨岗等[1]应用SolidWorks 编辑CRH1 型转向架三维模型, 应用3D Max 渲染模型, 在Virtools 中编辑脚本实现了CRH1 转向架的虚拟装配系统。 崔林格[2]应用CAD 构建轨道车辆模型,通过VC++2005,OSG 与QT 结合, 应用模块化思想设计了动车组虚拟装配系统。 徐娟[3]应用Pro/e,UG,Mu Lti Gen Creator 完成虚拟现实建模,以VisualC++6.0为开发平台设计开发了铁道车辆虚拟运行仿真系统。 江渡等[4]在VRML/JAVA 环境下利用Delphi 开发GUI 界面,实现了动车组虚拟检修的动态仿真系统。 万隆君等[5]基于Unity3D 虚拟引擎,设计开发了HTML 版本的船舶管路装配虚拟仿真系统。 金燕等[6]以CRH380BL 型车转向架为研究对象, 基于Cult3D平台, 结合Pro/e,Authorware 完成了CRH380BL 转向架虚拟检修仿真系统的开发。 肖乾[7]通过使用NGUI,DoTween 动画、C# 等实现模拟单车试验器和制动试验仿真为核心的虚实结合的单车制动实验培训系统。 总结发现目前研究主要考虑应用虚拟现实技术实现轨道车辆的虚拟装配、虚拟检修,对虚拟设计方面应用少。

本文提出虚拟现实技术在轨道交通车辆设计中的应用研究, 基于Unity3D 虚拟引擎平台的沉浸性、交互性、想象性特点,并结合ANSYS,UM 等有限元、动力学等分析软件,完成对轨道车辆的总体设计、关键部件的设计、虚拟装配和轨道车辆系统性能分析, 减少轨道车辆在设计过程中耗费的财力、物力、缩短设计周期,构建数据可视化程度高、交互性强、沉浸感强的轨道车辆虚拟现实设计平台。

1 系统构架

1) 表现层。系统表现层是呈现给用户体验和操作的窗口, 轨道车辆虚拟设计系统是基于PC 端开发, 系统基于PC 端硬件设备可实现与系统的人机交互、系统的设计效果展示、设计参数的传输以及轨道车辆的在虚拟运行环境的动态模拟。

2) 应用层。 系统应用层是设计展示的载体,关于轨道车辆的虚拟设计功能全部在应用层完成,应用层包括车辆总体设计模块、车辆关键部件设计模块、车辆虚拟装配设计模块、车辆虚拟运行环境设计模块。 其中车辆总体设计模块中包括司乘界面和乘客界面2 个子模块,司乘界面的设计对象是电力机车和城轨车辆的司机室,乘客界面的设计对象是城轨车辆和动车组的车厢。 车辆关键部件的选型设计对象有车轮、构架、齿轮、车厢地板等。 车辆虚拟装配模块中虚拟装配对象包括转向架、 受电弓、车钩、机车装配。 车辆虚拟运行环境设计模块中包括驾驶设置、视角设置、运行环境、数据显示3 个功能子模块。

3) 基础层。基础层是支撑系统开发和运行的基础。 基础层包括基础支撑环境和数据库2 个部分,基础支撑环境有PC 端,Unity3D,Maya,Ansys,数据库包括内容数据库和场景数据库两部分。 Unity3D平台完成场景搭建、关联驱动、模型场景渲染;Maya完成所有功能模型、场景模型的搭建;Ansys 完成关键部件的强度计算和疲劳计算。 内容数据库保存设计信息和用户信息, 场景数据库管理设计信息、指导信息和模型信息。 系统架构如图1 所示。

2 系统实现

2.1 模型建立

轨道车辆虚拟设计系统中包括大量模型,如车辆模型、场景模型、辅助模型等,不同模型的功能要求、精度要求存在差异,建模过程中根据不同需求及功能定义,对模型进行分级处理,不同级别的模型选用不同的3D 建模软件。 模型机械结构精度要求高,用于系统结构设计和虚拟拆装模块的模型选用Pro/e 完成;对仅存在外观要求,内部结构不参与功能展示的场景模型、辅助模型,建模时选用Maya完成。 为实现模型对实物的真实还原,建模完成后对模型进行贴图纹理处理,进行模型UV 处理时,为保证模型的虚拟真实度, 减少贴图接口区域误差,制作UV 贴图时选择贴图的纯色区域做无缝处理。贴图时为突显模型物理效果, 考虑Bump Map 和Normal Map 两种贴图,Bump Map 包含凹凸信息,通过改变高度值实现模型表面的凹凸感,Noramal Map 通过RGB 烘焙曲线实现贴图的颜色调整。 建模完成后通过Maya 转化为FBX 格式即可导入到Unity 虚拟场景中,实现系统功能的开发。 系统部分模型见图2。

图1 系统架构图Fig.1 System architecture diagram

图2 系统模型图Fig.2 System model diagram

2.2 功能实现

2.2.1 车辆总体方案设计实现

为实现对轨道车辆内饰、 座椅等风格设计,需要通过Shader 更改模型贴图。 Shader 是Unity3D 引擎平台中的着色器,Shader 专门运行在CPU 图形处理单元上,Shader 主要有3 种:固定管线着色器、表面着色器、顶点片元着色器。 固定管线着色器在运行时占用的渲染资源极大,一般情况不会不选择固定管线着色器, 顶点片元着色器是干预模型形状,表面着色器干预模型表面像素点,见图3。

动车组和城轨车辆乘客界面设计时, 为实现动态更换车辆内壁和座椅贴图, 需要设置Sherder属性中的_MetallicGlossMap,_MainTex,_BumpMap 3 个贴图属性, 获取贴图属性后通过c# 脚本程序驱动动态更换贴图,动态贴图更换实现脚本如下:

ChetiMaterial.SetTexture ("_MetallicGlossMap",XKYSM);//XKYSM 为需要更改主贴图图片名称

ChetiMaterial.SetTexture ("_MainTex",?XKYSA);//XKYSA为需要更改的纹理贴图图片名称

ChetiMaterial.SetTexture("_BumpMap",XKYSN); //XKYSN为需要更改的法线贴图图片名称

图3 总体设计图Fig.3 Overall design drawing

乘界面与乘客界面设计中为实现按钮颜色和贴图颜色的灵活搭配,多样化的设计效果,在场景功能中编辑颜色控制器,实现司机室操纵按钮和贴图颜色的实时选择。 Unity3D 中颜色编辑器界面使用UGUI 开发,界面显示面板和功能按钮全部使用UGUI 中的Image 设置,颜色编辑器分为3 个模块:七色渐变图、RGB 数值显示、最终选色。 RGB 数值显示可以实现颜色的快速定位, 选择理想颜色,最终选色是展示用户在选色时最终选取的颜色。 颜色编辑器功能的实现主要是在ShaderForge 中创建2D Shader, 控制Shader 中UV 的U 点和V 点区域节点图, 实现选色面板, 通过C# 脚本将选取色的Value 值通过设置的比例关系转换成RGB 值。

2.2.2 关键部件结构设计实现

用户在了解轨道车辆关键部件的材料、装配事项、设计准则等基础属性后,需要对关键部件进行仿真分析,通过仿真数值结构验证关键部件结构是否符合强度性能、力学性能等要求,本文中选择的有限元分析软件为Ansys。在关键部件结构设计模块中设计Ansys 激活软件UI 按钮,通过程序驱动计算机后台程序启动Ansys, 并自动导入需要计算的相关模型, 实现轨道车辆虚拟设计系统与Ansys 软件的动态链接。实现动态链接Ansys 的主要代码如下:

Process.S"C:Program FilesAnsysIncv150Ansysinwinx 64AnsysX.exe"-Pane3fl-dir"C:UsersAdministrator"-j"file"-sread -len -us -b -i"C:UsersAdministratorfile.dat" -o "C:UsersAdministratorfile.out"

通过UI 按钮实现Ansys 软件激活和模型传导后,用户可根据关键部件的使用范围选择不同的计算标准,在Ansys 中设置关键部件的仿真计算参数,完成对关键部件的仿真分析。Unity 与Ansys 联动见图4。

图4 Unity3D 与Ansys 联动图Fig.4 Unity3D and Ansys linkage diagram

2.2.3 虚拟装配设计实现

轨道车辆虚拟装配需要考虑部件的装配顺序、装配路径、部件定位等。 部件装配顺序按照轨道车辆关键装配工艺文件设置,编辑部件装配顺序数据库,序列化激活UI 控制按钮,用户点击正确安装顺序下的部件UI 按钮后激活下一步安装部件控制程序,并通过实例化技术生成相匹配的模型文件。 虚拟装配中装配路径一般由系统脚本编辑的路径规划自动生成。 轨道车辆虚拟装配设计系统中不考虑使用推理机生成关键部件虚拟装配路径,考虑系统的交互性、用户参与度,模型部件虚拟装配移动路径由用户通过鼠标控制,实现模型随鼠标运动的控制代码主要代码如下:

模型部件完成路径生成并移动到安装位置时,需要对模型安装位置定位,完成最终的装配。 用户点击安装部件UI 控制按钮后,模型安装位置会在部件中高光虚化显示,提示用户初步的安装范围,用户移动模型部件进入到安装位置后,实体模型与虚化模型设置的碰撞器会进行碰撞的触发检测,检测碰撞体标签是否一致。 Unity3D 中触发器模式是将Collider 中的Is Trigger 勾选,实体运动的模型添加Rigidbody 组件,通过OnTriggerEnter 和OnTrigger Exit 检测进入到触发器区域和离开触发器区域调用。

检测正确后激活实体模型中的DoTween 插件,并将虚化模型的比例、位置、旋转等数据信息传输到DoTween 插件中,DoTween 插件通过内部算法控制实体模型动态完成部件装配,见图5。

图5 关键部件虚拟装配Fig.5 Virtual assembly of key components

2.2.4 虚拟运行环境设计实现

轨道车辆行驶工况多样,涉及因素众多,轨道车辆虚拟设计系统中为实现最大程度对行驶工况环境因素的模拟, 在虚拟运行环境中模拟雨雪天气、侧风等天气特效。

模拟下雪特效时, 通过GameObject->ParticleSystem 在系统中添加粒子,基本属性设置根据可根据常规认识设置。 为提高模拟的真实度,对粒子系统做贴图处理,挑选符合雪天气效果的圆形图片设置为贴图,设置图片为PNG 格式,将粒子系统Shader 设置成Transparent。 考虑雪是向下且受风力影响会产生绕y 旋转,x 轴与z 轴方向的速度,设置粒子生命周期的y 轴速度,粒子旋转为0,45,0,绕世界坐标系下的y 轴旋转,在Force Lifetime 属性栏中设置x,z 轴方向的受力大小,产生雪粒子的偏移效果。 不同雪的粒子下落速度、雪的粒子大小等存在差异, 需将粒子运行速度、粒子起始大小等设置成区间范围内的随机数。 轨道车辆虚拟运行场景地形大, 为实现全场景的模拟效果覆盖,将粒子发射器Shape 覆盖全地图,并设置UI 控制条,实现降雪强度的改变。 降雪天气特效模拟基本属性设置完成后根据运行效果微调参数, 实现最大程度对实际降雪效果的模拟。 虚拟运行工况中降雨、 侧风、 雨夹雪等特效更换合适贴图后依照相应步骤即可完成,见图6。

图6 虚拟运行环境效果图Fig.6 Effect diagram of virtual operating environment

3 调试与发布

系统进行必要的运行测试是考核产品优劣性最直接、最有效的手段[8],轨道车辆虚拟设计系统由开发人员完成后点击Unity3D 编辑窗口“File”的子菜单“Bulid Settings”,根据场景操作逻辑和交互流程设计场景序号加载系统场景,点击“Platform”并在发布平台中设置系统参数,完成系统测试版本的发布。 系统发布后随机选择PC 端从运行效果、功能需求、功能逻辑3 个方面进行测试,对测试结果统计规整作为系统优化依据,系统优化从以下几个方面进行:①模型优化:模型优化主要考虑Mesh 合并、控制多边形数量;②内存优化:内存优化考虑Assert 优化、引擎Native 优化、临时调用资源优化;优化完成后确定系统最终版本的发布,生成最终的轨道车辆虚拟设计系统。

4 结论

针对轨道车辆设计过程中存在的问题, 依托Unity3D 引擎平台,从需求分析,模型建立、接口设计、虚拟场景搭建到功能实现,设计并开发了轨道车辆虚拟设计系统。

1) 通过Pro/e,Maya 等3D 建模软件完成了轨道车辆模型、场景模型、虚拟3D 地形等模型的建模工作,为提高模拟真实度,绘制了模型纹理贴图。

2) 应用基于爬山法的AABB 包围盒算法解决了虚拟设计系统中人机交互的碰撞检测问题,通过接口设计实现Unity3D 与ANSYS 的动态链接。

3) 根据系统需求分析, 应用Particle system 实现了对轨道车辆运行环境中风雪等特效的模拟、应用DoTween 实现了关键部件的虚拟装配路径规划,通过c# 编程实现了功能完备, 可扩展性和可维护性强的轨道车辆虚拟设计系统。

猜你喜欢

部件轨道设置
小天体环的轨道动力学
推荐书目《中国轨道号》
“新谢泼德”亚轨道运载器载人首飞成功
变电站五防系统临时接地桩的设置
ControlUWP 让Windows 10的设置更方便
奥迪e-tron纯电动汽车的高电压部件(下)
一种陀飞轮表的双秒轮结构
朝美重回“相互羞辱轨道”?
现代汉字的两种分析法与国家文字规范(四)
栏目设置一览表