Swept-Sine Steering Maneuver

This reference application represents a full vehicle dynamics model undergoing a swept-sine steering maneuver. You can create your own versions, providing 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 analyze the dynamic steering response, use this reference application.

The swept-sine steering maneuver tests the vehicle frequency response to steering inputs. In the test, the driver:

  • Accelerates until the vehicle hits a target velocity.

  • Commands a sinusoidal steering wheel input.

  • Linearly increase the frequency of the sinusoidal wave.

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.

To create and open a working copy of the swept-sine steering reference application project, enter

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

Reference Application ElementDescriptionVariants

Swept Sine Reference Generator block

Generate the sinusoidal steering commands for a swept-sine steering maneuver.

 

Longitudinal Driver block

Generates normalized acceleration and braking commands to track speed.

 

Environment

Implements wind and road forces.

Controllers

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

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.

Swept Sine Reference Generator

Use the Swept Sine Reference block to generate the sinusoidal steering commands for a swept-sine steering maneuver.

  • Longitudinal velocity setpoint — Target velocity

  • Steering amplitude — Sinusoidal wave amplitude

  • Final frequency — Cut off frequency to stop the maneuver

Longitudinal Driver

To track the vehicle speed, the Longitudinal Driver block implements an optimal single-point preview (look ahead) control model developed by C. C. MacAdam1, 2, 3. The model represents driver steering control behavior during path-following and obstacle avoidance maneuvers. Drivers preview (look ahead) to follow a predefined path.

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, and brake commands. The reference application has these brake variants.

ControllerVariantDescription

Brake Pressure Control

Bang Bang ABS

Anti-lock braking system (ABS) feedback controller that switches between two states

Open Loop (default)

Open loop braking controller

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 (default)

Vehicle with four wheels:

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

  • Each wheel has one DOF — Rolling

PassVeh14DOF

PassVeh14DOF

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

Specify the type of torque coupling

Front Wheel Drive

Rear Wheel Drive (default)

Transmission

Ideal (default)

Ideal fixed gear transmission

Visualization Subsystem

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.

ElementDescription

Driver Commands

Driver commands:

  • Handwheel angle

  • Acceleration command

  • Brake command

Vehicle Response

Vehicle response:

  • Engine speed

  • Vehicle speed

  • Acceleration command

Yaw Rate and Steer Scope block

Yaw rate and steering angle versus time:

  • Yellow line — Yaw rate

  • Blue lines — Steering angle

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

Plot of 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. 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.

  • 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. Select Apply to modify the initial vehicle position parameters.

    3. 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 change the camera views, use these key commands.

KeyCamera View

1

Back left

2

Back

3

Back right

4

Left

5

Internal

6

Right

7

Front left

8

Front

9

Front right

0

Overhead

References

[1] MacAdam, C. C. "An Optimal Preview Control for Linear Systems". Journal of Dynamic Systems, Measurement, and Control. Vol. 102, Number 3, Sept. 1980.

[2] MacAdam, C. C. "Application of an Optimal Preview Control for Simulation of Closed-Loop Automobile Driving ". IEEE Transactions on Systems, Man, and Cybernetics. Vol. 11, Issue 6, June 1981.

[3] MacAdam, C. C. Development of Driver/Vehicle Steering Interaction Models for Dynamic Analysis. Final Technical Report UMTRI-88-53. Ann Arbor, Michigan: The University of Michigan Transportation Research Institute, Dec. 1988.

See Also

| | |

Related Examples

More About