Modeling and simulation of an automotive suspension

In this article we are going to determine the mathematical model (set of differential equations) of a simplified half-car model that includes an independent front and rear vertical suspension. The model will have two degrees of freedom: body pitch and vertical bounce. This model can be used as a starting point for investigating vehicle ride characteristics, having as perturbations road bumps and body pitch due to acceleration/deceleration events.

Image: Vehicle suspension diagram

There are a few assumptions made, regarding the suspension model (half-car/vehicle):

• the vehicle body is rigid, with the mass concentrated in the centre of gravity
• the wheel mass, spring and damping characteristics are not considered
• both front and rear suspensions are modelled as simple spring-damper systems
• the vehicle body has only two degrees of freedom: pitch (around y-axis) and vertical bounce (along z-axis)

First step is to draw the schematic of the suspension with the corresponding lumped parameters.

Image: Vehicle suspension schematic

The parameters and degrees of freedom are summarised in the table below:

 Parameter Value Unit Description a 1.2 m horizontal distance from center of gravity (CoG) to front axle b 0.8 m horizontal distance from center of gravity (CoG) to rear axle m 1200 kg vehicle body mass Iyy 2100 kg⋅m2 vehicle body moment of inertia around pitch axis kf 35000 N/m front suspension spring constant kr 35000 N/m rear suspension spring constant cf 2900 N⋅s/m front suspension damping rate cr 2900 N⋅s/m rear suspension damping rate g 9.81 m/s2 gravitational acceleration

The bouncing of the vehicle body is along the z [m] direction and is positive downwards. The pitch angle θ [°] is considered positive when rotating towards the front axle. The road irregularities (bumps) are considered as displacements along the vertical axis, characterised by u [m].

Vehicle suspension mathematical modeling (equations)

From the suspension schematic we can now draw the free body diagram which will depict the forces and torque acting on the vehicle body.

Image: Vehicle suspension forces and torques

where:

Ff [N] – front suspension vertical force
Fr [N] – rear suspension vertical force
G [N] – vehicle weight
Mf [Nm] – front torque around CoG
Mr [Nm] – rear torque around CoG
My [Nm] – pitch moment (torque) induced by vehicle acceleration

The equilibrium equations governing our suspension model are as follows:

• force equilibrium on the vertical axis
$m \cdot \frac{d^{2}z}{dt^{2}} = G – F_{f} – F_{r} \tag{1}$
• torque equilibrium around the centre of gravity (CoG)
$I_{yy}\cdot \frac{d^{2}\theta}{dt^{2}} = – M_{y} – M_{f} + M_{r} \tag{2}$

The front are rear torques are calculated as:

$M_{f} = F_{f} \cdot a \tag{3}$ $M_{r} = F_{r} \cdot b \tag{4}$

The front and rear vertical forces are calculates as:

$F_{f} = k_{f} \cdot (u + z + \theta \cdot a) + c_{f} \cdot (du + dz + d\theta \cdot a) \tag{5}$ $F_{r} = k_{r} \cdot (z + \theta \cdot b) + c_{r} \cdot (dz + d\theta \cdot b) \tag{6}$

From equation (1) we’ll extract the acceleration of the vertical bouncing:

$\frac{d^{2}z}{dt^{2}} = \frac{1}{m} \cdot (G – F_{f} – F_{r}) \tag{7}$

From equation (2) we’ll extract the acceleration of the pitch angle:

$\frac{d^{2}\theta}{dt^{2}} = \frac{1}{I_{yy}} \cdot ( – M_{y} – M_{f} + M_{r}) \tag{8}$

Xcos block diagram modeling and simulation

Further, we’ll use Scilab/Xcos to simulate the dynamic behaviour of the suspension.

By integrating equations (7) and (8) we can obtain the variation of the vertical bouncing and pitch angle in time. The corresponding Xcos block diagrams are as follows:

Image: Vehicle suspension differential equations – Xcos block diagram

The front axle force and torque, described by equations (3) and (5), are modelled in Xcos block diagrams as follows:

Image: Front force and torque – Xcos block diagram

The rear axle force and torque, described by equations (4) and (6), are modelled in Xcos block diagrams as follows:

Image: Rear force and torque – Xcos block diagram

For the simulation to be possible we need also some input signals, as disturbances. These are the road irregularities u [m] and pitch torque My [Nm] due to vehicle acceleration. These inputs are integrated into Xcos block diagrams as:

Image: Vehicle suspension inputs – Xcos block diagram

The Gain blocks are used to disable the input signals, by changing the 1 to 0. After the vehicle parameters (see table above) are loaded into the Scilab workspace, the simulation is run for 10 s. The results are saved in the Scilab workspace for post-processing.

Image: Vehicle suspension outputs – Xcos block diagram

The results are sampled at 0.01 s, defined in the Clock block.

Simulation scenarios (use cases)

The user can imagine several simulations scenarios depending on the application. In our case we are going to run 3 simulation scenarios:

• stabilisation run
• vehicle acceleration

Stabilisation run

The purpose of this scenario is to find the initial conditions of the degrees of freedom: vertical bounce and pitch angle. Imagine this scenario as the vehicle being held into the air and then released on the ground. Due to the vehicle weight and the unequal distance between the CoG and front/rear axles, the suspension will compress and the vehicle body will slightly rotate towards the rear axle.

During the stabilisation run, both inputs u [m] and My [Nm] are set to 0. Also, the initial conditions for the vertical bounce z [m] and θ [rad] are set to 0.

Image: Stabilising simulation run – inputs

After running the simulation we’ll get the following time variation of degrees of freedom, forces and torques.

Image: Stabilising simulation run – displacement and angle

As expected, after the vehicle body is released at time t = 0, the vehicle body will initially bounce and stabilise at a displacement of around 0.175 m. This means that the suspension is compressed due to the weight of the vehicle.

Also, due to the unequal distribution of the vehicle weight between the front and rear axles, the vehicle body will rotate with the pitch angle of around -1.93°. The angle is negative because the rotation is opposite to the positive direction considered when writing the equations. The simulation will output the pitch angle in radians and it is transformed into degrees by multiplying the value with 180/π.

Image: Stabilising simulation run – forces and torque

The force distribution between the front and rear axles is also unequal. Because the CoG is closed to the rear axle, the rear axle will take a higher vertical load compared with the front axle. This is beneficial during acceleration events since more torque can be transmitted through the rear wheels (if the vehicle has rear-wheel drive).

In order to have a snapshot of the stabilised values of the degrees of freedom, forces and torques, we can print the last values of the simulation data:

z [m] = 0.174898
theta [deg] = -1.927106
Ff [N] = 4708.8
Fr [N] = 7063.2
Mf [Nm] = 5650.6
Mr [Nm] = 5650.6

Before running this scenario, we must set the initial conditions of the vertical bounce z [m] and pitch angle θ [rad] integration blocks as:

• z0 [m] = 0.174898

In this scenario, at time t = 1 s, the road has a step bump of 0.1 m, which is reset back to 0 at t = 5 s.

Image: Road bump run – inputs

After running the simulation we’ll get the following time variation of degrees of freedom, forces and torques.

Image: Road bump run – displacement and angle

As expected the road bump will push upwards the vehicle body, to a displacement of around 0.13 m. Also, the vehicle is further rotated towards the rear axle, the pitch angle stabilising at around -5°. After the bump has been rolled over, the vehicle body vertical position and pitch angle comes back in the initial position.

Please note that in this example is considered that the bump is only affecting the front wheels. If we want to consider that it will hit the rear wheels as well, the governing equations of the system must be adjusted.

Image: Road bump run – forces and torque

When the front wheel comes into contact with the bump, the front vertical load (force) increases and the vehicle body is pushed upwards. This induces a decrease of the load on the rear wheel. As the vehicle body rotates around the pitch axis, the vehicle weight is moved between the front and rear axles until is finally coming to a stabilisation point.

Vehicle acceleration

This scenario is also run with the initial conditions set as in the previous example. In this example the vehicle is considered to accelerate, which will induce a rotating torque My [Nm] around the pitch axis.

The acceleration torque is considered as a step input of 1000 Nm at t = 1 s. The torque is kept constant for 4 s and reset back to 0 Nm.

Image: Vehicle acceleration run – inputs

After running the simulation we’ll get the following time variation of degrees of freedom, forces and torques.

Image: Vehicle acceleration run – displacement and angle

The sudden vehicle acceleration will cause the vehicle body to further compress the suspension. Also, the body will rotate more around the pitch axis. After the acceleration event is finished, both vertical position and pitch angle come back to the initial values.

Image: Vehicle acceleration run – forces and torque

During vehicle acceleration, due to the pitch rotation, the weight of the vehicle transfers more on the rear axle. This causes the front vertical force to decrease and rear vertical force to increase.

Starting from this example the user can further expand the simulation scenarios, for example, by combining both road bump and vehicle acceleration in a single run. Also, the suspension model can be further improved by adding the wheel mass and the tire spring and damping characteristics.