静脉:如果SUMO中没有驾驶车辆,OMNET++模拟结束,但未来有车辆计划

Veins: OMNET++ simulation ends if there is no driving vehicle in SUMO, but vehicles are planned for future

我正在使用 veins 3.0, 将 SUMO 0.21.0 连接到 OMNET++ 4.4

在我的模拟中,每 5 分钟就会有一辆新车出现在道路的起点,在道路上行驶,然后离开模拟。有时它会提前离开模拟,如果它有 "accident"。因此,它不会行驶 10 分钟,而只会行驶几秒钟。

在这种情况下,有时我会遇到这种情况,即路上没有车辆:旧车离开了道路,新车还没有出现。我的控制台输出如下所示:

Node flow0.0 attention rate 0.999982 Node flow1.0 attention rate 0.999972 Node flow2.0 attention rate 0.999964 Node flow3.0 attention rate 0.999942 Node flow1.0 Vehicle slides off the road! with attention rate 0.999972 at time 1008.1 Node flow0.0 Vehicle slides off the road! with attention rate 0.999982 at time 1048.1 Node flow2.0 Vehicle slides off the road! with attention rate 0.999964 at time 1103.1 Node flow3.0 Vehicle slides off the road! with attention rate 0.999942 at time 1113.1

它显示了开始旅程的每辆车,以及结束旅程的时刻。所以你可以看到,所有车辆都在时间 1113 秒 离开。下一辆车将在时间 1200 秒.

出现

在这种情况下,OMNET++ 忽略了几分钟后会出现新车辆并快速通过模拟直到结束,因为它没有更多事件。我收到消息:

Simulation time limit reached -- simulation stopped at event #15076, t=86400.

我怎样才能让 OMNET++ 知道几分钟后会出现一辆新车?现在只有 SUMO 在其路由文件中有此信息。这里我有 6 个流程。每个流量每 30 分钟发送一辆车。总之每5分钟就有一辆新车出现在路口。

<flow id="flow0" type="vtype6" route="B470" begin="0" end="1209600" period="1800"/> <flow id="flow1" type="vtype5" route="B470" begin="300" end="1209600" period="1800"/> <flow id="flow2" type="vtype4" route="B470" begin="600" end="1209600" period="1800"/> <flow id="flow3" type="vtype2" route="B470" begin="900" end="1209600" period="1800"/> <flow id="flow4" type="vtype1" route="B470" begin="1200" end="1209600" period="1800"/> <flow id="flow5" type="vtype0" route="B470" begin="1500" end="1209600" period="1800" />

据我了解,OMNET++ 对未来的车辆一无所知。我怎样才能让模拟保持活跃,直到下一辆车出现?

感谢您的关注。

尝试在 omnetpp.ini 中设置 *.manager.autoShutdown = false

在 Veins 3 中,TraCIScenarioManagerLaunchd 模块有一个参数 bool autoShutdown = default(true) 决定是否在模拟中没有更多车辆时立即停止模块。