abstreet/sumo/README.md

35 lines
1.1 KiB
Markdown
Raw Normal View History

# SUMO interoperability
The purpose of this crate is to explore possible interactions between A/B Street
and [SUMO](https://www.eclipse.org/sumo/). Some of the ideas:
- Convert SUMO networks to ABST maps, to make use of SUMO's traffic signal
heuristics and junction joining
- Convert SUMO demand to ABST scenarios, to leverage all of the existing
[demand generation](https://sumo.dlr.de/docs/Demand/Introduction_to_demand_modelling_in_SUMO.html)
techniques
- Prototype a new SUMO frontend by gluing ABST UI code to
[TraCI](https://sumo.dlr.de/docs/TraCI.html)
## Usage
A quick SUMO primer. To convert an OSM file into a SUMO network:
`netconvert --osm-files data/input/us/seattle/osm/montlake.osm --output.street-names --keep-edges.components 1 -o montlake.net.xml`
To generate random trips and compute the routes for them:
`/usr/share/sumo/tools/randomTrips.py -n montlake.net.xml -r routes.xml`
To simulate these in SUMO:
`sumo-gui -r routes.xml -n montlake.net.xml`
To convert the network into an ABST map:
`cargo run --bin sumo montlake.net.xml`
To view it in ABST:
`cargo run --bin game -- --dev data/system/zz/sumo/maps/montlake.bin`