MacPherson independent suspension
Vehicle Dynamics Blockset / Suspension
The Independent Suspension  MacPherson block implements an independent MacPherson suspension for multiple axles with multiple tracks 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 

Track 

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 tracks per axle
Steering angle input for both tracks on the front axle
An antisway bar on the front axle
Parameter  Setting 

Number of axles, NumAxl 

Number of tracks by axle, NumTracksByAxl 

Steered axle enable by axle, StrgEnByAxl 

Antisway axle enable by axle, AntiSwayEnByAxl 

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 tracks on axle 
m_{hsteera}  Steering angle to vertical force slope applied at wheel carrier for tracks on axle 
δ_{steera,t}  Steering angle input for axle 
c_{za}  Vertical damping constant applied to tracks on axle 
Re_{wa,t}  Effective wheel radius for axle 
F_{zhstopa,t}  Vertical hardstop force at axle 
F_{zaswya,t}  Vertical antisway force at axle 
z_{va,t}, ż_{va,t}  Vehicle displacement and velocity at axle 
z_{wa,t}, ż_{wa,t}  Track displacement and velocity at axle 
x_{va,t}, ẋ_{va,t}  Vehicle displacement and velocity at axle 
x_{wa,t}, ẋ_{wa,t}  Track displacement and velocity at axle 
y_{va,t}, ẏ_{va,t}  Vehicle displacement and velocity at axle 
y_{wa,t}, ẏ_{wa,t}  Track displacement and velocity at axle 
H_{a,t}  Suspension height at axle 
Re_{wa,t}  Effective wheel radius at axle a , track t 
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.
Optionally, the block implements an antisway bar force, F_{zaswya,t}, for axles that have two tracks. This figure shows how the antisway bar transmits torque between two independent suspension tracks 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 track, Δϴ_{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 , track 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 
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} 
Track displacement at axle 
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.
${\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} 
Track displacement at axle 
The block calculates these suspension characteristics for each axle,
a
, track,
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 tracks 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}  Track
displacement and velocity at axle

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