使用 PLEXE 从 Sumo .rou 文件插入车辆时出错

Error while inserting vehicles from Sumo .rou file using PLEXE

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

Error: tcpip::Socket::recvAndCheck @ recv: peer shutdown

并且 omnet 以代码 139 退出。仅当插入第一辆车时才会发生错误。 注意:该示例的所有其他配置都可以正常工作。

为什么会出现这个错误,我该如何解决?

我从 sumo 邮件列表中得到了答案,所以我也把它张贴在这里。当前,使用标准 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 文件中添加一些行(如 flows 或 vehs)用于注入人类汽车,您将获得所需的结果。