徐笑莹,马思群,陶 然,李 健,段承鑫,史良宇(.大连交通大学机车车辆工程学院,辽宁 大连 608;.大连交通大学艺术学院,辽宁 大连 608;.中车大连机车车辆有限公司,辽宁 大连 60;.北陆先端科学技术大学院大学知识科学系,能美市 日本)
轮对轴承作为高速动车组重要的组成部件之一,其温度的变化很大程度上影响着整个动车组的安全运行,因此铁路行业以及高校纷纷针对相关工作人员和学生开展轴温监测系统工作原理及检修流程的培训。
虚拟现实技术(Virtual Reality),是指以计算机技术为核心、结合人工智能等相关技术,借助交互、运算和显示设备,生成逼真的虚拟环境[1]。自虚拟现实概念提出以来,虚拟现实技术已经发展了半个多世纪,其在高速动车组方面已经有所应用,比如动车组虚拟检修培训系统及仿真[2]、动车组受电弓虚拟拆装培训系统[3]、设备吊装虚拟仿真系统[4]等。
传统方式下实现动车组轴温监测系统的技术培训仅能借助书本知识或者实物展示来进行,存在不便捷、耗资大、效率低等问题。开发一种基于虚拟现实技术的轴温监测虚拟培训系统,可将轴温监测原理及检修过程完整地展现在一个虚拟现实系统内,通过场景演示和人机交互达到便捷高效培训的目的,有效地解决了传统方式的弊端。
动车组轴温监测系统由Pt100铂电阻传感器、MVB总线和中央控制单元等多个部分组成,是一个集温度监测、自动报警、实时数据采集与传输于一身的复杂系统,实现对轮对轴承温度的实时监测,主要由测温单元和主控单元两部分构成。目前国内CRH型动车组大多采用车载型接触式测温装置,轴温传感器采用双通道Pt100传感器,对轴承温度进行监测并将采集到的温度信号反馈给两个不同的温度采集模块CompactPt100[5],转换成数字信号后由多功能车辆总线MVB每隔一段时间反馈至动车组CCU中央控制单元进行数据交换。中央控制单元将采集到的温度数据存储并处理后发布相应指令,并在人机显示界面HMI显示对应信息。
系统的结构框架分为三个层次,如图1所示。通过用户层、逻辑层和数据层整体的功能实现建立动车组轮对轴温监测虚拟培训系统。
图1 系统结构框图
1)用户层通过硬件和软件之间的交互实现Unity 3D系统的交互表现,系统可发布为沉浸式VR和桌面式VR,用户可根据实际需求,使用不同的输入输出设备,达到不同的培训效果。
2)逻辑层通过路径规划实现系统需求,是用户层和数据层的桥梁。登录系统后,主页内包含虚拟检修车间和动车组场景、轴温监测系统流程展示、动车组运行状态下实时轴温监测和教学资源库四个部分。
3)数据层是整个系统平台的支撑,是用户层与逻辑层运行的基础,包含系统内的文件资源,例如动车组、维修车间、温度传感器等3D模型的数据信息,各零件、物体之间的逻辑约束关系数据,Unity 3D系统场景内光照、声音、相机位置和角度等环境资源数据。
1)明确系统结构,规划系统功能:首先,明确系统的结构表达、人员培训和信息查询的需求,使用Axure RP快速创建系统原型,展示系统页面信息架构和页面之间交互流程与形式,预产出交互设计的静态原型与动态原型。
2)模型构建及优化:根据照片、数据等信息利用CAD绘制维修车间和列车结构的平面图纸,导入至3ds Max中作为三维建模的平面底图基准。依据底图和系统规划构建三维模型,在完整表达模型结构的基础上,精简数据量。对于有交互需求的模型部分,着重构建其模型结构,保证交互过程的真实性。
3)系统功能实现:构建完成后的三维模型导出FBX文件至Unity 3D中进行系统开发,通过C#脚本撰写,实现系统的功能,并添加图像效果工具,烘托整体系统氛围。
本系统通过多细节层次技术(Levels ofDetial,LOD)提高系统画面的渲染速度。LOD技术是一种以物体模型的节点在显示环境中所处的位置和重要度决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率渲染运算的场景优化技术[6]。
图2 视角划分示意图
本文在传统LOD技术中,添加视角范围的约束条件。在虚拟现实系统中,用户的视角范围一般为90°,视点中心线45°范围内为主要视角V0,两侧范围为次要视角V1,处于主要视角范围内的模型则视为重要物体,视角范围划分如图2所示。
系统中视点与模型之间的距离为D,当近距离接触模型时,视点处于D0范围内,用户可以清晰看到模型结构与细节,视觉效果逼真;处于D0与D1范围之间时,可看到模型结构,但缺少细节;当视点处于D1范围之外时,只能看到模型大致轮廓。按照用户处于不同范围,系统分别调用不同层次的模型,三个模型按照复杂程度从高到低分别命名为:Mod0、Mod1、Mod2。系统运行过程中调用的Mod与视点到模型之间的距离D和视点所处视角位置V之间的关系如式(1):
(1)
通常构建LOD模型的方法主要有:细分法、采样法和删减法[7],以本系统中的动车组轮对轴承部分模型为例,采用删减法通过3ds Max软件进行仿真构建,构建三种不同层级LOD模型,如图3所示。
图3 不同LOD层级模型对比
不同LOD层级对比如表1所示。将构建完成的三个LOD模型导入至Unity 3D中,即可通过在复杂场景下调用不同层次的模型进行场景性能优化的效果。
表1 不同LOD层级对比
续表1
图4 改进的碰撞检测算法流程图
在现有的碰撞检测方法中,层次包围盒法仅对包围盒进行相交测试且包围盒几何特性简单,与被检测物体存在偏差,因此检测精度相对较低;空间分解法把被测对象所在空间分割成若干个体积相等的小单元空间,只对占据同一单元空间或相邻单元空间的对象进行相交检测[8],适用于对象较少且分布相对均匀的场景中,因此本系统采用一种二者混合的改进碰撞检测方法,具体算法流程如图4。
首先利用空间分解法划分边长为d的等体积正方体单元空间,快速确定与被测对象互为相邻的对象,减少包围盒的构建数量。具体实现方式为:以AABB包围盒为例,假设其主对角线的线段端点分别为Q1(X1,Y1,Z1)、Q2(X2,Y2,Z2),以一个三维坐标q1(x1,y1,z1)表示端点Q1所在的单元空间,该坐标可由式(2)得出:
x1=X1/d,y1=Y1/d,z1=Z1/d
(2)
则该对象所在空间可用q1和q2之间所有小单元空间的集合表示,占有集合中相同单元空间的其他对象与之互为相邻对象。
确定存在相邻对象后,采用优化后的混合层次包围盒算法实现系统的碰撞检测。该算法的核心为构造上层是AABB,下层是OBB的混合层次包围盒树结构,并实现其遍历。包围盒之间运算复杂度和碰撞检测的速度取决于树结构的遍历方式,本文算法的遍历方式为由上层至下层的深度遍历,配合结构简单的AABB上层结构和紧凑的OBB下层结构,既可以减少算法的运算量,迅速排除不相交的相邻单元空间对象,又可以保障测试精度。算法中的部分代码及功能如下:
void BVHCollide(CollisionResult *result,BTree a,BTree b)
{
if(!BVOverlap(a,b))return;//对两根节点是否相交进行检测
if(IsLeaf(a)&&IsLeaf(b))//检测两节点是否为叶子节点,
{
CollidePrimitives(result,a,b);//判断叶子节点是否碰撞
}
else
{
if(DescendA(a,b))//调用下降,由上至下
{
BVHCollide(a→left,b);//相交测试子任务
BVHCollide(a→right,b);
}
else
{
BVHCollide(a,b→left);
BVHCollide(a,b→right);
}
}
}
本文系统利用LOD场景优化方法和改进的碰撞检测算法,通过Unity 3D进行场景制作和交互设计。包含列车总线控制基础和列车轴温监测系统等相关理论内容,通过仿真模拟检修车间和动车组场景,以沉浸式、多感知性和交互性的方式展示了动车组轴温监测系统的基本原理。系统的主要功能如下:
1)漫游浏览:系统场景直观地展示检修车间和动车组内布局,用户可选择系统预设定路线自动漫游或自主浏览。漫游过程中,可选择分层单独展示检修车间、车头、车厢及内部轴温监测设备等场景,方便高效了解检修车间及动车组的构造,提升理论认知。
2)动车组轴温监测流程:直观地展示轴温监测所需的硬件设施和列车总线信号传输的流程,通过颜色、材质、边缘发光等效果突出结构特征,使复杂的信号传输过程表达的更加清晰。用户通过点击、缩放、拖曳、旋转等交互方式,了解零部件等信息,如图5所示。
图5 系统轴温监测原理界面
3)模拟动车组运行状态下实时轴温监测:模拟动车组运行过程中不同轴温状态下的实时信号传输过程,在司机驾驶室的HMI屏内,实时显示不同车号的轴温数值和温度传感器的状态。
4)学习与训练相结合:系统搭载的数据库储存视频、文献、题库等教学资源,为课堂培训提供更多的呈现模式。其中包含仿真实操练习和测试模块,理论与实训相结合,有效地锻炼了用户动手能力。
针对现有轨道交通行业虚拟仿真培训资源较为匮乏的现状,本文提出了基于虚拟现实技术的动车组轮对轴温监测培训系统,并得到以下结论:
1)在传统LOD算法的基础上,提出了基于视点距离和视角范围的LOD场景优化方法,通过Unity 3D内参数调节,证明了该方法具有较好的优化效果,并提升了系统的真实性和流畅性。
2)现有的基本碰撞检测算法难以实现高质量的碰撞检测,本系统中碰撞检测采用空间分解法和混合层次包围盒法相结合的改进碰撞检测算法,通过实际应用于系统对象的碰撞检测中可发现,该算法不仅保证了检测精度,而且加快了检测速度。
3)用户可在不受时间和空间的限制下,快速理解并掌握轴温监测系统流程,弥补了培训方式的匮乏,为企业和学校降低培训成本。