一种列车运行外部环境的仿真方法与流程
- 国知局
- 2024-12-06 12:28:31
本发明涉及一种列车运行外部环境的仿真方法,属于轨道列车仿真。
背景技术:
1、目前,随着轨道交通行业的快速发展,列车运行的安全性和效率要求越来越高。为了确保列车在实际运行中的稳定性和可靠性,进行列车运行外部环境的仿真已成为一种必要的手段。通过仿真技术,可以在虚拟环境中再现列车运行中可能遇到的各种外部环境条件,如天气状况、地形变化、障碍物等,从而测试和优化列车的性能和安全性。
2、列车的仿真通过车辆仿真系统进行,由车辆仿真系统模拟出列车真实数据。在cbtc(基于通信的列车控制系统)模式下,atp(列车自动保护)可以通过轨旁应答器实现实时定位,列车经过计轴点会产生计轴区段占压/出清的变化,轨旁系统可根据计轴的占压状态判定该区段内是否有车。ato(列车自动运行)在控车过程中要考虑列车所处位置的坡度,在不同的坡度位置输出不同的牵引指令。列车经过应答器时会自动收到应答器报文,车轮压过计轴点就会产生占压。如何通过仿真技术准确模拟出轨旁设备及计轴区段占压、应答器传输模块与前方应答器的距离、车身坡度等数据,是当下急需解决的问题。
技术实现思路
1、本发明所要解决的技术问题是,克服现有技术的不足,提供一种列车运行外部环境的仿真方法,可以全面真实的模拟出列车各项轨旁设备和数据,从而实现列车运行外部环境的仿真。
2、为了解决上述技术问题,本发明的技术方案是:
3、一种列车运行外部环境的仿真方法,它包括如下步骤:
4、步骤s1、进行轨旁线路数据初始化;
5、步骤s2、在指定的轨道区段创建列车并指定列车参数;
6、步骤s3、使用udp周期发送列车初始化报文,将列车位置发送至车辆仿真系统;
7、步骤s4、接收车辆仿真系统发送的车辆运行的累计脉冲信息;
8、步骤s5、根据脉冲信息计算列车里程;
9、步骤s6、计算新的列车位置;
10、步骤s7、计算列车车身下的计轴区段并标记占压,将其他区段标记出清,同时计算列车应答器传输模块与前方应答器的距离,并计算车身坡度;
11、步骤s8、向车辆仿真系统回复列车应答器传输模块与前方应答器的距离信息以及车身坡度信息。
12、进一步,所述步骤s5中,根据脉冲信息计算列车里程的计算公式如下:
13、
14、进一步,所述步骤s6中,计算新的列车位置,以列车沿上行方向行驶为例,列车新位置计算即将创建列车的位置,按上行方向偏移脉冲计算的里程后,得到的新的位置,需要说明的是计算过程中要考虑道岔的定反位状态。具体包括如下步骤:
15、步骤s61、设某轨道区段为当前区段s,偏移量offset为起点,起点的坐标为(s,offset),沿上行方向移动的距离为distance;
16、步骤s62、列车沿上行方向移动距离distance后,产生新的偏移量newoffset,计算公式为:newoffset=distance+offset;
17、步骤s63、如果newoffset≤s.length,其中s.length为当前区段s的长度,则输出位置(s,newoffset),此时位置(s,newoffset)即为列车从(s,offset)沿上行移动距离distance后到达的新位置p;车尾的新位置q则以p为起点,沿下行方向偏移车长的距离即可得到;根据应答器传输模块距离车头的长度,沿下行方向偏移计算即可获得应答器传输模块移动后的新位置u;根据车轮距离车头的长度,沿下行方向偏移计算即可获得车轮移动后的新位置w;
18、如果newoffset>s.length,则进入步骤s64;
19、步骤s64、计算当前区段s的上行区段t。
20、进一步,所述步骤s64中,计算当前区段s的上行区段t,具体包括如下步骤:
21、如果当前区段s的上行区段为空且上行道岔也为空,则认为区段s没有上行区段;
22、如果当前区段s的上行道岔不为空,则要根据道岔当前位置选取,即道岔处于定位时选取区段s上行道岔的定位所属区段作为t;若道岔处于反位时,则选择区段s的上行道岔的反位所属区段作为t;若道岔既不是定位也不是反位时,认为区段s没有上行区段;
23、如果当前区段s的上行区段不为空,并假定当前区段s的上行区段为s1,此时继续寻找s1的上行区段s2,再寻找s2的下行区段s3,如果s3与s1指向同一个区段则认为s1为区段s的上行区段t;如果s3与s1未指向同一个区段则认为区段s没有上行区段。
24、进一步,所述步骤s7中,计算列车车身下的计轴区段并标记占压,将其他区段标记出清,具体包括如下步骤:
25、步骤s701、获取轨道区段上的车前轮位置点和车尾轮位置点;
26、步骤s702、获取车前轮位置点所在的轨道区段leftsection和车尾轮位置点所在的轨道区段rightsection;
27、步骤s703、声明当前轨道区段currentsection的指针,指向leftsection;
28、步骤s704、进入步骤s70401,获取当前轨道区段currentsection的左侧计轴点leftaxle和右侧计轴点rightaxle;
29、步骤s70401、遍历所有的计轴点设备,寻找计轴点所在轨道区段的编码等于当前轨道区段curentsection的编码的所有计轴点设备axlelist;
30、步骤s70402、若在axlelist中存在计轴点在轨道区段上的偏移量为0的计轴点设备,则将该设备作为当前轨道区段currentsection的左侧计轴点leftaxle;
31、步骤s70403、若在axlelist中存在计轴点在轨道区段上的偏移量为区段长度的计轴点设备,则将该设备作为当前轨道区段currentsection的左侧计轴点rightaxle;
32、步骤s70404、如果在axlelist中未找到符合条件的leftaxle,则要从当前轨道区段currentsection的下行区段开始,递归查找每个区段内的计轴点设备,直到找到当前轨道区段currentsection沿下行方向的第一个计轴点设备作为leftaxle,或找不到下行区段为止;
33、步骤s70405、如果在axlelist中未找到符合条件的rightaxle,则要从当前轨道区段currentsection的上行区段开始,递归查找每个区段内的计轴点设备,直到找到当前轨道区段currentsection沿上行方向的第一个计轴点设备作为rightaxle,或找不到上行区段位置;
34、步骤s705、如果区段左侧的计轴点设备leftaxle不为空,则将leftaxle的上行计轴区段加入结果集合axlesecionlist;
35、步骤s706、如果区段右侧的计轴点设备rightaxle不为空,将rightaxle的下行计轴区段加入结果集合axlesecionlist;
36、步骤s707、将当前区段currentsection指针指向currentsection的上行区段,若此时当前轨道区段currentsection等于rightsection,则停止查找进入步骤s709,否则进入步骤s704继续查找;
37、步骤s708、将上述步骤得出的结果集合axlesecionlist去重后最为列车车身下占压的计轴区段集合;
38、步骤s709、获取到列车车身下的计轴区段后,应用逻辑就可将列车车身下的计轴区段标记为占压,将其他区段标记为出清,随着列车的移动,不断计算更新计轴区段状态,实现现实中列车车轮经过计轴产生的占压出清。
39、进一步,所述步骤s7中,计算列车应答器传输模块与前方应答器的距离,具体包括如下步骤:
40、步骤s711、根据坐标(section,offset)获取到应答器传输模块所在的轨道区段作为当前区段;
41、步骤s712、声明指向当前轨道区段currentsection的指针,执行应答器传输模块所在的轨道区段,声明当前偏移量值axleoffset等于偏移量offset;
42、步骤s713、从应答器集合中查找到所有位于当前轨道区段currentsection上且偏移量大于等于axleoffset的应答器集合baliselist;
43、步骤s714、如果应答器集合baliselist为空或数量不足2个,则将当前轨道区段currentsection指向当前轨道区段currentsection的上行区段,并将axleoffset设置为0,进入步骤s713继续查找,直到找不到上行区段;若找到满足条件的应答器集合,即baliselist不为空时,进入步骤s715;
44、步骤s715、将应答器集合baliselist内的设备按上行方向排序,取最左侧的应答器作为需要求取的应答器传输模块上行方向的应答器。
45、进一步,所述步骤s7中,计算车身坡度,具体包括如下步骤:
46、步骤s721、根据车头位置headposition和车尾位置tailposition获取车头坡度headslope和车尾坡度tailslope;
47、步骤s722、判断列车是否处于波峰位置,即车头处于下坡位置而车尾处于下坡位置,若列车处于波峰位置,则将列车中心点坡度作为车身坡度slopvalue,若列车不是处于波峰位置,则进入步骤s723;
48、步骤s723、计算车头headheigth和车尾的高度tailheight,计算公式如下:
49、sin(tan-1(slopevalue))*bevellength;
50、计算车头高时,以车头所在位置的坡度作为slopevalue,以车头在区段内的偏移量和坡度的起始位置的差作为bevellength;
51、计算车尾高度时以车尾所在位置的坡度作为slopevalue,以车尾所在位置的坡度的起始起始位置+该坡度的水平长度-车尾在区段的偏移量作为bevellength;
52、步骤s724、计算列车车身下所有坡度累计高otherheight,即将车身下除却车头和车尾之外的所有的坡度的高累加在一起;
53、步骤s725、计算头尾高度差delta,所述头尾高度差delta的计算公式如下:
54、delta=headhigth+tailheight+otherheight;
55、步骤s726、以列车的车身长度length作为斜边,列车头尾高度差delta作为高度,计算坡度slope,所述坡度slope的计算公式如下:
56、tan(sin-1(delta/length))。
57、采用了上述技术方案,本发明设计了偏移计算算法,模拟了列车及列车部件在轨道上的移动位置变化。设计了根据列车位置计算计轴区段的算法,实现了计轴轴区段的占压出清模拟。设计了应答器定位仿真算法,通过周期计算列车到应答器的距离,模拟应答器报文,实现列车的定位。设计了列车坡度算法,结合线路数据给出相对真实的车身坡度值。可以全面真实的模拟出列车各项轨旁设备和数据,从而实现列车运行外部环境的仿真。
本文地址:https://www.jishuxx.com/zhuanli/20241204/341600.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。