张彦飞,苗 铮,李阳阳
(1. 中国铁路北京局集团有限公司,北京 100860;2.河南思维信息技术有限公司,郑州 450000)
近年来,我国高速铁路建设里程不断扩大,截止2015年底,高速铁路运营里程达到1.9万km,规划目标到2020年,达到3万km,2025年达到3.8万km左右[1]。随着高速铁路里程的快速增长,也对动车组驾驶人员的数量和技术水平提出了更高的要求。
我国现有模拟培训装备大都采用半物理仿真技术开发,即人机界面采用实物方式,底层机械设备通过计算机仿真技术实现模拟。使得现有演练装置只能适用于特定车型,不同车型需要配置不同驾驶室设备装置,极大地增加了设备购置成本。随着虚拟现实技术成功运用到各个行业,给培训带来了新的发展契机[2-4]。虚拟培训系统以计算机技术为依托,结合人机交互技术,实现了与实物培训装置具有相近操作体验的虚拟培训装置,且具有单一装置模拟不同型号设备的功能,降低了培训设备的配置成本。
基于此,本文综合运用虚拟仿真技术结合触摸屏技术,在便携式平台上开发了一种适配多种车型的动车组ATP模拟演练系统,实现了在一台设备上模拟演练5种ATP的操作。
本系统的设计目的是为了解决现有动车组ATP模拟演练装置在硬件上只能适用于一种ATP类型和车型的现象,实现兼容我国现有常用动车组车型和ATP类型的软件系统。因此,系统在界面设计上需要具有ATP类型(车型)练习选择界面、车辆模拟显示界面、线路信息显示设置界面和ATP虚拟操控台界面4个部分,如图1所示。
图1 系统组成
系统的初始运行界面,提供了ATP类型(车型)、行车类型和练习模式的选择功能。从与用户接口友好的角度考虑,采用图形用户接口(GUI,Graphical User Interface)将显示与内部逻辑分离开来,通过消息机制,依照用户的选定来初始化相应的程序部分,降低程序运行的代码量,提高程序运行效率。整个界面显示如图2所示。
图2 练习选择界面
ATP类型(车型)选择部分是用户练习相应ATP类型的首次选择项,提供了结合相应车型的现有5种ATP类型(200C, 200H, 300S, 300H和300T),每种ATP类型配置该型ATP数量最多的车型。在每种ATP类型(车型)的选择项下又设置正常行车、标准化作业、故障类型操作实例和具体的行车情形设置实例等行车操作类型,以满足不同行车类型和突发状况的模拟学习。同时设置考试和练习两种模式,以实现学习和考核双重功能。
模拟显示ATP系统的车载人机交互(DMI)界面,且界面显示符合相应型号的ATP车载DMI实际界面显示逻辑,实时显示当前的运行信息,界面显示如图3所示。
图3 ATP车载DMI界面
界面中以图像形式展现当前线路的信息,包括:地面信号机位置和状态、车辆位置、车站位置和当前机车信号类型等,同时具备地面信号机状态设置、线路临时限速设置等功能。线路信息显示设置界面如图4所示。
图4 线路信息显示设置界面
由于车型的不同,相应司机室内的各种手柄、开关的种类和位置设置也不尽相同,系统中建立各类车型司机室布置的虚拟界面,在运行相关车型时,系统自动调取相应的虚拟操纵台界面,以解决以硬件实物方式布置司机室设备的单一性。虚拟操控台界面的组成可以分为3个模块子系统。
(1)虚拟司控器界面:依据车型的不同显示司机驾驶台界面,整个界面以虚拟3D形式展示司机驾驶台上的开关、按钮、手柄和状态指示灯,且配合触摸屏技术实现人机交互功能。
(2)主机柜界面:依据车型的不同显示不同主机柜界面,界面中以3D图像的形式展示司机室内的仪表和转换开关等部件,且结合触摸屏技术实现相应开关状态的操作,如图5所示。
图5 主机柜界面
(3)控制面板:依据车型的不同显示不同车型控制面板界面,界面中以3D图像的形式展现开关柜内的各个电源开关,并结合触摸屏功能实现开关状态的转换,如图6所示。
图6 控制面板界面
由于系统涵盖了多种车型和ATP类型,所以系统的通用性非常重要。按照面向对象的高内聚,低耦合的标准,整个系统采用3层架构设计,即数据层、逻辑层和UI层,3层之间相互独立,只有数据之间的传递,没有逻辑上的耦合交叉,如图7所示。
图7 ATP车载DMI界面
(1)数据层:存储真实的线路信息和车辆运行时的参数信息,并设有线路信息的导入导出功能,同时具有车辆运行信息的记录和导出功能。
(2)逻辑层:用于车辆运行过程中的车辆运行状态和ATP运行状态的数据计算。
(3)UI层:用于在程序运行过程中显示界面信息的实时显示,包括ATP显示界面和车辆司机室显示界面。
2.2.1 操控台元件的模型构建
目前,可供编程软件使用的建模方式有:实体建模、线框建模和表面建模。表面建模中又分为多边形网格、细分曲面、样条曲面等[6]。3种建模方式中:
(1)实体建模构造的模型是一个实体,适用于构建有实际重量的机械模型等。
(2)线框建模是指利用线框搭建的三维形体,模型表面没有面的存在,不能够进行着色或者绘制真实感的图形。
(3)表面建模的多边形网格建模主要指利用平面多边形,尤其是三角形建立模型的表面,构造的模型是物体的表面,适合机器处理,渲染效率比较高,简单易操纵。
考虑到本系统的3D模型只需要在视觉上具有较真实的表现,同时兼顾硬件配置较为一般的特点,故采用MAYA软件以多边形网格的造型方式构建司机操控台元件3D模型,并进行图形渲染。
在操控台上除了具有各种实物元器件以外,还具有各种各样的文字,文字在纹理和光影上比元器件更具简便性,因此不需要构造复杂的3D模型。本文中利用PhotoShop对操控台上的文字进行贴图操作,贴图的优势是不用建立复杂的模型就能表现出对象的细节,减少了模型的面数,降低了计算机内存消耗,增强现实效果的同时也降低了程序运算量。
将文字贴图后的3D模型在MAYA中通过对各关键帧的记录来实现相应转换开关和手柄位置的转换效果。
2.2.2 操控台的虚拟仿真设计
目前,三维交互软件很多,应用比较广泛的有Unity3D、Virtools、Java3D、Quest3D、VRML和Direct3D等,其中,Unity3D作为时下热度高的一款专业游戏引擎,具有很强的交互性、跨平台性和强通用性,且支持C#、JavaScript和Boo脚本语言[7-8],该软件系统的编程语言使用C#,综合各方面考虑,选用了Unity3D软件。
将MAYA处理后的司机驾驶台模型导入Unity3D中,将模型添加到虚拟场景中,同时添加摄像机和灯光等其他元素,并进行相关属性和主从关系的调整,以实现虚拟操控台的场景动画效果。搭建好的3D司控器模型如图8所示。
图8 虚拟司控器模型
2.2.3 操作功能的实现
本系统在硬件设计上采取了触摸屏方案,这样可以摆脱鼠标键盘的冗余配置。触摸屏在工作过程中,手指或者其他物体接触触摸屏,触摸屏控制器检测位置(以坐标形式),通过计算机接口送到CPU,以确定用户输入的信息,所以在Unity3D的程序文件中进行鼠标点击和拖动事件的程序设计,以实现触摸屏鼠标点击和虚拟操控台上元件的按压和推动操作。
在设计方案的5个界面中(车载人机界面、司控器界面、主机柜界面、控制台界面和线路设置界面),依据显示的时机和主次性,大致可以分为两类:(1)运行中需要显示不能被遮盖的主界面;(2)运行中可以间断性依据需要展示的辅助界面。
图9 系统界面划分图
因此,该系统在设计上采用双界面显示,即主屏界面和辅屏界面,界面组成如图9所示。
当程序启动时,系统主屏显示练习选择界面,以向学员提供练ATP类型(车型)和练习模式的选择,辅屏不显示,待学员选定练习形式后,系统进入初始化阶段,包括运行线路的自动加载,相应ATP类型的自动加载,ATP的DMI界面覆盖练习选择界面在主屏上显示,此时,辅屏部分显示一个TablePage控件,司控器界面、主机柜界面、控制台界面和线路设置界面作为页面显示于TablePage控件中,且司控器页面作为默认显示页。
本文采用Unity3D技术与触摸屏技术相结合,设计了一套便携式动车组ATP模拟演练系统。该系统利用Unity3D技术,结合触摸屏技术,实现了设备的人机交互功能,满足了一台设备提供多种车型和多种类型ATP的模拟演练要求。与传统的实物布置驾驶室的培训装置相比,该系统具有硬件配置简单、耗费成本低、通用性强、更新方便和推广普及性好等优点。对培训装置的便携性和多种型号设备的集成性具有一定的参考价值。