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.49k stars 1.41k forks source link

collision in network built with option check-lane-foes (trac #1089) #1089

Open behrisch opened 10 years ago

behrisch commented 10 years ago

the idea behind the option.check-lane foes is, that vehicle A may pass a link and enter a lane even if foe vehicle B with higher priority is approaching on a lane further left. In reality this is only allowed where the priority lane disallows lane changing (i.e. in some sections of multi-lane roundabouts). Since lane changing is still allowed in sumo, collisions may happen if vehicle A commits to driving but does not yet pass the link and B changes just then. Both A and B are to fast to stop and a collision occurs.

The likelyhood of this happening increases when reducing --step-length

Possible solutions: 1) invent a general mechanism to model lane change prohibitions (we needs this eventually anyway) 2) implement a mechanism for minor vehicles to commit to passing the link and somehow block it for approaching priority vehicles. (this is potentially very complex) 3) detect if a junction logic was built with the option check-lane-foes and disallow lane-changes for vehicles which cannot stop before the junction. (this is a rather simple solution for avoiding collisions)

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

{
    "status": "new", 
    "changetime": "2014-03-07T11:09:05Z", 
    "description": "the idea behind the option.check-lane foes is, that vehicle A may pass a link and enter a lane even if foe vehicle B with higher priority is approaching on a lane further left. In reality this is only allowed where the priority lane disallows lane changing (i.e. in some sections of multi-lane roundabouts). Since lane changing is still allowed in sumo, collisions may happen if vehicle A commits to driving but does not yet pass the link and B changes just then. Both A and B are to fast to stop and a collision occurs.\n\nPossible solutions:\n1) invent a general mechanism to model lane change prohibitions (we needs this eventually anyway)\n2) implement a mechanism for minor vehicles to commit to passing the link and somehow block it for approaching priority vehicles. (this is potentially very complex)\n3) detect if a junction logic was built with the option check-lane-foes and disallow lane-changes for vehicles which cannot stop before the junction. (this is a rather simple solution for avoiding collisions)\n\n", 
    "reporter": "namdre", 
    "cc": "", 
    "resolution": "", 
    "_ts": "1394190545460403", 
    "component": "simulation general (micro)", 
    "summary": "collision in network built with option check-lane-foes", 
    "priority": "major", 
    "keywords": "", 
    "time": "2013-11-28T15:00:11Z", 
    "milestone": "1.1.0", 
    "owner": "", 
    "type": "defect"
}
behrisch commented 10 years ago

@behrisch changed milestone from "" to "1.1.0"

behrisch commented 2 years ago

Now that we have lane change prohibitions what would be the solution? Prohibit lane changes on all major links entering the junction or make this a check-lane-foes sub-option?

namdre commented 2 years ago

I think a sub-option that optionally adds change prohibitions at junctions affected by check-lane-foes might help. However, in reality the lane change prohibition may only cover the last few meters ahead of a junction whereas in sumo it might apply to a very long lane and thereby create traffic flow problems (especially in roundabouts since check-lane-foes.roundabout defaults to 'true').

behrisch commented 2 years ago

Then the sub-option should probably not be a boolean but rather a length in m which creates a split if the last edge before the junction is longer than the given distance.

namdre commented 2 years ago

Sounds good to me.