在VEINS模拟器中超车

时间:2017-08-01 11:26:35

标签: omnet++ veins sumo

我正在使用Veins 4.5,OMNeT ++ 5.0和Sumo 0.29。

我想在VEINS模拟器中实现超越的场景。

在SUMO中,我有一条通过3个节点连接的道路。

边缘1i连接到边缘2i,边缘2o连接到边缘1o,如图road in SUMO所示。

我在VEINS中使用traciVehicle->newRoute("1o");超车,但车辆没有超车并返回1o车道。

我在VEINS中使用traciVehicle->newRoute("2o");来超越,但SUMO不允许我在边1i和2o之间添加连接。

车辆如何过度使用?

确实,我有三辆车,如下图overtaking scenario所示 汽车VB将超过车辆VA,但它应该验证是否有来自相反方向的汽车。在这种情况下,VB不能超越,因为VC来自相反的方向。否则,VB可以超越VA,因此它从边缘1i移动到1o然后返回到1i。

此方案还有其他解决方案吗?

1 个答案:

答案 0 :(得分:1)

您的SUMO网络每条边只有一个通道。如果您希望车辆能够超车,则每个方向必须有多个车道,或者允许车辆通过移动到相对车道上而超车。有关如何执行此操作的详细信息,请参阅http://sumo.dlr.de/wiki/Simulation/OppositeDirectionDriving