STP系统车列位置跟踪功能自动化测试平台关键技术研究

2022-08-01 02:04王浩然杨华昌张弘志赵小军马金鑫
中国铁道科学 2022年4期
关键词:调车信号机站场

王浩然,杨华昌,冯 军,张弘志,赵小军,马金鑫,韩 波

(1.中国铁道科学研究院集团有限公司 北京华铁信息技术有限公司,北京 100081;2.中国铁道科学研究院集团有限公司 通信信号研究所,北京 100081)

STP 系统是保证铁路调车作业安全的关键设备,其设备的稳定、可靠与铁路运输安全有直接关系[1]。系统对站场内复杂的联锁控制模式和调车作业方法进行研究,通过应答定位器位置、调车速度和位移等工况信息,结合轨道电路和进路等联锁信息变化,完成对车列前、后端位置的准确跟踪;并将车列位置相关信息发送给列车运行监控装置(LKJ)生成安全限速,从而实现调车作业的安全防护[2]。其中车列的位置跟踪是整个STP 系统进行安全防护的核心[3]。

调车在站场内作业形式多样,包含车列摘车、挂车、转线、折返、一度停车等。而站场内联锁进路的形态、特性各异,囊括由交叉渡线、复式交分道岔、死区段、股道、编组线、专用线、尽头线等设备组成的复杂长、短调车进路(简称长进路、短进路)。为了保证STP 系统车列位置跟踪功能在各种进路走行情况下的准确性,必须要对系统进行大量测试[4]。当前,针对STP 的测试问题,文献[5]提出基于UML 模型的测试案例设计方法,并对测试序列优化问题进行模型求解;文献[6]通过软、硬件设计,实现对LKJ系统的模拟,提高了STP 自动化测试水平。上述研究大多集中在STP系统测试涉及的相关子系统的仿真、优化,缺少从整体角度对测试过程进行研究,人工干预过多,结果不能自动判断,测试效率有待进一步提高。

本文为了解决STP 系统车列位置跟踪功能的测试问题,提出搭建STP 车列位置跟踪功能自动化测试平台的方案,采用计算机技术对系统涉及的调车作业相关设备功能进行模拟、对车列在站场内的各种作业方法进行仿真,并通过研究复杂站场测试序列自动生成、调车运行仿真和基于深度神经网络的图像识别技术,实现了从测试脚本生成、执行到结果自动判断的一体化解决方案。

1 测试平台

1.1 模块结构

由于STP 系统作业涉及电务、机务、车站等多个部门,其测试平台需要完成对各部门相关设备功能的模拟[7]。为了方便各个系统接口的管理和功能结构划分,设计测试控制层、仿真设备层和被测设备层3 层管理结构,其框架示意图如图1所示。通过接口通讯网实现各个层级间的信息交互,通讯方式包括网络、串口和CAN总线。

图1 测试平台设计框架示意图

1)测试控制层

由测试驱动器、过程监测器和站场数据服务器构成。其中测试驱动器通过加载被测站场数据,初始化站场和仿真车列,自动生成站场测试序列脚本,并通过对测试脚本的解析依次发送相应控制命令给仿真设备层执行测试过程。过程监测器则通过图像识别系统实时获取DMI 上面显示的STP 系统输出的车列位置信息,然后将这些信息与仿真车列走行模拟的车列预期位置进行比较,判断位置跟踪功能是否正常,生成结果并输出。

2)仿真设备层

以STP 系统中站场数据为基础,与测试控制层进行交互完成调车运行过程中相关设备的运行模拟,生成各种站场显示、人机交互和设备报文等信息。其中仿真车列走行模拟作为此层设备的核心,它以站场内各个轨道电路节点设备的上下行链路关系和长度为基础,根据初始化的车列位置、车长,并结合速度、运行方向等机车工况信息,完成走行过程中车列前、后端位置的实时计算,输出的信息作为自动化测试平台的车列预期位置用于结果判断。联锁模拟则需要完成测试进路的自动开放和关闭,配合仿真车列的走行完成联锁信息的同步显示和更新。对于应答定位器模拟,当仿真车列走行到站场安装应答定位器的位置时,发送对应报文给STP 系统的车载设备进行位置定位。调车信令模拟则根据仿真车列位置,结合调车作业实际情况,在合适时机模拟各种调车信令发给LKJ。司机操作模拟则根据仿真车列发过来的速度、运行方向信息,通过信号模拟仪自动产生指定频率的速度脉冲和电压信号发送给LKJ 实现机车走行的速度和方向控制。并通过数据总线技术,在特定时机模拟发送DMI 按键信息实现车列走行中涉及司机的人机交互操作,如LKJ 的“警惕”“解锁”和“确认”等。

3)被测设备层

由STP 地面设备、STP 车载设备、LKJ 及其DMI构成。STP 系统是通过LKJ 实现限速控制的。DMI 作为STP 系统信息输出的最终界面,是测试人员和使用人员最关注的控制输出终端。本平台的核心是STP 系统输出的车列位置信息,即DMI 上显示的车列前方信号机名称、距离、限速、速度等,这些信息由图像识别系统进行采集后用于测试过程监测。

1.2 工作流程

测试平台工作流程如图2所示。按照顺序分为如下几个步骤。

图2 测试平台工作流程图

1)测试初始化

基于被测站场完成联锁站场和仿真车列的初始化,并针对测试目的自动生成进路测试序列脚本。选取大型联锁站场,信号机和轨道电路的数量尽量多,包含各种复杂进路形态。测试驱动器将站场进路数据与调车作业相结合生成能够覆盖各种进路走行形态的测试序列,仿真车列通过执行这个测试序列来验证STP 车列位置跟踪功能在站场内各种复杂场景下的准确性。所以需要研究优化算法以自动生成数量众多的进路测试序列脚本。

2)测试序列执行

测试中依次调用测试序列脚本。驱动仿真车列自动走行,并根据过程情况同步完成联锁、调车信令、应答定位器信息更新,同时测试平台监测DMI 上产生的即时消息完成相应的司机操作交互。仿真车列走行的关键就是要根据车列在站场的实际位置生成相应的限速控制曲线,并采用一定的速度控制策略,使调车在正常走行情况下尽量提高执行效率,防止出现走行中触发常用或紧急制动影响测试效果。同时也可对LKJ 系统的STP 模式曲线进行测试,验证其准确性。

3)测试过程监控

通过对DMI 屏幕进行图像识别实时采集STP系统输出的车列位置信息,并将这些信息与仿真车列走行模块里的车列预期位置进行比较,对不一致的信息进行提示和报警,实现对测试过程的监控。其中选用合适的图像处理算法完成位置信息自动识别对结果有重要影响。

4)测试结果输出

整个测试过程采用MySQL 数据库进行记录,方便进行测试过程的回放和查验。

2 关键技术

2.1 测试序列自动生成

2.1.1 数学建模

基于STP 站场数据结构特点,将站场数据中的短进路抽象为有向图的顶点,以短进路间的连通关系作为弧,构建有权的、具有多重弧的站场进路有向图G。如果弧头短进路的起始和弧尾短进路的阻挡为同一个信号机时,则将弧头短进路的长度作为此有向弧的权值,如果不一致则为不连通状态。对于数据中进路方向的变化则通过在尽头线、站界和股道等司机换向区域增加特殊的换向顶点来完成。以短进路为顶点构建进路有向图G示意图如图3所示。图中:D1,D2,…,D9 为调车信号机;X5 和S5 均为股道两端信号机;VD1 为STP 系统中的尽头线虚拟信号机;顶点X5→S5 和顶点VD1→D1 为在股道和尽头线上完成换向功能的2 个顶点;其余的顶点对应数据中的短进路,如D1→D3表示从起始信号机D1 到阻挡信号机D3 的短进路;t1,t2,…,t15为有向图上的弧编号。

图3 以短进路为顶点构建进路有向图G示意图

测试序列生成的目标为在最短的时间完成对所有短进路的遍历。其中走行距离、换向次数和重复走行比率是3 个主要性能指标,直接影响最终的测试总耗时。走行距离和换向次数可以从有向图各路径上的顶点属性获得;重复走行比率可以描述为路径上顶点数n与有向图上所有顶点总数Kall的比值。对于1 个完整站场进路测试序列P={x1,x2,…,xn},基于最少测试耗时的优化目标分解为最小走行距离F1、最少换向次数F2及最少重复走行比率F3的3目标优化模型,即

式中:Lp,xm为序列P中的顶点xm(m=1,2,…,n)对应短进路的长度;Cp,xm为序列P中的顶点xm是否为换向顶点(取值为0或1)。

2.1.2 多目标蚁群算法

基于建立的模型,测试序列生成可作为一个旅行商问题(Traveling Salesman Problem,TSP),采用多目标蚁群算法进行求解[8]。

1)多目标启发函数

蚁群算法中启发函数可以理解为优化目标对蚂蚁路径选择的影响[9]。考虑传统算法基于距离的启发函数设计进行改进,基于图3有向图模型的特点,增加换向次数和重复走行比率作为复合启发函数,满足本模型多目标优化搜索需求。采用聚合方法在传统距离因子的基础上增加换向因子和重复因子,构建多目标启发函数,即

式中:ηij,d为距离因子(一般为节点i到节点j的权值倒数);ηij,c为换向因子(换向次数的倒数);ηij,r为重复因子(重复走行比率的倒数);ω1,ω2,ω3为各个因子的权重。

通过权重向量ω,即ω=(ω1ω2ω3),影响启发函数进而控制信息素的重要程度,从而均衡3个优化目标获得更好的优化效果。

2)蚁群优化相关算法

根据上面的启发函数,得到t时刻蚂蚁从顶点i向顶点j转移概率计算式为

式中:ηij(t)为t时刻的多目标启发函数,详见式(4);τij(t)为t时刻路径Si→j(节点i到节点j的路径)上的信息素值;y为蚂蚁下一步能够选择的节点;Aallow为蚂蚁下一步能够选择的节点集合;α和β分别表示τij(t)和ηij(t)的影响权值。

根据计算出的概率,采用轮盘赌方式,从众多可选择节点中选择一个作为下一节点,并将其置为当前节点。

信息素更新采用蚁周模型(Ant-Cycle),按照式(6)更新每条路径上面的信息素。

其中,

式中:τij(t+Δt)为更新后的时刻即t+Δt时刻路径Si→j上的信息素值;ρ为信息素挥发因子(0<ρ<1);Δτij,k为蚂蚁k在经过路径Si→j时信息素的变化值;kmax为蚂蚁个数;Q为信息素总量;Ek为蚂蚁k的总走行路径长度。

通过启发函数、转移概率和信息素更新相关算法,即可通过多目标蚁群算法对最短时间的进路测试序列进行优化求解,获得的优化解即生成的短进路节点序列。用其中的换向节点进行分割,换向节点之间的序列可组织为长进路,这些长进路经过简单处理即可得到进路测试序列脚本。

2.2 STP模式下调车运行仿真

2.2.1 调车走行限速控制曲线

站场内能够影响STP 调车走行速度的限速点很多,主要有前方开放进路(系统只关注前方进路上最多4个信号机的状态)中的多个限速道岔(一些驼峰场8号道岔侧向25 km·h-1限速以及数量众多的9 号道岔侧向30 km·h-1限速等)、特殊地点的限速区段(特殊作业专用线、段管线、站线限速)、尽头线、存车线、存车位置连挂点限速、蓝灯、虚拟站界、一度停车点和调车信令等。这些限速点由于设备类型、线路参数设定或站系规定不同均会产生不同的限速[10]。

调车走行中,其限速控制曲线需要对这些限速点分别进行计算。计算方法为:以车列前方为起点,前方进路中的限速点为终点,减去一定的安全距离作为目标距离,将各个限速点的限速作为目标速度,根据车列信息和调车类型计算对应速度的制动力和阻力,反向推算调车的制动曲线,以计算所得的最低限速和相应的限速曲线作为仿真调车的限速控制曲线[11]。

对于一个限速点,调车走行限速可以抽象为距离、限速点限速值和其他影响因素的函数,即

式中:v为单一限速点走行限速;vlimit为限速点限速;dlimit为距离限速点距离;δ为其他影响因素(包括辆数、风管、机车制动力等相关参数)。

获得单一限速点的走行限速后,调车当前位置限速即为所有限速点计算的走行限速中的最小值,即

式中:vmax为调车当前位置走行限速;va为限速点a(a=1,2,…,b)计算的调车走行限速。

以调车推进进入8 道的停车过程为例,模拟其限速曲线变化情况。作业中前方进路包含2 个8 号道岔侧向通过(25 km·h-1限速)、1 个蓝灯信号机及调车信令,共计4个限速点。根据走行过程中4个限速点和车列间的距离变化生成4条限速曲线,如图4所示。图中:4 条限速曲线中取最低值作为当前调车走行限速;a-b-c-d-e-f-h-i-j-k-l-m-no-p-q为调车走行限速的变化曲线。

图4 STP调车各限速点的限速曲线变化示意图

从图4可以看出:d-e限速上抬是由于1#限速道岔出清,导致限速曲线从1#限速道岔切换到2#限速道岔;h-i是由于2#限速道岔出清,导致限速曲线从2#限速道岔切换到蓝灯出现限速上抬。由于走行中调车与限速点距离实时变化,限速不停刷新。测试平台以500 ms为1个周期,实时计算各个限速点的调车当前限速并同步调整机车运行速度。

2.2.2 调车速度控制策略

调车的运行是一个复杂过程,会受到各种环境、设备的因素影响[12]。为了简化受力分析和计算,测试平台将仿真调车看作1个单质点模型,其走行速度简单抽象为当前位置限速和前1个周期速度的函数,即

式中:vnow为调车当前走行速度;vmax为当前位置的调车走行限速;vpre为前1个周期的调车走行速度。

并设定如下条件:

(1)考虑测试平台各个设备间的交互延迟时间,vnow应该小于vmax-4。走行速度过高,容易导致当限速曲线下降时,速度来不及调整,触发LKJ系统制动,影响测试过程。

(2)调车升速时,需满足vnow-vpre≤1,即每秒提速不超过0.28 m。

2.3 图像识别系统

通过在测试平台的DMI 屏幕正前方增加摄像头完成对显示界面的图像采集,并对采集到的图像进行预处理得到待识别区域,最后由深度神经网络进行图像识别。下面以信号机名称识别为例描述整个处理过程。

2.3.1 图像预处理

平台位于实验室室内环境,涉及图像处理的相关设备位置严格固定,合理规划灯光、日光等光源的相对位置,尽量减少多光源对图片成像质量的负面影响。图像预处理的目标是提取DMI 屏幕显示主界面(1 个长宽比为4∶3 的矩形框),先通过中值滤波、高斯滤波过滤图片上的椒盐噪声和脉冲噪声,然后采用形态学的闭运算对图片进行膨胀和腐蚀来弥合细小的间断和孔隙,再用最大类间方差(OTSU)法进行自适应全局阈值完成二值化处理,最后通过轮廓查找算法结合目标特征完成主界面的提取。根据信号机区域相对主界面的位置进行分割得到信号机显示图片,此图片即可用于后续神经网络训练和识别。

2.3.2 深度神经网络

相对传统方法必须要对字符进行独立分割才能识别的弊端,深度神经网络通过各种卷积计算对图片特征进行提取,并可结合前后文信息进一步提高特征获取能力,大大提高了图像识别能力[13]。其中卷积神经网络(Convolutional Neural Networks,CNN)擅长图像深层次特征提取。长短期记忆网络(Long Short-Term Memory,LSTM)作为一种循环神经网络(Recurrent Neural Networks,RNN)通过对历史记忆信息的学习,提高了处理序列数据预测的能力,且更易于处理变长的数据序列[14]。本文针对信号机名称不定长的特点,选用由CNN+LSTM构成的神经网络[15]。其详细参数见表1。

表1 深度神经网络详细参数

处理过程为:首先通过VGG16 网络对输入的归一化图像进行特征提取,利用多种卷积层、激活层和最大池化层的感受野(Receptive Field)对图片特征进行提取,生成图片特征序列;然后由LSTM 网络对特征序列的每个特征向量进行训练,利用2个双向LSTM 结构对特征向量的前向信息和后向信息进行学习进一步提取文字的序列特征,并输出原始序列概率分布;最后通过连接时序分类(Connectionist Temporal Classification,CTC)算法将序列概率分布转换为实际的标签序列进行输出。

从卷积层的感受野特征到最终标签输出的映射过程示意图如图5所示。

图5 映射过程示意图

其中,CTC 是由文献[16]提出的用于将循环层输出的帧特征序列与标签进行对齐的计算方法。算法通过在标签所在字母集A中增加1个空白标签“blank”作为占位符得到A’,即A’=A∪{blank}。其Softmax输出层在预测时将直接输出对应字母集A’中的概率。利用增加的空白标签实现识别过程中的去重复和字符分割操作,完成与标签的对齐。

整个神经网络训练的损失函数Ο为最小化输出标签序列概率的负对数似然函数,即

其中,

式中:X为训练图像;Z为真实的标签序列;W为训练集;pi(Z│X)为针对输入X训练模型输出Z的条件概率。

2.3.3 训练效果

在实验室搭建测试环境,利用STP 给LKJ 模拟发送各种信号机名称并通过DMI 进行显示,然后进行图像采集,共获得10 000 张图片作为数据集。数据集的标签按照字母长度分为2,3,4,5及6个共5种,从中抽取8 000张作为训练集,2 000张作为测试集,训练时随机选取训练集的10%作为验证集。标签的字母集分为20 种,囊括常见的信号机名称字母和数字。

神经网络训练环境为Ubuntu 操作系统,采用Python编程语言及PyTorch深度学习网络架构。为了提高训练效果,模型采用数据增强方法提高模型学习能力,并选择RMSprop,Adam 和Adadelta 这3种优化器进行训练效果比较。

训练时,设置默认学习率为1×10-5。Adadelta优化器学习率为1.0,衰减因子为0.9。采用32 个样本作为1个处理单元,最大迭代次数设为140次。最终,多种优化模型下的训练精度和验证精度随迭代次数的变化曲线如图6所示。

图6 多种优化模型的训练和验证精度变化曲线

从图6可以看出:不使用数据增强功能,当迭代次数超过40 次后,由于输入数据相似度较高导致训练精度(红色实线)快速提高达到100%,但验证精度(红色虚线)最高只达到了97.3%,而且偶尔出现精度严重下降导致曲线出现明显下降尖峰;而使用数据增强功能后,所有模型的训练曲线虽有波动但是验证曲线却逐渐趋于稳定,训练后期无明显波动;3种优化器的训练效果对比,Adadelta优化器的效果最好;数据增强功能有效地减少了模型过拟合,提高了模型的泛化能力。

对于3 种优化器,其训练效果相关数据对比见表2。

表2 3种优化器的训练效果

由表2可知:3 种优化器收敛速度和验证精度最优值均满足Adadelta>Adam>RMSprop,与图6中的训练效果对比结果一致。

因此,基于时间和精度考虑,测试平台最终选用带数据增强的Adadelta优化器进行网络训练。

实际使用中,对一些经常刷新的标签图片,会遇到显示拖尾或不全的情况,此时需要在这类图片识别中增加置信度判断条件以对结果进一步过滤。

3 实例验证

3.1 测试准备

为了验证测试平台的有效性,以兰州北站上行到达场的STP 系统为基础,搭建自动化测试平台。站场数据包含兰州北站上行到达场、上行驼峰场和交换场3 个场,共162 个调车信号机、28 个列车信号机和41 个应答定位器。上行短进路总数为194条,下行短进路总数为210 条,采用多目标蚁群优化算法自动生成836条测试进路序列。

3.2 测试结果

将自动生成的836 条测试进路序列注入自动化测试系统进行测试。最终测试结束时总耗时为63 h。

选取其中的一段时长4 min 的连挂作业,查看作业过程中的调车信令-人机交互-限速-速度随时间变化情况,如图7所示。

图7 调车信令-人机交互-限速-速度变化曲线(股道连挂)

选取测试过程中一段时长7 h 的机车走行限速曲线和速度曲线变化图,一共测试87 条长进路,如图8所示。

图8 限速和速度随时间变化曲线

对这7 h 的测试记录数据进行统计,并对测试平台进行评估,结果如下。

(a)LKJ人机交互按键操作分析:自动化测试系统一共代替测试人员进行“警惕”“解锁”按键和“换向”等人工操作518次,每小时平均74次操作。

(b)速度调节操作分析:在测试过程中,设定如果连续3 s 速度未变化的恒速区,作为测试休息时间,其他的变速区作为人工测试时需要测试人员进行人工操作的时间。对这7 h 测试过程进行统计,一共产生8 269 条记录,其中变速区的记录有2 271 条。测试人员需要进行机车速度调节的劳动时长与总作业时长比率为27.5%(即2 271/8 269)。

(c)劳动时间效率分析:由于测试平台实现了无人干预测试,可以做到每周168(24×7)h 不间断的测试作业,相对人工每周40(8×5)h 的工作时间,其劳动时间效率比为168∶40,接近4∶1。

4 结 语

STP 系统车列位置跟踪功能自动化测试平台采用计算机技术,实现了STP 系统相关外部设备的综合仿真。系统通过建立基于有向图的调车走行进路模型,采用多目标蚁群算法自动生成测试序列,以此驱动测试开始;然后对调车站内走行策略进行研究,实现调车自动走行,驱动测试序列依次执行;最后研究基于CNN+LSTM 深度神经网络的图像识别技术,结合数据增强技术对3种优化器(Adadelta,Adam 和RMSprop)在训练时间和精度上的差异进行对比后,选用综合效果最优的Adadelta 优化器进行网络训练,进而实现DMI上调车实时位置信息的自动图像识别,完成测试的过程监控。基于兰州北站现场数据进行试验验证,对测试过程中自动化平台代替人工测试进行操作的情况进行统计分析。

本文搭建的自动化测试平台可替代人工测试,用于复杂站场的STP 车列位置跟踪功能测试。自动化测试平台相对于人工测试降低了劳动强度,且两者测试劳动时间效率比接近4∶1。整个测试过程无人化执行,测试结果智能判断,为后续STP软件的优化升级提供了有力保障。

猜你喜欢
调车信号机站场
贝雷梁在道路下穿铁路站场工程中的应用
英式联锁操作与显示探究
车站直控远程信号机点灯方案讨论
微型注浆钢管桩在高铁站场软基加固中的应用研究
动车所调车防护系统应答器设置及控制方案研究
油气站场甲烷排放检测技术及量化方法
输气站场危险性分析
加强中间站调车安全管理的分析与对策
地铁车辆段信号设备的维护与改进
色灯信号机的结构与功能