# Steering System

Steering system for Ackerman, rack-and-pinion, and parallel steering mechanisms

• Library:
• Vehicle Dynamics Blockset / Steering

## Description

The Steering System block implements dynamic steering to calculate the wheel angles for rack-and-pinion mechanisms with friction, compliance, and Ackerman steering features. The block uses the steering wheel input angle or torque, vehicle speed, caster angle, and right and left wheel feedbacks to calculate the wheel angles. The block uses the vehicle coordinate system.

If you select the Power assist parameter, 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. If you select the Ackerman steering parameter, you can specify a lookup table of percent Ackerman values to calculate the Ackerman steering effects. Otherwise, the block calculates the wheel angles based on a perfect 100 percent Ackerman.

If you select the Power assist, Ackerman steering, or Kingpin moment parameters in the Input signals section, you can specify additional inputs for the external power assist torques, percent Ackerman values, or kingpin moments.

Use the parameter to specify front or rear steering.

SettingImplementation

Front steering

Rear steering

### Steering

Rack-and-Pinion

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

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

`$\begin{array}{l}{l}_{1}=\frac{TW-{l}_{rack}}{2}-\Delta P\\ \\ {l}_{2}{}^{2}={l}_{1}{}^{2}+{D}^{2}\\ \\ \Delta P=r{\delta }_{in}\\ \\ \beta =\frac{\pi }{2}-{\mathrm{tan}}^{-1}\left[\frac{D}{{l}_{1}}\right]-{\mathrm{cos}}^{-1}\left[\frac{{l}_{arm}{}^{2}+{l}_{2}{}^{2}-{l}_{rod}{}^{2}}{2{l}_{arm}{l}_{2}}\right]\end{array}$`

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

Ackerman

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

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

`$\begin{array}{l}\mathrm{cot}\left({\delta }_{L}\right)-\mathrm{cot}\left({\delta }_{R}\right)=\frac{TW}{WB}\\ \\ {\delta }_{Ack}=\frac{{\delta }_{in}}{\gamma }\\ \\ {\delta }_{L}={\mathrm{tan}}^{-1}\left(\frac{WB\mathrm{tan}\left({\delta }_{Ack}\right)}{WB+0.5TW\mathrm{tan}\left({\delta }_{Ack}\right)}\right)\\ {\delta }_{R}={\mathrm{tan}}^{-1}\left(\frac{WB\mathrm{tan}\left({\delta }_{Ack}\right)}{WB-0.5TW\mathrm{tan}\left({\delta }_{Ack}\right)}\right)\end{array}$`

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

## Ports

### Input

expand all

Vehicle speed, v, in m/s, specified as a scalar.

Wheel caster angle, τL, in radians, specified as a `1`-by-`2` vector. The first element represents the angle of the left wheel and the second element represents the angle of the right wheel.

#### Dependencies

To enable this port, clear Input signals > Kingpin moment.

Wheel angle feedback, in radians, specified as a `1`-by-`2` vector. The first element represents the angle feedback for the left wheel and the second element represents the angle feedback for the right wheel.

#### Dependencies

To enable this port, clear Input signals > Kingpin moment.

Steering angle input, in radians, specified as a scalar.

#### Dependencies

To enable this port, select Steer inputs > Angle.

Steering torque input, in N*m, specified as a scalar.

#### Dependencies

To enable this port, select Steer inputs > Torque.

External power assistant torque, in N*m, specified as a scalar.

#### Dependencies

To enable this port, select Input signals > Power assist.

External percent Ackerman value, in N*m, specified as a scalar.

#### Dependencies

To enable this port, select Input signals > Ackerman steering.

Tire forces and moments feedback, specified as a `1`-by-`6` vector that contains the following values, in order:

DescriptionUnit
x-directional ForceN
y-directional ForceN
z-directional ForceN
x-directional MomentN*m
y-directional MomentN*m
z-directional MomentN*m

#### Dependencies

To enable this port, clear Input signals > Kingpin moment.

Left kingpin moment, in N*m, specified as a scalar.

#### Dependencies

To enable this port, select Input signals > Kingpin moment.

Right kingpin moment, in N*m, specified as a scalar.

#### Dependencies

To enable this port, select Input signals > Kingpin moment.

### Output

expand all

Vehicle dynamics information, returned as a bus signal that contains:

SignalDescriptionUnit

`StrgWhlAng`

Steering wheel angle

`StrgWhlSpd`

Steering wheel angular velocity

`ShftAng`

Shaft angle

`ShftSpd`

Shaft angular velocity

`AngLft`

Left wheel angle

`SpdLft`

Left wheel angular velocity

`AngRght`

Right wheel angle

`SpdRght`

Right wheel angular velocity

`TrqAst`

Torque assist

N·m

`PwrAst`

Power assist

W

`PwrLoss`

Power loss

W

`InstStrgRatio`

Instantaneous steering ratio

NA

Left wheel angle, δL, in radians, returned as a scalar.

Right wheel angle, δR, in radians, returned as a scalar.

## Parameters

expand all

Block Options

Steering type for the steering system.

Whether to model the intermediate shaft type using single or double cardan joints.

Select to model power assist in the steering system.

#### Dependencies

To enable this parameter, in the Input signals section, clear Power assist.

Select to use Ackerman steering in the steering system.

#### Dependencies

To enable this parameter, in the Input signals section, clear Ackerman steering.

Input Signals

Select this parameter to enable the PwrAstTrq port.

Select this parameter to enable the PctAct port.

Select this parameter to enable the LftKpM and RghtKpM ports.

Select the front or rear axle as the location of the steering system.

Specify wheel angle or wheel torque steering input.

General

Track width, TW, in m, specified as a scalar.

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

Steering wheel inertia, in kg*m2, specified as a scalar.

Steering column inertia, in kg*m2, specified as a scalar.

Kingpin offset, in m, specified as a scalar.

Kingpin inclination angle, in rad, specified as a scalar.

Hub lead, in m, specified as a scalar.

Overall steer ratio, specified as a scalar.

Steering angle breakpoints, in rad, specified as a `1`-by-`11` vector.

#### Dependencies

To enable this parameter, set one of these parameters to `Lookup table`:

• Rack and pinion > Rack gain parameterized by

• Ackerman steering > Percent Ackerman parameterized by

Caster angle, in rad, specified as a scalar.

#### Dependencies

To enable this parameter, select Input signals > Kingpin moment.

Rack and Pinion

Whether to parametrize the rack gain as a constant value or by using a lookup table.

Rack gain, in m/rev, specified as a scalar.

#### Dependencies

To enable this parameter, set Rack gain parametrized by to `Constant`.

Rack gain table, in m/rev, specified as a `1`-by-`11` vector.

#### Dependencies

To enable this parameter, set Rack gain parametrized by to `Lookup table`.

Steering arm length, in m, specified as a scalar.

Rack casing length, in m, specified as a scalar.

Tie rod length, lrod, in m, specified as a scalar.

Distance between the front axis and rack, D, in m, specified as a scalar.

Efficiency of the gears, ɛ, specified as a scalar.

Pinion inertia, in kg*m2, specified as a scalar.

Single Cardan Joint

Spatial angle for the single cardan joint, in rad, specified as a scalar.

#### Dependencies

To enable this parameter, set Intermediate shaft type to ```Single Cardan joint```.

Double Cardan Joints

Spatial angle for the upper cardan joint, in rad, specified as a scalar.

#### Dependencies

To enable this parameter, set Intermediate shaft type to ```Double Cardan joints```.

Spatial angle for the lower cardan joints, in rad, specified as a scalar.

#### Dependencies

To enable this parameter, set Intermediate shaft type to ```Double Cardan joints```.

Edge view angle between the planes of the two joints, in rad, specified as a scalar.

#### Dependencies

To enable this parameter, set Intermediate shaft type to ```Double Cardan joints```.

Phase angle, in rad, specified as a scalar.

#### Dependencies

To enable this parameter, set Intermediate shaft type to ```Double Cardan joints```.

Power Assist

Steering wheel torque breakpoints, in N·m, specified as a `1`-by-M vector.

#### Dependencies

To enable this parameter, select Power assist.

Vehicle speed breakpoints, in m/s, specified as a `1`-by-N vector.

#### Dependencies

To enable this parameter, select Power assist.

Assisting torque table, ƒtrq, in N·m, specified as an M-by-N matrix.

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

${\tau }_{ast}={f}_{trq}\left(v,{\tau }_{in}\right)$.

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

#### Dependencies

To enable this parameter, select Power assist.

Assisting torque limit, in N·m, specified as a scalar.

#### Dependencies

To enable this parameter, select Power assist.

Assisting power limit, in N·m/s, specified as a scalar.

#### Dependencies

To enable this parameter, select Power assist.

Assisting torque efficiency, specified as a scalar.

#### Dependencies

To enable this parameter, select Power assist.

Cutoff frequency, in rad/s, specified as a scalar.

#### Dependencies

To enable this parameter, select Power assist.

Ackerman Steering

Whether to parametrize the Ackerman values as a constant value or by using a lookup table.

#### Dependencies

To enable this parameter, select Ackerman steering.

Percent Ackerman, specified as a scalar.

#### Dependencies

To enable this parameter, select Ackerman steering and set Percent Ackerman parametrized by to `Constant`.

Percent Ackerman table, specified as a `1`-by-`11` vector.

#### Dependencies

To enable this parameter, select Ackerman steering and set Percent Ackerman parametrized by to `Lookup table`.

Friction and Compliance

Sealing stiffness, in N*m/rad, specified as a scalar.

Upper boundary friction, in N, specified as a scalar.

Pressure change due to friction boundary increase, in N/bar, specified as a scalar.

Maxwell element stiffness, in Nm/rad, specified as a scalar.

Maxwell element upper boundary friction, in N, specified as a scalar.

Maxwell linear damping coefficient, specified as a scalar.

Torsion bar stiffness coefficient, in N*m/rad, specified as a scalar.

Torsion bar damping coefficient, in N*m*s/rad, specified as a scalar.

## 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.

## Version History

Introduced in R2022b