代码之家  ›  专栏  ›  技术社区  ›  Florian86

在静脉中驾驶车辆的评估条件失败

  •  3
  • Florian86  · 技术社区  · 10 年前

    我使用SUMO生成了大量路线(~90.000+) ACTIVITYGEN/DUAROUTER 具有配置 file 和不同的持续时间( --duration-d 1 , --duration-d 7 , ...).

    由此产生的 .rou.xml 由SUMO成功执行,没有严重错误。只是一些关于无效的警告 departPos .

    但在使用Veins时,我收到以下错误消息:

    <!> Error in module (Veins::TraCIScenarioManagerLaunchd)
    Scenario.manager (id=6) at event #2327172, t=25619.2: Model error:
    ASSERT: condition count == drivingVehicleCount false in function
    processVehicleSubscription,
    veins/modules/mobility/traci/TraCIScenarioManager.cc line 640.
    

    我删除了ASSERT条件并显示了两个值。 count 始终高于 drivingVehicleCount .

    包含的“静脉”示例运行时没有任何问题。

    我正在使用:

    • 相扑0.22.0
    • OMNeT++4.6
    • 静脉4阿尔法2。

    此外,我测试了Veins 3.0,并收到了相同的错误消息。

    有人遇到过同样的问题吗?

    1 回复  |  直到 9 年前
        1
  •  2
  •   Christoph Sommer    10 年前

    ASSERT 很好。

    在SUMO中,任何车辆都可以具有五种状态之一(根据 statesvehicleStates_sm.uxf ):首先,它是 加载 ,转换到 跑步 当它开始行驶时 到了 当它到达目的地时。此外 跑步 车辆可以暂时变成 远距离传送 停车 .

    静脉订阅这些状态变化,以跟踪行驶车辆的数量。为了确保记账正确,它将自己的计数与SUMO报告的活跃车辆数量进行比较。

    我不知道为什么有时数字不匹配。这似乎只发生在大型拥塞网络中。