Dear friends and users, we are happy to announce the release of SUMO version 1.9.0. The download links are at https://sumo.dlr.de/docs/Downloads.html
This release brings you a wide array of new options, input elements and tools. It also brings the long-promised compatibility of sublane-model and opposite-direction driving, fixing many bugs related to both topics in the process. Another area with improvements is taxi/DRT simulation. 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 http://sumo.dlr.de/wiki/ChangeLog === Enhancements === - Simulation - Sublane model can now be used together with overtaking through the opposite direction. - Added new option --collision-output to write information on collisions to an XML file. - Added option --fcd-output.attributes to set the list of attributes which are included in fcd-output. - Taxi device now supports option --device.taxi.idle-algorithm [stop|randomCircling] to control the behavior of idle taxis. - Added vehicle attribute 'arrivalEdge' and 'departEdge' which can be used to start/end the route with an edge index offset - Now supporting element <containerFlow> to define multiple containers. - PersonFlow now supports attribute begin="triggered" number="..." to start a number of persons in the same vehicle. - Added option --device.battery.track-fuel to track fuel level for other fuels besides electricity - Added option --stop-output.write-unfinished to write stops that are not ended at simulation end. - Vehicle Class specific speed limits are now interpolated onto junctions. - sumo-gui - Vehicle lengths will now be scaled according to custom edge lengths to avoid confusing visual overlap. A new vehicle visualization setting checkbox 'scale length with geometry' is provided to disable scaling. - Asymmetrical lane-change restrictions are now indicated by a combination of broken and unbroken divider lines. - Add vehicle drawing style 'draw as circles'. - BusStop parameter dialog now includes a summary of lines which are being waited for. - Improved visualization of containers waiting at containerStop. - netedit - In move mode, exact coordinates for a geometry point can be set via right-click menu. - Selected edges and junctions can now be moved in z-direction (absolutely or relatively) via move mode frame controls. - Shapes of selected edges can now be shifted orthogonally to their driving direction via move mode frame controls. - Polygons can now be moved without changing their shape (with new move mode checkbox). - Lane attribute 'type' can now be edited. - netconvert - Lanes and connections now support attributes 'changeLeft' and 'changeRight' to configure lane-change restrictions. - Lane changing restrictions are now imported from OSM. To achieve legacy behavior, set option --ignore-change-restrictions all. - Element <laneType> is now supported in an edge <type> to pre-configure speed, width and permissions for individual lanes. - Using options --junctions.join-same --edges.join can now be used to merge overlapping networks with modified ids - Public transport edges that are disconnected from the main road network (in particular railways) are now included in the output when using option --keep.edges.components 1 as long as they have public transport stops that are written via option --ptstop-output. - The behavior of option --geometry.remove (merging subsequent edges with common attributes) no longer depends on written --ptstop-output (stops will be remapped onto merged edges). To enable legacy behavior, the option --geometry.remove.keep-ptstops may be set. - Added option --osm.extra-attributes to import additional edge attributes (osm tags) as generic parameters. - Option --output.street-names is now working for VISUM network. - marouter has new option --ignore-taz to route individual trips written by od2trips between their assigned edges. - od2trips has new option --junctions which interprets the loaded source and sink ids as fromJunction and toJunction ids. - dfrouter has new option --vclass to filter eligible edges in a multi-modal network. - TraCI - libtraci is now the "officially supported" library for the Java, Python and C++ TraCI clients, providing (functional) identical interfaces for all three languages. TraaS and the old C++ TraCI API are considered deprecated. - Added function 'traci.simulation.getCollisions' to retrieve a list of collision objects for the current time step. - vehicle.dispatchTaxi now supports re-dispatching a taxi that is already in pickup or occupied mode. - Vehicles that are accumulating insertion delay can now be retrieved using the functions 'traci.simulation.getPendingVehicles', 'traci.edge.getPendingVehicles' and 'traci.lane.getPendingVehicles. - Taxi customers (including those that shall be picked up but are not yet on board) can now be retrieved using traci.vehicle.getParameter(vehID, "device.taxi.currentCustomers"). - The reservation objects returned by traci.person.getTaxiReservations now includes persons that are eligible for re-dispatch and includes the state of the reservation (new, assigned, on board). - Added function 'traci.person.splitTaxiReservation' to transport pre-made groups with multiple vehicles. - Tools - Added tools to support GTFS import. - The tool gridDistricts.py can be used to generated a grid of districts (TAZs) for a given network. - Added new tool splitRandom.py. to split route files into random subsets. - Added new tool changeAttribute.py to add/change/remove xml attributes. - Added new tool computeStoppingPlaceUsage.py to compute running occupancy of parking ares from stop-output. - traceExporter.py now supports SSAM trajectories. === Bugfixes === - Simulation - Many sublane model fixes and opposite-direction-driving fixes (collisions, deadlocks, ...) - Fixed collisions between pedestrians and vehicles on shared space - Fixed emergency stop when vehicles are caught in the "Yellow Light Dilemma Zone". - Fixed bug where an emergency vehicle does not advance in the rescue lane. - Fixed emergency braking when approaching zipper link. - Vehicle type attribute containerCapacity is now supported when using taxi device for container logistics - Fixed invalid chargingSstation-output in subsecond simulation - Fixed invalid jam-front back-propagation speed in meso simulation. (Regression in 1.7.0) - netedit - Fixed invalid E2 detector shape (Regression in 1.7.0) - Fixed invalid rendering layer of polygons below roads. (Regression in 1.7.0) - netconvert - Fixed duplicate public transport stops when importing public transport lines from OSM. - Fixed high running time when using option --geometry.remove on large networks. - Fixed missing bus-permissions when importing OSM. - dfrouter now supports intermodal networks - randomTrips.py now generates multi-stage plans when combining option --intermediate with options that generated persons (i.e. --persontrips). - Fixed "Error: Cannot get file attributes" when loading large files on Windows and macOS. - sumo-gui: Fixed long pause on right-click in large networks. (Regression in 1.4.0) - TraCI - Fixed several crashes - Fixed several problems when calling simulation.loadState - Function 'vehicle.getSpeedWithoutTraCI' now returns original model speeds after calling moveToXY. - Fixed location and speed when using person.moveToXY - Function vehicle.getNeighbors now correctly handles neighbors that changed lane after the ego vehicle in the same simulation step. - Function 'trafficlight.setProgramLogic' new resets phase duration. - Function 'trafficlight.setPhaseDuration' now works for actuated traffic lights. - Fixed failure to add stop when close to the stop position (but not quite too close). Also affected taxi re-dispatch. - Looped taxi-dispatch now picks up persons in the intended order. - Fixed bug where traci.vehicle.dispatchTaxi could generate non-continuous routes. - Fixed invalid traceFile output. === Other === - Python3 is now the default and recommended python - netedit: When using rectangle selection, junctions of selected edges are now added to the selection by default. - netconvert: Parallel turn lanes are no longer written as distinct edges but are instead written as multi-lane edge with different lane lengths. As before, lane-changing on an intersection is not permitted on a turn lane. - Tools - Some obsolete tools were moved to tools/purgatory (let us know if you were using them). - Several tools were renamed/relocated to help new users in finding the right tool and to provide an egg-hunt for long-time users (full list at https://sumo.dlr.de/docs/ChangeLog.html#other) - randomTrips.py option -c is no longer a shortcut for option --vclass. Instead it is used to load a configuration file (written via -C). - osmBuild.py option -c is no longer a shortcut for option --vehicle-classes. Instead it is used to load a configuration file (written via -C). Have fun with the new release, Johannes, Matthias, Michael, Yun-Pang, Angelo, Laura, Pablo, Jakob, Robert, Giuliana and Melanie.
_______________________________________________ sumo-announce mailing list sumo-announce@eclipse.org To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-announce