研究与开发
Research and Development
文章编号:1005-8451(2017)10-0001-04
基于MSTS的ATO系统功能模块仿真研究
郑杰良,陈荣武,郭彦宏
(西南交通大学 信息科学与技术学院,成都 611756)
摘 要:基于MSTS微软火车模拟器开发的开源软件OR的研究基础,结合ATC系统结构框架,对列车运行三维视景系统仿真平台进行了研究,设计出基于MSTS的ATO系统功能模块仿真。运用.Net平台中的Socket网络通信技术建立的ATO系统功能模块仿真,实现了远程控制OR列车客户端运行的功能,整合后的控制模式为ATO系统的扩展性功能提供了通信接口和自动运行的控制基础,提高了列车运行三维仿真系统整体的真实性。对后期完善整个系统仿真平台具有重要的意义,达到了预期的设计目标和效果。 关键词:MSTS;OR;ATO系统
中图分类号:U284.482∶TP39 文献标识码:A
ATO system of functional module simulation based on MSTS
( School of Information Science & Technology, Southwest Jiaotong University, Chengdu 611756, China )
Abstract: Based on Microsoft Train Simulation (MSTS), the open-source game software Open Rails (OR) was developed. This article combined with the structure of the Automatic Train Control (ATC) system, designed the MSTS based Automatic Train Operation (ATO) system functional modules simulation, used socket network communicational technology in .Net platform to establish the function module simulation of ATO system, implemented the function of remote control OR train client. The integrated control mode provided the communication interface and the automatic operation control basis for the extensional function of the ATO system, improved the overall authenticity of the train simulation system. It had important significance to improve the whole system simulation platform, achieved the objectives and expected results.
Keywords: Microsoft Train Simulation (MSTS); Open Rails (OR); Automatic Train Operation (ATO) system
ZHENG Jieliang, CHEN Rongwu, GUO Yanhong
列车运行视景仿真技术是三维视景仿真技术与轨道交通控制系统的结合,被广泛应用到列车驾驶员培训系统和列车运营三维演示系统中。随着计算机图像技术以及自动化控制技术的不断进步,列车运行视景仿真方法也日趋多元化[1]。传统的Vega、3ds Max、Multigen Creator等三维仿真技术应用工具虽然各具优点,但也有其明显的局限性,Vega 建模周期长,难度大,模型复用性低,Multigen Creator 软件掌握难度高,模型精度不够,仿真效果并不理想[2]。
微软模拟火车(MSTS,Microsoft Train Simula-tor)是微软早期开发的一款能在视窗操作系统运行的火车模拟器,主程序版本出到2004年就不再升级,并为广大火车迷及商业公司开放其代码。MSTS以其强大的图像处理能力、强大的模型数据库以及批量式布景功能,可以提高建模的质量与效率,同时保证仿
收稿日期 :2017-04-17
作者简介:郑杰良,在读硕士研究生;陈荣武,高级工程师。
真视景的逼真度。
以MSTS动画引擎作为列车运行仿真系统的底层基础,通过通信接口与列车运行控制系统的列车自动监(ATS,Automatic Train Supervision)子系统相连接,可以实现在一台PC机上模拟列车运行环境及司机人工运行操作流程。列车自动驾驶(ATO, Automatic Train Operation)系统功能模块仿真的设计是为了扩展整个列车运行三维视景仿真系统的功能,使之能够模拟地铁列车自动驾驶,实现接入ATS系统时,在一个PC机终端统一管理发车,调度多个列车客户端,以达到更高级别的模拟现场列车调度控制作业过程,提高仿真系统的真实性和完整性。
1 仿真实现平台简介
ATO系统功能模块仿真是在MSTS动画引擎的底层基础上,结合OR(Open Rails)软件平台进行设计的。OR则是在微软.Net 3.5的框架下,由Visual
RCA2017.10总第247期1
研究与开发
铁 路 计 算 机 应 用2017年10月
Studio C#编程语言构建起来的一款支持第三方二次开发的开源软件,它为开发者提供了良好的扩展功能函数接口及代码重用机制。
以及OR客户端运行环境,左边部分包括系统接口服务器,和已经较为完善的ATS系统仿真模块,TOD模块,本文叙述的ATO仿真模块,以及后期需要开发的ATP仿真模块,这些子系统共同组成了较为完整的基于MSTS的列车运行控制仿真系统。
列控系统接口服务器
数据通信三维视景系统数据中转服务器
2 ATO系统功能模块需求说明
ATO系统主要负责保证列车自动驾驶,提供列车自动控制和调整并辅助司机驾驶等功能,是轨道交通ATC系统的核心系统之一。在此之前,基于MSTS的列车运行三维仿真系统已经成功地实现通过数据中转服务器与外部的ATS仿真子系统互联互通。通过ATS仿真子系统指示的联锁逻辑条件对三维仿真系统的OR列车客户端进行排列进路,三维仿真系统的PC机列车客户终端通过操作键盘的方式控制列车运行,模拟司机
驾驶流程。对于列车的自动运行却无法模拟,在需要排列多列OR列车客户终端分别进路控制的情况下,多台OR列车客户终端就需要多个操作人员执行相当繁琐的人工操作,包括列车启动(升受电弓、开节流阀、开启换向器的方向等)、拉牵引功率手柄、开启头灯等一系列操作,影响调度及线路的行车效率,同时也会使整体列车运行三维仿真的模拟效果降低档次。所以,开发ATO功能性仿真模块模拟OR客户端键盘操作指令控制列车运行,就显得十分的重要。ATO系统作为完善的列车运行仿真系统的一部分,也是后期扩展仿真系统列车自动运行、站间运行时间控制、管理列车车门、管理站台屏蔽门、向司机显示详细驾驶信息等功能的基础。
数据通信数据通信……ATS仿真模块ATO仿真模块ATP仿真模块TOD仿真模块OR-列车客户端1OR-列车客户端2OR列-车客户端nATOServerATOClient图1 仿真系统结构示意图
3.2 ATO系统工作模式及数据流向
3.2.1 ATO Server服务端模式
实现ATO功能的通信直连方式,即该服务端直接与OR列车客户端建立连接。ATO Server直接将ATO控制命令发给OR列车,OR列车根据约定的通信协议做出相应动作,然后再反馈列车运行信息数据给ATO Server。此工作模式下的数据流图,如图2所示。
ATO服务器3 仿真设计原理及实现过程
3.1 系统结构简要分析
列车运行仿真系统是一个结构复杂并且功能繁多的综合仿真系统,它由多个子系统通过通信连接组合而成。在设计ATO功能性模块仿真之前,需要明确整个基于MSTS的列车运行三维视景系统的结构框架,并且将ATO功能性模块融合到原有的系统框架中。三维仿真系统的架构,如图1所示。图1中的右边部分,包括三维视景系统数据中转服务器
列控车制运控命制行令信命息令数据列车运行信息数据列车运控行制信命息令数据……
OR-列车客户端1
OR-列车客户端2
OR-列车客户端n
图2 ATO服务端模式数据流图
3.2.2 ATO Client客户端模式
当三维视景系统接入ATS系统进行调度控制安排列车进路时,ATO系统要获取ATS系统发出的行车指示,包括进路控制、出站允许等指示数据。此时,ATO 系统需工作在客户端模式,针对ATS的指示命令发送对OR列车客户端的控制命令,控制命令
2
2017.10总第247期RCA第26卷第10期郑杰良等:基于MSTS的ATO系统功能模块仿真研究研究与开发
通过三维视景系统中转服务器转发给OR列车客户端,OR列车客户端根据接收到的控制命令做出相应的控制动作。这样的数据流向符合实际的业务逻辑。ATO客户端模式的数据流图,如图3所示。
ATS系统接口服务器
三维视景系统数据中转服务器
信号设备控制命令列车运行信息数据列列车列
列车列运运控控车车车制列行行命车制运控运运信指令运命行制
行控行行息示信令信命信制信息息令数命数数息命息令数据
令据据数据据
ATO客户端……
OR-列车客户端1
OR-列车客户端2
OR-列车客户端n
图3 ATO客户端模式数据流图
3.3 OR软件键盘控制模式分析
通过键盘操作OR客户端列车时,仿真软件界面发生了3个事件:
(1)仿真界面相应模型的状态发生了改变;(2)仿真界面下方出现对应操作命令文字显示;(3)仿真界面模型对象的属性值被改变,相关控制功能被触发。
在OR软件中,对控制列车运行的全键盘进行了16进制定义,并将相应的16进制数对应到键盘的控制功能定义上。在处理用户按压键盘的过程时,初始化输入的控制功能种类,在很短的程序周期内不断扫描键盘输入情况,通过判断键盘是否被按压的方法,作为处理用户按压键盘函数执行的条件。OR软件键盘控制模式流程图,如图4所示。
3.4 ATO系统模块功能实现
ATO系统功能模块仿真作为整个列控仿真系统的一个子系统,需要与其他列控仿真子系统进行系统间的行车线路相关数据信息的交互,这就需要一套即时有效的通信方案来实现。通信方式采用Visual Studio C#中基于TCP/IP协议的Socket(套接字)技术。Socket技术是C#中应用广泛的网络通信编程技术,基于TCP/IP的协议方式具有高度的可靠性,在数据传输的过程中不容易出现丢包的情况[3],仿真系统间的线路数据信息排列紧凑,出现丢包对列车运行的误差影响较大,因此对于通信的可靠性具有较
开始定义键盘按键对应控制功能初始化输入控制功能种类周期性扫描键盘按键按压状态相应键盘状态值N是否改变Y仿真界面模型状态改变仿真界面输出对应控制功能字符提示仿真界面列车模型对象属性值改变,相关控制功能触发结束 图4 OR软件键盘控制模式流程
高的要求。
前面已经分析了OR软件键盘控制列车客户端的行车模式,从中间的控制流程可以知道,只需要在周期性扫描键盘按压状态的同时插入扫描ATO端发送过来的通信协议控制命令,才可以判断键盘按键状态值是否改变以及是否接收到ATO端的控制命令,并列的判断机制同时接收两种方式触发OR列车对应模型的属性的改变,以达到控制OR列车运行的目的。
在ATO通信接口中写入控制代码,需要将控制命令转换成相应的通信协议传入OR列车TCP客户端。根据OR的TCP客户端采用的通信协议规则:
(1)控制命令字符串以“ S”开头,该控制命令为控制进路或单独操作道岔的命令;
(2)控制命令字符串以“M”开头,该控制命令为ATS发送的消息广播;
(3)控制命令字符串以“V”开头,该控制命令为OR客户端视角切换命令。
参照以上的命名规范,根据OR对各键盘操作的定义描述,规定ATO模拟键盘控车命令通信协议的第一个字符为“C”,译为Control-控制的意思,后面连接OR手册中定义的控制列车各部件功能的英文单词首字母,例如:换向器向前(Reverser Forward),则对应的控制命令通信协议定义为CRF”。
RCA2017.10总第247期3
“研究与开发
铁 路 计 算 机 应 用2017年10月
4 仿真系统功能测试
4.1 ATO服务端工作模式测试效果
ATO服务端工作模式下服务端Socket线程启动后,OR软件的TCP客户端通过Socket通信指定的IP和端口号登录到ATO服务端,ATO服务端模式下允许多个OR列车客户端的登录。两边的通信建立成功之后,OR列车客户端就可以接收到ATO服务端发送过来的控制指令,ATO客户端通过选定OR列车客户端的唯一标识(车次号)来指定控制命令发送的对象。
对所选车次进行一键启动发车操作,一键启动按钮整合了升受电弓,开节流阀功率,操作换向器等一系列单个键盘操作动作。启动后可以看到OR界面的控制命令字符提示,列车开始行走,如图5所示。
图5 OR列车客户端接收到控制命令并动作
4.2 ATO客户端工作模式测试效果
ATS工作站启动后,ATS系统的接口服务器开启:(1)ATO客户端要登录接口服务器接收来自ATS系统方面的指示命令信息 ;(2)ATO又要作为客户端登录OR数据中转服务器,发送ATO系统的行车控制命令给OR列车客户端。服务器与客户端通过指定的IP和端口号连接成功之后,ATO客户端就可以选定相应的车次号对该车次的OR列车客户端发送控制命令,远程控制OR列车客户端的运行,如图6所示。数据中转服务器上显示连接进来的有车次号10120和车次号10205的OR列车客户端。
在ATO客户端,可以输入车次号,对相应的列车进行控制。
输入车次号后,点击ATO启动模拟按键,对应的列车客户端启动出发。
4
2017.10总第247期RCA图6 连接到中转服务器的OR列车客户端
列车进入隧道后,发送控制命令打开驾驶室车灯。其他的控制命令经过测试都能成功的通过ATO系统仿真模块发送到OR列车客户端并执行相关控制功能,提高了整体仿真的运行效率,减少了每个操作人员的频繁键盘操作,达到了设计ATO系统功能仿真的预期效果。
5 结束语
基于MSTS动画引擎底层环境下,运用OR开源软件的已有功能,通过C#语言设计的ATO系统功能模块,采用发送控制命令通信协议的方式实现了模拟OR键盘操作控制OR列车客户端行车的功能,提高了列车运行三维视景仿真控制系统的整体演示效率,完善了整体列控仿真系统的结构,也为后期
需要完善开发的ATO系统其他功能(自动行车功能、站间运行时间控制、管理列车车门、管理站台屏蔽门、向司机显示详细驾驶信息等)提供了基础,对研究列车运行三维仿真系统具有重要的意义。
参考文献:
[1]杜 霄,唐 涛. 地铁列车运行仿真系统中三维视景建模和
简化[J]. 系统仿真学报,2006(6):1724-1728.
[2]王怀松,陈荣武,杨 城. 基于MSTS的列车运行视景仿
真系统三维建模[J]. 系统仿真技术,2015,11(4):298-303.
[3]宋晓伟,唐 涛. 列车运控系统视景仿真的设计与实现[J].
系统仿真学报,2007(16):3864-3867.
[4]徐 恩,李学军,邹红霞,等.基于Creator/VP的三维虚拟
环境建模[J].系统仿真学报,2009,21(s1):121-123.[5]张德锋,王华兵,薛 原,等.基于Vega Prime的视景仿
真技术研究与应用[J].计算机仿真,2006,23(7):191-195.
责任编辑 徐侃春
因篇幅问题不能全部显示,请点此查看更多更全内容