本发明涉及一种列车运行模拟方法,尤其是涉及一种基于列车中心点的实时列车运行模拟方法。
背景技术:
目前,列车运行模拟功能是城市轨道交通自动监控系统的模拟培训子系统的重要功能。它包含列车正向运行,反向运行,紧急停车,中途折返,变速运行等不同的模拟运行功能。应用于仿真线路列车正常运行或特殊状况下运行,作为自动监控系统的测试输入,演示产品功能,培训用户使用等重要环节。
通常的列车运行模拟算法,使用线路信号轨道设备的连接关系,按设定的运行方向,逐个占用下一个轨道,并出清上一个轨道,保持列车的连续运行。存在以下问题:
1.列车位置不精确。列车在运行过程中,其车头车尾与线路设备端点不一定正好重叠。
2.用户实时变更列车运行方向时或列车中途折返时,列车车尾即时变更为车头,无法实时体现列车在线路设备中间位置的变化,且可能出现突然反向占用这一不拟真的场景。
3.当站台所在的线路设备比较长时,停车点在线路设备中间,列车需要在此位置停止运行或开始运行,列车运行误差大,导致无法演示自动列车监控系统的精准控车功能。
技术实现要素:
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种模拟精确度高的基于列车中心点的实时列车运行模拟方法。
本发明的目的可以通过以下技术方案来实现:
一种基于列车中心点的实时列车运行模拟方法,包括以下步骤:
步骤s1、以信号设计平面图为输入,按照信号线路设备的实际位置信息初始化其设备连接关系,设定每一个轨道长度和每一个道岔各个分支长度,形成一张列车线路拓扑地图;
步骤s2、收到模拟系统添加列车命令,在系统中模拟添加一辆列车;
步骤s3、设置与该列车重叠的信号线路设备为占用状态,初始化列车为静止无方向,根据列车长度和所在位置计算出列车中心点坐标;
步骤s4、当列车收到模拟运行命令,设置运行方向和运行速度;
步骤s5、根据列车中心点坐标和运行方向,计算出当前的车头坐标,车尾坐标;
步骤s6、如果列车车头不在线路设备的末端,则满足向前运行条件,按列车速度运行到该线路设备末端,更新车头坐标、车尾坐标、中心点坐标,根据车尾坐标变化计算是否出清尾部已占用的线路设备;
步骤s7、如果列车车头正在线路设备的末端,即将进入下一个线路设备,则先判断是否满足向前运行条件,如果不满足则列车运行停止并重复步骤s7;如果满足则进入步骤s8;
步骤s8、设置列车前方下一个线路设备为占用状态,将车头运行到该线路设备第一个坐标位置。
所述的步骤s2中的列车长度和添加位置由用户设置。
用户可重复执行步骤s2,来实现多辆列车的混合运行模拟。
所述的步骤s4的运行方向和运行速度由用户设置。
在步骤s5~s8的列车运行过程中,用户可重复执行步骤s4,来实现实时改变该列车的运行方向和运行速度。
与现有技术相比,本发明具有以下优点:
1)本发明设计了一个以列车中心点坐标为基准,实时计算列车车头车尾坐标,保证列车位置报告精确。
2)本发明在列车运行方向变更或运行速度变更时,由于列车中心点坐标的不变性,实现车头车尾的快速切换。
3)本发明在实现列车线路设备中间停止或开始运行时,由于列车中心点坐标已知,能够精准计算列车在该线路设备上的运行时间。
附图说明
图1为本发明列车线路地图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
如图1所示,基于列车中心点的实时列车运行模拟方法,具体包括以下步骤:
步骤1、初始化列车线路地图,轨道t01、t02、t03、t04,道岔p01按如图1所示连接。定义左端点为小端点。假定每个轨道长度不等,t01长20坐标为[t01_1,t01_20],t02长30坐标为[t02_1,t02_30],t03长40坐标为[t03_1,t03_40],t04长50坐标为[t04_1,t04_50]。道岔p01岔前分支长5坐标为[p01_1_1,p01_1_5],定位分支长15坐标为[p01_2_1,p01_2_15],反位分支长15坐标为[p01_3_1,p01_3_15]。
步骤2、在系统中模拟添加一辆列车,假定设置其列车长度为15,添加位置为t01_3。
步骤3、设置轨道t01为占用状态。初始化列车为静止无方向,根据列车长度和所在位置计算出列车中心点坐标t01_10。
步骤4、当列车收到模拟运行命令,假定设置其运行方向为向右运行,设置其运行速度为10坐标点每报告列车周期
步骤5、根据列车中心点坐标和运行方向,计算出当前的车头坐标为t01_17,车尾坐标为t01_3。
步骤6、由于该列车车头不在线路设备的末端t01_20,则满足向右运行条件,下一个报告周期内已运行到t01末端。更新车头坐标为t01_20、车尾坐标为t01_6、中心点坐标t01_13。
步骤7、此时列车车头正在线路设备的末端t01_20,即将进入下一个线路设备t02,判断是否满足向前运行条件,如果不满足则列车运行停止并重复步骤7。如果满足则进入步骤8。
步骤8、设置列车前方下一个线路设备t02为占用状态,将车头运行到该线路设备第一个坐标位置t02_1,满足向右运行条件。在同一个报告周期内更新车头坐标为t02_7,车尾坐标为t01_13、中心点坐标t01_20。此时到达报告列车周期间隔,向自动监控系统报告该列车精确位置。
步骤9、继续向右运行。
在步骤5~8的列车运行过程中,用户可实时改变该列车的运行方向和运行速度。例如,当列车向右运行到t02_7时,更改列车运行方向为向左运行,更改列车运行速度为8坐标点每报告列车周期。则该算法按如下方式执行:
步骤5、此时列车中心点坐标为t01_20,运行方向为向左运行,计算出当前的车头坐标为t01_13,车尾坐标为t02_7。
步骤6、由于该列车车头不在线路设备的末端t01_1,则满足向左运行条件,下一个报告周期报告列车车头位置为t01_5,车尾位置为t01_19。更新中心点坐标t01_12。由于车尾坐标由t02_7变化为t01_19,故出清已占用的线路设备t02。
步骤7、继续向左运行。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。