-
-
Notifications
You must be signed in to change notification settings - Fork 353
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
Starter project: Improve traffic signal heuristics #8
Comments
In the absence of specific data about traffic signals in Seattle, perhaps some techniques from a standard manual could be implemented. For example, the "Signal Timing Manual - Second Edition" (http://www.trb.org/Publications/Blurbs/173121.aspx). I've only skimmed this, but Chapters 5-7 appear to have lots of useful data. |
Wouldn't this be resolved by #91 ? |
Partly. Signal configuration seems to be at least two orthogonal problems:
Both of these bugs kind of conflate these two things. Help needed on both. |
sidewalks on only one side. part of #8
try to synchronize them better. towards #8. not regenerating screenshots because it's late and there'll be more screenshot churn tomorrow anyway
intersections to make the downtown map make more progress. make it easier to copy OSM node IDs.
Previously, dual carriageways (pairs of one-way roads in opposite directions) mostly didn't get any signal templates successfully applied. This change ignores outbound-only roads when applying the templates. In one fell swoop, lots of previously broken signals along places like Aurora Ave suddenly work reasonably.
Still relevant, and hopefully a good starter project. We've gotten much better at grouping movements into stages, but we're still always hardcoding the timing to 30s. |
Hello @dabreegster , is this issue still open and can I pick it up? What would be a good starting point? |
Sure, still open. There hasn't been active development on A/B Street in a while, but this is still a reasonably self-contained area. The code is at https://github.com/a-b-street/abstreet/blob/main/map_model/src/make/traffic_signals/mod.rs. |
I can't find data about how Seattle traffic signals are actually timed right now. So for the moment, I'm automatically generating a policy for every intersection. There are a bunch of different policies for different types of intersections (for a 4-way, should there be 2 phases with no protected left turn or 4 phases with protected left turns?). Every phase is hardcoded to 30 seconds right now. A nice project contained to one layer of the code (just the map model) would be to improve these heuristics. For example, roads have a rank (primary > secondary > residential) from OpenStreetMap, so probably bigger roads should have longer durations.
Ex policy: https://github.com/dabreegster/abstreet/blob/573edbd13e5aa4bedba0bd819d3d7b32dba11b59/map_model/src/traffic_signals.rs#L247
The text was updated successfully, but these errors were encountered: