Main Content

Fishhook

Generate commands to conduct fishhook maneuver

Since R2024b

  • Fishhook block icon

Libraries:
Vehicle Dynamics Blockset / Vehicle Scenarios / Drive Cycle and Maneuvers

Description

The Fishhook block generates parametric steer and countersteer commands upon reaching the target longitudinal velocity. Note that either time or roll rate feedback can trigger the countersteer action, optimizing the severity of the countersteer. This procedure is valuable for assessing rollover propensity and is typically parameterized by conducting a Slowly Increasing Steer test initially to determine the steering amplitude.

Ports

Input

expand all

Vehicle longitudinal velocity in the body fixed frame, specified as a scalar, in m/s.

Data Types: double

Vehicle roll rate, specified as a scalar, in rad/s.

Dependencies

To enable this parameter, select Use roll rate to determine initial steer dwell time.

Data Types: double

Output

expand all

Driver reference data, returned as a bus containing these block values.

SignalDescriptionUnits

LngRef

Longitudinal reference velocity

m/s

LtrRef

Lateral reference displacement

m

XRef

Vehicle global longitudinal reference position

m

YRef

Vehicle global lateral reference position

m

PhiRef

Vehicle global yaw reference position

rad

CurvRef

Reference path curvature

1/m

CurvGradRef

Reference path curvature gradient

1/m^2

Data Types: bus

Driver command data, returned as a bus containing these block values.

SignalDescriptionUnits

SteerCmd

EnblSteerCmd

Boolean signal used to override driver model steering commands

one

SteerCmd

Handwheel angle

one

SteerZero

Boolean signal used to override driver model steering commands with zero when value is true

one

SteerHld

Boolean signal used to hold the current driver model steering output when true

one

AccelCmd

EnblAccelCmd

Boolean signal used to override driver model acceleration commands

one

AccelCmd

Normalized accelerator input

one

AccelHld

Boolean signal used to hold the current driver model acceleration output when true

one

AccelZero

Boolean signal used to override driver model acceleration commands with zero when value is true

one

DecelCmd

EnblDecelCmd

Boolean signal used to override driver model deceleration commands

one

DecelCmd

Normalized decelerator or brake input

one

DecelHld

Boolean signal used to hold the current driver model deceleration output when true

one

DecelZero

Boolean signal used to override driver model deceleration commands with zero when value is true

one

HndBrkCmd

Normalized handbrake or park brake input

one

TransCmd

TransModeCmd

Transmission or drive mode command

one

GearCmd

Command to specify manual gear or automatic transmission shifter position

one

UpShiftCmd

Command to upshift

one

DwnShiftCmd

Command to downshift

one

ClutchCmd

Normalized clutch pedal command for manual transmissions

one

Note

By default, the TransCmd bus is not actively used. Use a Bus Assignment block to override the TransCmd bus to customize and extend the scenario.

Block diagram where the Bus Assignment block overrides the TransModeCmd output from the Fishhook block.

Data Types: bus

Parameters

expand all

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 start time, 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: tStart
Values: 2 (default) | positive scalar
Data Types: double

Target velocity.

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: velRef
Values: 30 (default) | positive scalar
Data Types: double

Units for target velocity.

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: velRefUnit
Values: mph (default) | character vector
Data Types: character vector

Steer and countersteer rate, in deg/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: steerRate
Values: 720 (default) | positive scalar
Data Types: double

Steer amplitude, in deg.

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: steerAmp
Values: 540 (default) | positive scalar
Data Types: double

Select this parameter to use the roll rate to determine the initial steer dwell time.

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: pFdbk
Values: off (default) | on
Data Types: character vector

Dwell period the initial steer amplitude is held, specified as a positive scalar, 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: tDwellSteer
Values: 0.5 (default) | positive scalar
Data Types: double

Dwell period for which the countersteer amplitude is held.

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: tDwellCntrSteer
Values: 3 (default) | positive scalar
Data Types: double

Time to return the countersteer amplitude to zero steer, 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: tZero
Values: 2 (default) | positive scalar
Data Types: double

Roll rate tolerance around zero from which to initiate the countersteer, in deg/s.

Dependencies

To enable this parameter, select Use roll rate to determine initial steer dwell time.

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: pZero
Values: 1.5 (default) | positive scalar
Data Types: double

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

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2024b