generated on 2018-12-14 00:24:44.802330 from the wiki page for Simulation/Calibrator for SUMO git


These trigger-type objects may be specified within an additional-file and allow the dynamic adaption of traffic flows and speeds. The syntax for such an object is: <calibrator id="<ID>" lane="<LANE_ID>" output="<OUTPUT_FILE>"/>. They can be used to modify simulation scenario based on induction loop measurements. A calibrator will remove vehicles in excess of the specified flow and it will insert new vehicles if the normal traffic demand of the simulation does not meet the specified number of vehsPerHour. Furthermore, the speed on the edge will be adjusted to the specified speed similar to the workings of a variable speed sign. Calibrators will also remove vehicles if the traffic on their lane is jammend beyond what would be expected given the specified flow and speed. This ensures that invalid jams do not grow upstream past a calibrator.

  <vType id="t0" speedDev="0.1" speedFactor="1.2" sigma="0"/>
  <route id="c1" edges="beg middle end rend"/>

  <calibrator id="calibtest_edge" edge="beg" pos="0" output="detector.xml">
    <flow begin="0"    end="1800" route="c1" vehsPerHour="2500" speed="27.8" type="t0" departPos="free" departSpeed="max"/>
    <flow begin="1800" end="3600" route="c1" vehsPerHour="2500" speed="15.0" type="t0" departPos="free" departSpeed="max"/>

  <calibrator id="calibtest_lane" edge="middle_1" pos="0" output="detector.xml">
    <flow begin="0"    end="1800" route="c1" vehsPerHour="600" speed="27.8" type="t0" departPos="free" departSpeed="max"/>
    <flow begin="1800" end="3600" route="c1" vehsPerHour="800" speed="15.0" type="t0" departPos="free" departSpeed="max"/>


The following attributes/elements are used within the calibrator element:

Attribute Name Value Type Description
id id (string) The id of the calibrator
edge id (string) The id of an edge for measuring and calibrating flow. (Either edge or lane must be specified)
lane id (string) The id of a lane for measuring and calibrating flow (Either edge or lane must be specified)
pos float The position of the calibrator on the specified lane (currently ignored, see [1]
freq float The aggregation interval in which to calibrate the flows. default is step-length
routeProbe float The id of the routeProbe element from which to determine the route distribution for generated vehicles.
output file (string) The output file for writing calibrator information or NULL

The flow elements which are defined as children of the calibrator definition follow the general format of flow definitions. As the only difference, either the attribute vehsPerHour or speed (or both) must be given.

By default edge calibrators will use departLane="free" whereas lane calibrators will use departLane="x" where x is the lane index of the calibrator lane. All calibrators default to departSpeed="max".

Routes of generated Vehicles

Whenever the measured flow in a given interval is lower than the specified flow, new vehicles are inserted. If the routeProbe attribute is specified, a route is sampled from the distribution of the named route probe detector. Otherwise the route attribute of the flow is used. Note, that this value may also specify the name of a route distribution.

The algorithm for deciding when exactly to insert (and remove) vehicles is described in Erdmann, Jakob (2012) Online-Kalibrierung einer Mikroskopischen Verkehrssimulation. ViMOS 2012, 29.11.2012, Dresden, Deutschland.

Building a scenario without knowledge of routes, based on flow measurements

Due to their ability of adapting higher as as well as lower flows to a specified value, calibrators may be used to adapt (almost) arbitrary traffic demand to a given set of measurements. One strategy for building a scenario from measurements is therefore, to generated random traffic and use Calibrators in conjunction with route probe detectors. While this can in principle be done with DFROUTER as well, the method described here is more robust for highly meshed networks as found in cities.

Each edge where measurements are given should receive a calibrator and a route probe detector. As soon as the first vehicle has passed the route probe detector, the calibrator will be able to use that vehicles route. For the calibrator to be able to function before the first vehicle, it needs a fall back route which just needs to consist of a single edge (i.e. the edge on which the calibrator is placed).

Example additional-file:

   <vType id="t0" speedDev="0.1"/>
   <routeProbe id="cali_edge1_probe" edge="edge1" freq="60" file="output.xml"/>
   <calibrator id="cali_edge1" lane="edge1_0" pos="0" output="detector.xml" freq="60" routeProbe="cali_edge1_probe">
      <route id="cali1_fallback" edges="edge1"/>
      <flow begin="0"    end="1800" route="cal1_fallback" vehsPerHour="2500" speed="27.8" type="t0" departPos="free" departSpeed="max"/>
      <flow begin="1800" end="3600" route="cal1_fallback" vehsPerHour="2500" speed="15.0" type="t0" departPos="free" departSpeed="max"/>

Running the simulation with the random demand as well as these <calibrator> and <routeProbe> definitions will achieve a simulation in which traffic matches the specified flows at each calibrator edge. However, the realism of traffic flow behind (or between) calibrators depends on the fit between random routes and real-world routes. The importance of this fit increases with the size and complexity of the network between calibrator edges.

This page was last modified on 21 May 2017, at 19:36.