# Vehicle Body

Vehicle body with two axles in longitudinal motion

**Libraries:**

Simscape /
Driveline /
Tires & Vehicles

## Description

The Vehicle Body block represents a two-axle vehicle body in longitudinal motion. The vehicle can have the same or a different number of wheels on each axle. For example, two wheels on the front axle and one wheel on the rear axle. The vehicle wheels are assumed identical in size. The vehicle can also have a center of gravity (CG) that is at or below the plane of travel.

The block accounts for body mass, aerodynamic drag, road incline, and weight distribution between axles due to acceleration and road profile. Optionally include pitch and suspension dynamics. The vehicle does not move vertically relative to the ground.

The block has an option to include an externally-defined mass and an externally-defined inertia. The mass, inertia, and center of gravity of the vehicle body can vary over the course of simulation in response to system changes. You can also optionally control the drag coefficient with a physical signal.

### Model

The vehicle axles are parallel and form a plane. The longitudinal,
*x*, direction lies in this plane and perpendicular to the
axles. If the vehicle is traveling on an incline slope, *β*, the
normal, *z*, direction is not parallel to gravity but is always
perpendicular to the axle-longitudinal plane.

This figure and table define the vehicle motion model variables.

**Vehicle Dynamics and Motion**

**Vehicle Model Variables**

Symbol | Description |
---|---|

g | Gravitational acceleration
parameter. |

β | Road incline angle, parameter
beta. |

m | Mass of the vehicle, specified by either the
Mass parameter or port
M. |

h | Height of vehicle center of gravity (CG) above the ground. |

a, b | Distance of front and rear axles, respectively, from the normal projection point of vehicle CG onto the common axle plane. |

V_{x} | Velocity of the vehicle. When
V > 0, the vehicle
moves forward. When _{x}V
< 0, the vehicle moves backward. _{x} |

V_{w} | Wind speed. When V >
0, the wind is headwind. When
_{w}V < 0, the wind is
tailwind._{w} |

n | Number of wheels per axle parameter. You
can use an integer or a two-element vector where the elements
represent the front and rear axles, respectively. |

F,
_{xf}F_{xr} | Longitudinal forces on each wheel at the front and rear ground contact points, respectively. |

F,
_{zf}F_{zr} | Normal load forces on each wheel at the front and rear ground contact points, respectively. |

A | Effective frontal vehicle cross-sectional area. |

C_{d} | Aerodynamic drag coefficient. |

ρ | Mass density of air. |

F_{d} | Aerodynamic drag force. |

### Equations

**Vehicle Dynamics**

The vehicle motion is a result of the net effect of all the forces and torques
acting on it. The longitudinal tire forces push the vehicle forward or backward.
The weight *mg* of the vehicle acts through its center of
gravity (CG). Depending on the incline angle, the weight pulls the vehicle to
the ground and pulls it either backward or forward. Whether the vehicle travels
forward or backward, aerodynamic drag slows it down. For simplicity, the drag is
assumed to act through the CG.

$$m{\dot{V}}_{x}={F}_{x}-\text{}{F}_{d}-mg\cdot \mathrm{sin}\beta $$

$$\begin{array}{cc}\text{Integer}n& {F}_{x}=n({F}_{xf}+{F}_{xr})\\ \text{Vector}n& {F}_{x}=n(1){F}_{xf}+n(2){F}_{xr}\end{array}$$

$${F}_{d}=\frac{1}{2}{C}_{d}\rho A{({V}_{x}+{V}_{w})}^{2}\cdot \mathrm{sgn}({V}_{x}+{V}_{w})$$

Zero normal acceleration and zero pitch torque determine the normal force on each front and rear wheel.

$$\begin{array}{cc}\text{Integer}n& {F}_{zf}=\frac{-h({F}_{d}+mg\mathrm{sin}\beta +m{\dot{V}}_{x})+b\cdot mg\mathrm{cos}\beta}{n(a+b)}\\ \text{Vector}n& {F}_{zf}=\frac{-h({F}_{d}+mg\mathrm{sin}\beta +m{\dot{V}}_{x})+b\cdot mg\mathrm{cos}\beta}{n(1)a+n(2)b}\end{array}$$

$$\begin{array}{cc}\text{Integer}n& {F}_{zr}=\frac{+h({F}_{d}+mg\mathrm{sin}\beta +m{\dot{V}}_{x})+a\cdot mg\mathrm{cos}\beta}{n(a+b)}\\ \text{Vector}n& {F}_{zr}=\frac{+h({F}_{d}+mg\mathrm{sin}\beta +m{\dot{V}}_{x})+a\cdot mg\mathrm{cos}\beta}{n(1)a+n(2)b}\end{array}$$

The wheel normal forces satisfy

$$\begin{array}{cc}\text{Integer}n& {F}_{zf}+{F}_{zr}=mg\frac{\mathrm{cos}\beta}{n}\\ \text{Vector}n& n(1){F}_{zf}+n(2){F}_{zr}=mg\mathrm{cos}\beta \end{array}$$

If you include an externally-defined mass or inertia, the equations are shifted by the weighted value of the input.

**Pitch dynamics**

Pitch acceleration depends on three torque components and the inertia of the vehicle:

$$\alpha =\frac{(f\cdot h)+({F}_{zf}a)-({F}_{zr}b)}{J}$$

Where:

*ɑ*is the pitch acceleration.*f*is the longitudinal force.*h*is the height of the center of gravity when measured parallel to the*z*-axis.*J*is the inertia.

If you choose a linear model for suspension stiffness and damping, the block uses small angle approximation for pitch calculations. If you choose a table lookup model, the block uses the vectors that you specify calculate pitch dynamics. For hard stop equations, see Translational Hard Stop.

**Energy Accounting**

You can track the power dissipated due to aerodynamic drag. The
`simlog`

workspace variable contains the
`power_dissipated`

variable.

### Variables

To set the priority and initial target values for the block variables prior to simulation,
use the **Initial Targets** section in the block dialog box or Property
Inspector. For more information, see Set Priority and Initial Target for Block Variables.

Nominal values provide a way to specify the expected magnitude of a variable in a model.
Using system scaling based on nominal values increases the simulation robustness. Nominal
values can come from different sources, one of which is the **Nominal
Values** section in the block dialog box or Property Inspector. For more
information, see Modify Nominal Values for a Block Variable.

### Limitations and Assumptions

The Vehicle Body block lets you model only longitudinal dynamics, parallel to the ground and oriented along the direction of motion. The vehicle is assumed to be in pitch and normal equilibrium. The block does not model pitch or vertical movement. As such, the equations assume that the wheels never lose contact. This constraint can result in negative normal forces.

## Examples

## Ports

### Input

### Output

### Conserving

## Parameters

## Extended Capabilities

## Version History

**Introduced in R2011a**