Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sumo-user] Understanding lcCooperative

1)  When another vehicle must merge in front of the ego vehicle for strategic reasons, a speed will be computed for the ego vehicle that will allow merging (either now or eventually depending on the urgency of the strategic change). It's actually a bit more involved because the merging vehicle might also decide to let the ego vehicle pass and then merge behind it.  Depending on lcCooperativeSpeed (which defaults to the value of lcCooperative) the actual speed of the ego vehicle is interpolated linearly between it's original desired speed and the computed cooperative speed depending on the value of lcCooperative.
See https://github.com/eclipse/sumo/blob/77d8cc8f09427f3a1dacc104fd5b01c3ce02c0e2/src/microsim/lcmodels/MSLCM_LC2013.cpp#L622

2) Yes. The carfollow model functions are used to compute the accepted gaps. The vType parameter lcAssertive can be used to scale the accepted gaps and thereby model more aggressive or more conservative drivers. To make this vehicle-type dependent will require additional code (though you could hook up such a model via TraCI).

regards,
Jakob

Am Fr., 9. Okt. 2020 um 19:02 Uhr schrieb Bae, Jong In <jbae42@xxxxxxxxxx>:
Hello,

I have 2 questions I would like to ask.

  1. It seems when lcCooperative is used, that vehicle would slow down to create gap when it recognizes there is a vehicle trying to make a lane change. How does this actually work? What are the factors that lcCooperative considers? Some explanations with link to source code would be very much appreciated!

  2. On a different note, I am wondering if there is any way to overwrite the some of the merging decision factors that go into the car-following or lane-changing models. I am assuming the car-following and lane-changing models call various functions (such as getSecureGap) to do calculations before merging. Is there any way to overwrite those functions so that the vehicle will always accept lower gaps? Our final goal is to make a vehicle always behave aggressively towards only certain vehicle types. We want to minimize / eliminate editing the source code. We have been implementing such behavior change by changing a vehicle's tau and minGap values back and forth. But we are seeking an alternative.

Thank you so much for your help in advance!

_______________________________________________
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