Main Content

Double-Lane Change Maneuver

This reference application represents a full vehicle dynamics model undergoing a double-lane change maneuver according to standard ISO 3888-2[1]. You can create your own versions, establishing a framework to test that your vehicle meets the design requirements under normal and extreme driving conditions. Use the reference application to analyze vehicle ride and handling and develop chassis controls. To perform vehicle studies, including yaw stability and lateral acceleration limits, use this reference application.

ISO 3888-21 defines the double-lane change maneuver to test the obstacle avoidance performance of a vehicle. In the test, the driver:

  • Accelerates until vehicle hits a target velocity

  • Releases the accelerator pedal

  • Turns steering wheel to follow path into the left lane

  • Turns steering wheel to follow path back into the right lane

Typically, cones mark the lane boundaries. If the vehicle and driver can negotiate the maneuver without hitting a cone, the vehicle passes the test.

To test advanced driver assistance systems (ADAS) and automated driving (AD) perception, planning, and control software, you can run the maneuver in a 3D environment. For the 3D visualization engine platform requirements and hardware recommendations, see 3D Visualization Engine Requirements and Limitations.

To create and open a working copy of the double-lane change reference application project, enter

This table summarizes the blocks and subsystems in the reference application. Some subsystems contain variants.

Reference Application ElementDescriptionVariants

Lane Change Reference Generator

Generates lane signals for the visualization subsystem and trajectory signals

 

Driver Commands

Implements the driver model that the reference application uses to generate acceleration, braking, gear, and steering commands.

By default, Driver Commands subsystem variant is the Predictive Driver block.

Environment

Implements wind and ground forces

Controllers

Implements controllers for engine control units (ECUs), transmissions, brakes, and active differentials

Passenger Vehicle

Implements the:

  • Body, suspension, and wheels

  • Engine

  • Steering, transmission, driveline, and brakes

Visualization

Provides the vehicle trajectory, driver response, and 3D visualization

To override the default variant, on the Modeling tab, in the Design section, click the drop-down. In the General section, select Variant Manager. In the Variant Manager, navigate to the variant that you want to use. Right-click and select Override using this Choice.

Lane Change Reference Generator

Use the Lane Change Reference Generator block to generate:

  • Lane signals for the Visualization subsystem — The left and right lane boundaries are a function of the Vehicle width parameter.

  • Velocity and lateral reference signals for the Predictive Driver block — Use the Lateral reference position breakpoints and Lateral reference data parameters to specify the lateral reference trajectory as a function of the longitudinal distance.

To specify the target velocity, use the Longitudinal entrance velocity setpoint parameter.

Driver Commands

The Driver Commands block implements the driver model that the reference application uses to generate acceleration, braking, gear, and steering commands. By default, if you select the Reference Generator block parameter Use maneuver-specific driver, initial position, and scene, the reference application selects the driver for the maneuver that you specified.

Vehicle Command Mode Setting

Implementation

Longitudinal Driver

Longitudinal Driver block — Longitudinal speed-tracking controller. Based on reference and feedback velocities, the block generates normalized acceleration and braking commands that can vary from 0 through 1. Use the block to model the dynamic response of a driver or to generate the commands necessary to track a longitudinal drive cycle.

Predictive Driver

Predictive Driver block — Controller that generates normalized steering, acceleration, and braking commands to track longitudinal velocity and a lateral reference displacement. The normalized commands can vary between -1 to 1. The controller uses a single-track (bicycle) model for optimal single-point preview control.

Open Loop

Implements an open-loop system so that you can configure the reference application for constant or signal-based steering, acceleration, braking, and gear command input.

Environment

The Environment subsystem generates the wind and ground forces. The reference application has these environment variants.

EnvironmentVariantDescription

Ground Feedback

3D Engine

Uses Vehicle Terrain Sensor block to implement ray tracing in 3D environment

Constant (default)

Implements a constant friction value

Controllers

The Controllers subsystem generates engine torque, transmission gear, brake pressure, and differential pressure commands.

ECU

The ECU controller generates the engine torque command. The controller prevents over-revving the engine by limiting the engine torque command to the value specified by model workspace variable EngRevLim. By default, the value is 7000 rpm. If the differential torque command exceeds the limited engine torque command, the ECU sets the engine torque command to the commanded differential torque.

Transmission Controller

The Transmission Controller subsystem generates the transmission gear command. The controller includes these variants.

VariantDescription

Transmission Controller

Implements a transmission control module (TCM) that uses Stateflow® logic to generate the gear command based on the vehicle acceleration, wheel speed, and engine speed.

Driver - No Clutch

Open loop transmission control. The controller sets the gear command to the gear request.

PRNDL Controller (default)

Implements a transmission control module (TCM) that uses Stateflow logic to generate the gear command based on the vehicle acceleration, brake command, wheel speed, engine speed, and gear request.

Paddles

Implements a paddle controller that uses the vehicle acceleration and engine speed to generate the gear command.

Brake Controller

The Brake Controller subsystem implements a Brake Pressure Control subsystem to generate the brake pressure command. The Brake Pressure Control subsystem has these variants.

VariantDescription

Bang Bang ABS

Implements an anti-lock braking system (ABS) feedback controller that switches between two states to regulate wheel slip. The bang-bang control minimizes the error between the actual slip and desired slip. For the desired slip, the controller uses the slip value at which the mu-slip curve reaches a peak value. This desired slip value is optimal for minimum braking distance.

Open Loop (default)

Open loop brake control. The controller sets the brake pressure command to a reference brake pressure based on the brake command.

Active Differential Control

The Active Differential Control subsystem generates the differential pressure command. To calculate the command, the subsystem has these variants.

VariantDescription

Rear Diff Controller

Implements a controller that generates the differential pressure command based on the:

  • Steer angle

  • Vehicle pitch, yaw, and roll

  • Brake command

  • Wheel speed

  • Gear

  • Vehicle acceleration

No Control (default)

Does not implement a controller. Sets the differential pressure command to 0.

Passenger Vehicle

The Passenger Vehicle subsystem has an engine, controllers, and a vehicle body with four wheels. Specifically, the vehicle contains these subsystems.

Body, Suspension, Wheels SubsystemVariantDescription

PassVeh7DOF

PassVeh7DOF

Vehicle with four wheels:

  • Vehicle body has three degrees-of-freedom (DOFs) — Longitudinal, lateral, and yaw

  • Each wheel has one DOF — Rolling

PassVeh14DOF

PassVeh14DOF (default)

Vehicle with four wheels.

  • Vehicle body has six DOFs — Longitudinal, lateral, vertical and pitch, yaw, and roll

  • Each wheel has two DOFs — Vertical and rolling

Engine SubsystemVariantDescription

Mapped Engine

SiMappedEngine (default)

Mapped spark-ignition (SI) engine

Steering, Transmission, Driveline, and Brakes Subsystem

VariantDescription

Driveline Ideal Fixed Gear

Driveline model

All Wheel Drive

Configure the driveline for all-wheel, front-wheel, or rear-wheel drive and specify the type of torque coupling.

Front Wheel Drive

Rear Wheel Drive (default)

Transmission

Ideal (default)

Implements an ideal fixed gear transmission.

Brake Hydraulics

NA

Implements the heuristic response of a hydraulic system when the controller applies a brake command to a cylinder. The subsystem converts the applied pressure to a cylinder spool position. To generate the brake pressure, the spool applies a flow downstream to the cylinders.

Visualization

When you run the simulation, the Visualization subsystem provides driver, vehicle, and response information. The reference application logs vehicle signals during the maneuver, including steering, vehicle and engine speed, and lateral acceleration. You can use the Simulation Data Inspector to import the logged signals and examine the data.

Image of Visualization subsystem

ElementDescription

Driver Commands

Driver commands:

  • Handwheel angle

  • Acceleration command

  • Brake command

Vehicle Response

Vehicle response:

  • Engine speed

  • Vehicle speed

  • Acceleration command

Lane Change Scope block

Lateral vehicle displacement versus time:

  • Red line — Cones marking lane boundary

  • Blue line — Reference trajectory

  • Green line — Actual trajectory

Steer vs Ay Scope block

Steering angle versus lateral acceleration

Steer, Velocity, Lat Accel Scope block

  • SteerAngle — Steering angle versus time

  • <xdot> — Longitudinal vehicle velocity versus time

  • <ay> — Lateral acceleration versus time

Vehicle XY Plotter

Vehicle longitudinal versus lateral distance

ISO 15037-1:2006 block

Display ISO standard measurement signals in the Simulation Data Inspector, including steering wheel angle and torque, longitudinal and lateral velocity, and sideslip angle

3D Visualization

Optionally, you can enable or disable the 3D visualization environment. For the 3D visualization engine platform requirements and hardware recommendations, see 3D Visualization Engine Requirements and Limitations. After you open the reference application, in the Visualization subsystem, open the 3D Engine block. Set these parameters.

  • 3D Engine to Enabled.

  • Scene to one of the scenes, for example Straight road.

    Image of selecting straight road parameter

  • To position the vehicle in the scene:

    1. Select the position initialization method:

      • Recommended for scene — Set the initial vehicle position to values recommended for the scene

      • User-specified — Set your own initial vehicle position

    2. Click Update the model workspaces with the initial values to overwrite the initial vehicle position in the model workspaces with the applied values.

When you run the simulation, view the vehicle response in the AutoVrtlEnv window.

Note

  • To open and close the AutoVrtlEnv window, use the Simulink® Run and Stop buttons. If you manually close the AutoVrtlEnv window, Simulink stops the simulation with an error.

  • When you enable the 3D visualization environment, you cannot step the simulation back.

To smoothly change the camera views, use these key commands.

KeyCamera View

1

Back left

Image showing key commands and corresponding camera view

 View Animated GIF

2

Back

3

Back right

4

Left

5

Internal

6

Right

7

Front left

8

Front

9

Front right

0

Overhead

For additional camera controls, use these key commands.

KeyCamera Control
Tab

Cycle the view between all vehicles in the scene.

 View Animated GIF

Mouse scroll wheel

Control the camera distance from the vehicle.

 View Animated GIF

L

Toggle a camera lag effect on or off. When you enable the lag effect, the camera view includes:

  • Position lag, based on the vehicle translational acceleration

  • Rotation lag, based on the vehicle rotational velocity

This lag enables improved visualization of overall vehicle acceleration and rotation.

 View Animated GIF

F

Toggle the free camera mode on or off. When you enable the free camera mode, you can use the mouse to change the pitch and yaw of the camera. This mode enables you to orbit the camera around the vehicle.

 View Animated GIF

References

[1] ISO 3888-2: 2011. Passenger cars — Test track for a severe lane-change manoeuvre.

See Also

| | |

Related Examples

More About