我正在使用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之间添加连接。
车辆如何过度使用?
确实,我有三辆车,如下图所示 汽车VB将超过车辆VA,但它应该验证是否有来自相反方向的汽车。在这种情况下,VB不能超越,因为VC来自相反的方向。否则,VB可以超越VA,因此它从边缘1i移动到1o然后返回到1i。
此方案还有其他解决方案吗?
答案 0 :(得分:1)
您的SUMO网络每条边只有一个通道。如果您希望车辆能够超车,则每个方向必须有多个车道,或者允许车辆通过移动到相对车道上而超车。有关如何执行此操作的详细信息,请参阅http://sumo.dlr.de/wiki/Simulation/OppositeDirectionDriving。