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 linearsystem
Slip ratio friction curve
Sliding mode controllers are standard nonlinear control strategy to tackle with nonlinear problems with
uncertainties
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
Sliding surface
Let’s consider a single input nonlinear system
u(t) the control command
x, the scalar output, the state variable
X, the state variable vector
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
( )n ( ) ( ) ( ) ( ) ( ) x t = f X +b X u t +d t
( 1)
[ , , n ] X = x x…x −
Sliding surface
The problem consists in finding a state vector to follow a given state vector
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:
Let’s define the tracking error
( 1)
[ , , n ]
d d d d
X = x x …x −
( 0) ( 0)
Xd t= =X t=
Sliding surface
Let’s define the time-varying sliding surfaces(t) in the state space Rn by the scalar equation
Where δis a positive constant, which will be interpreted as a desired control bandwidth
( 1)
( , ) : d
ns X t x
dt δ
⎛ ⎞
−= ⎜ ⎝ + ⎟ ⎠
Sliding surface
With the initial conditions Xd(0)=X(0), the problem of tracking X=Xdis 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 modeor sliding regime.
One has to differentiate only once s(t) to make appear x(n) and then the control u
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 that is such that outside of s(t)=0
With ηa positive constant
This inequality is called sliding condition.
The sliding condition means that trajectories point towards the surface s(t)=0
1 ²( , ) 2
d s X t s
dt ≤ −
η
S(t)
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
Definition of sliding surface implies that once on the surface, the tracking error tends exponentially to zero with a time constant (n-1)/δ.
( 0) /
reach
t ≤ s t =
η
Sliding surface
S=0 dx/dt
x Finite
reaching time
Sliding mode:
exponential convergence
Sliding mode control
The controller design procedure consists in two steps
Step 1:Select a feedback control law u to verify the sliding condition
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
1 ²( , ) 2
d s X t s
dt ≤− η
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
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
Function f is estimated by
Estimation error is bounded:
Define sliding surface s=0
x = + f u
fˆ− f ≤F fˆ
: d
s x x x
dt δ δ
⎛ ⎞
= ⎜ ⎝ + ⎟ ⎠ = +
Controller design
Sliding surface equation gives
Best approximation of a continuous control law that achieve
To satisfy the sliding condition despite uncertainties on the dynamic f, we add the discontinuousterm across the surface s=0
d d
s = − x x + δ x = + − f u x + δ x 0
s =
ˆ ˆ
du = − + f x − δ x
: ˆ ( )
u = − u k sign s ( ) 1 if 0
( ) 1 if 0
sign s s
sign s s
= + >
⎧ ⎨ = − <
⎩
+η
-η
S Us
Controller design
To guarantee the sliding condition, we have to choose k large enough
Sliding condition implies
Let
We get
1 ²( , ) [ ˆ ( )] ( ˆ )
2
d s X t s s f f k sign s s f f s k s
dt = = − − = − −
( , ) : ( , ) k x x = F x x + η
{ }
1 ² (ˆ ) ˆ
2
d s f f s k s f f F s s
dt = − − = − − −
η
Controller design
An equivalent result can be obtained by using integral control, i.e. the variable of interest becomes
Sliding condition: third order system
We get
0 T
x dt
∫
( )
2
0 0
: d
t2 ²
ts x d x x x d
dt δ τ δ δ τ
⎛ ⎞
= ⎜ + ⎟ = + +
⎝ ⎠ ∫ ∫
ˆ ˆ
d2 ²
u = − + f x − δ x − δ x
Controller design
Assume now that dynamic system is
Where the control gain b is known only to within a certain margin β(X):
With the estimate of the control gain b(X)
( ) x = + f b X u
1
b b ˆ / β
−≤ ≤ β
b ˆ
Controller design
One can show that the control law
To satisfy the sliding condition, one introduces the discontinuity
The control discontinuity has been increased in order to account for the uncertainty on the control gain b(X).
[ ]
ˆ
1ˆ ( )
u = b
−u − k sign s
( )
ˆ
1ˆ
ˆ
du = b
−− + f x − δ x
( ) ( 1) ˆ
k = β F + η + β − u
CONTINUOUS CONTROL LAW
TO APPROXIMATE SWITCHED
CONTROL
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:
Chattering
High control activity
Excitation of high frequency, generally unmodeled
To circumvent the problem, smoothing out the control discontinuity in a thin boundary layerneighboring the switching surface
S=0 dx/dt
x Chatering behavior
Continuous control law
Boundary layerneighboring the switching surface
With
The boundary layerthickness
The boundary layer width
{ }
( ) , ( , ) B t = X s X t ≤ Φ
Φ
: /
n1ε = Φ δ
−X dx/dt
φ ε
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/Φ.
( ) if
- s if
sign s s
u s
η η
⎧− > Φ
= ⎨⎪
⎪ Φ ≤ Φ
⎩
+η
-η
S Us
Φ
−Φ
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)
( )i
( ) (2 )
i1, , 1
x t ≤ δ ε i = … n −
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 robustnessto un-modeled dynamics
Boundary layer Φcan be made time varyingand monitored to exploit the maximum control bandwidth
Continuous control law
Let’s consider again the following dynamic equation
To maintain the attractiveness of the boundary layer while Φ is allowed to vary with time, we have to modify the sliding condition
The additional term means that the boundary layer attraction is more stringent during BL contraction and
x = + + f u d
1 ²( , ) ( )
2
s d s X t s
dt
η
≥ Φ ⇒ ≤ Φ −
Continuous control law
In order to satisfy the sliding condition, the control discontinuity gain must be modified
If the saturation function is defined as
Then the control law becomes
( ) : ( ) k X = k X − Φ
( ) if 1
( ) ( ) if 1
sat y y y
sat y sign y y
⎧ = ≤
⎨ = >
⎩
: ˆ ( ) ( / )
u = − u k X sat s Φ
APPLICATION
TO ABS CONTROL
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:
Its derivatives can be evaluated by finite differences between two sampling time steps
( 1)
slide slip slip slip
d d
s x x x
dt dt
δ δ
= + = +
( 1) ( 1)
s k s k
d + − +
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 [-Φ, +Φ]
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