Main Content

Dynamic Steering

Dynamic steering for Ackerman, rack-and-pinion, and parallel steering mechanisms

  • Library:
  • Vehicle Dynamics Blockset / Steering

  • Dynamic Steering block

Description

The Dynamic Steering block implements dynamic steering to calculate the wheel angles for Ackerman, rack-and-pinion, and parallel steering mechanisms. The block uses the steering wheel input torque, right wheel torque, and left wheel torque to calculate the wheel angles. The block uses the vehicle coordinate system.

If you select Power assist, you can specify a torque assist lookup table that is a function of the vehicle speed and steering wheel input torque. The block uses the steering wheel input torque and torque assist to calculate the steering dynamics.

To specify the steering type, use the Type parameter.

SettingBlock Implementation

Ackerman

Ideal Ackerman steering. Wheel angles have a common turning circle center.

Rack and pinion

Ideal rack-and-pinion steering. Gears convert the steering rotation into linear motion.

Parallel

Parallel steering. Wheel angles are equal.

To specify the type of data for the steering mechanism, use the Parametrized by parameter.

SettingBlock Implementation

Constant

Steering mechanism uses constant parameter data.

Lookup table

Steering mechanism implements tables for parameter data.

Use the Location parameter to specify front or rear steering.

SettingImplementation
Front

Front steering

Figure of front steering turning right

Rear

Rear steering

Figure of rear steering turning right

Dynamics

To calculate the steering dynamics, the Dynamic Steering block models the steering wheel, shaft, steering mechanism, hysteresis, and, optionally, power assist.

Figure of steering wheel, spring damper, and steering mechanism

CalculationEquations

Steering column and steering shaft dynamics

J1θ¨1=τinb2θ˙1τhys

J2θ¨2=τeqb3θ˙2+τhysτfric

Hysteresis spring damper

δ=θ1θ2Δδ=δcurrentδpreviousτhys=(b1δ˙k1δ)(1+exp(|Δδ|β))β={βu   when  δ>0βl    when  δ0

Optional power assist

τast=ftrq(v,τin)J1θ¨1=τin+τastb2θ˙1τhysJ2θ¨2=τeq+τastb3θ˙2+τhysτfric

The illustration and equations use these variables.

J1

Steering wheel inertia

J2

Steering mechanism inertia

θ1,θ˙1,θ¨1

Steering wheel angle, angular velocity, and angular acceleration, respectively

θ2,θ˙2,θ¨2

Shaft angle, angular velocity, and angular acceleration, respectively

b1, k1

Hysteresis spring and viscous damping coefficients, respectively

b2

Steering wheel viscous damping coefficient

b3

Steering mechanism damping coefficient

τhys

Hysteresis spring damping torque

τfric

Steering mechanism friction torque

τeq

Wheel equivalent torque

τast

Torque assist

βu , βl

Upper and lower hysteresis modifiers, respectively

v

Vehicle speed

ƒtrq

Torque assist lookup table

Steering Types

Ackerman

For ideal Ackerman steering, the wheel angles have a common turning circle.

Figure of Ackerman steering turning right around turning circle

To calculate the steering angles, the block uses these equations.

cot(δL)cot(δR)=TWWBδvir=δinγδL=tan1(WBtan(δvir)WB0.5TWtan(δvir))δR=tan1(WBtan(δvir)WB+0.5TWtan(δvir))

The illustration and equations use these variables.

δin

Steering angle

δL

Left wheel angle

δR

Right wheel angle

δvir

Virtual wheel angle

TW

Track width

WB

Wheel base

γ

Steering ratio

Rack-and-Pinion

For ideal rack-and-pinion steering, the gears convert the steering rotation into linear motion.

Figure of rack, rod, and arm in rack and pinion steering mechanism

Figure of rod in rack and pinion steering mechanism

To calculate the steering angles, the block uses these equations.

l1=TWlrack2ΔPl22=l12+D2ΔP=rδinβ=π2tan1[Dl1]cos1[larm2+l22lrod22larml2]

The illustration and equations use these variables.

δin

Steering wheel angle

δL

Left wheel angle

δR

Right wheel angle

TW

Track width

r

Pinion radius

ΔP

Linear change in rack position

D

Distance between front axis and rack

lrack

Rack casing length

larm

Steering arm length

lrod

Tie rod length

Parallel

For parallel steering, the wheel angles are equal.

Figure parallel steering where wheel angles are equal

To calculate the steering angles, the block uses this equation.

δR=δL=δinγ

The illustration and equations use these variables.

δin

Steering wheel angle

δL

Left wheel angle

δR

Right wheel angle

γ

Steering ratio

Ports

Input

expand all

Torque, τin, in N·m.

Left wheel torque, τL, in N·m.

Right wheel torque, τR, in N·m.

Vehicle speed, v, in m/s.

Dependencies

To create VehSpd, select Power assist.

Output

expand all

Bus signal contains these block calculations.

SignalDescriptionUnit

StrgWhlAng

Steering wheel angle

rad

StrgWhlSpd

Steering wheel angular velocity

rad/s

ShftAng

Shaft angle

rad

ShftSpd

Shaft angular velocity

rad/s

AngLft

Left wheel angle

rad

SpdLft

Left wheel angular velocity

rad/s

AngRght

Right wheel angle

rad

SpdRght

Right wheel angular velocity

rad/s

TrqAst

Torque assist

N·m

PwrAst

Power assist

W

PwrLoss

Power loss

W

InstStrgRatio

Instantaneous steering ratio

NA

Left wheel angle, δL, in rad.

Right wheel angle, δR, in rad.

Parameters

expand all

To specify the steering type, use the Type parameter.

SettingBlock Implementation

Ackerman

Ideal Ackerman steering. Wheel angles have a common turning circle center.

Rack and pinion

Ideal rack-and-pinion steering. Gears convert the steering rotation into linear motion.

Parallel

Parallel steering. Wheel angles are equal.

Dependencies

This table summarizes the Type and Parametrized by parameter dependencies.

TypeParameterized ByCreates Parameters

Ackerman

Constant

Track width, TrckWdth

Wheel base, WhlBase

Steering range, StrgRng

Steering ratio, StrgRatio

Lookup table

Track width, TrckWdth

Wheel base, WhlBase

Steering range, StrgRng

Steering angle breakpoints, StrgAngBpts

Steering ratio table, StrgRatioTbl

Rack and pinion

Constant

Track width, TrckWdth

Steering range, StrgRng

Steering arm length, StrgArmLngth

Rack casing length, RckCsLngth

Tie rod length, TieRodLngth

Distance between front axis and rack, D

Pinion radius, PnnRadius

Lookup table

Track width, TrckWdth

Steering range, StrgRng

Steering angle breakpoints, StrgAngBpts

Steering arm length, StrgArmLngth

Rack casing length, RckCsLngth

Tie rod length, TieRodLngth

Distance between front axis and rack, D

Pinion radius, PnnRadiusTbl

ParallelConstant

Steering range, StrgRng

Steering ratio, StrgRatio

Lookup table

Steering range, StrgRng

Steering angle breakpoints, StrgAngBpts

Steering ratio table, StrgRatioTbl

To specify the type of data for the steering mechanism, use the Parametrized by parameter.

SettingBlock Implementation

Constant

Steering mechanism uses constant parameter data.

Lookup table

Steering mechanism implements tables for parameter data.

Dependencies

This table summarizes the Type and Parametrized by parameter dependencies.

TypeParameterized ByCreates Parameters

Ackerman

Constant

Track width, TrckWdth

Wheel base, WhlBase

Steering range, StrgRng

Steering ratio, StrgRatio

Lookup table

Track width, TrckWdth

Wheel base, WhlBase

Steering range, StrgRng

Steering angle breakpoints, StrgAngBpts

Steering ratio table, StrgRatioTbl

Rack and pinion

Constant

Track width, TrckWdth

Steering range, StrgRng

Steering arm length, StrgArmLngth

Rack casing length, RckCsLngth

Tie rod length, TieRodLngth

Distance between front axis and rack, D

Pinion radius, PnnRadius

Lookup table

Track width, TrckWdth

Steering range, StrgRng

Steering angle breakpoints, StrgAngBpts

Steering arm length, StrgArmLngth

Rack casing length, RckCsLngth

Tie rod length, TieRodLngth

Distance between front axis and rack, D

Pinion radius, PnnRadiusTbl

ParallelConstant

Steering range, StrgRng

Steering ratio, StrgRatio

Lookup table

Steering range, StrgRng

Steering angle breakpoints, StrgAngBpts

Steering ratio table, StrgRatioTbl

If you select Power assist, you can specify a torque assist lookup table, ƒtrq, that is a function of the vehicle speed, v, and steering wheel input torque, τin.

τast=ftrq(v,τin)

The block uses the steering wheel input torque and torque assist to calculate the steering dynamics.

Dependencies

Selecting Power assist creates the VehSpd input port and these parameters.

Power AssistParameters

on

Steering wheel torque breakpoints, TrqBpts

Vehicle speed breakpoints, VehSpdBpts

Assisting torque table, TrqTbl

Assisting torque limit, TrqLmt

Assisting power limit, PwrLmt

Assisting torque efficiency, Eta

Cutoff frequency, omega_c

Use the Location parameter to specify front or rear steering.

SettingImplementation
Front

Front steering

Figure of front steering turning right

Rear

Rear steering

Figure of rear steering turning right

General

Track width, TW, in m.

Dependencies

To create this parameter, set Type to Ackerman or Rack and pinion.

Wheel base, WB, in m.

Dependencies

To create this parameter, set Type to Ackerman.

Steering range, in rad. The block limits the wheel angles to remain within the steering range.

Steering ratio, γ, dimensionless.

Dependencies

To create this parameter:

  • Set Type to Ackerman or Parallel.

  • Set Parametrized by to Constant.

Steering angle breakpoints, in rad.

Dependencies

To create this parameter, set Parametrized by to Lookup table.

Steering ratio table, γ, dimensionless.

Dependencies

To create this parameter:

  • Set Type to Ackerman or Parallel.

  • Set Parametrized by to Lookup table.

Rack-and-Pinion

Steering arm length, larm, in m.

Dependencies

To create this parameter, set Type to Rack and pinion.

Rack casing length, lrack, in m.

Dependencies

To create this parameter, set Type to Rack and pinion.

Tie rod length, lrod, in m.

Dependencies

To create this parameter, set Type to Rack and pinion.

Distance between front axis and rack, D, in m.

Dependencies

To create this parameter, set Type to Rack and pinion.

Pinion radius, r, in m.

Dependencies

To create this parameter:

  • Set Type to Rack and pinion.

  • Set Parametrized by to Constant.

Pinion radius table, r, in m.

Dependencies

To create this parameter:

  • Set Type to Rack and pinion.

  • Set Parametrized by to Lookup table.

Dynamics

Steering wheel inertia, J1, in kg*m^2.

Steering mechanism inertia, J2, in kg*m^2.

Upper hysteresis modifier, βu, dimensionless.

Lower hysteresis modifier, βl, dimensionless.

Hysteresis damping, b1, in N·m·s/rad.

Hysteresis stiffness, k1,in N·m/rad.

Steering wheel damping, b2, in N·m·s/rad.

Steering mechanism damping, b3, in N·m·s/rad.

Initial steering angle, θ0, in rad.

Initial steering angular velocity, ωo, in rad/s.

Friction torque, τfric, in N·m.

Power Assist

Steering wheel torque breakpoints, in N·m.

Dependencies

Selecting Power assist creates the VehSpd input port and these parameters.

Power AssistParameters

on

Steering wheel torque breakpoints, TrqBpts

Vehicle speed breakpoints, VehSpdBpts

Assisting torque table, TrqTbl

Assisting torque limit, TrqLmt

Assisting power limit, PwrLmt

Assisting torque efficiency, Eta

Cutoff frequency, omega_c

Vehicle speed breakpoints, in m/s.

Dependencies

Selecting Power assist creates the VehSpd input port and these parameters.

Power AssistParameters

on

Steering wheel torque breakpoints, TrqBpts

Vehicle speed breakpoints, VehSpdBpts

Assisting torque table, TrqTbl

Assisting torque limit, TrqLmt

Assisting power limit, PwrLmt

Assisting torque efficiency, Eta

Cutoff frequency, omega_c

Assisting torque table, ƒtrq, in N·m.

The torque assist lookup table is a function of the vehicle speed, v, and steering wheel input torque, τin.

τast=ftrq(v,τin)

The block uses the steering wheel input torque and torque assist to calculate the steering dynamics.

Dependencies

Selecting Power assist creates the VehSpd input port and these parameters.

Power AssistParameters

on

Steering wheel torque breakpoints, TrqBpts

Vehicle speed breakpoints, VehSpdBpts

Assisting torque table, TrqTbl

Assisting torque limit, TrqLmt

Assisting power limit, PwrLmt

Assisting torque efficiency, Eta

Cutoff frequency, omega_c

Assisting torque limit, in N·m.

Dependencies

Selecting Power assist creates the VehSpd input port and these parameters.

Power AssistParameters

on

Steering wheel torque breakpoints, TrqBpts

Vehicle speed breakpoints, VehSpdBpts

Assisting torque table, TrqTbl

Assisting torque limit, TrqLmt

Assisting power limit, PwrLmt

Assisting torque efficiency, Eta

Cutoff frequency, omega_c

Assisting power limit, in N·m/s.

Dependencies

Selecting Power assist creates the VehSpd input port and these parameters.

Power AssistParameters

on

Steering wheel torque breakpoints, TrqBpts

Vehicle speed breakpoints, VehSpdBpts

Assisting torque table, TrqTbl

Assisting torque limit, TrqLmt

Assisting power limit, PwrLmt

Assisting torque efficiency, Eta

Cutoff frequency, omega_c

Assisting torque efficiency, dimensionless.

Dependencies

Selecting Power assist creates the VehSpd input port and these parameters.

Power AssistParameters

on

Steering wheel torque breakpoints, TrqBpts

Vehicle speed breakpoints, VehSpdBpts

Assisting torque table, TrqTbl

Assisting torque limit, TrqLmt

Assisting power limit, PwrLmt

Assisting torque efficiency, Eta

Cutoff frequency, omega_c

Cutoff frequency, in rad/s.

Dependencies

Selecting Power assist creates the VehSpd input port and these parameters.

Power AssistParameters

on

Steering wheel torque breakpoints, TrqBpts

Vehicle speed breakpoints, VehSpdBpts

Assisting torque table, TrqTbl

Assisting torque limit, TrqLmt

Assisting power limit, PwrLmt

Assisting torque efficiency, Eta

Cutoff frequency, omega_c

References

[1] Crolla, David, David Foster, et al. Encyclopedia of Automotive Engineering. Volume 4, Part 5 (Chassis Systems) and Part 6 (Electrical and Electronic Systems). Chichester, West Sussex, United Kingdom: John Wiley & Sons Ltd, 2015.

[2] Gillespie, Thomas. Fundamentals of Vehicle Dynamics. Warrendale, PA: Society of Automotive Engineers, 1992.

[3] Vehicle Dynamics Standards Committee. Vehicle Dynamics Terminology. SAE J670. Warrendale, PA: Society of Automotive Engineers, 2008.

Extended Capabilities

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

Introduced in R2018a