SUMO
Simulation of Urban MObility

- Home
- Download
- Documentation
- Wiki
- Trac
- Blog
- Contact
- SF-Project

# ChangeLog

## SVN

### Bugfixes

### Enhancements

## Version 0.17.0 (03.05.2013)

### Bugfixes

- Simulation
  - tripinfos now contain the correct arrivalPos and routeLength values (#814)
  - fixed collision bug for simulations that were running with option --no-internal-links
  - fixed bug that caused vehicles to sometimes use the wrong lane and occasonaly lead to collisions (#586, #836)
  - fixed bug in the default car-following model which lead to collisions when using vehicle types with different deceleration values
  - fixed crash when specifying an invalid car-following model in the input files
  - fixed invalid vehicle insertions under special conditions
  - increased junction throughput (fixed bugs related to right-of-way timing computation)
  - fixed bug where vehicles drove faster than allowed at arrival and when changing from fast to slow lanes
  - simulation routing with taz now works in the presence of vClass restrictions.
  - fixed bug where vehicles sometimes did not follow the arrivalLane attribute.
  - fixed bug where entryExitDetectors issued invalid warnings about vehicles leaving without entering
  - fixed bug where inductionLoops and instantInductionLoops sometimes failed to detect vehicles
- SUMO-GUI
  - fixed occasional crash when additional vehicle visualizations are active
  - fixed bug where the simulation control buttons (start,step) sometimes remained gray when tracking a vehicle
- NETCONVERT
  - fixed bug that caused right-of-way computations to fail (resulting in collision) at left-turning connections
  - fixed bug where networks imported from OpenStreetMap had incorrect lane numbers when forward and backward directions differed in lane count.
  - fixed bug where some sets of junctions where erroneously classified as roundabouts when using option --roundabouts.guess resulting in invalid junction logics and causing collisions during simulation
  - fixed bug where inconsistent (unloadable) networks where created using option --ramps.guess
  - deleted nodes are no longer included in the final network boundary
- POLYCONVERT
  - Removed dependency on key/value ordering when importing from OSM. Instead, now elements which match multiple typemap entries are exported multiple times.
  - fixed projection errors when importing polygons for very large networks.
- ROUTER
  - Fixed bug where output files contained wrong values for the emissionClass attribute (i.e routers did not properly copy the the value from input to output files). This sometimes caused duaIterate.py to fail.
  - major refactoring, now handling route, trip and flow inputs with one handler (can be mixed in one file)
  - persons and stops in route input files no longer disappear
  - flow handling is similar to simulation (ids generated with "." separator)

### Enhancements

- Simulation
  - added support for traffic-actuated traffic lights (see Simulation/Traffic_Lights#Loading_new_TLS-Programs, Networks/Building_Networks_from_own_XML-descriptions#Node_Descriptions)
  - added support for microscopic calibrators. These trigger-type objects can be used to increase or reduce traffic volume and to regulate speeds at selected edges. Using calibrators it becomes possible to calibrate a simulation according to known traffic measurements (i.e. from real-life induction loops) without using TraCI. For usage examples see the test suite at tests/sumo/extended/calibrator.
  - renamed XML root elements of the netstate (raw dump) and the mean data outputs.
  - added a car following model which respects slope (kraussPS), your network needs z-coordinates then
- SUMO-GUI
  - added optional POI attributes 'lon' and 'lat' for specifying position in geo-referenced networks.
  - added options for showing polygon names and changing their line width
  - gui-setting files now support the element `<breakpoints-file value="mybreakpoints.txt"/>` for loading breakpoints at the start of the simulation
  - new color representation as four unsigned bytes including an alpha channel (transparency) all in the range of 0-255
  - human readable color representations for red, green, blue, cyan, magenta, yellow, black, white, and grey
  - junction coloring
- NETCONVERT
  - added support for traffic-actuated traffic lights (see Networks/Building_Networks_from_own_XML-descriptions#Node_Descriptions)
  - in plain connection files the element delete now also works when the connection doesn't exist yet (i.e. when building a network from plain nodes and edges and the connection file only contains delete elements).
  - now importing most turning restrictions from OpenStreetMap
  - when importing SUMO networks without internal link the output network will be built without internal links by default.
  - now warning about networks with large absolute coordinates since these will cause visual errors in guisim
  - added option --tls.discard-simple which discards traffic lights at geometry-like junctions (no intersecting streams) loaded from formats other than plain-XML. This is particularly usefull when importing networks from OpenStreetMap which contain many pedestrian actuated traffic-lights.
- Tools
  - added tool for creating smaller scenarios from a big scenario Tools/Routes#cutRoutes.py
  - replaced the old trace exporter by a new Tools/TraceExporter tool
  - experimental Python 3 support for TraCI python API and duaIterate.py
- Tutorials
  - added a tutorial on trace generation
- Documentation
  - added and improved several XML schemata (thanks to Matthew Fullerton)

## Version 0.16.0 (04.12.2012)

### Bugfixes

- Building
  - Fixed building under gcc4.7; thanks to Karsten Roscher
- Simulation
  - Fixed the bug which prevented vehicles to be inserted in the middle of a street using departPos="free" (ticket732, thanks to Björn Hendriks for reporting it)
  - Fixed several bugs that were causing collisions
  - Fixed bug in the default car-following model wich lead to larger-that-necessary following distances. The maximum possible flow is now greatly increased.
  - Fixed bug where simulation would not terminate if vehicles with fixed depart speeds could not be inserted
  - Fixed bug that lead to unnecessarily low departure speeds under some conditions
  - Fixed bug which sometimes caused vehicles to use the wrong lanes
- SUMO-GUI
  - Fixed loading of breakpoints, reported by Anderson Rocha, thanks!
- NETCONVERT
  - reading tls offset from VISUM files corrected
  - OSM-ids are now read as long longs (long long int under Linux)
  - added the option --tls.discard-loaded <BOOL> which avoids loading traffic lights from other formats than XML (in XML, one can simply replace the type "traffic_light" by "priority"); removed option --osm.discard-tls <BOOL> which did the same for OSM-networks only
  - SUMO-networks with tls offset now load correctly
  - connections for highway ramps no longer cross incorrectly
  - openDRIVE-export: corrected lane offsets (geometry) and lane linkage (topology)
  - connections which can not be set when being loaded are kept and retried after network changes, such as ramps building, or nodes joining
  - now correctly setting edge priorities when importing dlr-navteq networks
  - junctions with incoming edges of differing priority can no longer have type 'right_before_left'
  - OSM-imported railways are now correctly imported as one-way which avoids lots of bogus rail edges
  - OSM-imported railways no longer yield to regular roads
  - OSM-imported railways now have proper default speeds
  - changing attributes from or to of an existing edge no longer crashes
  - improved heuristic for detecting roundabouts. Now recognizes roundabouts with divided attachment edges.
  - fixed bug where import would fail due to tag elements with empty v-attribute
  - fixed bug where the special connection attribute pass was lost when writing plain xml or importing sumo networks (this attribute affects the junctionLogic in built networks and declares that a connection never yields).
  - fixed bug that caused right-of-way computations to fail (resulting in collision) at turnaround lanes
  - fixed bug that caused connections to be considered foes even if they did not conflict. The resulting network inconsistency manifested in collisions.
- NETGEN
  - Options --offset.x and --offset.y are no longer ignored
  - Renamed to NETGENERATE due to naming conflicts in Debian, was ticket717, and Debian-ticket 673931
- TraCI
  - fixed geo conversion ticket804
- TOOLS
  - method parse_fast in sumolib.output no longer fails when using attributes which are also python keywords.
  - fixed flowrouter.py to use the new (0.13) network format and write the new route format
- Documentation
  - Patched CSS issues in IE

### Enhancements

- building
  - added configure option --enable-profiling to be used with gprof

- Simulation
  - added the option --routing-algorithm <STRING> to configure simulation routing (devices,triggers,traci). Allowed values are dijkstra, (default) and astar
  - Rerouting via 'device.rerouting' is now much faster
  - variable speed signs now accept negative speed values. this causes them to reset the edge back to its default speed
  - if any vehicles are vaporized during simulation the attribute vaporized="NUMBER_OF_VAPORIZED_VEHICLES> is added to the meanData output for the respective edge.
  - added the option --maxDist.routesize <INT> to limit the size of routeDistributions (useful to conserve memory for long-running simulations)
  - added several new output types by Mario Krumnow: emission output, full output, vtk output, fcd output, and queue output. Thanks!
  - added the option --fcd-output.geo. If this option is given the output from --fcd-output <FILE> will contain geo coordinates instead of cartesian coordinates.
  - compact specification of routeDistribution (using attribute routes) now recognizes attribute probabilities
  - added the option --vehroute-output.write-unfinished. If this option is given, vehicle routes for all vehicles on the road will be written at the end of the simulation.
  - added the option --device.rerouting.init-with-loaded-weights. If this option is given, weights supplied with the existing option --weight-files <FILE> are used for initialiing the rerouting devices.
  - Rerouter definition destProbReroute now recognizes the special values keepDestination and terminateRoute which causes a reroute to the original destination or terminate the route respectively.
  - It is now possible to combine the rerouter definitions closingReroute and destProbReroute. In this case only vehicles which are affected by the closingReroute sample a new destination from the destProbReroute.
  - The verbose simulation summary now includes the number of teleports
  - The vType attributes speedFactor and speedDev are now officially supported and allow for a convenient way of specifying vehicle speed distributions. Among other things these can be used to model speeding vehicles which exceed given edge speeds. More Details

- TraCI
  - The deprecated "environment-related" commands were removed and the documentation was finally corrected; position conversion and distance computation are still available via the Simulation Value Retrieval API. Please note that the footprint has changed so that it matches the other API calls.
  - API version was increased to 5
  - Added object context subscriptions
  - Added method remove to the vehicle module
  - Added python interface to convert cartesian to geo coordinates and vice versa

- SUMO-GUI
  - the gui can be started with multiple views by supplying a list of files to option --gui-settings-file
  - street coloring by selection now colors all lanes for selected edges (useful when loading selections from a file)
  - Visualizing rerouters with many trigger edges and many closed edges no longer causes the GUI to slow down.
  - The lane-parameters dialog now list the street name as well as the vehicle class permissions
  - Rail edges are now rendered with rails and crossties making them stand out from normal roads.
  - Persons are now visualized during all steps of their plan and allow accessing step information.
  - vehicles with guiShape="rail" are now visualized with multiple carriages when the visualization option Show As is set to simple-shapes. The overall length of the train and the number of carriages is determined from the vehicle length
  - Vehicles can now be renderd with bitmaps using the new vType attribute imgFile. This should be a grayscale image with alpha channel to allow full recoloring functionality.
  - Persons can now be rendered with bitmaps when specifing a vType with attribute imgFile just like vehicles (persons bitmaps will not be rotated, however).
  - POIs can now be rendered with bitmaps using the new attributes imgFile, width and height
  - the default vehicle coloring respects now colors assigned to the vehicle, type or route (in that order) before assigning the default color
  - the default color can be changed for coloring by vehicle / type / route
  - The vehicle parameter dialog now includes the vehicle specific speed factor if speed distributions are used.

- DFROUTER
  - the speed column in flow input files is now optional

- TOOLS
  - added options for generating random trips which help to increase the quality of generated trips. see Tools/Trip#randomTrips.py
  - improved the method parse in sumolib.output. It now supports memory-efficient parsing of nested xml elements into convenient python objects based on pulldom traversal
  - added several utility classes in sumolib.miscutils
  - added option --big to script route/sort_routes.py which allows handling very large files at the price of increased hdd-reading
  - added script assign/duaIterate_analysis.py for plotting statistics of a duaIterate run
  - added script route/route2poly.py for visualizing routes with polygons in the sumo-gui

- Documentation
  - Added schema definition for JTRROUTER's turns and sink definition files

### Other

- general
  - reworked some of the XML parsing code, watch out for new parsing errors or ignored attributes
  - added --xml-validation to all executables which enables Xerces-C schema validation for input files having a schema defined
- NETCONVERT
  - replaced the option --plain.keep-edge-shape with the inverted option --plain.extend-edge-shape. The new default is to keep given edge shapes and only extend them if this option is set. Extending edge shapes inadvertently can lead to invalid connections and priorities.

## Version 0.15.0 (14.03.2012)

### Bugfixes

- Simulation
  - Real time factor in simulation summary is now correct (was off by factor 1000)
  - Option --route-steps now reads the given number of seconds ahead (input argument was interpreted as milliseconds, inadvertently)
  - specifying invalid departPos no longer causes an infinite loop
  - The minimum gap is now outside of the vehicle. This means, a vehicle starts at its position, the minimum breaking distance is in front of the position. This effects the retrieval of a vehicle's position via TraCI, and also the measures collected by detectors - now, the collected vehicle lengths do not contain the minimum distance anymore. see blog entry
  - consolidating right-of-way rules (again). Networks must be rebuild
  - fixed crash when using TraCI to set new TLS-programs with less phases (ticket #652)
- NETCONVERT
  - looped ways are now correctly imported from OSM (before, these were pruned from the network)
  - fixed bug related to --proj.plain-geo (would sometimes crash or produce invalid output)
  - fixed bug in geometry computation when dealing with 3D-coordinates
  - fixed bug when joining junctions (did not join as much as requested)
  - OSM import no longer discards edges with multiple types as long as at least one type is known (this caused missing bridges etc.)
  - debugged import of VISUM-turn descriptions ("ABBIEGER")
  - fixed calculation of intersecting lines
- GUI
  - corrected the link numbering
  - no longer crashes when reload is pressed during running simulation
- DUAROUTER
  - Option --max-alternatives is no longer ignored
  - clogit probabilities are calculated correctly

### Enhancements

- Simulation
  - Meandata output can now print default travel times / emissions on empty edges (excludeEmpty="defaults")
- DUAROUTER
  - added Option --routing-algorithm. It supports the values dijkstra (default) and astar (new). The newly added astar algorithm uses the euclidean distance heuristic. It routes 30% faster on the road network of Cologne and 40% faster on the road network of Berlin.
  - In verbose mode, some performance measures of the routing algorithm are given
  - better defaults for emission based routing
- GUISIM
  - object choser can now filter by selection
- NETCONVERT
  - added Options --speed.offset and --speed.factor. These modify all edge speeds by first multiplying with factor and then adding offset.
  - added output Option --junctions.join-output FILE. This writes a protocol of joined junctions to FILE. Loading FILE as additional nod.xml reproduces these joins.
- All
  - Logging options are handled consistently
  - step logging enabled by default, can be disabled for all relevant applications (sumo, duarouter, jtrrouter, od2trips)

### Other

- Simulation
  - traffic light offset is now interpreted as delay. An offset of x delays all phases by x seconds. The old behaviour was to let all phases start x seconds earlier.

## Older Versions

- z/Changes from Version 0.13.1 to Version 0.14.0
- z/Changes from Version 0.13.0 to Version 0.13.1
- z/Changes from Version 0.12.3 to Version 0.13.0

- z/Changes from Version 0.12.2 to Version 0.12.3
- z/Changes from Version 0.12.1 to Version 0.12.2
- z/Changes from Version 0.12.0 to Version 0.12.1
- z/Changes from Version 0.11.1 to Version 0.12.0

- z/Changes from Version 0.11.0 to Version 0.11.1
- z/Changes from Version 0.10.3 to Version 0.11.0

- z/Changes from Version 0.10.2 to Version 0.10.3
- z/Changes from Version 0.10.1 to Version 0.10.2
- z/Changes from Version 0.10.0 to Version 0.10.1
- z/Changes from Version 0.9.10 to Version 0.10.0

- z/Changes from version 0.9.9 to version 0.9.10
- z/Changes from version 0.9.8 to version 0.9.9
- z/Changes from version 0.9.7 to version 0.9.8
- z/Changes from version 0.9.6 to version 0.9.7
- z/Changes from version 0.9.5 to version 0.9.6
- z/Changes from version 0.9.3 to version 0.9.4
- z/Changes from version 0.9.2 to version 0.9.3
- z/Changes from version 0.9.1 to version 0.9.2
- z/Changes from version 0.9.0 to version 0.9.1

- z/Changes from version 0.8.x to version 0.9.0
- z/Changes from version 0.8.2.2 to version 0.8.3
- z/Changes from version 0.8.2.1 to version 0.8.2.2
- z/Changes from version 0.8.0.2 to version 0.8.2.1
- z/Changes from version 0.8.0.1 to version 0.8.0.2
- z/Changes from version 0.8.0 to version 0.8.0.1

- z/Changes from version 0.7.0 to version pre0.8

This page was last modified on 3 May 2013, at 10:14.