1

I'm using Veins 4.5, OMNeT++ 5.0 and Sumo 0.29.

I want to implement a scenario of overtaking in VEINS Simulator.

In SUMO, I have a road connected by 3 nodes.

The edge 1i is connected to the edge 2i and the edge 2o is connected to the edge 1o, as shown in the figure road in SUMO .

I use traciVehicle->newRoute("1o"); in VEINS to overtake but the vehicle doesn't overtake and return back to the lane 1o.

I use traciVehicle->newRoute("2o"); in VEINS to overtake but SUMO doesn't allow me to add a connection between the edge 1i and 2o.

How a vehicle can ovetake ?

Indeed, I have three cars as shown in the below figureovertaking scenario The car VB will overtake the vehicle VA, but it should verify if there is any car coming from the opposite direction. In this case, VB cannot overtake because VC is coming from the opposite direction. Otherwise, VB can overtake VA , so it moves from the edge 1i to 1o and then return to 1i.

There is any other solution for this scenario ?

1 Answers1

1

Your SUMO network only has one lane per edge. If you want vehicles to be able to overtake you either have to have more than one lane per direction or allow vehicles to overtake by moving onto the opposing lane. See http://sumo.dlr.de/wiki/Simulation/OppositeDirectionDriving for details on how to do that.

Christoph Sommer
  • 6,893
  • 1
  • 17
  • 35
  • Thank you Dear @ChristophSommer for your response. This problem is not resolved by using more than one lane per direction. Moreover, when the overtaking through the opposite-direction edge is enabled, the vehicle does’nt overtake and returns back to the lane 1o. – user3531378 Aug 09 '17 at 20:38
  • Then I guess I cannot help you. The way I understood your question was that you want a vehicle to overtake but it won't. The only reason I could think of is that it cannot because of road geometry. There seems to be something else keeping the vehicle from overtaking, but I cannot see what that might be. – Christoph Sommer Aug 10 '17 at 08:59