我正在使用 veins 3.0 ,将 SUMO 0.21.0 连接到 OMNET ++ 4.4 。
在我的模拟中,在道路开始时每5分钟出现一辆新车,在道路上行驶,然后离开模拟。如果它有“意外”,有时它会提前离开模拟。所以它不会驱动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 ++对未来的车辆一无所知。如何使模拟保持活力,直到下一辆车出现?
感谢您的关注。
答案 0 :(得分:2)
尝试在*.manager.autoShutdown = false
中设置omnetpp.ini
。
在Veins 3中,TraCIScenarioManagerLaunchd
模块有一个参数bool autoShutdown = default(true)
,用于确定在模拟中不再有车辆时是否停止模块。