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.45k stars 1.38k forks source link

avoid orthogonal sliding in sublane model (trac #3392) #3392

Open behrisch opened 6 years ago

behrisch commented 6 years ago

to prevent deadlocks it cannot be totally prevented but at least it should be avoided where possible

Migrated from http://sumo.dlr.de/ticket/3392

{
    "status": "new", 
    "changetime": "2017-09-06T08:01:50Z", 
    "description": "to prevent deadlocks it cannot be totally prevented but at least it should be avoided where possible\n", 
    "reporter": "namdre", 
    "cc": "", 
    "resolution": "", 
    "_ts": "1504684910223519", 
    "component": "sharps", 
    "summary": "avoid orthogonal sliding in sublane model", 
    "priority": "major", 
    "keywords": "", 
    "time": "2017-09-06T08:01:50Z", 
    "milestone": "1.0.0", 
    "owner": "", 
    "type": "defect"
}

related to #4017

namdre commented 6 years ago

add lcmodel parameters for setting an upper bound on lateral speed depending on longitudinal speed.

lcMaxSpeedLatStanding lcMaxSpeedLatFactor

where lateralSpeed <= MIN(lcMaxSpeedLatStanding + lcMaxSpeedLatFactor * getSpeed(), vtype.getMaxSpeedLat())

leoluecken commented 6 years ago

You might also consider sth like: maxAccelLat -> maxAccelLatStanding + lcMaxAccelLatFactor * getSpeed()

namdre commented 5 years ago

sliding should be totally disabled for non-urgent changes (except for bicycles)

namdre commented 2 years ago

solution: in addition to maxSpeedLatStanding, maxSpeedLatFactor add two new parameters maxSpeedLatStandingStrategic, maxSpeedLatFactorStrategic maxSpeedLatStandingUrgent, maxSpeedLatFactorUrgent to explicitly configure the two different situations. (i.e. the urgent version with negative factor #8064)

using Urgent as the suffix is better than Strategic because other lane change motivations may be flagged as urgent in the future (#1145) and it makes sense to apply the new value there as well.

namdre commented 2 years ago

lcMaxSpeedLatStanding=0 results in unrealistic behavior where vehicles begin a lane changing maneuver (i.e. to gain speed) and are then stuck in mid-maneuver once their forward space runs out and they have to stop.

Fixing this has several aspects:

namdre commented 2 years ago

Idea: prevent non-urgent maneuvers if maneuverDist is greater than some threshold + brakeDist. Threshold could be something like half a lane width.

Problem: lane changes may still be started and not finished if the lateral speed is not high enough to pass the threshold until the vehicle has to stop.

namdre commented 2 years ago

Next Idea: use a function of myMaxDistLatStanding, brakeGap and maneuverDist to affect changes in mySpeedGainProbability and myKeepRightProbability

namdre commented 2 years ago

to be done: