Slowly Increasing Steer
Libraries:
Vehicle Dynamics Blockset /
Vehicle Scenarios /
Drive Cycle and Maneuvers
Description
The Slowly Increasing Steer block generates steering, accelerator, and brake commands to conduct a linearly increasing steering maneuver. The steering command begins at the specified rate once the vehicle reaches the longitudinal velocity setpoint. After the vehicle achieves the maximum steering angle, the vehicle maintains the steering angle for a set duration. The block then reduces the steering angle to zero at the same rate. A longitudinal controller regulates the vehicle at the prescribed speed throughout the maneuver. You have the option to stop the simulation at a lateral acceleration threshold.
The slowly increasing steer maneuver is a foundational test to help assess the vehicle's lateral dynamics and understeer characteristics. You can also use the maneuver to set up additional tests such as swept sine, sine with dwell, and fishhook.
Note
For information on the reference generator block used in the slowly increasing steer reference application, see Slowly Increasing Steer Reference Generator.
Ports
Input
xdot — Vehicle longitudinal velocity
scalar
Vehicle longitudinal velocity in the body fixed frame, specified as a scalar, in m/s.
Data Types: single
| double
ay — Vehicle lateral acceleration threshold
scalar
Vehicle lateral acceleration needed to stop the simulation, specified as a scalar, in m/s^2.
Dependencies
To enable this parameter, select Stop simulation at lateral acceleration threshold.
Data Types: single
| double
Output
DrvRef — Driver reference data
bus
Driver reference data, returned as a bus containing these block values.
Signal | Description | Units |
---|---|---|
| Longitudinal reference velocity | m/s |
| Lateral reference displacement | m |
| Vehicle global longitudinal reference position | m |
| Vehicle global lateral reference position | m |
| Vehicle global yaw reference position | rad |
| Reference path curvature | 1/m |
| Reference path curvature gradient | 1/m^2 |
Data Types: bus
DrvCmd — Driver command data
bus
Driver command data, returned as a bus containing these block values.
Signal | Description | Units | |
---|---|---|---|
|
| Boolean signal used to override driver model steering commands | one |
| Handwheel angle | one | |
| Boolean signal used to override driver model steering commands
with zero when value is | one | |
| Boolean signal used to hold the current driver model steering
output when | one | |
|
| Boolean signal used to override driver model acceleration commands | one |
| Normalized accelerator input | one | |
| Boolean signal used to hold the current driver model acceleration
output when | one | |
| Boolean signal used to override driver model acceleration
commands with zero when value is | one | |
|
| Boolean signal used to override driver model deceleration commands | one |
| Normalized decelerator or brake input | one | |
| Boolean signal used to hold the current driver model deceleration
output when | one | |
| Boolean signal used to override driver model deceleration
commands with zero when value is | one | |
| Normalized handbrake or park brake input | one | |
|
| Command to specify the transmission mode | one |
| Command to specify manual gear number or automatic transmission shifter position | one | |
| Command to upshift | one | |
| Command to downshift | one | |
| Normalized clutch open command for manual transmissions | one |
Note
By default, the TransCmd
bus is not actively used. Use a
Bus Assignment block to override the
TransCmd
signal to customize and extend the scenario.
Data Types: bus
Parameters
To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.
Maneuver Parameters
Maneuver start time, tStart [s] — Start time
2
(default) | positive scalar
Longitudinal velocity setpoint, velRef — Target velocity
50
(default) | positive scalar
Longitudinal velocity setpoint units, velRefUnit [] — Units
mph
(default)
Steer and countersteer speed, steerRate [deg/s] — Steer and countersteer rate
13.5
(default) | positive scalar
Steer amplitude, steerAmp [deg] — Handwheel steer amplitude
270
(default) | positive scalar
Steering hold time after max angle reached, tStop [s] — Steering hold time
2
(default) | positive scalar
Steering hold time after maximum steer amplitude is reached, in s.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | tStop |
Values: | 2 (default) | positive scalar |
Data Types: | double |
Lateral acceleration absolute threshold, ay_max [g] — Lateral acceleration threshold
0.5
(default) | positive scalar
Lateral acceleration threshold at which the simulation is stopped, in gee.
Dependencies
To enable this parameter, select Stop simulation at lateral acceleration threshold.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | ay_max |
Values: | 0.5 (default) | positive scalar |
Data Types: | double |
Initial steer direction — Initial steer direction
Right
(default) | Left
Set the initial steer direction as Right
or
Left
.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | steerDir |
Values: | Right (default) | Left |
Data Types: | character vector |
Stop simulation at lateral acceleration threshold — Option to stop simulation at lateral acceleration threshold
off
(default) | on
Select this parameter to stop the simulation at the input lateral acceleration threshold.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
To get the block parameter value
programmatically, use the get_param
function.
Parameter: | ayStop |
Values: | off (default) | on |
Data Types: | character vector |
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced in R2024b
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)