Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
Go to file
Dustin Carlino 7170efbdba Improve some gridlock cases near roundabouts particularly. #114, #75
1) If a car is blocked by a conflicting turn and is part of a cycle,
   wake up the car blocking it. In some cases, this wakes it up faster
   and unsticks things. Otherwise, it just wastes a little bit of time.
2) If a car is part of a cycle, allow blocking-the-box.
3) Continue sorting people at a stop sign by the time they've been
   waiting. But for cars "overflowing" their current lane, move them to
   the front of this ordering. It unsticks one particular situation.
4) Fix wakeup_waiting entirely. Before, it was waking up protected turns
   before permitted, but otherwise the ordering was arbitrary. Now actually
   respect stop sign ordering. I expect this to improve many other
   situations than the one I was checking.

This was all motivated by one particular roundabout in Poundbury. It
doesn't solve gridlock there, but it gets past a major blockage.
2021-03-08 17:47:01 -08:00
.github/workflows Pin to Ubuntu 18.04, because the new 20.04 results in this error on my 2021-03-08 08:30:14 -08:00
abstio Move road safety data to a new data/input/shared directory, so we can stop duplicating files common to many cities. About to use this for OD and zone data too. #556 2021-03-05 09:50:18 -08:00
abstutil Upgrade to Rust 1.50. Use the new f64 clamp instead of our own. [rebuild] 2021-02-11 10:32:13 -08:00
collisions Upgrade most dependencies 2021-02-03 18:13:06 -08:00
convert_osm Treat bicycle=designated on footways the same as bicycle=yes. And update Seattle OSM data again to pick up my fixes from yesterday. #330 2021-02-27 13:01:37 -08:00
data Improve some gridlock cases near roundabouts particularly. #114, #75 2021-03-08 17:47:01 -08:00
fifteen_min Fix problem where two Hangry Pandas crashed the 15m tool, because button labels wound up the same. 2021-03-06 10:24:02 -08:00
game Add a --time flag to jump the sim forward immediately. Faster gridlock debugging. 2021-03-08 15:10:18 -08:00
geom Improve some gridlock cases near roundabouts particularly. #114, #75 2021-03-08 17:47:01 -08:00
headless Specify trip purpose when importing external scenario data. 2021-02-25 11:00:43 -08:00
importer Rebuild actdev scenarios again, remembering to include return and lunch trips. cyipt/actdev#132 2021-03-08 13:17:52 -08:00
kml Refactor lots of places that construct paths to the data/input dir, which is always organized by city. This would've made the previous change way easier. #326 2021-02-13 18:30:01 -08:00
map_editor ATTEMPT: Don't use Bezier curves for right/left turns at tiny 2021-03-01 18:30:24 -08:00
map_gui new release 2021-03-07 17:07:25 -08:00
map_model Don't crash when tracing a path where the first step and request don't match. This happened for the LCID site when clicking on a building and finding nearest parking, because the buildings are in an access-restricted zone. 2021-03-07 11:06:32 -08:00
osm_viewer Lift URL and viewport code from game to map_gui. Also use it for OSM viewer and the 15min tool. 2021-03-04 13:22:09 -08:00
parking_mapper Remove StyledButtons - instead implement everything on the individual 2021-02-27 21:08:26 -08:00
popdat Tidy up the new UK census gen code. #556 2021-03-05 16:51:02 -08:00
release Pin to Ubuntu 18.04, because the new 20.04 results in this error on my 2021-03-08 08:30:14 -08:00
santa Remove StyledButtons - instead implement everything on the individual 2021-02-27 21:08:26 -08:00
sim Improve some gridlock cases near roundabouts particularly. #114, #75 2021-03-08 17:47:01 -08:00
sumo The grand country split. #326 2021-02-13 15:45:59 -08:00
tests Refactor a CityName::seattle() 2021-03-03 18:08:06 -08:00
traffic_seitan Upgrade most dependencies 2021-02-03 18:13:06 -08:00
traffic_signal_data Bring in fresh OSM for Krakow and Seattle, to test various fixes for separate cyclepaths. #330 2021-02-26 21:17:54 -08:00
updater Move 4 Seattle maps into the us/huge_seattle category to reduce the size 2021-03-03 18:03:15 -08:00
videos Delete mdbook. It's been split out to https://github.com/a-b-street/docs 2021-01-31 15:44:41 -08:00
widgetry Lift URL and viewport code from game to map_gui. Also use it for OSM viewer and the 15min tool. 2021-03-04 13:22:09 -08:00
widgetry_demo Remove StyledButtons - instead implement everything on the individual 2021-02-27 21:08:26 -08:00
.gitignore Import halsnead for actdev. It needed a fix to not treat access=private 2021-02-27 14:35:26 -08:00
Cargo.lock Add in normal distributions for trip departure times. #556 2021-03-05 12:24:17 -08:00
Cargo.toml Fix flatgeobuf dependency, which was bringing in native SSL bindings. Closes #519 2021-02-18 10:28:11 -08:00
clippy.sh round of clippy. not fixing everything. 2019-12-11 16:17:15 -08:00
import.sh Attempt to display the Timer progress and logs in separate parts of the screen when running the importer. #262 2021-01-21 19:57:38 -08:00
LICENSE Initial import of A/B Street prototype. 2018-03-13 08:06:03 -07:00
README.md new release 2021-03-07 17:07:25 -08:00
rgrep.sh Set up a test scenario for lane-changing to reproduce #382. The same 2020-11-11 11:33:47 -08:00
rustfmt.toml tweaking rustfmt options; the long literal string vecs in tutorial look awful 2020-01-21 15:20:02 -08:00

A/B Street

Ever been stuck in traffic on a bus, wondering why is there legal street parking instead of a dedicated bus lane? A/B Street is a game exploring how small changes to a city affect the movement of drivers, cyclists, transit users, and pedestrians. It works anywhere in the world, thanks to OpenStreetMap.

Show, don't tell

Alpha release trailer

Find a problem:

exploring_traffic

Make some changes:

editing_map

Measure the effects:

evaluating_impacts

Documentation

Roadmap and contributing

See the roadmap for current work, including ways to help. If you want to bring this to your city or if you're skilled in design, traffic simulation, data visualization, or civic/government outreach, please contact Dustin Carlino at dabreegster@gmail.com. Follow r/abstreet for weekly updates or @CarlinoDustin for occasional videos of recent progress.

Project mission

If you fix some traffic problem while playing A/B Street, my ultimate goal is for your changes to become a real proposal for adjusting Seattle's infrastructure. A/B Street is of course a game, using a simplified approach to traffic modeling, so city governments still have to evaluate proposals using their existing methods. A/B Street is intended as a conversation starter and tool to communicate ideas with interactive visualizations.

Why not leave city planning to professionals? People are local experts on the small slice of the city they interact with daily -- the one left turn lane that always backs up or a certain set of poorly timed walk signals. Laura Adler writes:

"Only with simple, accessible simulation programs can citizens become active generators of their own urban visions, not just passive recipients of options laid out by government officials."

Existing urban planning software is either proprietary or hard to use. A/B Street strives to be highly accessible, by being a fun, engaging game. See here for more guiding principles.

Credits

Core team:

Others:

Data: