"Simulation of Urban MObility" (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. It is mainly developed by employees of the Institute of Transportation Systems at the German Aerospace Center. SUMO is licensed under the EPL 2.0. The source code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the EPL 2.0 are satisfied: GPL2 or later.
Please use the mailing lists for sharing your results or for asking questions. Answers to some common questions may also be found in the FAQ.
If You use SUMO, please tell us about your Publications.
Note
When citing SUMO in general please use our current reference publication: "Microscopic Traffic Simulation using SUMO"; Pablo Alvarez Lopez, Michael Behrisch, Laura Bieker-Walz, Jakob Erdmann, Yun-Pang Flötteröd, Robert Hilbrich, Leonhard Lücken, Johannes Rummel, Peter Wagner, and Evamarie Wießner. IEEE Intelligent Transportation Systems Conference (ITSC), 2018.
The content of this Documentation is freely editable. In order to edit a certain page, click on the "Edit on GitHub" button on the upper right corner and submit a Pull Request. Here is a short help on editing articles. You can also Build the documentation locally, or Download a copy.
This Documentation is continuously updated and always refers to the latest development version. Documentation for a specific release version of SUMO is included in the download of that version and can be viewed by opening <SUMO_HOME>/docs/userdoc/index.html.
Introduction#
Basic Usage#
- Notation in this Documentation
- Needed, basic Computer Skills
- Installing SUMO
- Using SUMO Command Line Applications
- Tutorials
- Validating application inputs
Network Building#
- Introduction to SUMO Road Networks
- Abstract networks generation
- Importing networks with netconvert
- Creating and modifying networks with netedit
- Including elevation data
- Geo-Coordinates
Demand Modelling#
- Introduction to SUMO Demand Modelling
- Definition of Vehicles, Vehicle Types, and Routes
- Defining Traffic Demand with netedit
- Simulation of public transport
- Simulation of individual persons and trip chains
- Simulation of logistics
- Shortest or Optimal Path Routing
- Intermodal Routing
- Routing in the Simulation
- Computing Dynamic User Assignment
- Generating pedestrian traffic demand
- Generate a vehicle type distribution to model the fleet
Data sources for demand generation#
- Importing O/D Matrices
- Routes from Counting Data (road counts, turn counts)
- Routing by Turn Probabilities
- Activity-based Demand Generation
- Random Trips
- Multi-modal random traffic
- GTFS data
Simulation#
Output#
TraCI (On-line Interaction)#
- TraCI overview - The Traffic Control Interface
- Libsumo - Using sumo as a library
Traffic Management and Other Structures#
- Traffic Lights
- Public Transport
- Variable Speed Signs
- Rerouter / Alternative Route Signage
- Vaporizer (deprecated, use Calibrator instead)
- Dynamic calibration of flow and speed and type
- Parking areas
- Turnarounds
Traffic Modes#
Additional Features#
- Emissions
- Electric Vehicles
- Electric Hybrid Vehicles, overhead lines, power substations
- Logistics
- Generic Parameters
- Shape Visualization
- Wireless Device Detection
- Emergency Vehicles
- Simple Platooning (Simpla)
- Demand Responsive Transport (DRT) / Taxis
- Green Light Optimal Speed Advisory (GLOSA)
- Stationfinder (autonomous charging)
Model details#
- Vehicle speed
- Vehicle insertion
- Vehicle permissions (access restrictions)
- Road capacity
- Intersection dynamics
- Randomness
- Routing and Re-routing
- Sublane Model
- Opposite Direction Driving
- Safety
- Mesoscopic model
- Lengths and Distances
- Friction
Common Problems#
- Why Vehicles are teleporting
- Unexpected jamming
- Too many turn-arounds
- Unexpected lane-changing maneuvers?
- How to get high flows?
Additional Tools#
In addition to the main applications (sumo, sumo-gui, netedit, netconvert, etc.), there are over 150 additional tools. They cover topics from traffic network analysis, demand generation, demand modification to output analysis. Most of them are written in python. All tools can be found in the SUMO-distribution under <SUMO_HOME>/tools.
For an index of all tools see:
Below are links to some of the most important/used tools:
- osmWebWizard - create a simple scenario, in just a few clicks and using your web browser
- Interfacing TraCI from Python - access a running SUMO simulation using Python
- sumolib - Python modules for working with SUMO networks and sumo xml files in general
- Xml Tools - tools for converting SUMO outputs to CSV/Spreadsheet, and vice versa
- traceExporter.py - export mobility traces (FCD output) into different "trace file" formats
- netdiff.py - determine the differences between two networks
- Visualization Tools - visualize a wide range of simulation outputs in a graphical and friendly way
Theory#
Application Manuals#
- sumo
- sumo-gui
- netconvert
- netedit
- netgenerate
- od2trips
- duarouter
- jtrrouter
- dfrouter
- marouter
- polyconvert
- activitygen
- emissionsMap
- emissionsDrivingCycle
Software Contributions#
Some people extended SUMO or built tools to make it more usable. Not all of these extensions are part of the "SUMO core".