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:
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).
Component | Feature | nanoscopic | microscopic | macroscopic |
Network | Accuracy | 0.5 – 1 cm | 10 cm | 10m – 1km |
Nodes | Road 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 | ||
Edges | Full 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 Objects | Traffic 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 | ||||
Participants | Quantity | hundreds | thousands | flow only |
Vehicles | Body Motion rollpitchyaw | – yaw | n/a | |
Single body / multi-body: – rigid vehicle – frame / suspended cabin | – rigid vehicles | n/a | ||
Wheel articulation – deflection – steering (one-to-n axles) | n/a | n/a | ||
road contact per entity or per wheel – friction – elevation – super-elevation – micro-surface (e.g., potholes) | n/a | n/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 | – boxes | n/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/a | n/a | ||
connected / articulated groups: – trailer – articulated bus/tram/train | ditto | n/a | ||
accessories – roof-top loads – bicycles | n/a | n/a | ||
Persons / Animals | Articulated Skeleton | rigid body | point 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/a | n/a | ||
Gestures: – look at – point at – wave | n/a | n/a | ||
Instantiation | Continuous (with configurable distribution) – sources – sinks – bubbles (around pivots) | sources sinks | sources sinks | |
Discrete (individual entity with specific configuration) – internally created – externally created and controlled | n/a | n/a | ||
Controllers | General | Granularity 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/a | n/a | ||
Execution of scripted maneuvers – fully deterministic – repeatable randomness | no scripted maneuvers | n/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 probabilities | no 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 probabilities | according 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 routing | flow 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 following | n/a | ||
Collision avoidance – avoid collision – allow collision – everywhere | when following other vehicles and in conflict areas only | n/a | ||
Execution logics: – conditional execution of maneuvers and actions | scripting for groups and categories, not for individual entities | n/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 entities | n/a | ||
Vehicles | Compute control means: – throttle / brake – longitudinal acceleration (alternatively to pedals) – steering | no computation of input; just resulting acceleration | n/a | |
Compute operation of lights (e.g., indicator) including animation | partial operation of lights | n/a | ||
Take vehicle dimensions and kinematics into account (e.g., for freespace driving or wide turns of long trucks) | – bounding boxes for (partial) lane occupation | included in calculation of maximum flow | ||
Desired maximum longitudinal and lateral acceleration (different absolute limits for positive and negative values) | ditto | n/a | ||
Quality (accuracy) of lane keeping (amplitude and frequency of sway) | n/a | n/a | ||
Accuracy of speed keeping | part of lane-following model; distribution over all participants | n/a | ||
Accuracy of distance keeping | part of lane-following model; distribution over all participants | n/a | ||
Look-ahead distance [s] for longitudinal control | n/a | n/a | ||
Look-ahead distance [s] for lateral control | n/a | n/a | ||
Desire to pass slower entities | distribution over all participants | n/a | ||
Response to entities approaching from the rear | n/a | n/a | ||
Response to emergency services (get out of way, yield, provide corridor) | n/a | n/a | ||
Road Vehicle Maneuvers | Speed Change (absolute / relative) – step – ramp (constant acceleration) – higher-order function | only in response to road network parameterization | by 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 motion | n/a | ||
Co-ordinated Lane Change – conditional on occupation – double lane change – cut-in – cut-through | n/a | n/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 Actions | Overtake | no complex actions | n/a | |
Follow another entity (keep time headway) | no complex actions | n/a | ||
Stay ahead of another entity (keep time headway) | no complex actions | n/a | ||
Position change in correlation to other participants (e.g. meet at certain point) | no complex actions | n/a | ||
Rail Vehicle Maneuvers | Speed Change (absolute / relative) – step – ramp (constant acceleration) – higher-order function | only in response to network parameterization | n/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 Actions | Follow another entity (keep time headway) | no complex actions | n/a | |
Stay ahead of another entity (keep time headway) | no complex actions | n/a | ||
Pedestrians | Compute direction and speed | in response to network layout, signage and potential conflict areas | flow only | |
Keep within designated areas | ditto | flow only | ||
Look-ahead distance [s] for longitudinal control | simplified collision prevention model | flow only | ||
Look-ahead distance [s] for lateral control | n/a | n/a | ||
Desire to pass slower entities | with simplified collision prevention | n/a | ||
Response to entities approaching from the rear | n/a | n/a | ||
Response to oncoming entities | simplified collision prevention | n/a | ||
Response to emergency services | n/a | n/a | ||
Pedestrian Maneuvers | Speed Change – absolute / relative to current state – step – ramp (constant acceleration) – higher-order function | only by network constraints | n/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/a | n/a | ||
Execute Motion – dedicated speed – dedicated pattern | n/a | n/a | ||
Pedestrian Actions | Cross Road | only as given by network and routing options | n/a | |
Navigate to point | n/a | |||
Queue up at point | in waiting areas for mass transport means | n/a | ||
Enter entity (vehicle / building) | acting like sources and sinks | flow only | ||
Exit from entity (vehicle / building) | acting like sources and sinks | flow only | ||
Other | Weather | Influence of weather on: – road properties (friction, surface) – perception quality of controllers (visibility) – network (speed restrictions) | influence on average speed and vehicle distribution | influence on entity flow |
Formats | Network | Standards: – ASAM OpenDRIVE Other Formats: – OpenStreetMap – Lanelet2 – proprietary formats | ditto | n/a |
Participants and Controllers | Standards: – ASAM OpenSCENARIO Other Formats: – Foretellix Open M-SDL – nVIDIA H-SDL – proprietary formats | proprietary formats | proprietary formats |
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.