Plexe

The Platooning Extension for Veins.

Lane Change Model

As of Plexe 3.1.3, the lane change model has been improved to avoid collisions between vehicles. Most of the changes has been implemented in SUMO, so to properly use the lane change model you should install SUMO version 1.20.0 at least. In addition, this page lists all the configuration required to make the model work. If you spot problems, check the list below to see if everything is properly configured.

SUMO vehicle type configuration

Check that the following is set in your SUMO vtype configurations (e.g., in *.rou.xml files) for platooning vehicles (the ones using the CC car following model):

  • Set the proper weight for the lane change model inside the vtype definition. For example: lcStrategic="5" lcCooperative="5" lcSpeedGain="5" lcKeepRight="5"
  • Use the new platoon-aware lane change model by adding laneChangeModel="LC2013_CC" to the vehicle type definition
  • Set tau parameter to large value, e.g., tau = "3.0". Although this is not used by the model, it is used by the SUMO lane change model to compute the lane change probability. A too small value causes the platoon to never change lane, a too large value might cause oscillations

In addition, if you have vehicles not using the CC car following model, set minGap to a meaningful value (e.g., minGap = "2.5") otherwise when returning to the right lane the platoon might simply cut-in very abruptly or non CC vehicles might enter gaps between platooning vehicles.

Things to look for in your simulation

If the lane change model is not properly working check the following in your simulation.

  • Be sure that you did not change the lane change mode (mode, not model) of platooning vehicles by mistake. The lane change mode should be set to 512 (0b1000000000). This disables SUMO lane changes and enables only changes via TraCI, provided they do not cause collision and they do not cause safety gaps problems. Notice that this should already be done by Plexe, but if you have portions of code that change the lane change mode to a different value, this might cause issues
  • If you enabled auto lane change for the leader via the enableAutoLaneChanging() API or you requested a lane change through performPlatoonLaneChange(), did you inform SUMO about each platoon member via the addPlatoonMember() API?