2

我正在使用 OMNET++、venes 和 SUMO 构建一个 ITS 应用程序,并且我正在尝试用不同的路线更新车辆的路线。但是,我在静脉中发现的两个命令 ( commandRouteChange, commandNewRoute) 都不起作用。

我计算了一条新路线,输出如下:std::string newRoute = "AtoB BtoC CtoD DtoE";然后我尝试将其设置newRoute为车辆:

traci->getManager()->commandNewRoute(vehicleID, newRoute);

然后我收到以下错误:Error in module (ITS) VANET.host[0].appl (id=9) at event #127412, t=12: Model error: TraCI server reported error executing command 0xc4 ("Can not retrieve road with ID AtoB BtoC CtoD DtoE ").

我正在搜索,我看到commandNewRouteandcommandChangeRoute只接收一条边作为参数。但我想设置一条通往车辆的完整路线。有谁知道我该怎么做?

4

1 回答 1

2

Veins 2.1 仅通过修改其目标道路(命令 0xc4 0x31)或通过修改其对行驶时间的感知(命令 0xc4 0x58)来实现更改车辆路线的命令。

较新版本的 Veins 还实现了一个用于设置任意路线的命令(命令 0xc4 0x57),这正是您所要求的。

我建议切换到Veins 4.3,它与最新版本的 SUMO 一起工作,并为您提供了许多改进且功能更丰富的其他组件模拟模型。如果您无法升级 Veins,则执行所需的命令也应该很简单。

于 2016-03-21T10:01:11.053 回答