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)
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.
First, let’s define the components whose characteristics will differ between the categories.
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 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 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.
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.
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).
0.5 – 1 cm
10m – 1km
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
Discrete (individual entity with specific configuration) – internally created – externally created and controlled
Granularity and frequency: – per actor – update in each simulation cycle
– per actor – update in each cycle
Perception per actor: – quality (frequency of dropouts) – delay (latency, reaction time)
Execution of scripted maneuvers – fully deterministic – repeatable randomness
no scripted maneuvers
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
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
Standards: – ASAM OpenDRIVE Other Formats: – OpenStreetMap – Lanelet2 – proprietary formats
Participants and Controllers
Standards: – ASAM OpenSCENARIO Other Formats: – Foretellix Open M-SDL – nVIDIA H-SDL – proprietary formats
Table: some aspects of traffic simulation…
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.
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.