【问题标题】:About vehicle number in VEINS关于 VEINS 中的车号
【发布时间】:2017-09-20 04:45:45
【问题描述】:

我使用 duarouter 修改了 erlagen.rou.xml 以获取车辆的随机路线。它看起来像这样:

    <vehicle id="0" depart="0.00"><route edges="31401017#0 4006688#0 4006688#1 4006688#2 4006688#3 4006688#4 29900561#0 29900561#1 32270595 33174302#0 33174302#1 4686970#0 4686970#1 122161381 30350448 30350449 4047309 30751813 -35842306#1 -35842306#0 -4900741 -4900739#2 -4900739#1"/>
</vehicle>
<vehicle id="1" depart="1.00">
    <route edges="19796637 122161381 30350448 8364476 30350450#0 30350450#1 30350450#2 4006702#0 31255203#0 -31241851#2 -31241851#1 -31241851#0 31241816#3 31241835#1 31241834#0"/>
</vehicle>
<vehicle id="2" depart="2.00">
    <route edges="31401017#0 4006688#0 4006688#1 4006688#2 4006688#3 4006688#4 29900561#0 29900561#1 32270595 33174302#0 33174302#1 4686970#0 4686970#1 122161381 30350448 8364476 30350450#0 30350450#1 30350450#2 4006702#0 31255203#0 31255203#1"/>
</vehicle>  .......

在 VEINS 的原始 erlangen.rou.xml 中,我可以通过在 omnetpp.ini 文件中使用“*.manager.numVehicles”或使用“erlangen.ini”中的“number =198”来控制车辆数量。 rou.xml”。但是,当我在 omnetpp.ini 文件中使用“*.manager.numVehicles = 5”仅使用 5 辆车时,“erlangen.rou.xml”会生成多辆车辆。如何使用所需数量的车辆。

谢谢。

【问题讨论】:

  • 您是否有机会使您的问题更易于阅读?我觉得很难把握问题
  • 很抱歉给您带来不便。实际上,我使用 Duaroute 制作了 erlangen.rou.xml,它制作了随机路由边缘。在 VEINS 的原始 erlangen.rou.xml 中,我可以通过使用 omnetpp.ini 文件中的“*.manager.numVehicles”或使用“erlangen.rou.xml”中的“number =”来控制车辆数量.但是,当我在 omnetpp.ini 文件中仅使用 5 辆车(如“*.manager.numVehicles = 5”)时,“erlangen.rou.xml”会生成多辆车辆。在这种情况下如何限制车辆数量。谢谢。

标签: omnet++ veins sumo


【解决方案1】:

Veins 4.6 为 SUMO 创建的每辆(符合条件的)车辆创建一个新的网络节点(其中资格可能受到车辆类型和感兴趣区域的限制)。

此外,Veins 4.6 的TraCIScenarioManager 类的numVehicles 参数负责确保在每个时间步之后至少有这么多车辆出现在模拟中 (click here to see the source code responsible for this behavior)。

因此,numVehicles 参数不能用于限制车辆数量。为此,要么需要指示 SUMO 创建更少的车辆,要么需要指示 SUMO 定义一些路线但根本不创建车辆(因此让numVehicles 参数接管车辆的创建)

【讨论】:

  • 我对插入新车时如何使用numVehicles 参数感到困惑。您提到“在每个时间步之后,至少有这么多车辆出现在模拟中”。那么,如果 numVehicles 为 1000,更新间隔为 1s,是否意味着每 1s 插入 1000 辆车?我想这不应该是这种情况,但是我应该如何正确理解这一点?谢谢。
  • 假设 numVehicles 为 10,模拟中有 10 辆车。我们现在进入下一个时间步。让我们进一步假设在这个时间步有 5 辆车到达目的地,并且计划有 2 辆车开始新的行程(在 rou.xml 文件中定义)。 Veins 将意识到这太少了,无法满足您对 numVehicles=10 的需求,并在下一个时间步再启动 3 个,从而使模拟中的车辆总数回到 10 个。
  • 所以numVehicles 确定了保证在模拟中的车辆总数。默认为 0,表示模拟将遵循 SUMO 中的设置。我的理解正确吗?
  • 在这种情况下,Veins创建的车辆/节点的默认配置是什么,例如departSpeed、maxSpeed、departLane等?我们如何自定义这些设置?
【解决方案2】:

当您在 CMD 中生成流量时,您可以通过增加 python 命令中的结束时间来获得大致的车辆数量,例如以下命令结束时间为 200,因此您可能会获得大约 100 辆车。 python c:\sumo\sumo25\tools\randomTrips.py -n map.net.xml -e 200 -l
python c:\sumo\sumo25\tools\randomTrips.py -n map.net.xml -r map.rou.xml -e 200 -l

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多