Main Content

Solid Axle Suspension

Solid axle suspension for multiple axles

  • Library:
  • Vehicle Dynamics Blockset / Suspension

  • Solid Axle Suspension block

Description

The Solid Axle Suspension block implements a solid axle suspension for multiple axles with multiple tracks per axle.

The block models the suspension compliance, damping, and geometric effects as functions of the track positions and velocities, with axle-specific compliance and damping parameters. Using the track position and velocity, the block calculates the vertical track position and suspension forces on the vehicle and wheel. The block uses the Z-down (defined in SAE J670) and a solid axle coordinate system. The solid axle coordinate system, shown here, is aligned with the Z-down vehicle coordinate system, with the x-axis in the direction of forward vehicle motion.

Illustration of a solid axle

For EachYou Can Specify

Axle

  • Multiple tracks.

  • Suspension parameters.

Track

  • Steering angles.

The block contains energy-storing spring elements and energy-dissipating damper elements. The block also stores energy via the axle roll angular acceleration and axle center of mass vertical and lateral acceleration.

This table summarizes the block parameter settings for a vehicle with:

  • Two axles.

  • Two tracks per axle.

  • Steering angle input for both tracks on the front axle.

ParameterSetting
Number of axles, NumAxl

2

Number of tracks by axle, NumTracksByAxl

[2 2]

Steered axle enable by axle, StrgEnByAxl

[1 0]

Suspension Compliance and Damping

The block uses a linear spring and damper to model the vertical dynamic effects of the suspension system on the vehicle and wheel. Specifically, the block:

Uses

To Calculate

  • Longitudinal and lateral displacement and velocity of the vehicle.

  • Longitudinal and lateral displacement and velocity of the track.

  • Vertical wheel forces applied to the vehicle.

  • Suspension forces applied to the axle center.

  • Vertical displacements and velocities of the vehicle and track.

  • Longitudinal, lateral and vertical suspension forces and moments applied to the vehicle.

  • Longitudinal, lateral and vertical suspension forces and moments applied to the wheel.

To calculate the dynamics of the axle, the block implements these equations. The block neglects the effects of:

  • Lateral and longitudinal translational velocity.

  • Angular velocity about the vertical and lateral axes.

[x¨ay¨az¨a]=1Ma[FxaFyaFza]+[x˙ay˙az˙a]×[pqr]=1Ma[00Fza]+[00z˙a]×[p00]+[00g]=[0pz˙aFzaMa+g][p˙q˙r˙]=[[MxMyMz][pqr]×[Ixx000Iyy000Izz][pqr]][Ixx000Iyy000Izz]1=[[Mx00][pq0]×[Ixx000Iyy000Izz][p00]][Ixx000Iyy000Izz]1=[MxIxx00]

The net vertical force on the axle center of mass is the sum of the wheel and suspension forces acting on the axle.

Fza=t=1Nta(Fwza,t+Fz0a+kza(zva,tzsa,t+mhsteera|δsteera,t|)+cza(z˙va,tz˙sa,t))

The net moment about the roll axis of the solid axle suspension accounts for the hardpoint coordinates of the suspension and tracks.

Mx=t=1Nta(Fwza,tywt+(Fz0a+kza(zva,tzsa,t+mhsteera|δsteera,t|)+cza(z˙va,tz˙sa,t))yst+Mwxa,tIxxIxx+Maywt)

Block parameters provide the track and suspension hardpoints coordinates.

 Tct=[xw1xw2yw1yw2zw1zw2]Sct=[xs1xs2ys1ys2zs1zs2]

The block uses Euler angles to transform the track and suspension displacements, velocities, and accelerations to the vehicle coordinate system.

To calculate the suspension forces applied to the vehicle, the block implements this equation.

Fvza,t=(Fz0a+kza(zva,tzsa,t+mhsteera|δsteera,t|)+cza(z˙va,tz˙sa,t)+Fzhstopa,t)

The suspension forces and moments applied to the vehicle are equal to the suspension forces and moments applied to the wheel.

Fvxa,t=Fwxa,tFvya,t=Fwya,tFvza,t=Fwza,tMvxa,t=Mwxa,t+Fwya,t(Rewya,t+Ha,t)Mvya,t=Mwya,t+Fwxa,t(Rewxa,t+Ha,t)Mvza,t=Mwza,t

To calculate the vertical force applied to the suspension at the track location, the block implements a stiff spring-damper.

Fwza,t=Fwaz0kwaz(zwa,tzsa,t)cwaz(z˙wa,tz˙sa,t)

The equations use these variables.

Fwza,t, Mwza,t

Suspension force and moment applied to the wheel on axle a, track t along wheel-fixed z-axis

Fwxa,t, Mwxa,t

Suspension force and moment applied to the wheel on axle a, track t along wheel-fixed x-axis

Fwya,t, Mwya,t

Suspension force and moment applied to the wheel on axle a, track t along wheel-fixed y-axis

Fvza,t, Mvza,t

Suspension force and moment applied to the vehicle on axle a, track t along wheel-fixed z-axis

Fvxa,t, Mvxa,t

Suspension force and moment applied to the vehicle on axle a, track t along wheel-fixed x-axis

Fvya,t, Mvya,t

Suspension force and moment applied to the vehicle on axle a, track t along wheel-fixed y-axis

Fz0a

Vertical suspension spring preload force applied to the wheels on axle a

kza

Vertical spring constant applied to tracks on axle a

mhsteera

Steering angle to vertical force slope applied at wheel carrier for tracks on axle a

δsteera,t

Steering angle input for axle a, track t

cza

Vertical damping constant applied to tracks on axle a

Rewa,t

Effective wheel radius for axle a, track t

Fzhstopa,t

Vertical hardstop force at axle a, track t, along the vehicle-fixed z-axis

Fzaswya,t

Vertical anti-sway force at axle a, track t, along the vehicle-fixed z-axis

zva,t, żva,t

Vehicle displacement and velocity at axle a, track t, along the vehicle-fixed z-axis

zwa,t, żwa,t

Track displacement and velocity at axle a, track t, along the vehicle-fixed z-axis

xva,t, va,t

Vehicle displacement and velocity at axle a, track t, along the vehicle-fixed z-axis

xwa,t, wa,t

Track displacement and velocity at axle a, track t, along the vehicle-fixed z-axis

yva,t, va,t

Vehicle displacement and velocity at axle a, track t, along the vehicle-fixed y-axis

ywa,t, wa,t

Track displacement and velocity at axle a, track t, along the vehicle-fixed y-axis

Ha,t

Suspension height at axle a, track t

Rewa,tEffective wheel radius at axle a, track t

Hardstop Forces

The hardstop feedback force, Fzhstopa,t, that the block applies depends on whether the suspension is compressing or extending. The block applies the force:

  • In compression, when the suspension is compressed more than the maximum distance specified by the Suspension maximum height, Hmax parameter.

  • In extension, when the suspension extension is greater than maximum extension specified by the Suspension maximum height, Hmax parameter.

To calculate the force, the block uses a stiffness based on a hyperbolic tangent and exponential scaling.

Camber, Caster, and Toe Angles

To calculate the camber, caster, and toe angles, block uses linear functions of the suspension height and steering angle.

ξa,t=ξ0a+mhcambera(zwa,tzva,tmhsteera|δsteera,t|)+mcambersteera|δsteera,t|ηa,t=η0a+mhcastera(zwa,tzva,tmhsteera|δsteera,t|)+mcastersteera|δsteera,t|ζa,t=ζ0a+mhtoea(zwa,tzva,tmhsteera|δsteera,t|)+mtoesteera|δsteera,t| 

The equations use these variables.

ξa,t

Camber angle of wheel on axle a, track t

ηa,t

Caster angle of wheel on axle a, track t

ζa,t

Toe angle of wheel on axle a, track t

ξ0a, η0a, ζ0a

Nominal suspension axle a camber, caster, and toe angles, respectively, at zero steering angle

mhcambera, mhcastera, mhtoea

Camber, caster, and toe angles, respectively, versus suspension height slope for axle a

mcambersteera, mcastersteera, mtoesteera

Camber, caster, and toe angles, respectively, versus steering angle slope for axle a

mhsteera

Steering angle versus vertical force slope for axle a

δsteera,t

Steering angle input for axle a, track t

zva,t

Vehicle displacement at axle a, track t, along the vehicle-fixed z-axis

zwa,t

Track displacement at axle a, track t, along the vehicle-fixed z-axis

Steering Angles

Optionally, you can input steering angles for the tracks. To calculate the steering angles for the wheels, the block offsets the input steering angles with a linear function of the suspension height.

δwhlsteera,t=δsteera,t+mhtoea(zwa,tzva,tmhsteera|δsteera,t|)+mtoesteera|δsteera,t|

The equation uses these variables.

mtoesteera

Axle a toe angle versus steering angle slope

mhsteera

Axle a steering angle versus vertical force slope

mhtoea

Axle a toe angle versus suspension height slope

δwhlsteera,t

Wheel steering angle for axle a, track t

δsteera,t

Steering angle input for axle a, track t

zva,t

Vehicle displacement at axle a, track t, along the vehicle-fixed z-axis

zwa,t

Track displacement at axle a, track t, along the vehicle-fixed z-axis

Power and Energy

The block calculates these suspension characteristics for each axle, a, track, t.

CalculationEquation

Dissipated power, Psuspa,t

Psuspa,t=Fwzlookupa(z˙va,tz˙wa,t,z˙va,tz˙wa,t,δsteera,t)

Absorbed energy, Esuspa,t

Esuspa,t=Fwzlookupa(z˙va,tz˙wa,t,z˙va,tz˙wa,t,δsteera,t)

Suspension height, Ha,t

Ha,t=(zva,tzwa,t+Fz0akza+mhsteera|δsteera,t|)

Distance from wheel carrier center to tire/road interface

zwtra,t=Rewa,t+Ha,t

The equations use these variables.

mhsteera

Steering angle to vertical force slope applied at wheel carrier for tracks on axle a

δsteera,t

Steering angle input for axle a, track t

Rewa,t

Axle a, track t effective wheel radius from wheel carrier center to tire/road interface

Fz0a

Vertical suspension spring preload force applied to the wheels on axle a

zwtra,t

Distance from wheel carrier center to tire/road interface, along the vehicle-fixed z-axis

zva,t, żva,t

Vehicle displacement and velocity at axle a, track t, along the vehicle-fixed z-axis

zwa,t, żwa,t

Track displacement and velocity at axle a, track t, along the vehicle-fixed z-axis

Ports

Input

expand all

Track displacement, zw, along wheel-fixed z-axis, in m. Array dimensions are 1 by the total number of tracks on the vehicle.

For example, for a two-axle vehicle with two tracks per axle, the WhlPz:

  • Signal array dimensions are [1x4].

  • Array dimensions are axle by track.

    WhlPz=zw=[zw1,1zw1,2zw2,1zw2,2]

    Array ElementAxleTrack
    WhlPz(1,1)11
    WhlPz(1,2)12
    WhlPz(1,3)21
    WhlPz(1,4)22

Effective wheel radius, Rew, in m. Array dimensions are 1 by the total number of tracks on the vehicle.

For example, for a two-axle vehicle with two tracks per axle, the WhlRe:

  • Signal array dimensions are [1x4].

  • Array dimensions are axle by track.

    WhlRe=Rew=[Rew1,1Rew1,2Rew2,1Rew2,2]

    Array ElementAxleTrack
    WhlRe(1,1)11
    WhlRe(1,2)12
    WhlRe(1,3)21
    WhlRe(1,4)22

Track velocity, żw, along wheel-fixed z-axis, in m. Array dimensions are 1 by the total number of tracks on the vehicle.

For example, for a two-axle vehicle with two tracks per axle, the WhlVz:

  • Signal array dimensions are [1x4].

  • Array dimensions are axle by track.

    WhlVz=z˙w=[z˙w1,1z˙w1,2z˙w2,1z˙w2,2]

    Array ElementAxleTrack
    WhlVz(1,1)11
    WhlVz(1,2)12
    WhlVz(1,3)21
    WhlVz(1,4)22

Longitudinal wheel force applied to vehicle, Fwx, along the vehicle-fixed x-axis. Array dimensions are 1 by the total number of tracks on the vehicle.

For example, for a two-axle vehicle with two tracks per axle, the WhlFx:

  • Signal array dimensions are [1x4].

  • Array dimensions are axle by track.

    WhlFx=Fwx=[Fwx1,1Fwx1,2Fwx2,1Fwx2,2]

    Array ElementAxleTrack
    WhlFx(1,1)11
    WhlFx(1,2)12
    WhlFx(1,3)21
    WhlFx(1,4)22

Lateral wheel force applied to vehicle, Fwy, along the vehicle-fixed y-axis. Array dimensions are 1 by the total number of tracks on the vehicle.

For example, for a two-axle vehicle with two tracks per axle, the WhlFy:

  • Signal array dimensions are [1x4].

  • Array dimensions are axle by track.

    WhlFy=Fwy=[Fwy1,1Fwy1,2Fwy2,1Fwy2,2]

    Array ElementAxleTrack
    WhlFy(1,1)11
    WhlFy(1,2)12
    WhlFy(1.3)21
    WhlFy(1,4)22

Longitudinal, lateral, and vertical suspension moments at axle a, track t, applied to the wheel at the axle wheel carrier reference coordinate, in N·m. Array dimensions are 3 by the total number of tracks on the vehicle.

  • WhlM(1,...) — Suspension moment applied to the wheel about the vehicle-fixed x-axis (longitudinal)

  • WhlM(2,...) — Suspension moment applied to the wheel about the vehicle-fixed y-axis (lateral)

  • WhlM(3,...) — Suspension moment applied to the wheel about the vehicle-fixed z-axis (vertical)

For example, for a two-axle vehicle with two tracks per axle, the WhlM:

  • Signal dimensions are [3x4].

  • Signal contains suspension moments applied to four wheels according to their axle and track locations.

    WhlM=Mw=[Mwx1,1Mwx1,2Mwx2,1Mwx2,2Mwy1,1Mwy1,2Mwy2,1Mwy2,2Mwz1,1Mwz1,2Mwz2,1Mwz2,2]

    Array ElementAxleTrackMoment Axis
    WhlM(1,1)11Vehicle-fixed x-axis (longitudinal)
    WhlM(1,2)12
    WhlM(1,3)21
    WhlM(1,4)22
    WhlM(2,1)11Vehicle-fixed y-axis (lateral)
    WhlM(2,2)12
    WhlM(2,3)21
    WhlM(2,4)22
    WhlM(3,1)11Vehicle-fixed z-axis (vertical)
    WhlM(3,2)12
    WhlM(3,3)21
    WhlM(3,4)22

Vehicle displacement from axle a, track t along vehicle-fixed coordinate system, in m. Array dimensions are 3 by the total number of tracks on the vehicle.

  • VehP(1,...) — Vehicle displacement from track, xv, along the vehicle-fixed x-axis

  • VehP(2,...) — Vehicle displacement from track, yv, along the vehicle-fixed y-axis

  • VehP(3,...) — Vehicle displacement from track, zv, along the vehicle-fixed z-axis

For example, for a two-axle vehicle with two tracks per axle, the VehP:

  • Signal dimensions are [3x4].

  • Signal contains four track displacements according to their axle and track locations.

    VehP=[xvyvzv]=[xv1,1xv1,2xv2,1xv2,2yv1,1yv1,2yv2,1yv2,2zv1,1zv1,2zv2,1zv2,2]

    Array ElementAxleTrackAxis
    VehP(1,1)11Vehicle-fixed x-axis
    VehP(1,2)12
    VehP(1,3)21
    VehP(1,4)22
    VehP(2,1)11Vehicle-fixed y-axis
    VehP(2,2)12
    VehP(2,3)21
    VehP(2,4)22
    VehP(3,1)11Vehicle-fixed z-axis
    VehP(3,2)12
    VehP(3,3)21
    VehP(3,4)22

Vehicle velocity at axle a, track t along vehicle-fixed coordinate system, in m. Input array dimensions are 3 by a*t.

  • VehV(1,...) — Vehicle velocity at track, xv, along the vehicle-fixed x-axis

  • VehV(2,...) — Vehicle velocity at track, yv, along the vehicle-fixed y-axis

  • VehV(3,...) — Vehicle velocity at track, zv, along the vehicle-fixed z-axis

For example, for a two-axle vehicle with two tracks per axle, the VehV:

  • Signal dimensions are [3x4].

  • Signal contains 4 track velocities according to their axle and track locations.

    VehV=[x˙vy˙vz˙v]=[x˙v1,1x˙v1,2x˙v2,1x˙v2,2y˙v1,1y˙v1,2y˙v2,1y˙v2,2z˙v1,1z˙v1,2z˙v2,1z˙v2,2]

    Array ElementAxleTrackAxis
    VehV(1,1)11Vehicle-fixed x-axis
    VehV(1,2)12
    VehV(1,3)21
    VehV(1,4)22
    VehV(2,1)11Vehicle-fixed y-axis
    VehV(2,2)12
    VehV(2,3)21
    VehV(2,4)22
    VehV(3,1)11Vehicle-fixed z-axis
    VehV(3,2)12
    VehV(3,3)21
    VehV(3,4)22

Optional steering angle for each wheel, δ. Input array dimensions are 1 by the number of steered tracks.

For example, for a two-axle vehicle with two tracks per axle, you can input steering angles for both wheels on the first axle.

  • To create the StrgAng port, set Steered axle enable by axle, StrgEnByAxl to [1 0]. The input signal array dimensions are [1x2].

  • The StrgAng signal contains two steering angles according to their axle and track locations.

    StrgAng=δsteer=[δsteer1,1δsteer1,2]

    Array ElementAxleTrack
    StrgAng(1,1)11
    StrgAng(1,2)12

Dependencies

Setting an element of the Steered axle enable by axle, StrgEnByAxl vector to 1 creates:

  • Input port StrgAng.

  • Parameters:

    • Toe angle vs steering angle slope, ToeStrgSlp

    • Caster angle vs steering angle slope, CasterStrgSlp

    • Camber angle vs steering angle slope, CamberStrgSlp

    • Suspension height vs steering angle slope, StrgHgtSlp

Output

expand all

Bus signal containing block values. The signals are arrays that depend on the track location.

For example, here are the indices for a two-axle, two-track vehicle. The total number of tracks is four.

  • 1D array signal (1-by-4)

    Array ElementAxleTrack
    (1,1)11
    (1,2)12
    (1,3)21
    (1,4)22

  • 3D array signal (3-by-4)

    Array ElementAxleTrack
    (1,1)11
    (1,2)12
    (1,3)21
    (1,4)22
    (2,1)11
    (2,2)12
    (2,3)21
    (2,4)22
    (3,1)11
    (3,2)12
    (3,3)21
    (3,4)22

SignalDescriptionArray SignalVariableUnits
Camber

Wheel angles according to the axle.

1D

WhlAng[1,...]=ξ=[ξa,t]

rad

Caster

WhlAng[2,...]=η=[ηa,t]

Toe

WhlAng[3,...]=ζ=[ζa,t]

Height

Suspension height

1D

H

m

Power

Suspension power dissipation

1D

Psusp

W

Energy

Suspension absorbed energy

1D

Esusp

J

VehF

Suspension forces applied to the vehicle

3D

For a two-axle, two tracks per axle vehicle:

VehF=Fv=[Fvx1,1Fvx1,2Fvx2,1Fvx2,2Fvy1,1Fvy1,2Fvy2,1Fvy2,2Fvz1,1Fvz1,2Fvz2,1Fvz2,2]

N

VehM

Suspension moments applied to vehicle

3D

For a two-axle, two tracks per axle vehicle:

VehM=Mv=[Mvx1,1Mvx1,2Mvx2,1Mvx2,2Mvy1,1Mvy1,2Mvy2,1Mvy2,2Mvz1,1Mvz1,2Mvz2,1Mvz2,2]

N·m

WhlF

Suspension force applied to wheel

3D

For a two-axle, two tracks per axle vehicle:

WhlF=Fw=[Fwx1,1Fwx1,2Fwx2,1Fwx2,2Fwy1,1Fwy1,2Fwy2,1Fwy2,2Fwz1,1Fwz1,2Fwz2,1Fwz2,2]

N

WhlP

Track displacement

3D

For a two-axle, two tracks per axle vehicle:

WhlP=[xwywzw]=[xw1,1xw1,2xw2,1xw2,2yw1,1yw1,2yw2,1ywy2,2zwtr1,1zwtr1,2zwtr2,1zwtr2,2]

m

WhlV

Track velocity

3D

For a two-axle, two tracks per axle vehicle:

WhlV=[x˙wy˙wz˙w]=[x˙w1,1x˙w1,2x˙w2,1x˙w2,2y˙w1,1y˙w1,2y˙w2,1y˙w2,2z˙w1,1z˙w1,2z˙w2,1z˙w2,2]

m/s

WhlAng

Wheel camber, caster, toe angles

3D

For a two-axle, two tracks per axle vehicle:

WhlAng=[ξηζ]=[ξ1,1ξ1,2ξ2,1ξ2,2η1,1η1,2η2,1η2,2ζ1,1ζ1,2ζ2,1ζ2,2]

rad

Longitudinal, lateral, and vertical suspension force at axle a, track t, applied to the vehicle at the suspension connection point, in N. Array dimensions are 3 by the total number of tracks on the vehicle.

  • VehF(1,...) — Suspension force applied to vehicle along the vehicle-fixed x-axis (longitudinal)

  • VehF(2,...) — Suspension force applied to vehicle along the vehicle-fixed y-axis (lateral)

  • VehF(3,...) — Suspension force applied to vehicle along the vehicle-fixed z-axis (vertical)

For example, for a two-axle vehicle with two tracks per axle, the VehF:

  • Signal dimensions are [3x4].

  • Signal contains suspension forces applied to the vehicle according to the axle and track locations.

    VehF=Fv=[Fvx1,1Fvx1,2Fvx2,1Fvx2,2Fvy1,1Fvy1,2Fvy2,1Fvy2,2Fvz1,1Fvz1,2Fvz2,1Fvz2,2]

    Array ElementAxleTrackForce Axis
    VehF(1,1)11Vehicle-fixed x-axis (longitudinal)
    VehF(1,2)12
    VehF(1,3)21
    VehF(1,4)22
    VehF(2,1)11Vehicle-fixed y-axis (lateral)
    VehF(2,2)12
    VehF(2,3)21
    VehF(2,4)22
    VehF(3,1)11Vehicle-fixed z-axis (vertical)
    VehF(3,2)12
    VehF(3,3)21
    VehF(3,4)22

Longitudinal, lateral, and vertical suspension moment at axle a, track t, applied to the vehicle at the suspension connection point, in N·m. Array dimensions are 3 by the total number of tracks on the vehicle.

  • VehM(1,...) — Suspension moment applied to the vehicle about the vehicle-fixed x-axis (longitudinal)

  • VehM(2,...) — Suspension moment applied to the vehicle about the vehicle-fixed y-axis (lateral)

  • VehM(3,...) — Suspension moment applied to the vehicle about the vehicle-fixed z-axis (vertical)

For example, for a two-axle vehicle with two tracks per axle, the VehM:

  • Signal dimensions are [3x4].

  • Signal contains suspension moments applied to vehicle according to the axle and track locations.

    VehM=Mv=[Mvx1,1Mvx1,2Mvx2,1Mvx2,2Mvy1,1Mvy1,2Mvy2,1Mvy2,2Mvz1,1Mvz1,2Mvz2,1Mvz2,2]

    Array ElementAxleTrackMoment Axis
    VehM(1,1)11Vehicle-fixed x-axis (longitudinal)
    VehM(1,2)12
    VehM(1,3)21
    VehM(1,4)22
    VehM(2,1)11Vehicle-fixed y-axis (lateral)
    VehM(2,2)12
    VehM(2,3)21
    VehM(2,4)22
    VehM(3,1)11Vehicle-fixed z-axis (vertical)
    VehM(3,2)12
    VehM(3,3)21
    VehM(3,4)22

Longitudinal, lateral, and vertical suspension forces at axle a, track t, applied to the wheel at the axle wheel carrier reference coordinate, in N. Array dimensions are 3 by the total number of tracks on the vehicle.

  • WhlF(1,...) — Suspension force on wheel along the vehicle-fixed x-axis (longitudinal)

  • WhlF(2,...) — Suspension force on wheel along the vehicle-fixed y-axis (lateral)

  • WhlF(3,...) — Suspension force on wheel along the vehicle-fixed z-axis (vertical)

For example, for a two-axle vehicle with two tracks per axle, the WhlF:

  • Signal dimensions are [3x4].

  • Signal contains wheel forces applied to the vehicle according to the axle and track locations.

    WhlF=Fw=[Fwx1,1Fwx1,2Fwx2,1Fwx2,2Fwy1,1Fwy1,2Fwy2,1Fwy2,2Fwz1,1Fwz1,2Fwz2,1Fwz2,2]

    Array ElementAxleTrackForce Axis
    WhlF(1,1)11Vehicle-fixed x-axis (longitudinal)
    WhlF(1,2)12
    WhlF(1,3)21
    WhlF(1,4)22
    WhlF(2,1)11Vehicle-fixed y-axis (lateral)
    WhlF(2,2)12
    WhlF(2,3)21
    WhlF(2,4)22
    WhlF(3,1)11Vehicle-fixed z-axis (vertical)
    WhlF(3,2)12
    WhlF(3,3)21
    WhlF(3,4)22

Longitudinal, lateral, and vertical track velocity at axle a, track t, in m/s. Array dimensions are 3 by the total number of tracks on the vehicle.

  • WhlV(1,...) — Track velocity along the vehicle-fixed x-axis (longitudinal)

  • WhlV(2,...) — Track velocity along the vehicle-fixed y-axis (lateral)

  • WhlV(3,...) — Track velocity along the vehicle-fixed z-axis (vertical)

For example, for a two-axle vehicle with two tracks per axle, the WhlV:

  • Signal dimensions are [3x4].

  • Signal contains wheel forces applied to the vehicle according to the axle and track locations.

    WhlV=[x˙wy˙wz˙w]=[x˙w1,1x˙w1,2x˙w2,1x˙w2,2y˙w1,1y˙w1,2y˙w2,1y˙w2,2z˙w1,1z˙w1,2z˙w2,1z˙w2,2]

    Array ElementAxleTrackForce Axis
    WhlV(1,1)11Vehicle-fixed x-axis (longitudinal)
    WhlV(1,2)12
    WhlV(1,3)21
    WhlV(1,4)22
    WhlV(2,1)11Vehicle-fixed y-axis (lateral)
    WhlV(2,2)12
    WhlV(2,3)21
    WhlV(2,4)22
    WhlV(3,1)11Vehicle-fixed z-axis (vertical)
    WhlV(3,2)12
    WhlV(3,3)21
    WhlV(3,4)22

Camber, caster, and toe angles at axle a, track t, in rad. Array dimensions are 3 by the total number of tracks on the vehicle.

  • WhlAng(1,...) — Camber angle

  • WhlAng(2,...) — Caster angle

  • WhlAng(3,...) — Toe angle

For example, for a two-axle vehicle with two tracks per axle, the WhlAng:

  • Signal dimensions are [3x4].

  • Signal contains wheel angles according to the axle and track locations.

    WhlAng=[ξηζ]=[ξ1,1ξ1,2ξ2,1ξ2,2η1,1η1,2η2,1η2,2ζ1,1ζ1,2ζ2,1ζ2,2]

    Array ElementAxleTrackAngle
    WhlAng(1,1)11

    Camber

    WhlAng(1,2)12
    WhlAng(1,3)21
    WhlAng(1,4)22
    WhlAng(2,1)11

    Caster

    WhlAng(2,2)12
    WhlAng(2,3)21
    WhlAng(2,4)22
    WhlAng(3,1)11

    Toe

    WhlF(3,2)12
    WhlF(3,3)21
    WhlF(3,4)22

Parameters

expand all

Axles

Number of axles, Na, dimensionless.

Number of tracks per axle, Nta, dimensionless. Vector is 1 by the number of vehicle axles, Na. For example, [1,2] represents one track on axle 1 and two tracks on axle 2.

Boolean vector that enables axle steering, Ensteer, dimensionless. Vector is 1 by the number of vehicle axles, Na. For example:

  • [1 0]—For a two-axle vehicle, enables axle 1 steering and disables axle 2 steering

  • [1 1]—For a two-axle vehicle, enables axle 1 and axle 2 steering

Dependencies

Setting an element of the Steered axle enable by axle, StrgEnByAxl vector to 1:

  • Creates input port StrgAng.

  • Creates these parameters

    • Toe angle vs steering angle slope, ToeStrgSlp

    • Caster angle vs steering angle slope, CasterStrgSlp

    • Camber angle vs steering angle slope, CamberStrgSlp

    • Suspension height vs steering angle slope, StrgHgtSlp

For example, for a two-axle vehicle with two tracks per axle, you can input steering angles for both wheels on the first axle.

  • To create the StrgAng port, set Steered axle enable by axle, StrgEnByAxl to [1 0]. The input signal array dimensions are [1x2].

  • The StrgAng signal contains two steering angles according to their axle and track locations.

    StrgAng=δsteer=[δsteer1,1δsteer1,2]

    Array ElementAxleTrack
    StrgAng(1,1)11
    StrgAng(1,2)12

Axle and wheels lumped principal moments of inertia about longitudinal axis, AxleIxx a, in kg*m^2.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Axle and wheels lumped mass, a, in kg.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Track hardpoint coordinates, Tct, along the solid axle x, y, and z-axes, in m.

For example, for a two-axle vehicle with two tracks per axle, the TrackCoords array:

  • Dimensions are [3x4].

  • Contains four track hardpoint coordinates according to their axle and track locations.

    Tct=[xw1,1xw1,2xw2,1xw2,2yw1,1yw1,2yw2,1yw2,2zw1,1zw1,2zw2,1zw2,2]

    Array ElementAxleTrackAxis
    TrackCoords(1,1)11Solid axle x-axis
    TrackCoords(1,2)12
    TrackCoords(1,3)21
    TrackCoords(1,4)22
    TrackCoords(2,1)11Solid axle y-axis
    TrackCoords(2,2)12
    TrackCoords(2,3)21
    TrackCoords(2,4)22
    TrackCoords(3,1)11Solid axle z-axis
    TrackCoords(3,2)12
    TrackCoords(3,3)21
    TrackCoords(3,4)22

Suspension hardpoint coordinates, Sct, along the solid axle x-, y-, and z-axes, in m.

For example, for a two-axle vehicle with two tracks per axle, the SuspCoords array:

  • Dimensions are [3x4].

  • Contains four track hardpoint coordinates according to their axle and track locations.

    Sct=[xs1,1xs1,2xs2,1xs2,2ys1,1ys1,2ys2,1ys2,2zs1,1zs1,2zs2,1zs2,2]

    Array ElementAxleTrackAxis
    SuspCoords(1,1)11Solid axle x-axis
    SuspCoords(1,2)12
    SuspCoords(1,3)21
    SuspCoords(1,4)22
    SuspCoords(2,1)11Solid axle y-axis
    SuspCoords(2,2)12
    SuspCoords(2,3)21
    SuspCoords(2,4)22
    SuspCoords(3,1)11Solid axle z-axis
    SuspCoords(3,2)12
    SuspCoords(3,3)21
    SuspCoords(3,4)22

Wheel and axle interface compliance constant, Kz, in N/m.

Wheel and axle interface compliance preload, F0z, in N.

Wheel and axle interface damping constant, Cz, in m.

Suspension

Compliance and Damping - Passive

Linear vertical spring constant for independent suspension tracks on axle a, kza, in N/m.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Vertical preload spring force applied to the wheels on the axle at wheel carrier reference coordinates, Fz0a, in N. Positive preload forces:

  • Cause the vehicle to lift.

  • Point along the negative vehicle-fixed z-axis.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Linear vertical damping constant for independent suspension tracks on axle a, cza, in Ns/m.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Dependencies

To create this parameter, clear Enable active damping.

Maximum suspension extension or minimum suspension compression height, Hmax, for axle a before the suspension reaches a hardstop, in m.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Geometry

Nominal suspension toe angle at zero steering angle, ζ0a, in rad.

Roll steer angle versus suspension height, mhtoea, in rad/m.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Toe angle versus steering angle slope, mtoesteera, dimensionless.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Dependencies

Setting an element of the Steered axle enable by axle, StrgEnByAxl vector to 1 creates:

  • Input port StrgAng.

  • Parameters:

    • Toe angle vs steering angle slope, ToeStrgSlp

    • Caster angle vs steering angle slope, CasterStrgSlp

    • Camber angle vs steering angle slope, CamberStrgSlp

    • Suspension height vs steering angle slope, StrgHgtSlp

Nominal suspension caster angle at zero steering angle, η0a, in rad.

Caster angle versus suspension height, mhcastera, in rad/m.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Caster angle versus steering angle slope, mcastersteera, dimensionless.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Dependencies

Setting an element of the Steered axle enable by axle, StrgEnByAxl vector to 1 creates:

  • Input port StrgAng.

  • Parameters:

    • Toe angle vs steering angle slope, ToeStrgSlp

    • Caster angle vs steering angle slope, CasterStrgSlp

    • Camber angle vs steering angle slope, CamberStrgSlp

    • Suspension height vs steering angle slope, StrgHgtSlp

Nominal suspension camber angle at zero steering angle, ξ0a, in rad.

Camber angle versus suspension height, mhcambera, in rad/m.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Camber angle versus steering angle slope, mcambersteera, dimensionless.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Dependencies

Setting an element of the Steered axle enable by axle, StrgEnByAxl vector to 1 creates:

  • Input port StrgAng.

  • Parameters:

    • Toe angle vs steering angle slope, ToeStrgSlp

    • Caster angle vs steering angle slope, CasterStrgSlp

    • Camber angle vs steering angle slope, CamberStrgSlp

    • Suspension height vs steering angle slope, StrgHgtSlp

Steering angle to vertical force slope applied at suspension wheel carrier reference point, mhsteera, in m/rad.

Vector is 1 by the number of vehicle axles, Na. If you provide a scalar value, the block uses that value for all axles.

Dependencies

Setting an element of the Steered axle enable by axle, StrgEnByAxl vector to 1 creates:

  • Input port StrgAng.

  • Parameters:

    • Toe angle vs steering angle slope, ToeStrgSlp

    • Caster angle vs steering angle slope, CasterStrgSlp

    • Camber angle vs steering angle slope, CamberStrgSlp

    • Suspension height vs steering angle slope, StrgHgtSlp

References

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

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

[3] Technical Committee. Road vehicles — Vehicle dynamics and road-holding ability — Vocabulary. ISO 8855:2011. Geneva, Switzerland: International Organization for Standardization, 2011.

Extended Capabilities

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

Introduced in R2018a