Categorizing X-scopic Traffic Simulation

In this post, we take a closer look at different ways of simulating traffic at varying scale and complexity. (Note: you may also download this post on traffic simulation as PDF document)

Motivation

Traffic simulation solutions exist in various levels of fidelity and granularity. Several terms are frequently used to signify different categories:

Traffic simulation on various levels of granularity
Traffic simulation categories (image by Sim|Cert)

The boundaries between these categories are not as clear or strict as one would expect, and it is sometimes difficult to determine which category or categories a specific solution belongs to. In the literature the definitions are also blurry to some extent. And if you ask solution providers for traffic simulation software, they will also have a hard time to give a clear categorization since their products typically include features from across the spectrum.

In the following sections, we will try to dive a bit deeper into the high-level topics of traffic simulation.

The Components

First, let’s define the components whose characteristics will differ between the categories.

Network

The network describes the nodes and edges along which participants may move.

In the highest-level representation, edges are associated with maximum capacities for traffic in general or for each type of participants in particular, and nodes connect incoming edges with lists of outgoing edges (and the corresponding capacities). Nodes and edges may represent actual junctions and roads or entire areas (e.g., cities) and their connections (e.g., highways). An aggregation of nodes and edges may, again, be treated as a node with I/O capacities and currents. Parts of a city, but also parking lots/garages, train stations etc. are examples for these kinds of meta-nodes.

In highly detailed networks, edges represent the lane level with associated features that can be found within lanes (surface properties like roughness and friction, objects like speed bumps, potholes etc.). Lanes may be assigned to specific participants (e.g., roads, bike lanes, sidewalks, railroad tracks), their geometry may be given in detail (cross-section, super-elevation, elevation, height of curbs etc.), and objects may be associated to them (e.g., traffic signs, traffic lights). Lane markings, access restrictions etc. may be defined in high granularity, so that the useable space may be determined and rules for a participant’s behavior may be derived.

Nodes in highly detailed networks are introduced whenever a lane connects to more than one other lane, i.e., whenever ambiguity is found in the network layout and participants have to choose an option (either concerning the routing or the prioritization vs. other participants). Nodes may also have to be introduced whenever edges of different types intersect (e.g., a pedestrian path crosses a road), i.e., whenever an area of potential conflict is created.

A good overview of network components is given in the ASAM OpenDRIVE standard.

Participants

Participants are signified by appearance, physical properties, and articulation.

Simplistic representations may just define the type of a participant or participant group (road-bound or rail-bound vehicle, person, animal) and associated speed profiles (or distributions).

Detailed models of participants may define the appearance in terms of colors, materials, 3d geometry (static and dynamic) etc. A participant’s physical properties may be given by a detailed simulation itself, ranging from point-mass models with acceleration capabilities to highly accurate multi-body dynamics taking all kinds of physical effects into account. The articulation of participants may range from rigid bodies moving around in space to entire skeleton and skin models (in case of flexible bodies) with detailed animations or multi-body entities with correct articulation of all parts (e.g., truck-trailer combinations, 6-degree-of-freedom articulation of each wheel and body parts of a vehicle, animation of headlights, taillights, indicators etc.)

Controllers

Controllers perform the role of directing participants through networks. In simple representations, they may only assign a speed distribution across participants or groups of participants; or, in the leanest form of implementation, they may be entirely replaced by time-variant currents of participants’ flows, hence providing speed and density distributions.

Highly detailed controllers will take responsibility of a single participant and will model its perception of the environment as well as its reaction on the actions of other participants. An internal routing module will guide a participant through a network, and its controller will perform detailed longitudinal and lateral control, considering its physical characteristics and constraints.

In ADAS and AD applications, detailed controllers represent the human as well as the assist or driving system – and the interaction between both. Controllers will consist of multiple functional layers, ranging from perception via planning to actual control.

Execution

The execution of a simulation determines which components are computed and what granularity is applied. In nanoscopic simulation all participants are, typically, computed in full detail in each simulation frame. A simulation frame will range somewhere between 1ms and 50ms. Perception and control actions of entities, as well as inputs by the network are highly detailed and large simulation steps tend to lead to numeric instabilities.

Microscopic simulation uses simplified characteristics for the computation of each participant but still computes each participant as a single entity in each simulation frame. Due to the simplification of the models, longer simulation steps may be used without risking instabilities of the algorithms involved. Full updates of the simulation will typically be carried out every 50ms or more.

Macroscopic simulation relies on the computation of statistical flows which are laid out in algorithms that do not consider single entities but groups (along customizable criteria); it, therefore, compares pretty well to fluid simulation. A sampling of individual steps is less the scope of macroscopic models than the formulation of correct flow characteristics.

Mesoscopic simulation, finally, combines the characteristics of macroscopic and microscopic simulation. It allows for the calculation of a large number of participants (flows) in a large network but provides high detail in specific areas of interest which are limited in size (individuals).

And to complete this chapter, there are also hybrid solutions which combine nanoscopic and microscopic simulation. Usually, one would be interested in exact behavior of participants in close vicinity to a system-under-test (SuT) whereas participants farther away would still be needed as individual entities but not with highly detailed behavior.

Feature Matrix

Now for the tricky part: associating features of components with characteristics of traffic simulation categories. As said before, the boundaries may not be fully clear and there is definitely no hard cut-off that can be made in terms of a specific, single feature transforming a simulation solution completely from one category into another.

Therefore, we try to describe the core features per category in the following table and we leave it to the user to imagine the boundaries. Numbers, where provided, are indicative only and, again, do not constitute hard boundaries.

Note that mesoscopic simulation is not listed as a separate category since it constitutes a mixture of microscopic and macroscopic simulation and, therefore, includes features of both categories.

Another note: this list is by no means complete or an exhaustive collection of features and criteria. It gives you an idea of our understanding of the main aspects of traffic simulation. Feel free to send us your comments and help us clarify a complex issue (contact details at the end of the document).

ComponentFeaturenanoscopicmicroscopicmacroscopic
NetworkAccuracy0.5 – 1 cm10 cm10m – 1km
 NodesRoad Intersections, junctions, and merges with:
– connection geometry
– road marks
– rules of priority
– rules of occupation
– connection geometry
– prioritization
– conflict areas
– connection matrix
  Parking areas:
– space
– slots
– garages
– full geometry
– markings
– curbs
– simplified geometry (e.g., rectangular, standardized space only)– capacities
– in-flow, out-flow
  Rail points with
– full geometry
– states
– duration for operation
– malfunctions
– connection geometry
– states
– connection matrix
  Pedestrian crossings
– zebra crossings
– traffic lights
– traffic islands
– conflict areas
– states
– capacities
  Rail crossings with / without articulated barriers and lights– conflict areas
– states
n/a
  bus stops / tram stops / taxi zones
– full geometry
– full signaling
– markings
– curbs
– geometry
– source / sink currents
– conflict areas
– capacities
  Waiting / boarding / deboarding areas– geometry
– source / sink currents
– conflict areas
– capacities
  toll gates
– full geometry
– full signaling
– markings
– curbs
– articulated barriers
– exact timing
– geometry
– lane layout
– conflict areas
– average timing
– capacities
 EdgesFull geometry:
– curvature (lines arcs, spirals, splines, polynomials)
– elevation
– super-elevation
Simplified geometry
– lines
– arcs
– splines
– elevation
Rudimentary geometry
  Road Vehicle Lanes with:
– direction(s) of travel
– sub-lanesvariable width with smooth transition
– cross-sectionmarkings with exact positioning
– materialsurface details (roughness, potholes, manholes etc.)(curb) height
– super-elevation(no-)passing rules
– associated objects
– maximum speed per vehicle category
– access restrictions (e.g., bus/taxi lane)
Simplified lane characteristics:
– direction(s) of travel
– sub-lanes
– discrete width changes
– generalized markings
– (no-)passing rules – speed restrictions – access restrictions
– capacities
– access restrictions
  Rail Vehicle Lanes with:
– cross-section
– fixed width
– material / ballast
– surface detailssuper-elevation
– associated objects
– concurrent use with road vehicles and pedestrians
Simplified lane characteristics:
– width
– conflict zones
– capacities
– access restrictions
  Pedestrian Lanes with:
– cross-section
– variable width
– material
– surface details(curb) height
Simplified lane characteristics:
– width
– conflict zones
– capacities
– access restrictions
 Associated ObjectsTraffic signs and signals
– traffic light programs for vehicles and pedestrians
– detailed composition of traffic lights (number / position of bulbs etc.)
Traffic signs and signals
– traffic light programs for vehicles and pedestrians  
 
  lighting  
ParticipantsQuantityhundredsthousandsflow only
 VehiclesBody Motion rollpitchyaw– yawn/a
  Single body / multi-body:
– rigid vehicle
– frame / suspended cabin
– rigid vehiclesn/a
  Wheel articulation
– deflection
– steering (one-to-n axles)
n/an/a
  road contact per entity or per wheel
– friction
– elevation
– super-elevation
– micro-surface (e.g., potholes)
n/an/a
  lighting:
– headlights
– taillights
– brake lights
– indicators
– reverse lights
– emergency lights
– brake lights
– indicators
n/a
  Performance:
– engine power
– brake power
– load / total weight
– pulled load
– max speed
– accel./decel. profile
n/a
  full 3d shape– boxesn/a
  common categories:
– passenger car
– minivan
– van
– bus
– truck
– semi-trailer
– motorbike
– scooter
– bicycle
– tram
– train
main categories only:
– passenger car
– HGV
– motorbike
– tram
– train
– passenger car
– HGV
– rail vehicle
  special categories:
– tractor
– camper
– caravan
– ambulance
– fire truck
– police
– taxi
– wide load
– long load
. road train
– e-scooter
– hoverboard
– cargo bike
– forklift
– harvester
n/an/a
  connected / articulated groups:
– trailer
– articulated bus/tram/train
ditton/a
  accessories
– roof-top loads
– bicycles
n/an/a
 Persons / AnimalsArticulated Skeletonrigid bodypoint mass
  Continuous Motion:
– Stand long
– Walk
– Run
– Fall
– Enter Building / Vehicle
– Exit Building / Vehicle
– stand
– walk
– speed
  Common Categories:
– adult (m/f/d)
– teen (m/f/d)
– child (m/f/d)
– toddler
– wheelchair
– animal
– adult
– child
n/a
  Accessories:
– stroller
– luggage / suitcase
– umbrella
– backpack
– yellow vest
– hand cart
n/an/a
  Gestures:
– look at
– point at
– wave
n/an/a
 InstantiationContinuous (with configurable distribution)
– sources
– sinks
– bubbles (around pivots)
sources sinkssources sinks
  Discrete (individual entity with specific configuration)
– internally created
– externally created and controlled
n/an/a
ControllersGeneralGranularity and frequency:
– per actor
– update in each simulation cycle
– per actor
– update in each cycle
global
  Perception per actor:
– quality (frequency of dropouts)
– delay (latency, reaction time)
n/an/a
  Execution of scripted maneuvers
– fully deterministic
– repeatable randomness
no scripted maneuversn/a
  Autonomous movement in accordance with network and characteristics of controlled entity:
– along defined routing
– with random routing, based on controller’s characteristics
lane-following along distribution probabilitiesno explicit routing
  Routing:
– based on geometry and connectivity of network elements (e.g., lanes, intersections), taking constraints of type of controlled entity into account (e.g., use bus lanes, HOV lanes, bike lanes)
– free movement along trajectories (e.g., lines, arcs, splines, polynomials)
based on lane connectivity and routing probabilitiesaccording to flow characteristics
  Route following (trajectories):
– exact geometry (position, orientation)
– steering only (taking kinematics into account)
– speed profile
– time / position profile
no explicit trajectories, only lane- / road-based routingflow along edges
  Traffic rule interpretation:
– adhere to traffic signs / signals and rules
– ignore traffic signs / signals and traffic rules (with defined level and frequency of ignorance)
– adhere to / ignore right-of-way rules
statistical distribution of rule followingn/a
  Collision avoidance
– avoid collision
– allow collision
– everywhere
when following other vehicles and in conflict areas onlyn/a
  Execution logics:
– conditional execution of maneuvers and actions
scripting for groups and categories, not for individual entitiesn/a
  Triggering of actions and events:
– triggering of individual actions (per actor) by various absolute, relative, and custom triggers, for example:
– position
– time
– speed
– user action
– weather
scripting for groups and categories, not for individual entitiesn/a
 VehiclesCompute control means:
– throttle / brake
– longitudinal acceleration (alternatively to pedals)
– steering
no computation of input; just resulting accelerationn/a
  Compute operation of lights (e.g., indicator) including animationpartial operation of lightsn/a
  Take vehicle dimensions and kinematics into account (e.g., for freespace driving or wide turns of long trucks)– bounding boxes for (partial) lane occupationincluded in calculation of maximum flow
  Desired maximum longitudinal and lateral acceleration (different absolute limits for positive and negative values)ditton/a
  Quality (accuracy) of lane keeping (amplitude and frequency of sway)n/an/a
  Accuracy of speed keepingpart of lane-following model; distribution over all participantsn/a
  Accuracy of distance keepingpart of lane-following model; distribution over all participantsn/a
  Look-ahead distance [s] for longitudinal controln/an/a
  Look-ahead distance [s] for lateral controln/an/a
  Desire to pass slower entitiesdistribution over all participantsn/a
  Response to entities approaching from the rearn/an/a
  Response to emergency services (get out of way, yield, provide corridor)n/an/a
 Road Vehicle ManeuversSpeed Change (absolute / relative)
– step
– ramp (constant acceleration)
– higher-order function
only in response to road network parameterizationby flow parameters
  Single Lane Change (absolute / relative)
– instantaneous (teleportation)
– smooth, configurable trajectory or lateral acceleration
only in response to road network layout and routing; lane transition either as step or as interpolated lateral motionn/a
  Co-ordinated Lane Change
– conditional on occupation
– double lane change
– cut-in
– cut-through
n/an/a
  Direct inputs to vehicle
Signals:
– throttle
– brake
– steering
– switches / handles
Functions:
– input function over time (step, ramp etc.)
n/a (externally computed positions may be provided but not inputs that a driver would typically provide)n/a
 Road Vehicle ActionsOvertakeno complex actionsn/a
  Follow another entity (keep time headway)no complex actionsn/a
  Stay ahead of another entity (keep time headway)no complex actionsn/a
  Position change in correlation to other participants (e.g. meet at certain point)no complex actionsn/a
 Rail Vehicle ManeuversSpeed Change (absolute / relative)
– step
– ramp (constant acceleration)
– higher-order function
only in response to network parameterizationn/a
  Direct inputs to vehicle
Signals:
– throttle
– brake
– switches / handles
Functions:
– input function over time (step, ramp etc.)
n/a (externally computed positions may be provided but not inputs that a driver would typically provide)n/a
 Rail Vehicle ActionsFollow another entity (keep time headway)no complex actionsn/a
  Stay ahead of another entity (keep time headway)no complex actionsn/a
 PedestriansCompute direction and speedin response to network layout, signage and potential conflict areasflow only
  Keep within designated areasdittoflow only
  Look-ahead distance [s] for longitudinal controlsimplified collision prevention modelflow only
  Look-ahead distance [s] for lateral controln/an/a
  Desire to pass slower entitieswith simplified collision preventionn/a
  Response to entities approaching from the rearn/an/a
  Response to oncoming entitiessimplified collision preventionn/a
  Response to emergency servicesn/an/a
 Pedestrian ManeuversSpeed Change
– absolute / relative to current state
– step
– ramp (constant acceleration)
– higher-order function
only by network constraintsn/a
  Direction Change
– absolute / relative to current state
– instantaneous
– smooth, configurable trajectory or lateral acceleration
only by network constraints 
  Execute Gesture
– single
– multiple
– infinite
n/an/a
  Execute Motion
– dedicated speed
– dedicated pattern
n/an/a
 Pedestrian ActionsCross Roadonly as given by network and routing optionsn/a
  Navigate to pointn/a 
  Queue up at pointin waiting areas for mass transport meansn/a
  Enter entity (vehicle / building)acting like sources and sinksflow only
  Exit from entity (vehicle / building)acting like sources and sinksflow only
OtherWeatherInfluence of weather on:
– road properties (friction, surface)
– perception quality of controllers (visibility)
– network (speed restrictions)
influence on average speed and vehicle distributioninfluence on entity flow
FormatsNetworkStandards:
– ASAM OpenDRIVE
Other Formats:
– OpenStreetMap
– Lanelet2
– proprietary formats
ditton/a
 Participants and ControllersStandards:
– ASAM OpenSCENARIO
Other Formats:
– Foretellix Open M-SDL
– nVIDIA H-SDL
– proprietary formats
proprietary formatsproprietary formats
Table: some aspects of traffic simulation…

Summary

Traffic simulation comes in various levels of granularity. Depending on your use case you might be interested in the load on your infrastructure or in the details of individual participants’ behaviors. Several categories of traffic simulation have emerged, and we tried to clarify the criteria along which the solutions fall into one or multiple categories. Many aspects in our rating system are based on this knowledge.

Final Remarks

All information in this post and on Sim|Cert in general is provides AS IS without any warranty of correctness and usability for any purpose. Please take notice of our Disclaimer.

SimCert is an initiative by Engineering Services M. Dupuis.