首页 > 解决方案 > 使用 PLEXE 从 Sumo .rou 文件插入车辆时出错

问题描述

我正在尝试使用 SUMO 和 Plex 在场景中的特定时间步插入普通车辆和排车。我正在使用 Sumo 1.2.0、Veins 5.0、Omnet++ 5.5.1、Plex-3.0a2 版本。作为 plexe 文档点,我必须将 .ini 文件中的交通管理器更改为 SumoTrafficManager,以便从我创建的 .rou 文件中插入车辆和排。出于测试目的,我使用了 plexe 提供的排示例,并使用了 Sumo Traffic 选项。问题是我得到了相扑错误

错误:tcpip::Socket::recvAndCheck @recv: peer shutdown

并且 omnet 以代码 139 退出。该错误仅在插入第一辆车时发生。注意:该示例的所有其他配置都可以完美运行。

为什么会发生此错误,我该如何解决?

标签: omnet++veinssumoplexe

解决方案


我从相扑邮件列表中得到了答案,所以我也在这里发布。目前,使用标准 SUMO 方式(.rou 文件)插入排和普通人车存在错误。但是有一种方法可以解决这个问题,让排车的插入由 TrafficManager 模块处理,而普通人的车由 SUMO 方式插入。要使其工作,您必须使用经典的 PlatoonsTrafficManager 并将以下行添加到 .ini 文件中:

*.manager.moduleType = "vtypeauto=org.car2x.plexe.PlatoonCar vtypehuman=HumanCar" *.manager.moduleName = "vtypeauto=node vtypehuman=human"

这样,您可以为模拟分离模块类型以不同方式处理它。一个很好的测试示例是提供的 Human 示例。通过修改 .ini 文件以仅将与排相关的变量传递给 TrafficManager,然后在 .rou 文件中添加一些行(如 flow 或 vehs),以便注入人类汽车,您可以获得所需的结果。


推荐阅读