You are on page 1of 18

SLIDING MODE CONTROLLER

Pierre Duysinx
LTAS - Automotive Engineering
Academic year 2009-2010

Introduction
† ABS system has a lot of uncertainties:
„ Friction coefficient
„ Vehicle mass and inertia
„ Wheel sizes
„ Braking system characteristics
† ABS is a strongly non linear system
„ Slip ratio friction curve

† Sliding mode controllers are standard nonlinear control


strategy to tackle with nonlinear problems with
uncertainties

1
Introduction
† Sliding mode controller was originally introduced in
Robotics by Slotine and Asada (1986), Slotine and Li
(1990,1991)

† Sliding mode control approach is to transform the


higher-order system into a first order system

† Control law can include bounds over uncertainties in the


model to become robust

SLIDING SURFACE

2
Sliding surface
† Let’s consider a single input nonlinear system

x ( n ) (t ) = f ( X ) + b( X ) u (t ) + d (t )

„ u(t) the control command


„ x, the scalar output, the state variable
( n −1)
„ X, the state variable vector X = [ x, x,… x ]
„ d(t) disturbances

† Generally
„ f(X) is nonlinear and not exactly known, but the imprecision is
bounded by a continuous function of X
„ b(X) is nonlinear and not exactly known but its sign is constant
and the imprecision is bounded by a continuous function

Sliding surface
† The problem consists in finding a state vector to follow a given
state vector
X d = [ xd , xd ,… xd( n−1) ]

† With some uncertainties on the modeling of f(x), b(x) and


some disturbances d(t)

† To be achievable using finite control u, assume that Xd(t) is


such that:
X d (t = 0) = X (t = 0)
† Let’s define the tracking error

X := X − X d = [ x, x, , x ( n−1) ]

3
Sliding surface
† Let’s define the time-varying sliding surface s(t) in the
state space Rn by the scalar equation
( n −1)
⎛d ⎞
s ( X , t ) := ⎜ + δ ⎟ x
⎝ dt ⎠

„ Where δ is a positive constant, which will be interpreted as


a desired control bandwidth

Sliding surface
† With the initial conditions Xd(0)=X(0), the problem of
tracking X=Xd is equivalent to that of remaining on the
surface s(t) for all t>0

„ s(t)=0 is a differential equation whose solution is X-Xd=0


„ Verifying the differential equation s(t)=0 is referred to as a
sliding surface
„ The regime of the system’s behavior once on the surface is
called sliding mode or sliding regime.
„ One has to differentiate only once s(t) to make appear x(n)
and then the control u

4
Sliding surface
† The tracking problem can be reduced to that of
keeping the scalar quantity S at zero

† This can be achieved by choosing a control law S(t)


that is such that outside of s(t)=0

1 d
s ²( X , t ) ≤ − η s
2 dt
„ With η a positive constant

† This inequality is called sliding condition.


† The sliding condition means that trajectories point
towards the surface s(t)=0

Sliding surface
† Idea: pick-up a well-behave function of the tracking error s(t)
and then select the feedback control law u such that s² remain
a Lyapunov function of the closed-loop system despite the
presence of uncertainties and disturbances
† Satisfying the sliding condition guarantees that if initial
conditions are not satisfied, then the surface s(t)=0 will be
reached in finite time smaller than
treach ≤ s (t = 0) /η
† Definition of sliding surface implies that once on the surface,
the tracking error tends exponentially to zero with a time
constant (n-1)/δ.

5
Sliding surface

dx/dt

Sliding mode:
exponential
Finite convergence
reaching
time x

S=0

Sliding mode control


† The controller design procedure consists in two steps

† Step 1: Select a feedback control law u to verify the


sliding condition
1 d
s ²( X , t ) ≤ − η s
2 dt
† However in order to account for the presence of
modeling imprecision and disturbances, the control law
has to be discontinuous across s(t), which leads to
chattering

6
Sliding mode control
† Chattering is undesirable because of excessive activity of
the controller and excitation of high frequency neglected
dynamics (e.g. elastic modes)

† Step 2: the discontinuous control law u is suitably


smoothed to achieve an optimal trade-off between
control bandwidth and tracking precision

† The second step achieves robustness to high-frequency


unmodeled dynamics

PERFECT TRACKING USING


SWITCHED CONTROL LAW

7
Trajectory tracking
† Given the bounds on f(X) and b(X) and on the
disturbances
† Constructing a control law to verify sliding conditions is
straightforward
† Illustration of the procedure on simple applications

Controller design
† Let’s consider a second order system

x = f +u
„ Function f is estimated by fˆ
„ Estimation error is bounded: fˆ − f ≤ F

† Define sliding surface s=0

⎛d ⎞
s := ⎜ + δ ⎟ x = x + δ x
⎝ dt ⎠

8
Controller design
† Sliding surface equation gives
s = x − xd + δ x = f + u − xd + δ x

† Best approximation of a continuous control law that


achieve s = 0
uˆ = − fˆ + xd − δ x

† To satisfy the sliding condition despite uncertainties on


the dynamic f, we add the discontinuous term across the
surface s=0
⎧ sign( s ) = +1 if s > 0
Us

+η u := uˆ − k sign( s ) ⎨
S
⎩ sign( s ) = −1 if s < 0

Controller design
† To guarantee the sliding condition, we have to choose k
large enough
† Sliding condition implies
1 d
s ²( X , t ) = s s = [ f − fˆ − k sign( s )] s = ( f − fˆ ) s − k s
2 dt
† Let
k ( x, x) := F ( x, x) + η
† We get
1d
2 dt
{ }
s ² = ( fˆ − f ) s − k s = fˆ − f − F s − η s

≤ −η s

9
Controller design
† An equivalent result can be obtained by using integral
control, i.e. the variable of interest becomes
T

0
x dt
† Sliding condition: third order system

( ∫ x dτ ) = x + 2δ x + δ ²∫ x dτ
2
⎛d ⎞ t t
s := ⎜ + δ ⎟
⎝ dt ⎠ 0 0

† We get

uˆ = − fˆ + xd − 2 δ x − δ ² x

Controller design
† Assume now that dynamic system is

x = f + b( X ) u
† Where the control gain b is known only to within a
certain margin β(X):

β −1 ≤ bˆ / b ≤ β
† With b̂ the estimate of the control gain b(X)

10
Controller design
† One can show that the control law

(
uˆ = bˆ −1 − fˆ + xd − δ x )
† To satisfy the sliding condition, one introduces the
discontinuity
u = bˆ −1 [uˆ − k sign( s ) ]
† The control discontinuity has been increased in order to
account for the uncertainty on the control gain b(X).

k = β ( F + η ) + ( β − 1) uˆ

CONTINUOUS CONTROL LAW


TO APPROXIMATE SWITCHED
CONTROL

11
Continuous control law
† The control laws that satisfy sliding
conditions and that lead to perfect tracking
are discontinuous across the surface s(t)
† Discontinuity implies: dx/dt

„ Chattering
Chatering
„ High control activity behavior
„ Excitation of high frequency, generally
unmodeled x

S=0

† To circumvent the problem, smoothing out


the control discontinuity in a thin boundary
layer neighboring the switching surface

Continuous control law


† Boundary layer neighboring the switching surface

B (t ) = { X , s ( X , t ) ≤ Φ}
† With
dx/dt
„ The boundary layer thickness Φ
„ The boundary layer width φ

ε := Φ / δ n−1 ε
X

12
Continuous control law
† Outside of B(t), the control law u as before is selected
„ Guarantees boundary layer attractiveness and positive
invariance
„ All trajectories starting inside B(t) remain inside B(t)

† Inside of B(t), interpolate u by replacing the expression


of sign(s) by a linear interpolation s/Φ.
Us

⎧−η sign( s ) if s > Φ +η



u=⎨ s Φ S
⎪⎩ -η Φ if s ≤ Φ
−Φ

Continuous control law


† This reduces the chattering
BUT
† This skips the perfect tracking ability of the sliding mode
controller algorithm since s can not be driven to zero
exactly
† This reduces the precision to the guaranteed precision ε
† More generally it guarantees that for all trajectories
starting inside B(t)

x (i ) (t ) ≤ (2δ )i ε i = 1,…, n − 1

13
Continuous control law
† The smoothing of the control discontinuity inside B(t)
essentially assigns a low-pass filter structure to the local
dynamics of the variable s
† It is possible to tune up the control law to achieve a
trade-off between tracking precision and robustness to
un-modeled dynamics
† Boundary layer Φ can be made time varying and
monitored to exploit the maximum control bandwidth

Continuous control law


† Let’s consider again the following dynamic equation

x = f +u+d
† To maintain the attractiveness of the boundary layer
while Φ is allowed to vary with time, we have to modify
the sliding condition
1 d
s ≥Φ ⇒ s ²( X , t ) ≤ (Φ − η ) s
2 dt
† The additional term means that the boundary layer
attraction is more stringent during BL contraction and
less stringent during BL expansion

14
Continuous control law
† In order to satisfy the sliding condition, the control
discontinuity gain must be modified

k ( X ) := k ( X ) − Φ
† If the saturation function is defined as
⎧ sat ( y ) = y if y ≤ 1

⎩ sat ( y ) = sign( y ) if y > 1
† Then the control law becomes

u := uˆ − k ( X ) sat ( s / Φ )

APPLICATION
TO ABS CONTROL

15
Sliding mode controller for ABS
† ABS is a strongly non linear problem
† Sliding mode controller are well suited to control ABS

† One generally wants to maintain a prescribed


longitudinal slip sL* (typically sL* =0,02)
† The tracking error writes

x = λ* − λ
V − ωR
λ=
V

Sliding mode controller for ABS


† The sliding surface is thus
defined as:
d d
sslide = xslip + δ xslip = (δ + 1) xslip
dt dt
† Its derivatives can be evaluated
by finite differences between
two sampling time steps

d sslip (k + 1) − sslip (k + 1)
sslip
dt ts

16
Sliding mode controller for ABS
† The surface sslip=0 divides the state space into 2 parts

† If a sliding mode controller with discontinuous part is


selected, the control signals commute from one region to
the other.
† This can introduce chattering

Sliding mode controller for ABS


† In order to avoid a high controller activity, one
introduces a smooth approximation in the boundary
layer [-Φ, +Φ]

17
Sliding mode controller for ABS
† Smooth transition in the boundary layer can be realized
using for instance PWM (power width modulation)

† In the two diagrams, +1 means that the valve is fully


open and pressure rises while -1 the valve is fully open
an pressure drops.

† If U is in between -1 and +1, this means that pressure


increases or decreases progressively. This can be
achieved when the opening and closing times times are
proportional to the absolute value of U

18

You might also like