Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Background data causes chunks of traffic in Great Kneighton simulation to stop completely #151

Open
hgomersall opened this issue Mar 20, 2021 · 11 comments

Comments

@hgomersall
Copy link

I know congestion in South Cambridge is bad, but I don't think being stationary for 35 minutes is normal (notably around the hospital). I stopped the sim at that point.

@dabreegster
Copy link
Collaborator

Gridlock is unfortunately normal in A/B Street. A few lucky maps (like Poundbury) have had special attention to fix the worst bugs there, but Cambridge is more complex and hits different issues. Glancing at a few:

Screenshot from 2021-03-20 11-14-38
https://www.openstreetmap.org/node/554267
The Hills Road roundabout has a bunch of traffic signals around it. Roundabouts are already tough to model. Multiple traffic signals close together are also tough, because the timing needs to be synchronized between them. This spot combines both problems!

Screenshot from 2021-03-20 11-16-43
https://www.openstreetmap.org/node/14913681
The traffic signal at Clarendon and Parkside has poorly guessed heuristics, because the cycletrack partly overlapping the road there technically makes this a 5-way.

Screenshot from 2021-03-20 11-18-47
The geometry at Portugal Place is totally messed up. I actually fixed this in OSM a week ago -- https://www.openstreetmap.org/changeset/100806857 -- but haven't imported fresh OSM data to see if it helps yet.

Getting a map to run without gridlock is very hard, but I can spend a little time working on Cambridge if it's important. Ultimately I need to attract more open source people to the project and get help with some of the hard modelling bits (like auto-timing traffic signals around a roundabout) to make faster progress.

@mvl22
Copy link
Contributor

mvl22 commented Mar 20, 2021

Portugal Place is no cycling anyway - but a cycle track is shown.

Hills Road roundabout

NB Known as the "Addenbrooke's roundabout" :)

@hgomersall
Copy link
Author

Are the issues predominantly OSM or A/B Street?

@hgomersall
Copy link
Author

The Hills Road roundabout has a bunch of traffic signals around it. Roundabouts are already tough to model. Multiple traffic signals close together are also tough, because the timing needs to be synchronized between them.

Is it currently possible to model?

@mvl22
Copy link
Contributor

mvl22 commented Mar 20, 2021

Is it currently possible to model?

In my view, almost impossible in OSM for complex junctions - the inability to group junction components is problematic.

See fuller discussion in my State Of The Map talk, e.g. from 15 minutes on and my conclusions at the end:

https://media.ccc.de/v/sotm2019-1038-is-the-osm-data-model-creaking-

@dabreegster
Copy link
Collaborator

Portugal Place is no cycling anyway - but a cycle track is shown.

Ah, it's highway=pedestrian but bicycle=dismount. I'll add an exception for this, and likely stop importing this road entirely, since separate footpaths are disabled by default (for similar reasons to separate cyclepaths).

NB Known as the "Addenbrooke's roundabout" :)

Ahhh this one is actually famous, nice! I tried transforming all the signals to stop signs to get rid of the synchronization problem, but it still gridlocks. I made loads of progress unsticking the roundabout in Poundbury; I'll dive into what's going on with this when I get some time.

Are the issues predominantly OSM or A/B Street?

Hard to say -- OSM's model wasn't intended for simulation or for this level of detail. A/B Street often does surface some problems in OSM -- particularly mistagged lanes and lack of turn restrictions. I don't think those are huge culprits in this case. A/B Street's simulation generally suffers when you have short road segments and lots of "intersections", like this:
Screenshot from 2021-03-20 14-54-18
And as Martin notes, OSM's general inability to represent complex junctions is part of the problem here.

Is it currently possible to model?

In A/B Street, yes. This particular roundabout is complicated, but it's more or less represented correctly. The two bugs causing gridlock are lack of traffic signal timing and something I've yet to investigate related to the rules for when it's valid to begin a turn across an intersection. You'll notice the vehicles don't stop and get stuck in the middle of the intersection. The dependency cycle is detected:
Screenshot from 2021-03-20 14-57-16
and in this case, everyone's supposed to nudge forward anyway, even if they'll get stuck in the intersection, but it's not happening for some reason.

@mrd
Copy link

mrd commented Mar 21, 2021

Quite apart from the simulation issues - Addenbrooke's roundabout has three circulatory lanes and that might help sort things out in this case, depending on your lane-changing model (which I understand is still a bit crude).

When I get some time I might also take a look at modifying this demo.

dabreegster added a commit to a-b-street/abstreet that referenced this issue Mar 21, 2021
…r the Great Kneighton map, at least fixing the crazy geometry at Portugal Place. cyipt/actdev#151  [rebuild] [release]
@dabreegster
Copy link
Collaborator

Addenbrooke's roundabout has three circulatory lanes and that might help sort things out in this case

It's quite possible more lanes would break the simulation even more. ;) But if OSM doesn't match reality, it'd be awesome to update it. https://www.openstreetmap.org/way/58559114 and similar don't have the lanes tag at all. It was last edited 4 years ago; looks like the new Dutch junction hasn't been tagged.

@mvl22
Copy link
Contributor

mvl22 commented Mar 21, 2021

No, the Dutch roundabout, which is the one at the next junction, has been created in glorious detail by yours truly (and subsequently iterated upon).

https://www.openstreetmap.org/#map=19/52.17930/0.14903

I can't remember the lanes layout on the Addenbrooke's roundabout; there have been changes made which may make the current Bing satellite imagery incorrect.

@hgomersall
Copy link
Author

The two bugs causing gridlock are lack of traffic signal timing

This was really my question - can complex signal timing be incorporated? It might need someone to sit with a stopwatch at that junction!

Re the need to get contributors, I suspect Cambridge is a good place to start with that. There are plenty of technically competent transport geeks hereabouts.

@dabreegster
Copy link
Collaborator

can complex signal timing be incorporated? It might need someone to sit with a stopwatch at that junction!

Depends how it works. We have actuated signals, where a stage lasts a fixed time, plus up to some additional time if there's still demand from that direction. We can also offset a signal relative to another. Hopefully that should cover this particular situation, but I don't know what it's like in person.

I made a feeble attempt last spring to hand-time Seattle's signals in person. It could be done theoretically, but there are complications, particularly: many signals are on different plans at different times of the day or on weekends; and actuated signals are much harder to observe than fixed time. The bugs at this particular roundabout aren't exclusive to the timing; you can use the signal editor to convert them all to stop signs, and it still gets stuck. There's a gridlock bug elsewhere.

I suspect Cambridge is a good place to start with that

Any recommendations for online meetups (maybe a local OSM, GIS, or civic tech group?) that I could solicit people from?

dabreegster added a commit to a-b-street/abstreet that referenced this issue Mar 23, 2021
…aths are enabled. Removes Portugal Place from Cambridge. cyipt/actdev#151

Now regenerate everything
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants