Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sumo-user] Cooperative lane changing in SL2015

Hello again,

Thank you for the response. I understand that these 3 parameters are the main factors that affect cooperative changes.

In a 2-lane scenario and a 3-lane scenario (road length = 1000m) with the rightmost lane blocked by a stopped vehicle of length 300m at position 750m, there doesn't seem to be a big difference when setting lcCooperative=1.0 vs. lcCooperative=0.0 for 100 vehicles to pass through at a rate of 10000 vehicles/hr -> only a difference of 4-8 simulation time steps (seconds in my case). Wondering in what scenario this difference in parameters would be most visible - if any clue?

Thank you.

Sincerely,
Hriday


On Mon, 14 Mar 2022 at 14:08, Jakob Erdmann <namdre.sumo@xxxxxxxxx> wrote:
Hello,
cooperative behavior is actually guided by three parameters that can be controlled separately:
- lcCooperative: whether to perform a cooperative lane change if decreases ego speed, See Line 1375
- lcCooperativeSpeed (defaults to lcCooperative): whether to adapt the ego speed to help other vehicles with lane changing. This is the code you already found
- lcCooperativeRoundabout (defaults to lcCooperative): whether to use the inside lane on a multi-lane roundabout. See Line 1230

lcCooperativeSpeed (myCooperativeSpeed) actually controls speed adaptions for the vehicle that wants to merge as well as the vehicle that wants to help (there is a known problem with this: https://github.com/eclipse/sumo/issues/9473)

The 'getSlowest' code is for preventing overtaking on the right where this is forbidden. This is unrelated to cooperative behavior.
To understand the speed adaptations that are advised (myLCAccelerationAdvices), activate the 'DEBUG_INFORM' flag in line 95 and then select vehicles in the simulation. (debug console output requires the debug build when on windows).

regards,
Jakob


Am So., 13. März 2022 um 12:14 Uhr schrieb Hriday Sanghvi via sumo-user <sumo-user@xxxxxxxxxxx>:
Hello,

I am trying to understand the cooperative actions taken by vehicles in SL2015 LC model. I am going through the C++ code and the start of this line: https://github.com/eclipse/sumo/blob/main/src/microsim/lcmodels/MSLCM_SL2015.cpp#L366 seems to have the crux of the cooperative actions taken.

https://github.com/eclipse/sumo/blob/21d11b1a26c4b781929b64416084e02a5f974cbe/src/microsim/lcmodels/MSLCM_SL2015.cpp#L370 seems to be the selection of speed for the vehicle that is cooperating to let another vehicle onto its lane? OR is the selection of speed for the vehicle that is changing lane into another one? - Not sure how wanted (variable) is calculated.

https://github.com/eclipse/sumo/blob/21d11b1a26c4b781929b64416084e02a5f974cbe/src/microsim/lcmodels/MSLCM_SL2015.cpp#L2703 tells me that the speed above is also in some way related to checking the speed of the slowest leaders on the neighbouring lanes?

Please advise on where I could read more to understand in-depth - both the lane changing and the speed change that is required by the cooperative action? (For example, if I set the lcCooperative parameter to 1.0 (max))

Thank you.

Sincerely,
Hriday
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user

Back to the top