Vehicle Body 3DOF
3DOF rigid vehicle body to calculate longitudinal, lateral, and yaw motion
Libraries:
Vehicle Dynamics Blockset /
Vehicle Body
Description
The Vehicle Body 3DOF block implements a rigid twoaxle vehicle body model to calculate longitudinal, lateral, and yaw motion. The block accounts for body mass and aerodynamic drag between the axles due to acceleration and steering.
Use this block in vehicle dynamics and automated driving studies to model nonholonomic vehicle motion when vehicle pitch, roll, and vertical motion are not significant.
In the Vehicle Dynamics Blockset™ library, there are two types of Vehicle Body 3DOF blocks that model longitudinal, lateral, and yaw motion.
Block  Vehicle Track Setting  Implementation 

Vehicle Body 3DOF Single Track 


Vehicle Body 3DOF Dual Track 
 Forces act at the four vehicle corners or hard points. 
Use the Axle forces parameter to specify the type of force.
Axle Forces Setting  Implementation 







You can use these block parameters to create additional input ports. This table summarizes the settings.
Input Signals Pane Parameter  Input Port  Description 

Front wheel steering 
 Front wheel angle, δ_{F} 
External wind 
 Wind speed, W_{X}, W_{Y}, W_{Z}, in the inertial reference frame 
External forces  FExt  External force on vehicle center of gravity (CG), F_{x}, F_{y}, F_{z}, in the vehiclefixed frame 
Rear wheel steering  WhlAngR  Rear wheel angle, δ_{R} 
External friction  Mu  Friction coefficient 
External moments 
 External moment about vehicle CG, M_{x}, M_{y}, M_{z}, in vehiclefixed frame 
Hitch forces  Fh  Hitch force applied to the body at the hitch location, Fh_{x}, Fh_{y}, and Fh_{z}, in the vehiclefixed frame 
Hitch moments  Mh  Hitch moment at the hitch location, Mh_{x}, Mh_{y}, and Mh_{z}, about the vehiclefixed frame 
Initial longitudinal position 
 Initial vehicle CG displacement along the earthfixed Xaxis, in m 
Initial lateral position 
 Initial vehicle CG displacement along the earthfixed Yaxis, in m 
Initial longitudinal velocity 
 Initial vehicle CG velocity along the vehiclefixed xaxis, in m/s 
Initial lateral velocity 
 Initial vehicle CG velocity along the vehiclefixed yaxis, in m/s 
Initial yaw angle 
 Initial rotation of the vehiclefixed frame about the earthfixed Zaxis (yaw), in rad 
Initial yaw rate 
 Initial vehicle angular velocity about the vehiclefixed zaxis (yaw rate), in rad/s 
Air temperature  AirTemp  Ambient air temperature. Considering this option if you want to vary the temperature during runtime. 
Theory
The Vehicle Body 3DOF block implements a rigid twoaxle vehicle body model to calculate longitudinal, lateral, and yaw motion. The block accounts for body mass, aerodynamic drag, and weight distribution between the axles due to acceleration and steering. To determine the vehicle motion, the block implements these equations for the single track, dual track, and drag calculations.
Single Track
Calculation  Description 

Dynamics 
The block uses these equations to calculate the rigid body planar dynamics. $\begin{array}{l}\ddot{y}=\dot{x}r+\frac{{F}_{yf}+{F}_{yr}+{F}_{yext}}{m}\\ \dot{r}=\frac{a{F}_{yf}b{F}_{yr}+{M}_{zext}}{{I}_{zz}}\\ r=\dot{\psi}\end{array}$ If you set Axle
forces to either $\ddot{x}=\dot{y}r+\frac{{F}_{xf}+{F}_{xr}+{F}_{xext}}{m}$ If you set Axle
forces to $\ddot{x}=0$ 
External forces 
External forces include both drag and external force inputs. The forces act on the vehicle CG. $\begin{array}{l}{F}_{x,y,zext}={F}_{dx,y,z}+{F}_{x,y,zinput}\\ {M}_{x,y,zext}={M}_{dx,y,z}+{M}_{x,y,zinput}\end{array}$ If you set Axle forces to
$\begin{array}{l}{F}_{xft}={F}_{xfinput}\\ {F}_{yft}={C}_{yf}{\alpha}_{f}{\mu}_{f}\frac{{F}_{zf}}{{F}_{znom}}\\ {F}_{xrt}={F}_{xrinput}\\ {F}_{yrt}={C}_{yr}{\alpha}_{r}{\mu}_{r}\frac{{F}_{zr}}{{F}_{znom}}\end{array}$ If you set Axle forces to
$\begin{array}{l}{F}_{xft}=0\\ {F}_{yft}={C}_{yf}{\alpha}_{f}{\mu}_{f}\frac{{F}_{zf}}{{F}_{znom}}\\ {F}_{xrt}=0\\ {F}_{yrt}={C}_{yr}{\alpha}_{r}{\mu}_{r}\frac{{F}_{zr}}{{F}_{znom}}\end{array}$ The block divides the normal forces by the nominal normal load to vary the effective friction parameters during weight and load transfer. The block uses these equations to maintain pitch and roll equilibrium. $\begin{array}{l}{F}_{zf}=\frac{bmg\left(\ddot{x}\dot{y}r\right)mh+h{F}_{xext}+b{F}_{zext}{M}_{yext}}{a+b}\\ {F}_{zr}=\frac{amg+\left(\ddot{x}\dot{y}r\right)mhh{F}_{xext}+a{F}_{zext}+{M}_{yext}}{a+b}\end{array}$ 
Tire forces  The block uses the ratio of the local and longitudinal and lateral velocities to determine the slip angles. $\begin{array}{l}{\alpha}_{f}=atan\left(\frac{\dot{y}+ar}{\dot{x}}\right){\delta}_{f}\\ {\alpha}_{r}=atan\left(\frac{\dot{y}br}{\dot{x}}\right){\delta}_{r}\end{array}$ To determine the tire forces, the block uses the slip angles. $\begin{array}{l}{F}_{xf}={F}_{xft}\mathrm{cos}\left({\delta}_{f}\right){F}_{yft}\mathrm{sin}\left({\delta}_{f}\right)\\ {F}_{yf}={F}_{xft}\mathrm{sin}\left({\delta}_{f}\right)+{F}_{yft}\mathrm{cos}\left({\delta}_{f}\right)\\ {F}_{xr}={F}_{xrt}\mathrm{cos}\left({\delta}_{r}\right){F}_{yrt}\mathrm{sin}\left({\delta}_{r}\right)\\ {F}_{yr}={F}_{xrt}\mathrm{sin}\left({\delta}_{r}\right)+{F}_{yrt}\mathrm{cos}\left({\delta}_{r}\right)\end{array}$ If you set Axle
forces to $\begin{array}{l}{F}_{xf}={F}_{xft}={F}_{xfinput}\\ {F}_{yf}={F}_{yft}={F}_{yfinput}\\ {F}_{xr}={F}_{xrt}={F}_{xrinput}\\ {F}_{yr}={F}_{yrt}={F}_{yrinput}\end{array}$ 
Dual Track
Calculation  Description 

Dynamics  The block uses these equations to calculate the rigid body planar dynamics. $\begin{array}{l}\ddot{x}=\dot{y}r+\frac{{F}_{xfl}+{F}_{xfr}+{F}_{xrl}+{F}_{xrr}+{F}_{xext}}{m}\\ \ddot{y}=\dot{x}r+\frac{{F}_{yfl}+{F}_{yfr}+{F}_{yrl}+{F}_{yrr+}{F}_{yext}}{m}\\ \dot{r}=\frac{a({F}_{yfl}+{F}_{yfr})b\left({F}_{yrl}+{F}_{yrr}\right)+\frac{{w}_{f}({F}_{xfl}{F}_{xfr})}{2}+\frac{{w}_{r}({F}_{xrl}{F}_{xrr})}{2}+{M}_{zext}}{{I}_{zz}}\\ r=\dot{\psi}\end{array}$ If you set Axle
forces to $\ddot{x}=0$ 
External forces  External forces include both drag and external force inputs. The forces act on the vehicle CG. $\begin{array}{l}{F}_{x,y,zext}={F}_{dx,y,z}+{F}_{x,y,zinput}\\ {M}_{x,y,zext}={M}_{dx,y,z}+{M}_{x,y,zinput}\end{array}$ If you set Axle
forces to $\begin{array}{l}{F}_{xflt}={F}_{xflinput}\\ {F}_{yflt}={C}_{yfl}{\alpha}_{fl}{\mu}_{fl}\frac{{F}_{zfl}}{2{F}_{znom}}\\ {F}_{xfrt}={F}_{xlrinput}\\ {F}_{yfrt}={C}_{yfr}{\alpha}_{fr}{\mu}_{fr}\frac{{F}_{zfr}}{2{F}_{znom}}\\ {F}_{xrlt}={F}_{xrlinput}\\ {F}_{yrlt}={C}_{yrl}{\alpha}_{rl}{\mu}_{rl}\frac{{F}_{zrl}}{2{F}_{znom}}\\ {F}_{xrrt}={F}_{xrrinput}\\ {F}_{yrrt}={C}_{yrr}{\alpha}_{rr}{\mu}_{rr}\frac{{F}_{zrr}}{2{F}_{znom}}\end{array}$ If you set Axle
forces to $\begin{array}{l}{F}_{xflt}=0\\ {F}_{yflt}={C}_{yfl}{\alpha}_{fl}{\mu}_{fl}\frac{{F}_{zfl}}{2{F}_{znom}}\\ {F}_{xfrt}=0\\ {F}_{yfrt}={C}_{yfr}{\alpha}_{fr}{\mu}_{fr}\frac{{F}_{zfr}}{2{F}_{znom}}\\ {F}_{xrlt}=0\\ {F}_{yrlt}={C}_{yrl}{\alpha}_{rl}{\mu}_{rl}\frac{{F}_{zrl}}{2{F}_{znom}}\\ {F}_{xrrt}=0\\ {F}_{yrrt}={C}_{yrr}{\alpha}_{rr}{\mu}_{rr}\frac{{F}_{zrr}}{2{F}_{znom}}\end{array}$ The block divides the normal forces by the nominal normal load to vary the effective friction parameters during weight and load transfer. The block uses these equations to maintain pitch and roll equilibrium. $\begin{array}{l}{F}_{zf}=\frac{bmg\left(\ddot{x}\dot{y}r\right)mh+h{F}_{xext}+b{F}_{zext}{M}_{yext}}{a+b}\\ {F}_{zr}=\frac{amg+\left(\ddot{x}\dot{y}r\right)mhh{F}_{xext}+a{F}_{zext}+{M}_{yext}}{(a+b)}\\ {F}_{zfl}={F}_{zf}+\left(mh(\ddot{y}+\dot{x}r\right)h{F}_{yext}{M}_{xext})\frac{2}{{w}_{f}}\\ {F}_{zfr}={F}_{zf}+\left(mh(\ddot{y}+\dot{x}r\right)+h{F}_{yext}+{M}_{xext})\frac{2}{{w}_{f}}\\ {F}_{zrl}={F}_{zr}+\left(mh(\ddot{y}+\dot{x}r\right)h{F}_{yext}{M}_{xext})\frac{2}{{w}_{r}}\\ {F}_{zrr}={F}_{zr}+\left(mh(\ddot{y}+\dot{x}r\right)+h{F}_{yext}+{M}_{xext})\frac{2}{{w}_{r}}\end{array}$ 
Tire forces  The block uses the ratio of the local and longitudinal and lateral velocities to determine the slip angles. $\begin{array}{l}{\alpha}_{fl}=atan\left(\frac{\dot{y}+ar}{\dot{x}+r\frac{{w}_{f}}{2}}\right){\delta}_{fl}\\ {\alpha}_{fr}=atan\left(\frac{\dot{y}+ar}{\dot{x}r\frac{{w}_{f}}{2}}\right){\delta}_{fr}\\ {\alpha}_{rl}=atan\left(\frac{\dot{y}ar}{\dot{x}+r\frac{{w}_{r}}{2}}\right){\delta}_{rl}\\ {\alpha}_{rr}=atan\left(\frac{\dot{y}ar}{\dot{x}r\frac{{w}_{r}}{2}}\right){\delta}_{rr}\end{array}$ The block uses the steering angles to transform the tire forces to the vehiclefixed frame. $\begin{array}{l}{F}_{xf}={F}_{xft}\mathrm{cos}\left({\delta}_{f}\right){F}_{yft}\mathrm{sin}\left({\delta}_{f}\right)\\ {F}_{yf}={F}_{xft}\mathrm{sin}\left({\delta}_{f}\right)+{F}_{yft}\mathrm{cos}\left({\delta}_{f}\right)\\ {F}_{xr}={F}_{xrt}\mathrm{cos}\left({\delta}_{r}\right){F}_{yrt}\mathrm{sin}\left({\delta}_{r}\right)\\ {F}_{yr}={F}_{xrt}\mathrm{sin}\left({\delta}_{r}\right)+{F}_{yrt}\mathrm{cos}\left({\delta}_{r}\right)\end{array}$ If you set Axle
forces to $\begin{array}{l}{F}_{xf}={F}_{xft}={F}_{xfinput}\\ {F}_{yf}={F}_{yft}={F}_{yfinput}\\ {F}_{xr}={F}_{xrt}={F}_{xrinput}\\ {F}_{yr}={F}_{yrt}={F}_{yrinput}\end{array}$ 
Drag
Calculation  Description 

Coordinate transformation 
The block transforms the wind speeds from the inertial frame to the vehiclefixed frame. $\begin{array}{l}{w}_{x}={W}_{x}\mathrm{cos}\left(\psi \right)+{W}_{y}\mathrm{sin}\left(\psi \right)\\ {w}_{y}={W}_{y}\mathrm{cos}\left(\psi \right){W}_{x}\mathrm{sin}\left(\psi \right)\\ {w}_{z}={W}_{z}\end{array}$ 
Drag forces  To determine a relative airspeed, the block subtracts the wind speed from the CG vehicle velocity. Using the relative airspeed, the block determines the drag forces. $$\begin{array}{l}\overline{w}=\sqrt{{(\dot{x}{w}_{x})}^{2}+{(\dot{y}{w}_{y})}^{2}+{({w}_{z})}^{2}}\\ \\ {F}_{dx}=\frac{1}{2TR}{C}_{d}{A}_{f}{P}_{abs}{(}^{\overline{w}}\\ {F}_{dy}=\frac{1}{2TR}{C}_{s}{A}_{f}{P}_{abs}{(}^{\overline{w}}\\ {F}_{dz}=\frac{1}{2TR}{C}_{l}{A}_{f}{P}_{abs}{(}^{\overline{w}}\end{array}$$ 
Drag moments 
Using the relative airspeed, the block determines the drag moments. $$\begin{array}{l}{M}_{dr}=\frac{1}{2TR}{C}_{rm}{A}_{f}{P}_{abs}{(}^{\overline{w}}(a+b)\\ {M}_{dp}=\frac{1}{2TR}{C}_{pm}{A}_{f}{P}_{abs}{(}^{\overline{w}}(a+b)\\ {M}_{dy}=\frac{1}{2TR}{C}_{ym}{A}_{f}{P}_{abs}{(}^{\overline{w}}(a+b)\end{array}$$ 
Lateral Corner Stiffness and Relaxation Dynamics
Description  Implementation 

Constant values.  The block uses constant stiffness values for Cy_{f} and Cy_{r}. 
Lookup tables as a function of corner stiffness data and slip angles.  The block uses lookup tables that are functions of the corner stiffness data and slip angles. $$\begin{array}{l}C{y}_{f}=f({\alpha}_{f},C{y}_{fdata})\\ C{y}_{r}=f({\alpha}_{r},C{y}_{rdata})\end{array}$$ 
Lookup tables as a function of corner stiffness data and slip angles. Slip angles include the relaxation length dynamic settings.  The block uses lookup tables that are functions of the corner stiffness data and slip angles. The slip angles include the relaxation length dynamic settings. The relaxation length approximates an effective corner stiffness force that is a function of wheel travel. $$\begin{array}{l}C{y}_{f}=f({\alpha}_{f\sigma},C{y}_{fdata})\\ C{y}_{r}=f({\alpha}_{r\sigma},C{y}_{rdata})\\ \\ {\alpha}_{f\sigma}=\frac{1}{s}\left[\frac{\left({\alpha}_{f}{\alpha}_{f\sigma}\right){v}_{wf}}{{\alpha}_{f}}\right]\\ \\ {\alpha}_{r\sigma}=\frac{1}{s}\left[\frac{\left({\alpha}_{r}{\alpha}_{r\sigma}\right){v}_{wr}}{{\alpha}_{r}}\right]\end{array}$$ 
The equations use these variables.
$$x,\dot{x},\ddot{x}$$  Vehicle CG displacement, velocity, and acceleration, along the vehiclefixed xaxis 
$$y,\dot{y},\ddot{y}$$  Vehicle CG displacement, velocity, and acceleration, along the vehiclefixed yaxis 
ψ  Rotation of the vehiclefixed frame about the earthfixed Zaxis (yaw) 
r,$$\dot{\Psi}$$ 
Vehicle angular velocity, about the vehiclefixed zaxis (yaw rate) 
F_{xf}, F_{xr} 
Longitudinal forces applied to front and rear wheels, along the vehiclefixed xaxis 
F_{yf}, F_{yr} 
Lateral forces applied to front and rear wheels, along vehiclefixed yaxis 
F_{xext}, F_{yext}, F_{zext} 
External forces applied to vehicle CG, along the vehiclefixed x, y, and zaxes 
F_{dx}, F_{dy}, F_{dz} 
Drag forces applied to vehicle CG, along the vehiclefixed x, y, and zaxes 
F_{xinput}, F_{yinput}, F_{zinput} 
Input forces applied to vehicle CG, along the vehiclefixed x, y, and zaxes 
M_{xext}, M_{yext}, M_{zext} 
External moment about vehicle CG, about the vehiclefixed x, y, and zaxes 
M_{dx}, M_{dy}, M_{dz} 
Drag moment about vehicle CG, about the vehiclefixed x, y, and zaxes 
M_{xinput}, M_{yinput}, M_{zinput} 
Input moment about vehicle CG, about the vehiclefixed x, y, and zaxes 
I_{zz}  Vehicle body moment of inertia about the vehiclefixed zaxis 
F_{xft}, F_{xrt} 
Longitudinal tire force applied to front and rear wheels, along the vehiclefixed xaxis 
F_{yft}, F_{yft} 
Lateral tire force applied to front and rear wheels, along vehiclefixed yaxis 
F_{xfl}, F_{xfr} 
Longitudinal force applied to front left and front right wheels, along the vehiclefixed xaxis 
F_{yfl}, F_{yfr} 
Lateral force applied to front left and front right wheels, along the vehiclefixed yaxis 
F_{xrl}, F_{xrr} 
Longitudinal force applied to rear left and rear right wheels, along the vehiclefixed xaxis 
F_{yrl}, F_{yrr} 
Lateral force applied to rear left and rear right wheels, along the vehiclefixed yaxis 
F_{xflt}, F_{xfrt} 
Longitudinal tire force applied to front left and front right wheels, along the vehiclefixed xaxis 
F_{yflt}, F_{yfrt} 
Lateral force tire applied to front left and front right wheels, along the vehiclefixed yaxis 
F_{xrlt}, F_{xrrt} 
Longitudinal tire force applied to rear left and rear right wheels, along the vehiclefixed xaxis 
F_{yrlt}, F_{yrrt} 
Lateral force applied to rear left and rear right wheels, along the vehiclefixed yaxis 
F_{zf},F_{zr} 
Normal force applied to front and rear wheels, along vehiclefixed zaxis 
F_{znom} 
Nominal normal force applied to axles, along the vehiclefixed zaxis 
F_{zfl},F_{zfr} 
Normal force applied to front left and right wheels, along vehiclefixed zaxis 
F_{zrl},F_{zrr} 
Normal force applied to rear left and right wheels, along vehiclefixed zaxis 
m 
Vehicle body mass 
a, b 
Distance of front and rear wheels, respectively, from the normal projection point of vehicle CG onto the common axle plane 
h 
Height of vehicle CG above the axle plane 
d  Lateral distance from the geometric centerline to the center of mass along the vehiclefixed yaxis 
hh  Height of the hitch above the axle plane along the vehiclefixed zaxis 
dh  Longitudinal distance of the hitch from the normal projection point of tractor CG onto the common axle plane 
hl  Lateral distance from center of mass to hitch along the vehiclefixed yaxis. 
α_{f}, α_{r} 
Front and rear wheel slip angles 
α_{fl}, α_{fr} 
Front left and right wheel slip angles 
α_{rl}, α_{rr} 
Rear left and right wheel slip angles 
δ_{f}, δ_{r} 
Front and rear wheel steering angles 
δ_{rl}, δ_{rr} 
Rear left and right wheel steering angles 
δ_{fl}, δ_{fr} 
Front left and right wheel steering angles 
w_{f}, w_{r} 
Front and rear track widths 
Cy_{f}, Cy_{r} 
Front and rear wheel cornering stiffness 
Cy_{fdata}, Cy_{rdata}  Front and rear wheel cornering stiffness data 
σ_{f}, σ_{r}  Front and rear wheel relaxation length 
α_{fσ}, α_{rσ}  Front and rear wheel slip angles that include relaxation length 
v_{wf}, v_{wr}  Magnitude of front and rear wheel hardpoint velocity 
μ_{f}, μ_{r} 
Front and rear wheel friction coefficient 
μ_{fl}, μ_{fr} 
Front left and right wheel friction coefficient 
μ_{rl}, μ_{rr} 
Rear left and right wheel friction coefficient 
C_{d}  Air drag coefficient acting along vehiclefixed xaxis 
C_{s}  Air drag coefficient acting along vehiclefixed yaxis 
C_{l}  Air drag coefficient acting along vehiclefixed zaxis 
C_{rm} 
Air drag roll moment acting about the vehiclefixed xaxis 
C_{pm} 
Air drag pitch moment acting about the vehiclefixed yaxis 
C_{ym} 
Air drag yaw moment acting about the vehiclefixed zaxis 
A_{f} 
Frontal area 
R  Atmospheric specific gas constant 
T  Environmental air temperature 
P_{abs}  Environmental absolute pressure 
w_{x}, w_{y}, w_{z} 
Wind speed, along the vehiclefixed x, y, and zaxes 
W_{x}, W_{y}, W_{z} 
Wind speed, along inertial X, Y, and Zaxes 
Examples
Ports
Input
Output
Parameters
References
[1] Gillespie, Thomas. Fundamentals of Vehicle Dynamics. Warrendale, PA: Society of Automotive Engineers (SAE), 1992.
Extended Capabilities
Version History
Introduced in R2018a