Independent Suspension  MacPherson
MacPherson independent suspension
 Library:
Vehicle Dynamics Blockset / Suspension
Description
The Independent Suspension  MacPherson block implements an independent MacPherson suspension for multiple axles with multiple wheels per axle.
The block models the suspension compliance, damping, and geometric effects as functions of the relative positions and velocities of the vehicle and wheel carrier with axlespecific compliance and damping parameters. Using the suspension compliance and damping, the block calculates the suspension force on the vehicle and wheel. The block uses the Zdown coordinate system (defined in SAE J670).
For Each  You Can Specify 

Axle 

Wheel 

The block contains energystoring spring elements and energydissipating damper elements. It does not contain energystoring mass elements. The block assumes that the vehicle (sprung) and wheel (unsprung) blocks connected to the block store the massrelated suspension energy.
This table summarizes the block parameter settings for a vehicle with:
Two axles
Two wheels per axle
Steering angle input for both wheels on the front axle
An antisway bar on the front axle
Parameter  Setting 

Number of axles, NumAxl 

Number of wheels by axle, NumWhlsByAxl 

Steered axle enable by axle, StrgEnByAxl 

Antisway axle enable by axle, AntiSwayEnByAxl 

The block uses the wheel number, t, to index the input and output signals. This table summarizes the wheel, axle, and corresponding wheel number for a vehicle with:
Two axles
Two wheels per axle
Wheel  Axle  Wheel Number 

Front left  Front  1 
Front right  Front  2 
Rear left  Rear  1 
Rear right  Rear  2 
Suspension Compliance and Damping
The block uses a linear spring and damper to model the vertical dynamic effects of the suspension system. Using the relative positions and velocities of the vehicle and wheel carrier, the block calculates the vertical suspension forces on the wheel and vehicle. The block uses a linear equation that relates the vertical damping and compliance to the suspension height, suspension height rate of change, and absolute value of the steering angles.
The block implements this equation.
$${F}_{w{z}_{a,t}}={F}_{z{0}_{a}}+{k}_{{z}_{a}}({z}_{{v}_{a,t}}{z}_{{w}_{a,t}}+{m}_{hstee{r}_{a}}\left{\delta}_{stee{r}_{a,t}}\right)+c({\dot{z}}_{{v}_{a,t}}{\dot{z}}_{{w}_{a,t}})+{F}_{zhsto{p}_{a,t}}+{F}_{zasw{y}_{a,t}}$$
The damping coefficient, c, depends on the Enable active damping parameter setting.
Enable active damping Setting  Damping 

off  Constant, c = c_{za} 
on  Lookup table that is a function of active damper duty cycle and actuator velocity $$c=f\left(duty,({\dot{z}}_{{v}_{a,t}}{\dot{z}}_{{w}_{a,t}})\right)$$ 
The block assumes that the suspension elements have no mass. Therefore, the suspension forces and moments applied to the vehicle are equal to the suspension forces and moments applied to the wheel.
$$\begin{array}{l}{F}_{v{x}_{a,t}}={F}_{w{x}_{a,t}}\\ {F}_{v{y}_{a,t}}={F}_{w{y}_{a,t}}\\ {F}_{v{z}_{a,t}}={F}_{w{z}_{a,t}}\\ \\ {M}_{v{x}_{a,t}}={M}_{w{x}_{a,t}}+{F}_{w{y}_{a,t}}(R{e}_{w{y}_{a,t}}+{H}_{a,t})\\ {M}_{v{y}_{a,t}}={M}_{w{y}_{a,t}}+{F}_{w{x}_{a,t}}\left(R{e}_{w{x}_{a,t}}+{H}_{a,t}\right)\\ {M}_{v{z}_{a,t}}={M}_{w{z}_{a,t}}\end{array}$$
The block sets the wheel positions and velocities equal to the vehicle lateral and longitudinal positions and velocities.
$$\begin{array}{l}{x}_{{w}_{a,t}}={x}_{{v}_{a,t}}\\ {y}_{{w}_{a,t}}={y}_{{v}_{a,t}}\\ {\dot{x}}_{{w}_{a,t}}={\dot{x}}_{{v}_{a,t}}\\ {\dot{y}}_{{w}_{a,t}}={\dot{y}}_{{v}_{a,t}}\end{array}$$
The equations use these variables.
F_{wza,t}, M_{wza,t}  Suspension force and moment applied to the
wheel on axle 
F_{wxa,t}, M_{wxa,t}  Suspension force and moment applied to the
wheel on axle 
F_{wya,t}, M_{wya,t}  Suspension force and moment applied to the
wheel on axle 
F_{vza,t}, M_{vza,t}  Suspension force and moment applied to the
vehicle on axle 
F_{vxa,t}, M_{vxa,t}  Suspension force and moment applied to the
vehicle on axle 
F_{vya,t}, M_{vya,t}  Suspension force and moment applied to the
vehicle on axle 
F_{z0a}  Vertical suspension spring preload force
applied to the wheels on axle 
k_{za}  Vertical spring constant applied to wheels on
axle 
kwa_{z}  Wheel and axle interface compliance constant 
m_{hsteera}  Steering angle to vertical force slope
applied at wheel carrier for wheels on axle

δ_{steera,t}  Steering angle input for axle

c_{za}  Vertical damping constant applied to wheels
on axle 
cwa_{z}  Wheel and axle interface damping constant 
Re_{wa,t}  Effective wheel radius for axle

F_{zhstopa,t}  Vertical hardstop force at axle

F_{zaswya,t}  Vertical antisway force at axle

Fwa_{z0}  Wheel and axle interface compliance constant 
z_{va,t}, ż_{va,t}  Vehicle displacement and velocity at axle

z_{wa,t}, ż_{wa,t}  Wheel displacement and velocity at axle

x_{va,t}, ẋ_{va,t}  Vehicle displacement and velocity at axle

x_{wa,t}, ẋ_{wa,t}  Wheel displacement and velocity at axle

y_{va,t}, ẏ_{va,t}  Vehicle displacement and velocity at axle

y_{wa,t}, ẏ_{wa,t}  Wheel displacement and velocity at axle

H_{a,t}  Suspension height at axle

Re_{wa,t}  Effective wheel radius at axle
a , wheel t 
Hardstop Forces
The hardstop feedback force, F_{zhstopa,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.
AntiSway Bar
Optionally, use the Antisway axle enable by axle, AntiSwayEnByAxl parameter to implement an antisway bar force, F_{zaswya,t}, for axles that have two wheels. This figure shows how the antisway bar transmits torque between two independent suspension wheels on a shared axle. Each independent suspension applies a torque to the antisway bar via a radius arm that extends from the antisway bar back to the independent suspension connection point.
To calculate the sway bar force, the block implements these equations.
Calculation  Equation 

Antisway bar angular deflection for a given axle and wheel, Δϴ_{a,t} 
$\begin{array}{l}{\theta}_{0a}={\mathrm{tan}}^{1}\left(\frac{{z}_{0}}{r}\right)\\ \Delta {\theta}_{a,t}={\mathrm{tan}}^{1}\left(\frac{r\mathrm{tan}{\theta}_{0a}{z}_{{w}_{a,t}}+{z}_{{v}_{a,t}}}{r}\right)\end{array}$ 
Antisway bar twist angle, ϴ_{a} 
${\theta}_{a}={\mathrm{tan}}^{1}\left(\frac{r\mathrm{tan}{\theta}_{0a}{z}_{{w}_{a,1}}+{z}_{{v}_{a,1}}}{r}\right){\mathrm{tan}}^{1}\left(\frac{r\mathrm{tan}{\theta}_{0a}{z}_{{w}_{a,2}}+{z}_{{v}_{a,2}}}{r}\right)$ 
Antisway bar torque, τ_{a} 
${\tau}_{a}={k}_{a}{\theta}_{a}$ 
Antisway bar forces applied to the wheel on axle

$\begin{array}{l}{F}_{zasw{y}_{a,1}}=\left(\frac{{\tau}_{a}}{r}\right)\mathrm{cos}\left({\theta}_{0a}{\mathrm{tan}}^{1}\left(\frac{r\mathrm{tan}{\theta}_{0a}{z}_{{w}_{a,1}}+{z}_{{v}_{a,1}}}{r}\right)\right)\\ {F}_{zasw{y}_{a,2}}=\left(\frac{{\tau}_{a}}{r}\right)\mathrm{cos}\left({\theta}_{0a}{\mathrm{tan}}^{1}\left(\frac{r\mathrm{tan}{\theta}_{0a}{z}_{{w}_{a,2}}+{z}_{{v}_{a,2}}}{r}\right)\right)\end{array}$ 
The equations and figure use these variables.
τ_{a} 
Antisway bar torque 
θ 
Antisway bar twist angle 
θ_{0a} 
Initial antisway bar twist angle 
Δϴ_{a,t}  Antisway bar angular deflection at axle
a , wheel t 
r  Antisway bar arm radius 
z_{0}  Vertical distance from antisway bar connection point to antisway bar centerline 
F_{zswaya,t}  Antisway bar force applied to the wheel
on axle 
z_{va,t}  Vehicle displacement at axle

z_{wa,t}  Wheel displacement at axle

Camber, Caster, and Toe Angles
To calculate the camber, caster, and toe angles, block uses linear functions of the suspension height and steering angle.
$$\begin{array}{l}{\xi}_{a,t}={\xi}_{0a}+{m}_{hcambe{r}_{a}}\left({z}_{{w}_{a,t}}{z}_{{v}_{a,t}}{m}_{hstee{r}_{a}}\left{\delta}_{stee{r}_{a,t}}\right\right)+{m}_{camberstee{r}_{a}}\left{\delta}_{stee{r}_{a,t}}\right\\ {\eta}_{a,t}={\eta}_{0a}+{m}_{hcaste{r}_{a}}\left({z}_{{w}_{a,t}}{z}_{{v}_{a,t}}{m}_{hstee{r}_{a}}\left{\delta}_{stee{r}_{a,t}}\right\right)+{m}_{casterstee{r}_{a}}\left{\delta}_{stee{r}_{a,t}}\right\\ {\zeta}_{a,t}={\zeta}_{0a}+{m}_{hto{e}_{a}}\left({z}_{{w}_{a,t}}{z}_{{v}_{a,t}}{m}_{hstee{r}_{a}}\left{\delta}_{stee{r}_{a,t}}\right\right)+{m}_{toestee{r}_{a}}\left{\delta}_{stee{r}_{a,t}}\right\\ \end{array}$$
The equations use these variables.
ξ_{a,t}  Camber angle of wheel on axle 
η_{a,t}  Caster angle of wheel on axle 
ζ_{a,t}  Toe angle of wheel on axle 
ξ_{0a}, η_{0a}, ζ_{0a} 
Nominal suspension axle a camber, caster, and toe angles, respectively, at zero steering angle 
m_{hcambera}, m_{hcastera}, m_{htoea} 
Camber, caster, and toe angles, respectively, versus suspension height slope for
axle 
m_{cambersteera}, m_{castersteera}, m_{toesteera} 
Camber, caster, and toe angles, respectively, versus steering angle slope for
axle 
m_{hsteera} 
Steering angle versus vertical force slope for axle 
δ_{steera,t}  Steering angle input for axle 
z_{va,t}  Vehicle displacement at axle 
z_{wa,t}  Wheel displacement at axle 
Steering Angles
Optionally, use the Steered axle enable by axle, StrgEnByAxl parameter to input steering angles for the wheels. To calculate the steering angles for the wheels, the block offsets the input steering angles with a linear function of the suspension height.
${\delta}_{whlstee{r}_{a,t}}={\delta}_{stee{r}_{a,t}}+{m}_{hto{e}_{a}}\left({z}_{{w}_{a,t}}{z}_{{v}_{a,t}}{m}_{hstee{r}_{a}}\left{\delta}_{stee{r}_{a,t}}\right\right)+{m}_{toestee{r}_{a}}\left{\delta}_{stee{r}_{a,t}}\right$
The equation uses these variables.
m_{toesteera} 
Axle 
m_{hsteera} 
Axle 
m_{htoea} 
Axle 
δ_{whlsteera,t}  Wheel steering angle for axle 
δ_{steera,t}  Steering angle input for axle 
z_{va,t}  Vehicle displacement at axle 
z_{wa,t}  Wheel displacement at axle 
Power and Energy
The block calculates these suspension characteristics for each axle,
a
, wheel,
t
.
Calculation  Equation 

Dissipated power, P_{suspa,t} 
$${P}_{sus{p}_{a,t}}={F}_{wzlooku{p}_{a}}\left({\dot{z}}_{{v}_{a,t}}{\dot{z}}_{{w}_{a,t}},{\dot{z}}_{{v}_{a,t}}{\dot{z}}_{{w}_{a,t}},{\delta}_{stee{r}_{a,t}}\right)$$ 
Absorbed energy, E_{suspa,t} 
$${E}_{sus{p}_{a,t}}={F}_{wzlooku{p}_{a}}\left({\dot{z}}_{{v}_{a,t}}{\dot{z}}_{{w}_{a,t}},{\dot{z}}_{{v}_{a,t}}{\dot{z}}_{{w}_{a,t}},{\delta}_{stee{r}_{a,t}}\right)$$ 
Suspension height, H_{a,t} 
$${H}_{a,t}=\left({z}_{{v}_{a,t}}{z}_{{w}_{a,t}}+\frac{{F}_{z{0}_{a}}}{{k}_{{z}_{a}}}+{m}_{hstee{r}_{a}}\left{\delta}_{stee{r}_{a,t}}\right\right)$$ 
Distance from wheel carrier center to tire/road interface 
$${z}_{wt{r}_{a,t}}=R{e}_{{w}_{a,t}}+{H}_{a,t}$$ 
The equations use these variables.
m_{hsteera}  Steering angle
to vertical force slope applied at wheel carrier
for wheels on axle

δ_{steera,t}  Steering angle
input for axle 
Re_{wa,t}  Axle

F_{z0a}  Vertical
suspension spring preload force applied to the
wheels on axle 
z_{wtra,t}  Distance from wheel carrier center to tire/road interface, along the vehiclefixed zaxis 
z_{va,t}, ż_{va,t}  Vehicle
displacement and velocity at axle

z_{wa,t}, ż_{wa,t}  Wheel
displacement and velocity at axle

Ports
Input
Output
Parameters
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 roadholding ability — Vocabulary. ISO 8855:2011. Geneva, Switzerland: International Organization for Standardization, 2011.