Main Content

Anti-Lock Braking Using Extremum Seeking Control


Anti-lock Braking System



Here, ωw is the wheel angular velocity and ωv is the wheel angular velocity under a nonbraking condition (vehicle speed divided by wheel radius). Based on the above equation, slip is zero when the wheel speed and vehicle speed are equal, and slip equals one when the wheel is locked (ωw is zero). A desirable slip value is 0.2, which means that the number of wheel revolutions equals 0.8 times the number of revolutions under nonbraking conditions with the same vehicle velocity. This slip value maximizes the adhesion between the tire and road and minimizes the stopping distance for the available friction.


The frictional force Ff acting on the circumference of the tire is the product of the friction coefficient μ multiplied by the weight on the wheel W. Friction force Ff divided by the vehicle mass is equal to the vehicle deceleration, which the model integrates to obtain vehicle velocity.


Specify Vehicle Model Parameters

Define the following vehicle parameters for this example.

  • m — Vehicle mass

  • W — Vehicle weight

  • B — Wheel damping torque coefficient

  • Rr — Wheel radius

  • I — Wheel inertia

m = 400;
W = m*9.81;
B = 0.01;
Rr = 0.3;
I = 1;


v0 = 120/3.6;
w0 = 400/3.6;

Extremum Seeking Control for Anti-lock Braking System



Here, μ* and λ* are the ideal friction and slip coefficients, respectively. The actual friction μ equals μ* , when the achieved slip factor λ factor equals the ideal slip coefficient λ*. The ABS achieves this objective of maximum deceleration, and hence shortest stopping distance, by controlling the braking torque, which is function of slip and friction coefficients.

Simulink Control Design software implements the ESC algorithm using the Extremum Seeking Control block. For this example, open the ExtremumSeekingControlABS, which includes this block along with an ABS system model.

mdl = 'ExtremumSeekingControlABS';

The output of the Extremum Seeking Control block is slip coefficient λ. Since the ESC controller is maximizing the value of μ, use this value as the objective function input for the block.

Specify an initial guess for the slip coefficient.

IC = 0.15;


lambda_star = 0.25;
mu_star = 0.6;



N = 1;
lr = 0.3;


omega = 0.7; % Forcing Frequency
a = 1; % Demodulation Amplitude
b = 0.02; % Modulation Amplitude
phi_1 = pi/2; % Demodulation phase
phi_2 = 0; % Modulation phase


omega_lpf = 1;
omega_hpf = 0.5;

Simulate Anti-lock Braking System

Simulate the model.



open_system([mdl '/mu'])


open_system([mdl '/velocity'])

open_system([mdl '/wheel velocity'])




See Also


Related Topics