Simulation of Urban Mobility (SUMO)

Read full text
Authors: Pablo Alvarez Lopez, Angelo Banse, Michael Behrisch, Jakob Erdmann, Yun-Pang Flötteröd, Robert Hilbrich, Ronald Nippold, Peter Wagner
Cited by: 1

Abstract

Starting with this release, vehicles will default to departSpeed "avg" and departLane "best_prob".As a result, the insertion flow rate is much higher, especially on multi-lane roads.This release also brings multiple features and fixes relating to taxi simulation, railways and state saving/loading.The toolchain for GTFS import received major improvements in speed and accuracy.A significant number of regressions that went unnoticed (by us) over the last 5 years have been fixed.There are many more features and fixes in this release and the most important ones are listed below.For a full list of changes, as always see https://sumo.dlr.de/Changelog.## Enhancements- sumo - Cars no longer enter a bidi-edge if it is occupied or already being approached from a higher-priority road - Added parkingArea attribute reservable ( ) which prevents multiple vehicles from targeting the same spot when cruising for parking - The symbolic departSpeed values "desired", "speedLimit", "last" and "avg" now automatically adjust to upcoming stops and intersections - Taxis: - Intermodal routing now works with taxis of arbitrary vClass. - Taxis with idle algorithm taxistand now advance in queue when parking with onRoad="true" and overtaking is not possible - Added taxi param which permits idle taxis to receive dispatch tasks before pickup is complete from other taxis in the same swapGroup if that would reduce time to pickup - Saving and loading state is now supported for taxi simulation - meso simulation now supports internal links - netedit - Edge attribute routingType is now supported - Added 18 more tools to the menu- netconvert - VISUM import supports geo-projection and type-files - Added option --railway.topology.ptline-priority to set railway routingType from ptlines - Improved heuristic generation of rail signals at stops (optionally splits edges) - OSM: various geometry improvements (i.e. by interpreting 'placement' tag) - OSM: various railway directionality improvements- TraCI: Added function vehicle.getReferenceDistance to retrieve the position of the vehicle in the underlying linear reference system- tools - osmWebWizard.py: Adds menu for changing the tileset (i.e. OpenTopoMap and ÖPNVkarte / public transport) - routeSampler.py: Added option --keep-attributes to preserve vehicle attributes loaded from route input including departure time - instantOutDiff.py: Added tool for comparing instantInductionLoop output from two simulation runs - tls_analyzeSplit.py: Added tool to analyze green split of static signal plans (or plan-like logs of dynamic plans) - sumolib.net.getOptimalPath now uses caching by default (configurable with readNet attribute maxcache) and runs much faster in one-to-many routings (i.e. gtfs2pty.py). - gtfs2pt.py: Added multiple options increase robustness and correctness of railway simulation - patchRailPriorities.py: Added tool to patch edge routingType in rail networks (and optionally add stops and signals) to ensure smooth operations on single track lines with passing loops. - randomTrips.py: Added option --threads to speed up validation. Uses half the number of available cpus by default - tileGet.py now supports reprojection to UTM and stitching of the downloaded tiles## Bugfixes- sumo - Fixed bug where vehicles that are blocked from entering a stopping place do not collect enough timeLoss (regression in 1.26.0) - Fixed invalid error when setting option --device.rerouting.mode 8 (regression in 1.26.0) - Stopping on a long busStop before reaching the designated spot due to jamming now permits passengers to exit if the vehicle is fully within the busStop - Fixed platform dependency in lane changer - Rerouters now act according to device.rerouting.mode even when vehicles are not equipped with a rerouting device - Fixed various issues with symbolic departLane values - Fixed bugs related to stopping after rerouting - Fixed invalid timeLoss computation for stopping vehicles - Fixed unsafe insertion at zipper link - Fixed crash in scenarios with bidirectional edges - Fixed various issues that caused behavior to diverge after state loading - Various fixes to taxi pickup and idling behavior - Various fixes to railway simulation with respect to safety and deadlocks- sumo-gui - Fixed missing text in lane and vehicle dialogs (lane permissions, stop attributes and current driveways) (regression in 1.21.0) - Fixed multiple crashes when drawing persons - Fixed bug where fcd-output differs from non-gui simulation after loading state- netedit - Fixed multiple minor regressions since version 1.6.0 - Editing custom lane and junction shapes on top of edges is working again (regression in 1.20.0) - edgedata mode: clicking on intervals works again (regression in 1.22.0) - It is now possible to select edges that belong to a TAZ using selection mode (regression in 1.22.0) - taz mode: clicking edge for membership toggle works again (regression in 1.23.0) - Errors when loading additionals from the command line, are now visible in the message window again (regression in 1.23.0) - python tool dialogs now permit selecting multiple files (regression in 1.25.0) - Fixed crash when calling python tool and using the 'back' button (regression in 1.25.0) - Fixed crash after deleting an object from a group of overlapped objects (regression in 1.25.0) - Saving of loaded unmodified additionals to a new file name is working again (regression in 1.26.0) - The network file name shows up in the window title again (regression in 1.26.0) - Fixed invalid default extension when saving plain-xml (regression in 1.26.0) - Fixed invalid error when loading stop that ends on lane end - Fixed problems when setting vehicle attribute departEdge / arrivalEdge - Fixed crash when defining trip between junctions with stop - Disabling randomTrips options checkbox 'validate' now takes effect - Function split edge now takes into account current front element- netconvert - Fixed superfluous bidi-edges when repairing ptLine (regression in 1.26.0) - NEMA computation now works for 4-arm junction without right-turns (also affects some signal plans of non-NEMA junctions) - Zipper junctions no longer feature internal junctions (which could cause deadlock in the simulation) - Multiple fixes to VISUM import (connections, permissions) - OSM: Fixed invalid permissions when bicycles are explicitly forbidden on a pedestrian path - OSM: fixed bug that was causing invalid rail signals to be generated - OSM: fixed invalid distances (kilometrage)- meso: Fixed bug that prevented taxi simulation from terminating (regression in 1.13.0)- duarouter - Fixed invalid vehicle departure times when defining poisson flow (very noticeable at low rate) - Using options --skip-new-routes --ignore-errors no longer writes invalid routes- TraCI: fixed bugs in vehicle.insertStop- tools - gtfs2pt.py: fixed invalid error when block_id is missing (regression in 1.26.0), various other fixes to mapping - osmWebWizard.py: fixed various platform issues that prevent running. - osmWebWizard.py: fixed bug that was causing OSM data download to fail - countEdgeUsage.py: fixed interpretation of poisson and random flows - generateRerouters.py: various fixes (crashes, notification edges) - sumolib.net.getShortestPath: fixed bug where no path was found when a route had to loop back to the starting edge - net2geojson.py now writes valid polygons (i.e. w.r.t. orientation)## Miscellaneous- Simulation of railway-taxis with vClass "taxi" no longer triggers rail signals. Instead railway taxis can now be defined as vClass "rail" and taxi behavior will work as expected.- Option --netstate-dump (also known as raw dump) is now deprecated. fcd-output has been upgraded to permit all attributes formerly only available in netstate-dump.- The Python module SUMOPy was superseded by hybridPY which extends the functionality and supports Python 3

Publication details

Journal / source
Zenodo (CERN European Organization for Nuclear Research)
Publication date
21 May 2026
Language
EN