eclipse-sumo / sumo

Eclipse SUMO is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.
https://eclipse.dev/sumo
Eclipse Public License 2.0
2.57k stars 1.44k forks source link

questions about lane change #6213

Closed gyq18 closed 5 years ago

gyq18 commented 5 years ago

It seems that SUMO complete lane change in almost a step--1s, however, we know that in reality, it may take 4-5s to achieve lane change, so are there some methods to change this? Besides, I have some questions about "changeLane(string, int, double)"and"changeSublane(self, vehID, latDist)":

1.whether other cars on the target lane will slow down to make the lane-changing car complete its target successfully? 2, I don't understand that "the lane will be chosen for the given amount of time (in s)." It is my understanding that the SUMO implementation is completed in 1 second, but due to internal lane-changing logic, it may be followed by other lane changes. So we need it to stay on the target road for a period of time. I don't know whether this understanding is right. 3.Does cars achieve changeSublane(self, vehID, latDist) in a step--1s? When forcing a lateral change by the given amount, does the car will move forward or just have lateral movement? Look forward to your reply. Thank you very much!

gyq18 commented 5 years ago

When using "lanechange.duration", what are other effects in addition to slow simulation running speed? Besides, does the car will move forward or just have lateral movement? I didn't find the param "laneChangeModel.lcChangeDuration" in https://sumo.dlr.de/docs/Definition_of_Vehicles,_Vehicle_Types,_and_Routes.html#available_vtype_attributes Look forward to your reply. Thank you very much!

namdre commented 5 years ago

0) by default lane-changing is instantaneous. This can be changed with either of the two models listed at https://sumo.dlr.de/docs/Simulation/SublaneModel.html 1) yes (by default). However, this may be changed using traci.vehicle.setLaneChangeMode 2) The time parameter determines how long an the lane change will be attampted if blocked by other cars 3) just lateral movement by at most 'maxSpeedLat' per second.

4) The main effects of lanechange.duration is reduced capacity because vehicles occupy both lanes while changing. Also,, generated trajectories are smoother.

gyq18 commented 5 years ago

Thank you very much for your reply! When using lanechange.duration, is there any longitudinal movement or just lateral movement. It seems weird in changeSublane that when lane changing there is no forward move, which is out of line with reality. Will this be improved in future SUMO releases?

namdre commented 5 years ago

The issue is known (#3392, #4017, #4795). Most of the time, lateral movement while take place at the same time as longitudinal movement. The parameters lcMaxSpeedLatStanding and lcMaxSpeedLatFactor can be used to enforce a relationship between both movement axes. Note, that forbidding lateral movement at forward speed 0 could cause deadlocked vehicles.

gyq18 commented 5 years ago

Thanks very much for your reply!