SDV Model

The SDV Model allows testers to express and simulate the vehicle behavior for complex scenarios that require reactive dynamic agents. It works as an extension of the base GeoScenario language and is focused on Human-Controlled Vehicles as dynamic agents in both scenario representation and execution in simulation.

The model is optional, and must be used based on scenario requirements and performance constraints. A GeoScenario can also be used with a combination of vehicles running the SDV model and vehicles using a non-reactive model (following trajectories).

The model targets three main qualities: - Reactive: Adapts to a variety of road shapes and configurations, traffic regulatory elements, and the dynamics of the surrouding traffic. In special, the model adapts to Ego's behavior. - Realistic: Constraints the agent's movement to the physical limitations of a real vehicle and is highly configurable to encode multiple human-driving styles. - Test oriented: behavior defined by the scenario testing goals.

It uses the scenario configuration space to optimize the vehicle towards the desired behavior, while constraining its mobility to the mechanical limitations and nonholonomic properties of typical vehicles driving on structured roads.

Layered Model Overview

The model combines driver and vehicle as a single entity and uses a layered architecture with a hierarchical structure of the driving task.

  • Behavior Layer: it structures the driver behavior. The main role of this layer is to break-down a complex task such as driving into smaller tasks and to coordinate the vehicle motion with a user-oriented DSL.
  • Maneuver Layer: it is responsible for the actual vehicle motion. It turns a decision from the behavior tree into a viable motion profile based on the road geometry, traffic conventions, the surrounding actors in traffic, and the expected driver behavior.
  • Execution Layer: it is responsible for the final execution in simulation. It uses the current vehicle state and the motion profile to move and update the vehicle according to the simulation time. The result from this layer is the final (Vehicle State) as the output from our model, which can be used by any simulation tool to be executed in a scenario (assuming a coordinate transformation is in place).

Notes:

  • Driver inputs, such as steering angle, braking, and throttle levels, are abstracted from the model.
  • The resulting behavior (model output) is the actual vehicle movement: position, velocity, acceleration, and heading at each point in time. We define this as Vehicle State
  • The model relies on two general assumptions: structured urban and rural road driving, and right-hand traffic.

The next sections detail the SDV model concepts and how it was designed. The reference implementation is available as part of the GeoScenario Server. To use the model, you can take a look at the sections Using the Model.

Examples

The model is able to handle intersections, the surrouding traffic, and even avoid obstacles.

Yielding at intersection:

Follow and stop based on leading vehicle's behavior:

Obstacle avoidance:

Perform lane swerve:

Change lanes to take and exit:

A cut-in maneuver: