Predictive Active Roll Stabilization Using MPC and CarSim

Tools: MATLAB, Simulink, CarSim, Model Predictive Control (MPC), State-Space Modeling, Vehicle Dynamics Modeling

Project Overview

This project focused on developing a predictive active roll stabilization system for a full-size SUV using Model Predictive Control (MPC), MATLAB/Simulink, and CarSim. A reduced-order vehicle dynamics model combining bicycle handling dynamics and half-car roll dynamics was derived and integrated with a high-fidelity CarSim vehicle model to simulate aggressive maneuvers including an ISO double lane change and slalom course.

The controller utilized curvature-preview information to predict future vehicle behavior and dynamically distribute torque between front and rear electronic anti-roll bars (E-ARBs) to reduce body roll while maintaining yaw stability and trajectory tracking. The MPC framework optimized roll response in real time by solving a constrained state-space control problem at 20 Hz across a 0.5-second predictive horizon.

Simulation results demonstrated significant reductions in peak body roll, improved yaw rate tracking, and enhanced overall vehicle stability during high-speed maneuvers compared to a passive suspension system.

System Breakdown of Predictive E-ARB

Road Preview Formulation

Preview time was set by the controller sampling time (Ts) and prediction horizon (Np). This was simulated by having a known course taken from CarSim then taking the vehicles current global position and velocity to calculate where the vehicle will be in the next Np steps. The preview matrix w is defined as:

Where the curvature at each point is calculated by:

The Prediction Horizon was set at 10 with a sampling time of 0.05 seconds (20 Hz). This gave a preview time of .5 seconds which was chosen to reduce the computational cost.

ISO Double Lane Change Path and Curvature Preview

Slalom Path and Curvature Preview

Predictive Vehicle State Formulation

To develop the predictive controller, a lower order predictive model was formulated from the combination of a bicycle and lateral half car models to give the following states:

  • Vehicle Side Slip

  • Vehicle Yaw Rate

  • Front Axle Roll Angle

  • Front Axle Roll Rate

  • Rear Axle Roll Angle

  • Rear Axle Roll Rate

The choice was made to use to Road Curvature for the Disturbance Matrix for the system as it would be derived from the vehicles on board cameras and sensor suite for other systems like lane departure and frontal collision avoidance. Lateral acceleration would be used and manipulated to get road curvature to affect the roll angle and roll rate of the vehicle.

Equations for Bicycle model with Road Curvature Disturbance

Equations for Lateral Half Car model for Front and Rear Roll Rate with Road Curvature Disturbance

Standard Vehicle State Equation

Discretized form of states across preview horizon:

Expanded Matrices for Vehicle State Equation

System Block Diagram

We used CarSim as the high-fidelity plant for our simulation where we would take the Velocity (Vxk), the Global Positions (Sk, Yk) and then the current vehicle states. The current vehicle states went directedly to the MPC controller while the other inputs went to the preview generator. The preview generator gives the Xref vector and Wpreview vector. The Xref vector is the ideal states of the vehicle across the prediction horizon which in our cases was:

  • 0 Front Body Roll Angle

  • 0 Front Body Roll Rate

  • 0 Rear Body Roll Angle

  • 0 Body Rear Roll Rate

  • 0 Body Side Slip Angle

  • Required Yaw Rate to follow Curvature

The Wpreview vector is the curvature at each point along the preview horizon and is how the vehicle state would be affected by changing conditions.

Predictive E-ARB Block Diagram

Next
Next

Purple Garage: ECU Setup