基于虚拟现实的动车组虚拟检修仿真研究

2020-03-27 18:17周韶泽杨文庆聂春戈张海峰
机械设计与制造 2020年3期
关键词:碰撞检测视点动车组

周韶泽,杨文庆,聂春戈,张海峰

(1.大连交通大学交通运输工程学院,辽宁 大连 116028;2.中车长春轨道客车股份有限公司,吉林 长春 130062)

1 引言

为保证动车组长期高速、安全、舒适运行,必须经常对动车组进行整备、检查、保养和维修[1]。动车组检修分为五个等级,一级和二级检修为运用检修,主要涉及检视检修。三级、四级、五级检修为定期检修,主要涉及拆装检修。高速动车组是大型复杂产品,其检修工作量大、涉及人员众多,采用物理样机进行培训成本很高。因此,为满足动车组“快速检修、安全可靠、高效运营”的要求,引入虚拟现实技术应用于动车组的检修设计和培训中非常迫切和必要。

虚拟现实(VirtualReality,简称VR)是利用计算机模拟产生一个三维的虚拟空间,通过视觉、听觉、触觉等感官的模拟,使用户没有限制地观察三维空间内的事物,达到身临其境的效果[2]。该系统以仿真方式给用户创造了一个实时反映实体变化与相互作用的界面,使用户可直接参与并探索仿真对象在所处环境中的作用与变化[3]。通过与虚拟环境发生交互作用,从而得到与置身于实际环境中所获得的相同或相似的感受[4]。虚拟现实技术具有多媒体信息的感知性、沉浸性、交互性和自主性等特点[5]。

通过虚拟现实技术把产品以三维动态的方式展示出来,克服了传统二维图纸难以表达检修对象结构的问题。利用虚拟现实技术,使培训人员快速掌握检修技能,以交互的方式了解产品的结构,直观理解产品的拆装过程,既可以降低培训成本,也可以提高培训效率[6]。

2 系统总体设计思想

基于虚拟现实技术为核心开发的动车组虚拟检修系统,其开发流程,如图1所示。系统整体框架,如图2所示。

图1 仿真系统开发流程Fig.1 The Development Processof the Simulation System

图2 仿真系统的整体框架Fig.2 The Overall Framework of the Simulation System

首先,根据二维图纸等资料了解动车组检修车间相关资源的实际属性,再利用CAD软件建立动车组检修对象的三维模型。然后,通过3DMax软件读取所建立模型并转换格式后添加到场景图形库中。最后,在虚拟环境中加载模型并进行交互式检修仿真,最终实现动车组虚拟检修系统的仿真。

3 系统建立的关键技术

3.1 场景树建模技术

三维模型的建立是虚拟仿真系统的根基,其使用CAD软件创建检修对象模型以及用3DMax软件对三维模型进行渲染优化并转换格式导入场景中。

场景模型结构从CAD模型原始模型转换而来,该模型和原CAD模型设计树相似,用来表达虚拟环境各零件和装配体的父子层次组织结构。装配树结构,如图3所示。采用场景图技术来表达装配树结构,可保留原有CAD模型的装配树结构。

图3 装配树结构Fig.3 Assembly Tree Structure

3.2 虚拟检修视点模拟方法

3.2.1 视点平移控制

为模拟检修人员(视点)的平移,需要改变视点在世界坐标系中的位置。设变换前的视点坐标为E(Ex,Ey,E)z,平移变换后的视点坐标为E(′),视点的移动速度为V。视点在世界坐标系中向前移动时的示意图,如图4所示。

则视点实现向前或向后移动时公式如(1):

其中,当t=1时,视点向前移动;当t=-1时视点向后移动。

图4 视点在世界坐标系下变化Fig.4 The Viewpoint Changes in the World Coordinate System

同理可知视点实现向左或向右移动时公式如(2):

其中,当 m=-1,n=1 时,视点向左移动;当 m=1,n=-1 时,视点向右移动。

3.2.2 视点旋转控制

在模拟检修人员的头部转动时,通过矩阵操作实现视点的仰看、俯看、左转、右转,即最常见的是视点绕视点坐标系的X轴、Z轴旋转。

首先计算出视点绕轴旋转的弧度值,因视点的旋转通过鼠标操作来实现,即鼠标在屏幕上移动一段距离(从A移动到B),可实现视点的旋转。

已知鼠标初始屏幕坐标为A(x1,y1),当在屏幕上移动一段距离后,记录当前鼠标屏幕坐标为B(x2,y2)。设角度转化为弧度的公式如式(3):

若视点仰看和俯看场景,即仰、俯角度(即抬头、低头,绕X轴旋转):式中:θ—每单位长度下绕旋转轴旋转的角度,初始角度为90°(弧度R=1.57),表示在视点坐标系下垂直平面向里看,结合式(3)得出绕X轴旋转的弧度求解公式如式(4):

若视点向左转动和向右转动,即视点绕Z轴旋转。视点初始角度为0°(弧度R=0),结合式(3)得出绕Z轴旋转的弧度求解公式如式(5):

将计算出的弧度值代入到旋转矩阵中,得到新的旋转矩阵与其他变换矩阵结合实现对视点姿态的控制。

3.2.3 视点复合变换控制

检修人员的平移(移动)和头部转动(旋转)动作是通过矩阵变换实现的,矩阵操作是由一个(4×4)的矩阵来表示。

在虚拟环境中,为了减少计算量,加快场景绘制,事先将多种变换矩阵合并,形成如式(6)的变换矩阵,然后对模型所有顶点和矩阵相乘进行一次性矩阵变换,实现视点位姿的更新。设T为平移矩阵,R为旋转矩阵。

对视点的控制通常是先平移后旋转,即视点E经过矩阵变换后,新的视点E′数学运算公式如下:

E′=ERT

计算中使用行主序矩阵实现变换操作,在矩阵变换中采用左乘矩阵操作。将两个矩阵合并成单个矩阵,记作变换矩阵M,如式(6):

其中,M的上边(3×3)部分是旋转部分,最下一行是平移部分。逆向利用这些信息,能将任意(4×4)矩阵分解为旋转变换部分和平移部分。变换矩阵M为视点在世界坐标系中的位置姿态矩阵。视点位置姿态矩阵等于视点观察矩阵(视图矩阵)的逆矩阵。而视图矩阵是改变场景内摄像机位置姿态的关键矩阵,当需要变动视点位姿,更新该矩阵即可。

3.3 改进的漫游碰撞检测技术

碰撞检测是虚拟检修系统中重要组成部分,其作用是检测用户在仿真交互时是否与场景中的物体发生碰撞,从而避免“穿越物体”的现象。

传统碰撞检测算法[7]中采用了“线/体”相交测试的方法。在虚拟场景中通过连接移动前后的两个点,而后判断与场景的模型是否有交点来判定这个移动能否执行。该方法比较简单,但存在检测精度不准确的问题,而且无法满足在复杂环境中仿真漫游的要求。

本系统采用基于“线/体”相交测试方法改进的碰撞检测算法。该碰撞检测方法通过与场景物体进行相交检测,不仅实现视点在平面上的移动,还能实现视点的上下台阶。相对于传统碰撞检测其检测结果能做到足够高的精确度和稳定性。

说明该碰撞检测算法具体实现思想。碰撞检测算法上台阶示意图,如图5所示。

图5 碰撞检测算法上台阶示意图Fig.5 Upper Step Sketch of Collision Detection Algorithm

算法目的是将初始位置在点1的视点在没有物体D阻挡的情况下,顺利移动到点4的位置,即是视点从台阶A移动到台阶B。依照如下步骤执行:

步骤一:首先计算出点2的坐标,过点2作垂线段5,计算该垂线段与场景的交点,然后依照下述条件判断视点是否发生移动:

(1)没有交点或交点与点2距离较大,无法移动。

(2)需要注意垂线段5的坐标取值一定要满足场景中物体的几何属性,否则无法实现所需的仿真效果。

步骤二:若计算出垂线段5与场景存在合适的交点3,则在竖直方向上赋给交点3增量h得到点4,过点4作一条与接连点1和点2的直线平行的直线6;

步骤三:若直线6与场景中物体D不存在交点,证明视点可以从点1移动到点4,即是到达左上角的台阶B上,否则不移动。

同理视点在下台阶时也满足该算法的执行步骤。则该算法在程序中的实现流程,如图6所示。

图6 碰撞检测算法实现流程Fig.6 Collision Detection Algorithm Implementation Process

结合前文中的视点平移控制方法,以及改进的碰撞检测算法的思想,当视点上台阶时,可得到计算公式如(7):

式中:Δδ—上台阶时坐Z标的增量,其大小要大于一阶台阶高度,小于二阶高度。

3.4 关键帧插值拆装过程仿真

虚拟环境下对检修对象的拆装仿真原理与视点模拟方法类似,检修对象的拆装是通过不断更新零件的位姿矩阵来实现的。而拆装过程中零件的位姿是由拆装开始和结束关键帧实时插值实现。关键帧存储于拆装预定义文件中。

检修对象进行平移时,零件的位姿由关键帧的起始和终点位置进行线性插值得到。新位置插值坐标P′有:

检修对象进行旋转时,检修对象两个关键帧中的旋转角度可通过Slerp算法插值得到,设置给零件的视图矩阵。

4 系统仿真实现及应用

动车组虚拟检修仿真系统采用VC++工具基于Open Scene Graph(OSG)开源图形库开发。利用绘图软件对检修零件进行建模。在建模过程中需注意零件之间的父子关系,以保留各组成的装配关系。创建完所有模型后,将三维模型导入虚拟场景中。虚拟场景中检视检修的仿真交互界面,如图7所示。

图7 虚拟检修交互界面Fig.7 Virtual Maintenance Interactive Interface

依据以上所提出方法构建虚拟环境,以第一人称视角模拟下地沟、上桥以及通过障碍等仿真功能。如模拟一、二级修检修流程检视制动装置,在地沟内目测闸片以及制动盘等部件的表面情况,如图8所示。

图8 检视制动装置表面情况Fig.8 Inspect the Surface Condition of the Brake

此外,用户利用系统拖拽器功能可在虚拟环境中选取、拖拽移动零件,了解零件的结构和相互关系。结合关键帧插值算法学习模拟产品的拆装仿真流程。

目前,系统初步应用于长春轨道客车股份有限公司的动车组检修培训中,该仿真系统应用的实际培训效果如下:

(1)效率高。采用虚实结合手段培训,使受训人员能更快速掌握检修技能,提高了培训效率。

(2)成本低。系统满足多人培训要求,避免了使用真实样机培训占用生产、检修的作业时间问题,节约了企业成本。

(3)安全可靠。虚拟场景检修真实模拟检修过程,培训过程安全,能大大降低采用真实样机发生危险事故的可能性。

5 结论

基于提出的虚拟检修视点模拟方法,改进的漫游碰撞检测算法模拟动车组检视检修,采用了关键帧插值方法模拟检修拆装过程,开发和实现了基于虚拟现实的动车组虚拟检修系统。系统的仿真结果表明:

(1)采用虚拟检修视点模拟方法实现了在虚拟场景中对动车组检修对象的检视仿真,如一、二级的目测检修;

(2)改进的碰撞检测算法避免了传统方法在复杂虚拟检修环境检测精度不高的问题,既能执行视点的碰撞检测,又能满足在虚拟检修环境中上梯、下沟等检修动作,使虚拟仿真效果更加真实;

(3)关键帧插值方法能模拟检修过程中零件拆装的步骤,使用户直观理解产品的拆装过程。

用户通过该系统能更深入、更细致地了解动车组产品结构和检修流程,取得了良好的培训效果,为大量人员进行动车组检修技术培训提供有效工具。

猜你喜欢
碰撞检测视点动车组
基于动力学补偿的机器人电机力矩误差碰撞检测
全新预测碰撞检测系统
“95后”动车组女司机的首个春运
基于BIM的铁路信号室外设备布置与碰撞检测方法
动车组BTM带内干扰的排查与整治
CRH3型动车组轮对压装曲线研究
高速铁路动车组站内对标停车难的研究
环境视点
BIM技术下的某办公楼项目管线碰撞检测
让你每天一元钱,物超所值——《今日视点—2014精萃》序