Sumo at a Glance

About#

"Simulation of Urban MObility", or "SUMO" for short, is an open source, microscopic, multi-modal traffic simulation. It allows to simulate how a given traffic demand which consists of single vehicles moves through a given road network. The simulation allows to address a large set of traffic management topics. It is purely microscopic: each vehicle is modelled explicitly, has an own route, and moves individually through the network. Simulations are deterministic by default but there are various options for introducing randomness.

If you download the SUMO package, you will note that it contains further applications besides SUMO. These applications are used to import/prepare road networks and demand data for being used in SUMO, see #Included Applications for a more verbose list.

Features#

  • Includes all applications needed to prepare and perform a traffic simulation (network and routes import, DUA, simulation)
  • Simulation
    • Space-continuous and time-discrete vehicle movement
    • Different vehicle types
    • Multi-lane streets with lane changing
    • Different right-of-way rules, traffic lights
    • A fast openGL graphical user interface
    • Manages networks with several 10.000 edges (streets)
    • Fast execution speed (up to 100.000 vehicle updates/s on a 1GHz machine)
    • Interoperability with other application at run-time
    • Network-wide, edge-based, vehicle-based, and detector-based outputs
    • Supports person-based inter-modal trips
  • Network Import
    • Imports VISUM, Vissim, Shapefiles, OSM, RoboCup, MATsim, OpenDRIVE, and XML-Descriptions
    • Missing values are determined via heuristics
  • Routing
    • Microscopic routes - each vehicle has an own one
    • Different Dynamic User Assignment algorithms
  • High portability
    • Only standard C++ and portable libraries are used
    • Packages for Windows main Linux distributions exist
  • High interoperability through usage of XML-data only
  • Open source (EPL)

Usage Examples#

Since 2001, the SUMO package has been used in the context of several national and international research projects. The applications included:

Included Applications#

The package includes:

Application Name Short Description
SUMO The microscopic simulation with no visualization; command line application
SUMO-GUI The microscopic simulation with a graphical user interface
NETCONVERT Network importer and generator; reads road networks from different formats and converts them into the SUMO-format
NETEDIT A graphical network editor.
NETGENERATE Generates abstract networks for the SUMO-simulation
DUAROUTER Computes fastest routes through the network, importing different types of demand description. Performs the DUA
JTRROUTER Computes routes using junction turning percentages
DFROUTER Computes routes from induction loop measurements
MAROUTER Performs macroscopic assignment
OD2TRIPS Decomposes O/D-matrices into single vehicle trips
POLYCONVERT Imports points of interest and polygons from different formats and translates them into a description that may be visualized by SUMO-GUI
ACTIVITYGEN Generates a demand based on mobility wishes of a modeled population
EMISSIONSMAP Generates an emission map
EMISSIONSDRIVINGCYCLE Calculates emission values based on a given driving cycle
Additional Tools There are some tasks for which writing a large application is not necessary. Several solutions for different problems may be covered by these tools.

Several parties have extended the SUMO package during their work and submitted their code. If not being a part of the release, these contributions are usually not tested frequently and may be outdated. The following contributions are included.

Application Name Short Description
TraCI4Matlab A Matlab interface for connecting and extending information via TraCI Andres Acosta
TraaS A SOAP(webservice) interface for connecting and extending information via TraCI by Mario Krumnow, Also a Java TraCI client library.
LiSuM LiSuM is a middleware that couples LISA+ and SUMO to execute real-world traffic control software within SUMO.

History#

The development of SUMO started in the year 2000. The major reason for the development of an open source, microscopic road traffic simulation was to support the traffic research community with a tool with the ability to implement and evaluate own algorithms. The tool has no need for regarding all the needed things for obtaining a complete traffic simulation such as implementing and/or setting up methods for dealing with road networks, demand, and traffic controls. By supplying such a tool, the DLR wanted to i) make the implemented algorithms more comparable by using a common architecture and model base, and ii) gain additional help from other contributors.

Software design criteria#

Two major design goals are approached: the software shall be fast and it shall be portable. Due to this, the very first versions were developed to be run from the command line only - no graphical interface was supplied at first and all parameter had to be inserted by hand. This should increase the execution speed by leaving off slow visualisation. Also, due to these goals, the software was split into several parts. Each of them has a certain purpose and must be run individually. This is something that makes SUMO different to other simulation packages where, for instance, the dynamical user assignment is made within the simulation itself, not via an external application like here. This split allows an easier extension of each of the applications within the package because each is smaller than a monolithic application that does everything. Also, it allows the usage of faster data structures, each adjusted to the current purpose, instead of using complicated and ballast-loaded ones. Still, this makes the usage of SUMO a little bit uncomfortable in comparison to other simulation packages. As there are still other things to do, we are not thinking of a redesign towards an integrated approach by now.

Contributors and Participants#

Org.

Name

Topics / Contribution

Zaik_small.gif

Christian Rössel

Initial microsimulation core; initial detectors implementation

Peter Wagner

Models, organisation, spiritual lead

Daniel Krajzewicz

Everything

Julia Ringel

Traffic Light & WAUT Algorithms

Eric Nicolay

Everything

Michael Behrisch

Everything

Yun-Pang Wang

User Assignment

Danilot Teta Boyom

Vehicular Communication Model (removed from the source)

Sascha Krieg

Lena Kalleske

Laura Bieker

Tests, Python scripts

Jakob Erdmann

network import, NETEDIT

Andreas Gaubatz

Maik Drozdzynski

Uni Lübeck

Axel Wegener

TraCI initiator

Thimor Bohn

TraCI

Friedemann Wesner

TraCI

Felix Brack

Tino Morenz

uni_erlangen.png

uibk-small.png

logo_cmu.png

logo_ucla.png

Christoph Sommer

TraCI merge with Veins, Subscription Interface, Misc.

David Eckhoff

TraCI, deterministic simulation behavior

Falko Dressler

TraCI

Tobias Mayer

Traffic model abstraction, IDM model port

HU Berlin

Matthias Heppner

Unittests

Piotr Woznica

ACTIVITYGEN

Walter Bamberger

Development of ACTIVITYGEN as a base for the evaluation of trust scenarios in VANETs. The work is part of the project Fidens: Trust between Cooperative Systems featuring trusted probabilistic knowledge processing in vehicular networks.

Matthew Fullerton

IIT Bombay, India

Ashutosh Bajpai

randomDepart.py, a python script to generate the real traffic pattern by exponential Distribution.

Enrico Gueli

TraCI4J

Leontios Papaleontiou

Contributed/SUMO Traffic Modeler

Karol Stosiek

Documentation, network building