【问题标题】:Questions regarding changing vehicle speed in SUMO through OMNet++ TraCI关于通过 OMNet++ TraCI 在 SUMO 中改变车速的问题
【发布时间】:2016-01-08 21:33:28
【问题描述】:

我目前使用的是 SUMO-0.19.0 Veves-3.0 和 OMNet++-4.6。

我一直在网上研究如何通过OMNet中的ini文件改变车速,我的目标是测试不同车速对广播的影响。我可以使用迭代来更改广播间隔,并且可以一次更改 .rou 文件和 .net 文件中的车辆速度。

但是,我的问题是我想在 OMNet++ ini 文件中使用迭代来改变车速和加速度来加速模拟过程,但我不知道如何。

我查看了链接https://groups.google.com/forum/#!topic/omnetpp/Cy1Slhx9h1U,但我仍然不知道在哪里使用setSpeed,更不用说如何使用迭代来改变车速了。

提前谢谢你。

【问题讨论】:

  • 上面提到的邮件列表已经给出了答案——你必须在 Veins 中提供一个函数来设置速度。然后,您可以将其作为参数添加到 .ned 文件中,并通过 omnetpp.ini 使用它。请参阅文档here
  • 感谢您的建议。但是,由于我是新手,我仍然不明白如何在 Veins 中提供一个函数来设置速度,我是否需要编辑 TraCIDemo11p.cc 或 TraCIMObility.cc 来添加该函数?
  • 该函数已经存在于TraCICommandInterface.h 中。你只需要使用它。
  • 那么我应该在哪里调用这个函数呢?我们到底在谈论哪个文件?谢谢
  • 能否提供一个调用TraCICommandInterface.h中函数的例子?我一直在尝试以 TraCIDemoRSU11p.ned 为例,但我失败了。

标签: performance omnet++


【解决方案1】:

要以不同的车速运行,最好在 SUMO 中为每个所需的速度配置一次运行。

为此,您必须以不同的速度创建额外的.rou.xml 文件。 SUMO Wiki 中详细描述了如何实现这一点。基本上,每个.rou.xml 都必须有自己的maxSpeed 值。

然后确保通过您的omnetpp.ini 中的.launchd.xml 加载正确的.sumo.cfg。您可以配置 OMNeT++ 以运行各种配置,如OMNeT++ Manual 所示。

【讨论】:

  • 那意味着我需要创建多个 .rou.xml 文件,以及多个 .lauchd.xml 和 omnetpp.ini 文件。我想要做的是能够使用迭代在一个 omnetpp.ini 文件中运行所有不同的速度配置文件,这样我就不需要每次都浪费时间单击不同的 ini 文件。对此有什么想法吗?谢谢
  • 您需要多个.rou.xml 文件和多个.launchd.xml 文件,但您只需要一个omnetpp.ini。请查看上面链接的 OMNeT++ 手册,该手册描述了如何仅通过 .ini 文件运行多个模拟。
【解决方案2】:

在我看来,车辆的速度可以通过 .net.xml 文件进行更改。唯一的问题是您必须单独更改所有车辆的速度。最简单的方法可能是改变车辆组的速度,就像一组汽车被归类为一样,您可以用您选择的任何速度替换速度。

【讨论】:

    【解决方案3】:

    如果您使用的是traci接口,您可以使用命令从下一个时间步长设置任何个人车辆速度

    traci.vehicle.setSpeed(vehId, desiredspeed)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-16
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多