Skip to main content

Nonlinear Vehicle Dynamics, Tire-Force Modeling & Linearization

MATLAB project for five-state nonlinear vehicle dynamics, combined-slip tire-force modeling, tire saturation, straight-line operating-point linearization, and nonlinear-versus-linear analysis.

Nonlinear front-axle longitudinal and lateral tire-force characteristics with slip saturation

This MATLAB project studies a five-state nonlinear planar vehicle model with front steering, front and rear wheel rotational dynamics, longitudinal and lateral tire slip, combined-slip force coupling, and tire-force saturation. I reorganized the archived Advanced Control work into one reproducible analysis workflow that makes the model assumptions, operating point, linearization, and nonlinear effects easier to inspect.

The archived source contained useful vehicle and tire equations, but it also depended on a missing saturation helper and used a substituted state/input point that was not a consistent straight-line equilibrium. The public version keeps the original five-state model and parameter set, replaces the missing saturation operation explicitly, and linearizes numerically around a physically consistent 15 m/s straight-line operating point.

Vehicle and tire model

The state vector is x = [Vx, Vy, r, ωf, ωr]ᵀ, containing longitudinal velocity, lateral velocity, yaw rate, and front/rear wheel angular speed. The input vector is u = [δ, Tf, Tr]ᵀ, containing front steering angle and front/rear wheel torques.

Model parameter Value
Vehicle mass, m1000 kg
Yaw inertia, Iz2000 kg·m²
Wheel inertia, Iw30 kg·m²
CG to front axle, a₁1.35 m
CG to rear axle, a₂1.50 m
Wheel radius, R0.35 m
Front/rear lateral tire coefficients8.5 / 8.5
Front/rear longitudinal tire coefficients7.5 / 7.5
Longitudinal-slip limit±0.10
Slip-angle limit±5°

The slip definitions follow the archived model. Front and rear slip angles depend on lateral velocity and yaw rate, while longitudinal slip compares wheel circumferential speed with vehicle longitudinal speed. The tire-force law couples longitudinal and lateral behavior: increasing slip angle reduces available longitudinal force, and increasing longitudinal slip reduces available lateral force.

Tire-force characteristics

Front-axle longitudinal and lateral tire-force curves with the imposed slip limits
Figure 1. Front-axle tire-force characteristics. The longitudinal and lateral force curves are shown with the explicit hard saturation limits used by the cleaned implementation: ±0.10 longitudinal slip and ±5° slip angle.

The saturation operation is not an added tire-control algorithm. It replaces the missing my_saturation.m helper referenced by the archived source and makes the original force-limiting assumption explicit and reproducible.

Combined-slip coupling

Combined-slip tire-force curves showing longitudinal lateral coupling
Figure 2. Combined-slip tire-force coupling. Longitudinal-force capability decreases as slip angle increases, while lateral-force capability decreases as longitudinal slip increases.

This is a compact academic combined-slip model retained from the original coursework. It is useful for studying nonlinear coupling and saturation, but it is not presented as a manufacturer-calibrated Magic Formula/Pacejka tire model.

Straight-line operating point and linearization

For the cleaned linear analysis, I use a consistent straight-line operating point at 15 m/s (54 km/h): zero lateral velocity, zero yaw rate, zero steering, zero wheel torque, and front/rear wheel speeds equal to the rolling speed Vx/R. The nonlinear state derivative is exactly zero at this point for the implemented model.

Operating-point / linear-model check Result
Longitudinal speed15.0 m/s (54.0 km/h)
Front/rear wheel speed42.8571 rad/s
Equilibrium residual ‖f(x₀,u₀)‖₂0.000e+00
State dimension5
Input dimension3
Controllability rank5 / 5

The Jacobian matrices A and B are evaluated using central finite differences around this operating point. This avoids a Symbolic Math Toolbox dependency and gives a directly reproducible local linear model.

Small-signal nonlinear versus linear response

Nonlinear and linearized vehicle responses to a small steering excitation
Figure 3. Nonlinear and linearized responses under a small steering excitation. The local model reproduces lateral velocity and yaw rate closely around the straight-line operating condition.
Small-signal comparison metric RMSE
Longitudinal velocity, Vx0.027043 m/s
Lateral velocity, Vy6.862 × 10⁻⁴ m/s
Yaw rate, r1.088 × 10⁻⁴ rad/s
Front wheel speed0.075419 rad/s
Rear wheel speed0.075419 rad/s

The largest discrepancy is in longitudinal velocity. That is expected here because steering-induced longitudinal effects enter through nonlinear force projection and are not fully represented by the first-order straight-line linearization. The small-signal case remains well within the tire saturation region: the maximum raw slip angle is approximately 1.145° and the maximum raw longitudinal slip is approximately 1.37 × 10⁻⁴.

Linearization error

Difference between nonlinear and linearized longitudinal lateral and yaw responses
Figure 4. Nonlinear-minus-linearized state error. The lateral and yaw errors remain small over the local experiment, while the longitudinal error accumulates slightly through nonlinear steering-force effects.

Larger-steering nonlinear behavior

Nonlinear vehicle response under an eight degree steering excitation
Figure 5. Nonlinear response under a larger steering excitation. An 8° steering input intentionally pushes the model outside the local small-signal region so that tire saturation and nonlinear state response become visible.
Larger-steering metric Value
Maximum raw slip angle7.105°
Maximum raw longitudinal slip0.004607
Samples with slip-angle saturation25.9%
Samples with longitudinal-slip saturation0%
Maximum model lateral acceleration7.240 m/s²
Maximum longitudinal-speed reduction1.067 m/s

These values characterize the implemented simulation only. In particular, the 7.240 m/s² lateral-acceleration value should not be interpreted as a validated handling limit for a physical vehicle.

Tire slip and saturation

Raw front and rear slip angles and longitudinal slip during the larger steering maneuver
Figure 6. Raw tire-slip variables during the larger steering maneuver. Front/rear raw slip angles exceed the ±5° force-model limit, while the raw longitudinal slips remain far below ±0.10.

The plotted curves are the raw kinematic slip variables. The tire-force equations evaluate their saturated versions. Keeping these two quantities separate makes it clear when the model is entering the imposed nonlinear force-limiting region.

Linearized-model eigenvalues

Eigenvalues of the five-state vehicle model linearized at 15 meters per second
Figure 7. Eigenvalues of the five-state linearized model. Four modes have negative real parts and one eigenvalue is at or numerically near zero.
Linearized-model eigenvalue
0
−15.2083
−5.7180 + 1.7591j
−5.7180 − 1.7591j
−10.2083

The near-zero longitudinal mode is consistent with this simplified straight-line model because aerodynamic drag, rolling resistance, and a longitudinal-speed regulator are not included. The figure therefore should not be read as evidence of a complete road-vehicle stability analysis.

Scope and limitations

This project is a simulation and model-analysis study. The tire coefficients and normal loads are preserved from the archived academic model rather than identified from experimental tire data. Dynamic load transfer, aerodynamic drag, rolling resistance, actuator dynamics, road-friction variation, and sensor noise are not modelled.

The numerical linear model is local to the documented 15 m/s straight-line operating point. The larger-steering experiment is included specifically to show where nonlinear/saturation effects become important; it is not an experimental validation of vehicle handling.

No closed-loop steering controller, yaw-stability controller, ABS, traction-control algorithm, or MPC is claimed in this repository. Those belong to separate control-design projects rather than this vehicle-modeling study.

Reproducibility

The repository contains a self-contained MATLAB runner, model notes, generated figures, the linearized A and B matrices, eigenvalues, CSV metrics, and a text summary. Running run_nonlinear_vehicle_project.m regenerates the complete analysis. The validated run was performed with MATLAB R2022b, and the cleaned runner does not require Simulink or the Symbolic Math Toolbox.