In a simulation where you do not send any traci commands, the behavior should be the same in both cases (and this was the situation I had in mind for my previous explanation).
If you are requesting lane changes, than vehicles will still perform some amount of speed adaptation to resolve blockings and this adaptation is subject to lcCooperativeSpeed (which defaults to the value of lcCooperative). - if you set lcCooperative to 0 (or -1) then no speed adaptations will ever take place (this holds for all sumo version) - if you set lcCooperative to 1 then "optimal" speed adaptations will take place The difference in speed adaption should be fully responsible for the changes you are seeing. Am Mi., 18. Mai 2022 um 08:43 Uhr schrieb Hriday Sanghvi via sumo-user < [email protected]>: > > Hello again, > > What I have observed is that even after setting the laneChangeMode to 512, > setting the parameters lcStrategic, lcSpeedGain, lcCooperative to different > values have different effects. That is what is being captured by the table: > > +-----------------+---------+------+ > | *lc_params* | *lc_mode* | *Time* | > +-----------------+---------+------+ > | Set to 1 | 512 | *241* | > +-----------------+---------+------+ > | Unset (default) | 512 | *241* | > +-----------------+---------+------+ > | Set to 0 | 512 | 172 | > +-----------------+---------+------+ > > As you can see, keeping the lane change mode fixed in all cases (at 512), > if I either set the parameters to 1 or let them inherit the default value > (of 1), the time taken for the simulation is 241 steps. However, with the > parameters set to 0, the time taken for the same simulation with the same > lane change mode is 172 steps. This is the part I don't understand. Please > advise. > > Thank you. > > Sincerely, > Hriday > > On Wed, 18 May 2022 at 07:21, Jakob Erdmann <[email protected]> wrote: > >> >>> So what I now understand is: >>> >>> *Only* in the development version, if I set lane change mode to 512 (it >>> disables everything else apart from safety), now it will behave as expected >>> - that is, no strategic, speed gain or cooperative changes. >>> But if I use an older version before the changes have been implemented, >>> I should also set lcStrategic to -1 and lcCooperative to -1. >>> >>> Please confirm. Thank you. >>> >>> >> >> a) In all sumo versions, setting laneChangeMode to 0 or 512 disables all >> autonomous changing. In this mode, cars only change if you tell them to >> change (i.e. with traci.vehicle.changeLane) >> >> Only in the development version: >> b) If you do not set laneChangeMode but instead set lcStrategic=-1, >> lcSpeedGain=0 and lcCooperative=-1 lcKeepRight=0 , you will achieve the >> same effect: cars only change if you tell them to change (i.e. with >> traci.vehicle.changeLane) >> >> Thus, in the development version combining both settings (a + b) has no >> additional effect over only doing a) or b) alone. >> >> in older versions, b) still permits some autonomous changes to happen so >> if you want to disable all changes, you have to use a) >> >> >> >> >>> Sincerely, >>> Hriday >>> >>> On Tue, 17 May 2022 at 08:34, Jakob Erdmann <[email protected]> >>> wrote: >>> >>>> No. >>>> To disable strategic laneChanging completely, you can either >>>> - set laneChangeMode >>>> - or set lcStrategic="-1" >>>> >>>> because only setting lcStrategic="0" still allows changing at the end >>>> of the lane. >>>> >>>> b) >>>> lcSpeedGain="0" still is equivalent to lcSpeedGain="0.001" in version >>>> 1.13.0 but disables changing for speedGain completely in the development >>>> version (https://github.com/eclipse/sumo/issues/10709) >>>> >>>> c) >>>> lcCooperative="0" prevents cooperative changing if there is any >>>> inconvenience. However, if you set lcSpeedGain="0" lcCooperative="0" a >>>> vehicle might still perform a cooperative change if the target lane affords >>>> higher speed. To achieve the same affect as disabled-via-lane-change-mode >>>> you can set lcCooperative="-1" (again, this requires the dev version) >>>> >>>> regards, >>>> Jakob >>>> >>>> >>>> >>>> >>>> Am Do., 12. Mai 2022 um 08:49 Uhr schrieb Hriday Sanghvi via sumo-user < >>>> [email protected]>: >>>> >>>>> Hello Jakob, >>>>> >>>>> Thank you for the update. So if I understand correctly: to completely >>>>> disable strategic lane changing by SUMO, I have to >>>>> 1. set the laneChangeMode bits 0 and 1 (for strategic lane changes) to >>>>> 0 >>>>> AND also >>>>> 2. set lcStrategic to -1 in my routes files for the vType >>>>> Because only setting relevant laneChangeMode bits and then setting >>>>> lcStrategic=1 may still allow strategic lane changes at the end of the >>>>> lane? >>>>> >>>>> Is this also true for lcSpeedGain and lcCooperative? Since there are >>>>> also changes in behaviour when I isolate lcCooperative parameter (keeping >>>>> lcStrategic and lcSpeedGain fixed at 1), i.e., >>>>> a. when I set laneChangeMode bits 2 and 3 to 0, and set lcCooperative >>>>> to 1, >>>>> vs. >>>>> b. when I set laneChangeMode bits 2 and 3 to 0, and set lcCooperative >>>>> to 0, >>>>> >>>>> I would have expected a. and b. to give me the same behaviour/time to >>>>> complete the simulation, since I believe laneChangeMode completely >>>>> disabled >>>>> certain types of lane changes - but it seems that the lcParams still have >>>>> some effect. Please advise. >>>>> >>>>> Thank you. >>>>> >>>>> Sincerely, >>>>> Hriday >>>>> >>>>> >>>>> On Thu, 12 May 2022 at 06:36, Jakob Erdmann <[email protected]> >>>>> wrote: >>>>> >>>>>> The key difference is that the laneChangeMode completely disables >>>>>> strategic lane changing whereas lcStrategic="0" only sets the strategic >>>>>> lookahead distance to the minimum possible value. Vehicles will still >>>>>> perform a strategic laneChange when reaching the very end of their lane. >>>>>> You can set lcStrategic to a negative value to disable strategic lane >>>>>> changing completely but this was (until now) undocumented. >>>>>> >>>>>> regards, >>>>>> Jakob >>>>>> >>>>>> Am Di., 10. Mai 2022 um 19:11 Uhr schrieb Hriday Sanghvi via >>>>>> sumo-user <[email protected]>: >>>>>> >>>>>>> Hello again, >>>>>>> >>>>>>> I use *lc_params* to refer to the 3 parameters lcStrategic, >>>>>>> lcCooperative, and lcSpeedGain in the previous email, and *lc_mode *to >>>>>>> refer to the lane changing mode. To clarify, here are some experimental >>>>>>> results for each case for 100 vehicles on a 1000 m road with 2 free >>>>>>> lanes >>>>>>> (NO blockages): >>>>>>> +-----------------+---------+------+ >>>>>>> | *lc_params* | *lc_mode* | *Time* | >>>>>>> +-----------------+---------+------+ >>>>>>> | Set to 1 | 512 | *241* | >>>>>>> +-----------------+---------+------+ >>>>>>> | Unset (default) | 512 | *241* | >>>>>>> +-----------------+---------+------+ >>>>>>> | Set to 0 | 512 | 172 | >>>>>>> +-----------------+---------+------+ >>>>>>> | Set to 1 | 1621 | *204* | >>>>>>> +-----------------+---------+------+ >>>>>>> | Unset (default) | 1621 | *204* | >>>>>>> +-----------------+---------+------+ >>>>>>> | Set to 0 | 1621 | 218 | >>>>>>> +-----------------+---------+------+ >>>>>>> >>>>>>> As seen from the table, Regardless of whether the lc_params are set >>>>>>> to their default value (1) explicitly, or if they are unset (default >>>>>>> value >>>>>>> is used), the result (time in steps) of the simulation stays the same in >>>>>>> both cases of the lc_mode (512 and 1621). This is in line with my >>>>>>> understanding. However, when the lc_mode is set to 512, lc_params >>>>>>> should in >>>>>>> fact make no difference since the behaviour controlled by these >>>>>>> lc_params >>>>>>> were already deactivated - namely, do no strategic changes, do no >>>>>>> cooperative changes and do no speed gain changes. >>>>>>> >>>>>>> So what I gather is that there is some form of hierarchy - Which >>>>>>> parameter do I set to overwrite the other no matter what? Or why would >>>>>>> setting lc_params to 0 in the case of lc_mode = 512 make a difference? >>>>>>> >>>>>>> Thank you. >>>>>>> >>>>>>> Sincerely, >>>>>>> Hriday >>>>>>> >>>>>>> On Tue, 10 May 2022 at 14:01, Hriday Sanghvi <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Hello, >>>>>>>> >>>>>>>> *My belief*: The lane change mode 512 is supposed to disable all >>>>>>>> autonomous lane-changing except for safety-gap enforcement and >>>>>>>> collision >>>>>>>> avoidance. So setting lcSpeedGain=0 or lcStrategic=0 should be >>>>>>>> pointless, >>>>>>>> since that is the same effect achieved by setting lane change mode to >>>>>>>> 512, >>>>>>>> since bits 0 through 6 are all set to 0 : do no strategic changes, do >>>>>>>> no >>>>>>>> cooperative changes, do no speed gain changes, do no right drive >>>>>>>> changes; >>>>>>>> >>>>>>>> *Discovery*: When I set *lcStrategic=0, lcCooperative=0, and >>>>>>>> lcSpeedGain=0* on my vType anyway as such: >>>>>>>> <vType lcStrategic="0" lcCooperative="0" lcSpeedGain="0" >>>>>>>> carFollowModel="Krauss" color="0,1,0" id="veh" latAlignment= >>>>>>>> "center" lcKeepRight="0" lcLookaheadLeft="1" lcOvertakeRight="1" >>>>>>>> lcSpeedGainRight="1" length="5" sigma="0" speedDev="0" speedFactor= >>>>>>>> "1.0" /> >>>>>>>> The behaviour seems to have changed drastically. >>>>>>>> >>>>>>>> With an LC mode of 512, >>>>>>>> *1. Without setting the 3 lcParams*, it takes 100 vehicles *477s *to >>>>>>>> reach the end of a 1000m road with 2 lanes, with a small blockage from >>>>>>>> (500 >>>>>>>> - 750m) on one of the lanes. >>>>>>>> *2.* *Setting the 3 lcParams, *it takes the same only *262s* >>>>>>>> >>>>>>>> *Doubt:* Am I misunderstanding what autonomous lane-changing >>>>>>>> means? Or are the two: lcParams and lane change mode not equivalent in >>>>>>>> the >>>>>>>> way I have mentioned? >>>>>>>> >>>>>>>> Please advise. >>>>>>>> >>>>>>>> Thank you. >>>>>>>> >>>>>>>> Sincerely, >>>>>>>> Hriday >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> sumo-user mailing list >>>>>>> [email protected] >>>>>>> To unsubscribe from this list, visit >>>>>>> https://www.eclipse.org/mailman/listinfo/sumo-user >>>>>>> >>>>>> _______________________________________________ >>>>>> sumo-user mailing list >>>>>> [email protected] >>>>>> To unsubscribe from this list, visit >>>>>> https://www.eclipse.org/mailman/listinfo/sumo-user >>>>>> >>>>> _______________________________________________ >>>>> sumo-user mailing list >>>>> [email protected] >>>>> To unsubscribe from this list, visit >>>>> https://www.eclipse.org/mailman/listinfo/sumo-user >>>>> >>>> _______________________________________________ >>>> sumo-user mailing list >>>> [email protected] >>>> To unsubscribe from this list, visit >>>> https://www.eclipse.org/mailman/listinfo/sumo-user >>>> >>> _______________________________________________ >>> sumo-user mailing list >>> [email protected] >>> To unsubscribe from this list, visit >>> https://www.eclipse.org/mailman/listinfo/sumo-user >>> >> _______________________________________________ >> sumo-user mailing list >> [email protected] >> To unsubscribe from this list, visit >> https://www.eclipse.org/mailman/listinfo/sumo-user >> > _______________________________________________ > sumo-user mailing list > [email protected] > To unsubscribe from this list, visit > https://www.eclipse.org/mailman/listinfo/sumo-user >
_______________________________________________ sumo-user mailing list [email protected] To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
