Dear friends and users,
we are glad to announce the release of SUMO version 1.0.0.
The download links are at http://sumo.dlr.de/wiki/Download
There are many new features and fixes in this release and the most
important ones are listed below. For a full list of changes, see
http://sumo.dlr.de/wiki/ChangeLog
There are also some compatibility changes that affect default application
behavior and TraCI clients. These are listed below in full.


--- Enhancements ---

All applications
- All time values in options and xml inputs can now be specified in the
format h:m:s and d:h:m:s where the values for days, hours and minutes are
all positive integers and seconds may also be a positive floating point
number.  Note: This does not apply to the python tools.
 - Added option --human-readable-time (short -H) that causes all time
values to be written in h:m:s (or d:h:m:s) format.

Simulation
- Implemented SSM Device, which allows output of saftey related quantities.
- Added driver state device for modelling imperfect driving.
- Added a new car-following model "ACC" based on [Milanés et al.
"Cooperative Adaptive Cruise Control in Real Traffic Situations." IEEE
Trans. Intelligent Transportation Systems 15.1 (2014): 296-305.]
- FCD-output can now be switched on selectively for a subset of vehicles
and the reporting period can be configured.
- FCD-output can now be restricted to a subset of network edges loaded from
a file with option --fcd-output.filter-edges.input-file <FILE>. The file
format is that of an edge selection as saved by NETEDIT.
- A pedestrian crossings can now have different signal states for both
directions.
- The default lane-changing model LC2013 now supports parameter lcAssertive
to
  model aggressive lane change maneuvers.
- Vehroute-output now includes the reason for rerouting.
- Tripinfo-output now includes the attribute stopTime which records the
time spent with intentional stopping.
- Added optional attribute visible to <parkingAreaReroute> (default false).
This controls whether occupancy is known before reaching the parkingArea
edge and can be used to model incomplete knowledge in parking reroute
choice.
- Rerouters now support the attribute vTypes which restricts their effect
to vehicles from the given list of vehicle type IDs.
- Vehicles are forming a corridor for emergency vehicles equipped with
  device.bluelight in sublane simulation
- Added lane/edge-attribute stopOffset for defining vClass specific
stopping positions in front of traffic lights.


SUMO-GUI
- Added control for scaling traffic demand dynamically (next to the delay
control).
- The simulation view can now be rotated via the new gui-settings attribute
angle in the
  <viewport> element or via the viewport dialog.
- The simulation state can now be saved via the Simulation Menu.
- Object tracking can now be aborted via double-click.
- Person plans can now be inspected via the right-click menu.
- Object name rendering size can now be toggled between constant pixel size
(all visible when zoomed out) and constant network size (invisible when
zoomed out).

MESO
- Simulation of persons and public transport is now supported.

NETEDIT
- Added Prohibition-mode for checking right-of-way at junctions (hotkey
'w'). Thanks to Mirko Barthauer for the contribution.
- Now ParkingAreas and ParkingSpaces can be created in netedit.
- Added support for BusStops Acces.
- Now Generic Parameters can be loaded, saved and edited. 5
- When adding a new phase to a traffic light, the new phase will now have a
plausible successor state depending on the selected previous phase (rather
the being a copy).
- Added function 'split' to junction context menu. This can be used to
disaggregated joined junctions.
- Re-organized options in the options-dialog (F10). Option help is shown in
the status bar
- Custom edge geometry endpoints can now be manipulated in Move mode.

NETCONVERT
- Improved heuristics for options --junctions.join. Issue #876
- Improved computation of intermodal junctions imported from OSM.
- Improved computation of junction shapes.
- Added option --junctions.limit-turn-speed <FLOAT> which sets an upper
bound on speed while passing an intersection based on the turning radius.
To account for imperfect road geometry, the option
--junctions.limit-turn-speed.min-angle can be used to avoid speed limits
for small turns.
- Geo-referenced networks (i.e. from OSM) can now be merged by loading them
together (-s net1.net.xml,net2.net.xml).
- Element <crossing> now supports attribute linkIndex2 to specify a custom
signal index for the reverse direction.
- Added option --proj.rotate <FLOAT> for rotating the network.
- Sidewalk information is now imported from OSM for road types that have a
positive sidewalkWidth attribute (e.g. by using typemap
osmNetconvertPedestrians.typ.xml).
- Geo-reference information is now imported from OpenDRIVE input.
- Importing VISUM networks up to format version 10 is now support.

NETGENERATE
- Added option --rand.grid to place generated junctions on a regular grid
- Added options --turn-lanes <INT> and --turn-lanes.length <FLOAT> to add
left-turn lanes to generated networks.

DUAROUTER
- Intended departure times (attribute depart) and intended vehicle id
(attribute intended) are now added to vehroute-output of public transport
rides.

TraCI
- libsumo can now be used in place of the TraCI client libraries to
increase execution speed of TraCI-Simulations by directly linking against
SUMO for all SWIG-supported languages. Graphical simulation with libsumo is
not yet supported.
- added functions simulation.getCollidingVehiclesNumber and
simulation.getCollidingVehiclesIDList to track collisions.
- added functions simulation.getEmergencyStoppingVehiclesNumber and
simulation.getEmergencyStoppingVehiclesIDList to track emergency stops.
- added function edge.getLaneNumber to retrieve the number of lanes of an
edge.
- added function vehicle.getAcceleration to retrieve the acceleration in
the previous step.
- TraCI now allows to update a vehicle's best lanes
(vehicle.updateBestLanes).
- added function gui.hasView to determine whether graphical capabilities
exist.
- function simulation.getMinExpectedNumber() now includes persons that are
still active in the simulation.
- added function traci.getLabel to the python client to help working with
multiple connections.
- When adding a vehicle with a disconnected 2-edge route, it will be
treated like a <trip> and rerouted automatically.
- function vehicle.add now supports using the empty string ("") as a route
id to insert the vehicle on an arbitrary valid edge. This makes it easier
to remote-control vehicles using moveToXY without defining an initial
route.
- added functions vehicle.getRoutingMode and vehicle.setRoutingMode. When
setting routing mode to traci.constants.ROUTING_MODE_AGGREGATED, smoothed
travel times are used instead of current travel times.

Tools
- added script plot_trajectories.py which allows plotting various
combinations of time, distance, speed and acceleration for all trajectories
in a given --fcd-output file.
- added script averageRuns.py for running a scenario multiple times with
different random seeds and computing trip statistics
- Additional options for generateTLSE3Detectors.py that make it suitable
for generating various kind of junction related output.
- Added function simpla.createGap() to the Simpla library
- createVehTypeDistributions.py now also allows to generate vehicle
parameter distributions.




--- Bugfixes ---

Simulation
- All car-following models now respect the vType-attribute emergencyDecel
as an absolute bound on deceleration.
- Fixed various issues when using the simple continous lane change model.
- Fixed invalid vehicle counts by E2-detector
- Fixed bug that was causing invalid slowdown while passing an
intersection.
- Fixed invalid deceleration at yellow traffic light.
- Fixed right-of-way rules for vehicles standing next to each other on the
same lane and driving towards different edges.
- Fixed crash within intersection between vehicles coming from the same
lane.
- Fixed (near) infinite loop when specifying invalid speed distribution.
- Option --carfollow.model is now working.
- Car-follow models IDM and IDMM no longer fail to reach an exact stop
position. Issue #658
- Strategic look-ahead is now working as expected in networks with many
short edges.
- Switching a traffic light to the "off" definition now sets the correct
right-of-way rules.
- Fixed abrupt emergency braking when violating safe gape slightly

SUMO-GUI
- Fixed crashing due to concurrent access to vehicle numbers.
- Fixed crashing and visualization problems when using the 3D-view. ,
- Fixed glitch where persons would appear to jump around while riding in a
vehicle across an intersection.
- ChargingStation are visible again (regression in 0.32.0)
- Fixed invalid vehicle blinkers in lefthand simulation.
- Fixed vehicle positions when using the sublane model in lefthand
networks.
- Vehicles that were not inserted (i.e. due to option --scale or
--max-depart-delay) no longer count as arrived in the simulation parameter
dialog. Instead the are counted under the new item discarded vehicles.

MESO
- Fixed deadlock at roundabouts when running with option
--meso-junction-control.limited or --meso-junction-control false.

NETEDIT
- Splitting edges, deleting individual edges and lanes or adding lanes via
the duplicate menu option no longer resets connections and traffic light
plans.
- The viewing area and zoom loaded via option --gui-settings-file is no
longer ignored
- Fixed bug where connections on large junctions did not register clicks or
were not drawn.
- Fixed various bugs that led to re-computation of signal plans when
modifying connections or tls indices. ,
- Fixed bug that could lead to the creation of invalid networks when adding
and removing connections. ,
- Moving geometry no longer removes z-data.
- Splitting edges no longer introduces unnecessary custom endpoints.
- Fixed crash when deleting one of multiple signal programs for the same
junction.

NETCONVERT
- Fixed bug that was causing invalid link states at intermodal junctions.
- Fixed invalid junction logic in lefthand networks.
- Generated signal plans will no longer have a protected left-turn phase if
there is no dedicated left-turn lane.
- Fixed invalid intermodal junction logic that could cause collisions and
deadlocks. ,

DUAROUTER
- Fixed crash on intermodal routing.

TraCI
- Fixed crash when trying to access empty subscription result list using
the C++ client.
- Fixed invalid results when calling simulation.findIntermodalRoute
- Fixed bug where vehicle.couldChangeLane returned True immediately after a
lane change even though the requested target lane did not exist.
- Function vehicle.getLaneChangeMode now returns correct values for the
original lane change state when the state is affected by
vehicle.setLaneChangeMode.
- Fixed collisions when combining vehicle.slowDown with ballistic update.
- Fixed python client bug in traci.lane.getLinks which returned always true
for isOpen, hasFoe and hasPrio.
- traci.person.setColor was fixed (was a noop before)

Tools
- webWizard now correctly builds regions with left-hand traffic


---  Documentation ---
- Added documentation on joined traffic lights and defining signal groups.
- Added documentation on the simple continous lane-change model.
- Documented all supported routing algorithms.



---  Compatibility Changes ---
Below is a list of options to restore compatibility with 0.32.0 behavior in
regard to changed option defaults.
The explanations are given in detail below
- NETCONVERT
  --default.junctions.radius 1.5
  --junctions.limit-turn-speed -1
  --junctions.corner-detail 0
  --roundabouts.guess False

- SUMO
  --default.speeddev 0
  --default.emergencydecel decel
  --device.rerouting.pre-period 1


All Applications
- The space character ' ' is no longer allowed in xml option values when
separating file names. Instead the comma ',' must be used. Files with space
in their path are now supported.

Simulation
- The default speed deviation has been changed to 0.1. When defining a new
<vType> with attribute vClass, this also influences the default speed
deviation:
 - truck, trailer, coach, delivery: 0.05
 - tram, rail, rail_electric, rail_urban, emergency: 0
 - everything else 0.1
- Added option --default.speeddev <FLOAT> to control the default speed
deviation of all vehicle types that do not define it.
- The default arrival position for person walks is now the middle of the
destination edge. This reduces the assymetry from arriving in forward or
backward direction.
- tripinfo-output attribute waitSteps which counts the number of simulation
steps in which the vehicle was below a threshold speed of 0.1m/s was
replaced by attribute waitingTime which measures the same time in seconds.
This gives results which are independent of the --step-length simulation
parameter.
- The default value for option --device.rerouting.pre-period was changed
from 1 to 60 to speed up simulation.
- vTypeProbe is now deprecated in favor of fcd-output filters
- vaporizers are now deprecated in favor of calibrators

SUMO-GUI
- The Delay value is now invariant with regard to the simulation step
length and always denotes delay per simulated second.
- Default color for persons is now 'blue' to better distinguish them from
vehicles.

NETGENERATE
- The alphanumerical junction naming scheme is active by default (the
option for enabling the old scheme was renamed from grid.alphanumerical-ids
to --alphanumerical-ids).
- The alphanumerical junction naming scheme now supports arbitrary grid
sizes (using ids like XY23)
- The alphanumerical junction naming scheme also extends to spider networks
- When using alphanumerical junction ids, the intermediate string 'to' is
omitted from edge names because the edge ID already allows unambiguous
determination of its junctions without it

NETCONVERT
- There is no longer an offset of 0.1m between lanes. This means the total
visual width of an edge is now the sum of all lane widths. This also fixes
an inconsistency between visualization and simulation as the vehicles
always ignored this offset anyway. Road markings are now drawn on top of
the lanes rather than between them. This causes small visual gaps in old
networks (fixable by calling netconvert -s old.net.xml -o new.net.xml).
- The default value for option --default.junctions.radius was increased
from 1.5 to 4 in order to improve realism of turning angles.
- The default value for option --default.junctions.corner-detail was
increased from 0 to 5 to improve the visual realism of larger intersections.
- Option --ramps.guess is now enabled by default
- Vehicle speed while turning at intersections is now limited via the new
option default --limit-turn-speed 5.5. To obtain the old behavior, this
value can be set to -1.

TraCI
- TraCI Version is now 18
- embedded python mode is now deprecated in favour of libsumo
- TraCI now consistently represents time in seconds as a double precision
floating point. This affects all client implementations. Modifying your
scripts should be necessary only for the methods given  below:
    - traci.simulationStep (when used with a time argument)
    - traci.vehicle.slowDown
    - traci.vehicle.changeLane
    - traci.vehicle.setStop
    - traci.simulation.getDeltaT
    - traci.trafficlight.getNextSwitch
    - traci.trafficlight.getPhaseDuration
    - traci.trafficlight.setPhaseDuration
  For the following methos, only client developoers need to adapt to
protocol changes
    - traci.edge.getTravelTime
    - traci.edge.getEffort
    - traci.edge.adaptTravelTime
    - traci.edge.setEffort
    - traci.person.add
    - traci.vehicle.getAdaptedTravelTime
    - traci.vehicle.getEffort
    - traci.vehicle.adaptTravelTime
    - traci.vehicle.setEffort
    - traci.simulation.findRoute
    - traci.simulation.findIntermodalRoute
    - traci.trafficlight.getCompleteRedYellowGreenDefinition
    - traci.trafficlight.setCompleteRedYellowGreenDefinition
    - All protocol functions returning single bytes now return integers
(lane.getLinkNumber, polygon.getFilled, vehicle.isRouteValid,
vehicle.getStopState)
- traci.simulation.getCurrentTime still returns ms as int but has been
deprecated in favor of traci.simulation.getTime
- The TraCI boundary type has been replaced by a position list of 2
positions
- The TraCI float type has been removed
- In the C++ client the function vehicle.getEdges was renamed to getRoute
to be consistent with other clients
- The order of error checks in the TraCI server changed so that unknown
object errors show up before unknown variable / command errors
- Changes to the python client
    - the function vehicle.add was replaced by the function addFull. The
old "add" is still present and can be reactivated by monkey patching the
module (traci.vehicle.add=traci.vehicle.addLegacy). The only difference to
traci users is that the old version inserted vehicles at position 0 by
default whereas the new version inserts them at the 'base' position (fully
on the first edge if possible).
    - constants which were previously available in the single domains have
moved to traci.constants
    - now returns tuples instead of lists for all getIDList and several
other calls



Have fun with the new release,
Robert, Michael, Yun-Pang, Laura, Leo, Pablo  and Jakob
_______________________________________________
sumo-announce mailing list
sumo-announce@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/sumo-announce

Reply via email to