Discrete-time sliding mode control: Do it implicitly

Discrete-time sliding mode control: Do it implicitly !
Discrete-time sliding mode control: Do it
implicitly !
Bernard Brogliato
INRIA Grenoble, France
Aussois, June 2015
Discrete-time sliding mode control: Do it implicitly !
Results obtained at INRIA Grenoble, experiments at IRCCyN-Ecole
Centrale de Nantes (France) and LAGIS-Ecole Centrale de Lille
(France).
Together with V. Acary, O. Huber, F. Plestan, B. Wang, A.
Boubakir, L. Hetel, Y. Orlov.
Discrete-time sliding mode control: Do it implicitly !
SLIDING-MODE CONTROL
Some Features
1
Set-valued “signum” controller with sgn(0) = [−1, 1]
( closed-loop systems = differential inclusions –Filippov’s
solutions–).
2
Robust, very simple to tune (in its original version).
3
In continuous-time (closed-loop = differential inclusion):
controller insensitive to the gain on the sliding surface,
because the controller is a selection of the set-valued
right-hand side.
4
Main implementation issue: chattering (due to what ? Here,
the analyzed source is: numerical, or discretization of the
controller).
Discrete-time sliding mode control: Do it implicitly !
SLIDING-MODE CONTROL
THE “CLASSICAL” EQUIVALENT-BASED-CONTROL SMC
Let us consider ẋ = Ax + Bu + Bd(x, t), with ||d(x, t)|| ≤ δ.
∆
Properly choose the sliding surface σ = Cx = 0, such that CB = 1
(or just > 0).
First stage, the equivalent control u eq for the undisturbed
system:
C ẋ = 0 ⇒ CAx + CBu eq = 0 ⇒ u eq = −(CB)−1 CAx
renders the surface σ = 0 invariant.
Second stage, the set-valued controller: u s ∈ −γ sgn(σ),
γ > δ, sgn(0) = [−1, 1]:
Closed loop system:
ẋ − Ax + B(CB)−1 CAx − Bd(x, t) ∈ −γ sgn(σ)
=⇒
σ̇ ∈ −γ sgn(σ) + d(x, t)
Discrete-time sliding mode control: Do it implicitly !
SLIDING-MODE CONTROL
THE “CLASSICAL” EQUIVALENT-BASED-CONTROL SMC
We obtain under the stated assumptions:
Finite-time convergence towards the sliding surface σ = 0.
During the sliding motion:
u s (σ(t)) = −d(x(t), t)
(according to Filippov’s solution).
The controller “observes” exactly the matched disturbance
and does not depend on γ during the sliding phase.
Works also for co-dimension ≥ 2 sliding surface: choose CB
square full rank (> 0 for stability purpose).
Discrete-time sliding mode control: Do it implicitly !
SLIDING-MODE CONTROL
TIME-DISCRETIZATION: NUMERICAL CHATTERING
Let us focus on the time-discretization effects. The classical
scheme is Euler (or ZOH) explicit discretization:
One implements at each sampling time tk :
uks = −γ sgn(σk )
This is known to generate output and input chattering [Galias
et al, IEEE TCS, TAC, Automatica 2006, 2008]:
Spurious oscillations (limit cycles) in the output signal.
High-frequency bang-bang (discontinuous) controller.
This is the numerical or digital chattering (unavoidable with
explicit method).
Discrete-time sliding mode control: Do it implicitly !
SLIDING-MODE CONTROL
TIME-DISCRETIZATION: NUMERICAL CHATTERING
Effects on the input:
u s (σk )
γ
explicit discretization
(jumps from +1 to -1)
0
σk
−γ
Figure: Disturbance compensation via (single-valued) explicit
discretization.
Discrete-time sliding mode control: Do it implicitly !
SLIDING-MODE CONTROL
TIME-DISCRETIZATION: NUMERICAL CHATTERING
In experiments this typically gives:
1
0.8
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
0
2
4
6
8
10
12
14
16
18
20
16
18
20
((a)) h = 1 ms
1
0.8
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
0
2
4
6
8
10
12
14
((b)) h = 15 ms
Figure: Switching function: explicit method (sign(σk )).
The explicit discretization is unable to reach the vertical
segment of the set-valued signum function: no set-valued
realization of the controller.
Discrete-time sliding mode control: Do it implicitly !
SLIDING-MODE CONTROL
TIME-DISCRETIZATION: NUMERICAL CHATTERING
Effects on the output (sliding variable):
σ
magnitude ≈ h
frequency ≈
0
1
h
t
Figure: Oscillations due to the explicit discretization.
Loss of precision, need to decrease h.
Discrete-time sliding mode control: Do it implicitly !
SLIDING-MODE CONTROL
CONCLUSIONS AND OBJECTIVES
The usual way for control design and implementation is:
1
Design in continuous-time,
2
Implement on the experimental set-up in a discrete-time way,
with sampling period h.
3
If h is small, discrete-time behaviour ≈ continuous-time
behaviour.
For set-valued controllers like in sliding-mode: item 3) may be
totally wrong for the inputsignal, because of numerical chattering.
Explicit way of discretization should be avoided when actuators
allow for it.
Discrete-time sliding mode control: Do it implicitly !
SLIDING-MODE CONTROL
CONCLUSIONS AND OBJECTIVES
1
Present the implicit time-discretization of the ECB-SMC.
2
Implementations made on electro-pneumatic and
inverted-pendulum set-up.
3
Extensions: more than one sliding surface, twisting algorithm,
nonlinear system.
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
CASE WITHOUT DISTURBANCE
Let us consider the simplest sliding mode system:
ẋ(t) = u s (t, x(t))
with σ = x − xd (t) and u s (x, t) ∈ −sgn(σ) + ẋd (t), then:
σ̇(t) ∈ −sgn(σ(t))
which guarantees that x(t) → xd (t) in finite time.
The plant discretization is given by:
xk+1 − xk
= uks
h
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
CASE WITHOUT DISTURBANCE
At time tk the implicit input is set equal to
uks ∈ −sgn(xk+1 − xd,k+1 ) +
Let us set
xd,k+1 − xd,k
h
∆
wk+1 = huks − xd,k+1 + xd,k
This gives rise to the discrete-time sliding variable dynamics:
σk+1 − σk = wk+1
wk+1 ∈ −h sgn(σk+1 ).
This is a generalized equation with unknown σk+1 , also called a
one-step non-smooth problem (OSNSP).
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
EQUIVALENT FORMULATIONS OF THE OSNSP
This generalized equation may also be written equivalently as a
Linear Complementarity Problem (LCP) 0 ≤ Mλ + q ⊥ λ ≥ 0:
1 −1
λ1,k+1
h − σk
λ1,k+1
0≤
+
⊥
≥0
−1 1
λ2,k+1
h + σk
λ2,k+1
(1)
where σk+1 = λ1,k+1 − λ2,k+1 is unique for all h and σk . Another
equivalent formulation is the inclusion in a normal cone:
σk+1 ∈ −N[−h+σk ,h+σk ] (σk+1 )
(2)
and the variational inequality: Find σk+1 ∈ [−h + σk , h + σk ]
such that:
hσk+1 , z − σk+1 i ≤ 0 for all z ∈ [−h + σk , h + σk ]
(3)
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
EQUIVALENT FORMULATIONS OF THE OSNSP
Inverting the above generalized equation we find its “dual”
formulation:
wk+1 + σk ∈ −N[−h,h] (wk+1 )
Using some basic convex analysis tools we infer:
1
wk+1 = −proj([−h, h]; σk ) ⇐⇒ wk+1 = argmin (z − σk )2
2
z∈[−h,h]
This shows that a variety of tools preparing for efficient
numerical solvers of the OSNSP for more complex cases emerge
from these equivalent formulations.
(4)
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
EQUIVALENT FORMULATIONS OF THE OSNSP
x
−x
Using that uks = h1 wk+1 + d,k+1h d,k , we finally find that the
implicit input is computed at step k as:
uks = proj([-1,1]; − σhk ) +
 σ
x
−x
− hk + d,k+1h d,k





x
−x
=
−1 + d,k+1h d,k





x
−x
1 + d,k+1h d,k
xd,k+1 −xd,k
h
if |σk | ≤ h
if σk > h
if σk < −h
This is a set-valued controller, taking values inside [−1, 1] as its
continuous-time counterpart.
The implicit controller is non-anticipative (it is causal).
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
EQUIVALENT FORMULATIONS OF THE OSNSP
1
The sliding surface is attained after a finite number of steps
k ∗ (the proof mimics that of the continuous-time case). This
is easily shown with a graphical interpretation of the
generalized equation with unknown σk+1 , and iterating it (see
next Figure).
2
On the sliding surface where σk = 0 for all k ≤ k ∗ , then
x
−x
uks = d,k+1h d,k , since the selection of the set-valued term
(which is wk+1 ) is zero (see the generalized equation for σk+1 :
wk+1 = σk+1 − σk = 0 after tk ∗ ).
3
Once the sliding surface is reached, one has σk = 0 for all
k > k ∗ : no limit cycles around the sliding surface.
4
The controller is causal because we use the discretized
dynamics to form a generalized equation to compute it.
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
EQUIVALENT FORMULATIONS OF THE OSNSP
−hsgn(σk+1 ) (solid lines)
σk+1 − σk (dashed lines)
step k + 3
step k + 2
step k + 1
step k
h
σk > h
σk < −h
σk+3 = 0
σk
σk+2
σk
σk+1
0
σk+1
−h
−h ≤ σk ≤ h
Figure: Graphical interpretation of the generalized equation.
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
CASE WITH DISTURBANCE
Let us consider ẋ(t) ∈ u(t) + d(t), with |d(t)| ≤ δ < 1 for all t.
Proceeding as in the disturbance-free case we obtain
σ̇(t) = u(t) + ẋd (t) + d(t)
The set-valued controller u s ∈ −sgn(σ) − ẋd (t) guarantees
well-posed closed-loop and finite-time convergence to the
attractive surface σ = 0.
The Euler discretization of the plant is given by:
xk+1 = xk + huk + xd,k+1 − xd,k + hdk
Since the perturbation d(t) is unknown, we cannot construct a
generalized equation directly from (5): we have to compute the
controller from a nominal undisturbed system.
(5)
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
CASE WITH DISTURBANCE
Let us set:
x̃k+1 = xk + huk + xd,k+1 − xd,k
(6)
(recall that xk is measured hence known at tk ), and form with
∆
σ̃k+1 = x̃k+1 − xd,k+1 the generalized equation:

 σ̃k+1 = σk + huk + xd,k+1 − xd,k

uk ∈ −sgn(σ̃k+1 ) − xd,k+1 + xd,k
whose unknown is σ̃k+1 .
(7)
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
CASE WITH DISTURBANCE
We do as for the undisturbed case and the set-valued controller is
computed from the generalized equation:
σ̃k+1 = σk + wk+1
wk+1 ∈ −h sgn(σ̃k+1 )
⇔ uks = proj([-1,1]; −σh k ) +
xd,k+1 −xd,k
h
The implicit controller is non-anticipative.
The “sliding surface” σ̃k = 0 is reached after a finite number
of steps.
The domain |σk | ∈ h [−δ, δ] is reached after a finite number
of steps.
The discrete-time controller satisfies uks = −d˜k during the
“sliding mode” phase (taking values inside [-1,1]).
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
CASE WITH DISTURBANCE
In the sliding phase:
1
explicit discretization
(jumps from +1 to -1)
0
u(t) = −d(t) (Filippov’s solution)
uk = −d˜k (implicit discretization)
-1
Figure: Disturbance compensation via (set-valued) implicit discretization.
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
LYAPUNOV STABILITY
The implicit discretization yields a discrete-time dynamics which is
a good reproduction of the continuous-time dynamics: in particular
it yields a finite-time Lyapunov stable sliding-variable dynamics.
Let us analyze the unperturbed case (notice: even in this case, the
explicit discretization does not share this nice property...).
We choose Vk = |σk |, and we show this is a Lyapunov function
(global, finite-time stability) for the system:

 σk+1 − σk = wk+1

wk+1 ∈ −h sgn(σk+1 ).
(8)
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
LYAPUNOV STABILITY
1
σk > h: then σk+1 = σk + wk+1 ≥ σk − h > 0 (because
|wk+1 | ≤ h), so Vk+1 − Vk = σk+1 − σk = wk+1 = −h < 0.
2
σk < −h: similarly we get σk+1 < 0 and
Vk+1 − Vk = −σk+1 + σk = −wk+1 = h > 0.
σk ∈ (−h, h):
3
1
2
Suppose σk+1 > 0: then σk+1 = σk − hsgn(σk+1 ))σk − h < 0:
contradiction.
Suppose σk+1 < 0: then σk+1 = σk − hsgn(σk+1 ))σk + h > 0:
contradiction.
Thus σk+1 = 0. Then σk+2 = −h(σk+2 ) ⇒ σk+2 = 0, and so
on for σk+n = 0, n ≥ 3. Thus Vk+1 = −|σk | ≤ 0 and
Vk+n = 0, n ≥ 3.
4
σk = h: σk+1 = h − hsgn(σk+1 ) thus σk+1 = 0 (both
σk+1 > 0 and σk+1 < 0 yield contradictions). Back to case 3.
5
σk = −h: idem σk+1 = 0. Back to case 3.
Discrete-time sliding mode control: Do it implicitly !
INSIGHT ON THE IMPLICIT DISCRETIZATION
SUMMARY
1
2
3
4
5
6
The implicitely discretized set-valued controller is easily solved
with a (simple) generalized equation.
In theory the input and output chattering due to discretization
(numerical chattering) no longer exists.
Lyapunov finite-time stability of the sliding-variable dynamics
is proved in discrete-time.
There exists a discrete-time sliding surface (even in the
presence of a disturbance) and on this surface the set-valued
controller “observes” the equivalent disturbance.
In the explicitly discretized controller, there is no selection
procedure to choose the input signal at σk = 0 (even in the
undisturbed case). The implicit version is solved with a
generalized equation which chooses THE suitable selection in
the set-valued sign function.
The structure of the continuous-time controller is not
changed.
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
THE EXPERIMENTAL SET-UP
Figure: Photography and scheme of the IRCCyN (Ecole Centrale de
Nantes) electropneumatic system.
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
THE EXPERIMENTAL SET-UP
This is a fourth order system. After some manipulations the sliding
surface dynamics is obtained as:
∆Φ s
∆Φ
u .
Ψn + ∆Ψ + 1 +
σ̇ =
Φn
Φn
with
σ(x, t) = ë + λ1 ė + λ0 e
∆
and e = y − yd (t). The controller u s is a set-valued input defined
as
u s ∈ −G sgn(σ)
The controller u s has been implemented under three discrete
forms.
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
IMPLEMENTED CONTROLLERS
Explicit discretization:
uks = −G sgn(σk )
Explicit saturated discretization:
uks = −G sat(σk , ǫ)
with
sat(σk , ǫ) =
(
sgn(σk ) if |σk | ≥ ǫ
σk if |σk | < ǫ.
Implicit discretization:
uks ∈ −G sgn(σk+1 )
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
IMPLEMENTED CONTROLLERS
The three discrete-time controllers have been implemented with:
Several feedback gains from G = 104 to G = 106 .
Several sampling times from h = 1 ms to h = 15 ms.
Six saturation widthes (results unchanged).
Chattering in input and ouput is measured with the total variation
of the signals:
Var[a,b] (f ) =
N−1
X
i=0
|f (ti+1 ) − f (ti )|
(9)
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
OUTPUT CHATTERING
50
40
30
20
10
0
−10
−20
−30
−40
−50
0
2
4
6
8
10
12
14
16
18
20
((a)) Explicit method.
50
40
30
20
10
0
−10
−20
−30
−40
−50
0
2
4
6
8
10
12
14
16
18
20
((b)) Saturation method.
50
40
30
20
10
0
−10
−20
−30
−40
−50
0
2
4
6
8
10
12
14
16
18
20
((c)) Implicit method.
Figure: Real position y (mm) in blue and yd (mm) in red, under h = 1ms
for G = 105 .
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
OUTPUT CHATTERING
60
40
20
0
−20
−40
−60
0
2
4
6
8
10
12
14
16
18
20
((a)) Explicit method.
60
40
20
0
−20
−40
−60
0
2
4
6
8
10
12
14
16
18
20
((b)) Saturation method.
40
30
20
10
0
−10
−20
−30
−40
0
2
4
6
8
10
12
14
16
18
20
((c)) Implicit method.
Figure: Real position y (mm) in blue and yd (mm) in red, under
h = 15ms for G = 105 .
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
OUTPUT CHATTERING
Typical total variations of position error e
h
Explicit control
Saturation
control
Implicit control
5ms
10ms
15ms
1.7742e+03 1.6081e+03 2.5070e+03
2.0749e+03 2.1638e+03 2.5756e+03
650.2710
480.1660
228.8022
Table: Variation of position error e, G = 105 .
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
INPUT CHATTERING
1
0.8
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
0
2
4
6
8
10
12
14
16
18
20
16
18
20
((a)) Explicit
1
0.8
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
0
2
4
6
8
10
12
14
((b)) Saturation
Figure: Switching function: explicit method (sign(σk )) and saturation
method (sat(σk )), G = 104 (results almost unchanged for all
h ∈ [1, 15]ms).
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
INPUT CHATTERING
0.4
0.3
0.2
0.1
0
−0.1
−0.2
−0.3
−0.4
0
2
4
6
8
10
12
14
16
18
20
((a)) G = 104 , h = 5ms.
0.025
0.02
0.015
0.01
0.005
0
−0.005
−0.01
−0.015
−0.02
0
2
4
6
8
10
12
14
16
18
20
((b)) G = 105 , h = 15ms.
Figure: Switching function: implicit method (selection of sign(σk+1 )).
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
INPUT CHATTERING
Typical total variations of controller u s
h
Explicit control
Saturation control
Implicit control
5ms
2050
1.9858e+03
10ms
1932
1902
15ms
1836
1860
34.7510
25.2005
8.1039
Table: Switching function, gain G = 105 .
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
COMMENTS
The input and the output spurious oscillations (numerical
chattering) are almost suppressed with the implicit
discretization.
On the experimental set-up, the implicit controller is a
smooth, noiseless signal.
The magnitude of the selection uks ∈ G sgn(σk+1 ) remains
constant for any value of the gain G ∈ [104 , 106 ]:
G
5 ms
10 ms
104
(−0.3, 0.35)
(−0.25, 0.3)
105
(−0.03, 0.035)
(−0.025, 0.03)
106
(−0.003, 0.003)
(−0.0025, 0.0025)
Table: Magnitude of the selection of sgn(xk+1 ) (=
This is in perfect agreement with theoretical results.
uks
G
).
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
CONCLUSIONS AND FURTHER EXPERIMENTAL RESULTS
Experiments on a set-up with lots of uncertainties and noise,
remarkably confirm theory and numerical simulations.
One important feature of the implicit controllers is their
insensitivity with respect to feedback gain G .
Also they allow for large sampling periods h (15 or 20 ms in
our experiments, performance still better than explicit
controller with much smaller h) =⇒ less calculations, cheaper
implementation.
Adding a saturation does not solve the problem in general, if
the saturation width is not properly tuned. And what about
multiple sliding surfaces ??
Other experiments have been led on an inverted pendulum
(underactuated) system. Results are quite similar, both outut
and input chattering are suppressed.
The discretization of the equivalent part of the controller
−(CB)−1 CAx may also play a role in the closed-loop stability
[Huber-Acary-Brogliato 2015].
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
CONCLUSIONS AND FURTHER EXPERIMENTAL RESULTS
θ
ma , l
M
x
Figure: Inverted pendulum on a cart (laboratory CRISTAL, Ecole
Centrale de Lille, France).
Underactuated system. Main disturbance: dry friction in prismatic
and pivot joints. Unmatched disturbance negligible compared with
matched one [Riachy-Orlov-Floquet-Richard, IJRNLC 2008].
0.08
0.06
0.04
0.02
0.00
−0.02
−0.04
−0.06
−0.08
−0.10
0
u s (V )
σ
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
CONCLUSIONS AND FURTHER EXPERIMENTAL RESULTS
2
4
6
t (s)
8
10
0.5
0.4
0.3
0.2
0.1
0.0
−0.1
−0.2
−0.3
−0.4
0
2
4
6
8
10
t (s)
Figure: Inverted pendulum: σ and u s , implicit controller with h = 20,
G = 1.
0.4
0.3
0.2
0.1
0.0
−0.1
−0.2
−0.3
−0.4
0
1.0
0.5
u s (V )
σ
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
CONCLUSIONS AND FURTHER EXPERIMENTAL RESULTS
0.0
−0.5
2
4
6
8
10
−1.0
0
2
t (s)
4
6
8
10
t (s)
Figure: Inverted pendulum: σ and u s , explicit controller with h = 20,
G = 1.
For given sampling time, σimplicit ≈
σexplicit
5
Control input: magnitude and variation (chattering)
drastically decreased with implicit.
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
CONCLUSIONS AND FURTHER EXPERIMENTAL RESULTS
0.4
0.3
0.2
0.1
0.0
−0.1
−0.2
−0.3
−0.4
0
u s (V )
u s (V )
Insensitivity of G sgn(σk+1 ) w.r.t. the gain in the sliding-mode
phase:
2
4
6
t (s)
8
10
0.4
0.3
0.2
0.1
0.0
−0.1
−0.2
−0.3
−0.4
0
2
4
6
8
10
t (s)
Figure: Inverted pendulum: control input with G = 1 (left), G = 3
(right), h = 7.
Discrete-time sliding mode control: Do it implicitly !
EXPERIMENTAL RESULTS
CONCLUSIONS AND FURTHER EXPERIMENTAL RESULTS
Mean |σ|
Influence of sampling period
0.013
0.012
0.011
0.010
0.009
0.008
0.007
0.006
0.005
0.004
2
implicit
linear regression
3
4
5
6
7
8
9
10
11
Sampling period (ms)
Figure: Inverted pendulum: evolution of the precision with respect to the
sampling period (implicit discretization)
Discrete-time sliding mode control: Do it implicitly !
EXTENSIONS
1
2
3
4
5
The zero-order-hold (ZOH) method can be used as well.
Higher co-dimension of the sliding surface (CB is a p × p
matrix) [Acary-Brogliato SCL 2010, Huber-Acary-Brogliato
2014]: needs to solve at tk a generalized equation

 σk+1 = σ̄k + CB ∗ ūks
(10)

−ūks ∈ αSgn(σ̃k+1 )
Twisting controller [Huber’s PhD thesis, 2015]: implicit
discretization needs a modification to guarantee good
properties (finite-time convergence, Lyapunov stability with a
Lyapunov function close to [Orlov, SIAM Cont. Optim.
2005]).
Super-twisting: preliminary results in [Acary-Brogliato-Orlov,
IEEE TAC 2012]. More complex to analyse...
Nonlinear systems [Brogliato-Polyakov 2015].
Discrete-time sliding mode control: Do it implicitly !
EXTENSIONS
A SIMPLE NONLINEAR CASE
Consider the set-valued system:
ẋ(t) = v (t)
v (t) ∈ −x(t)3 − sgn(x(t))
(11)
where x(t) ∈ R.
This system is globally fixed-time stable, with Lyapunov function
V (x) = x 2 [Polyakov, IEEE TAC 2012].
(the cubic term makes such controller useless in practice, but
serves here as an academic example)
An explicit discretization may destabilize this otherwise globally
finite-time stable system [Levant, IEEE CDC 2013].
Discrete-time sliding mode control: Do it implicitly !
EXTENSIONS
THE GENERALIZED EQUATIONS FOR CONTROL CALCULATION
Let us discretize the system in a fully implicit way:
3
xk+1 = xk + hvk
xk+1 = xk − hxk+1
+ huk+1
⇐⇒
3
vk ∈ −xk+1 − sgn(xk+1 )
uk+1 ∈ −sgn(xk+1 )
(12)
Then we may form the two dual generalized equations with
unknown xk+1 and uk+1 , respectively:
2
(1 + hxk+1
)xk+1 − xk + hζk+1 = 0
ζk+1 ∈ sgn(xk+1 )
(13)
3
ξk+1 + hξk+1
− xk − huk+1 = 0
ξk+1 ∈ −N[−1,1] (uk+1 )
(14)
and
Discrete-time sliding mode control: Do it implicitly !
EXTENSIONS
THE GENERALIZED EQUATIONS FOR CONTROL CALCULATION
∗ , u ∗ ) is a solution of (13) and (14), then the control v
If (xk+1
k
k+1
in (12) with the fully-implicit method is defined as follows
∗
∗
vk = −(xk+1
)3 − uk+1
(15)
Proposition
∗
The generalized equation (13) has a unique solution xk+1
for any
∗
h > 0 and any xk . If xk > h then xk+1 > 0, if xk < −h then
∗
∗
∗
xk+1
< 0, and if |xk | ≤ h then xk+1
= 0. Moreover xk+1
is a
function of xk and h only.
and
Proposition
∗
The generalized equation (14) has a unique solution uk+1
for any
∗
h > 0 and any xk . If xk ≥ h then uk+1 = −1, if xk ≤ −h then
∗
∗
uk+1
= 1, and if |xk | < h then uk+1
= − xhk ∈ [−1, 1].
Discrete-time sliding mode control: Do it implicitly !
EXTENSIONS
THE GENERALIZED EQUATIONS FOR CONTROL CALCULATION
In a general setting the generalized equations have to be solved
∗
numerically with a suitable OSNSP solver. If xk > h then xk+1
is
x
−h
1
3
k
the unique root of xk+1 + h xk+1 − h = 0. Equivalently:
− 31
∗
xk+1
=2
1
+ 2− 3
xk −h
h
xk −h
h
+
−
xk −h
h
xk −h
h
2
2
1
+ 4 27h
3
1 ! 13
1
+ 4 27h
3
1 ! 31
2
2
∗
and similarly for xk < −h. If |xk | ≤ h then xk+1
= 0.
(16)
Discrete-time sliding mode control: Do it implicitly !
EXTENSIONS
LYAPUNOV STABILITY
Proposition
Let h > 0. The discrete-time system (12) with the fully-implicit
method, has a globally Lyapunov finite-time stable equilibrium
x ∗ = 0 and the equilibrium is reached after a finite number of steps
N. Moreover xk = 0 for all k ≥ N + 1 and uk+1 = 0 for all
k ≥ N + 2, while N ≤ ⌊ xh0 ⌋ for any x0 ∈ R.
The Lyapunov function can be chosen as Vk = |xk |.
3
Remark: A semi-implicit method (replace xk+1
by xk3 in the
controller) does not work very well.
Discrete-time sliding mode control: Do it implicitly !
GENERAL CONCLUSIONS
1
We apply and adapt discretization techniques pioneered in
Nonsmooth Contact Mechanics by J.J. Moreau and M. Jean
(1985, 1987, 1988), to sliding mode (set-valued) control:
implicit Euler (or ZOH) discretization.
2
It is proved analytically, numerically and experimentally that
implicit method supersedes explicit one: input and output
numerical chattering suppressed.
3
Classical ECB-SMC treated extensively, but can be applied
also for twisting algorithm (more complex, loss of maximal
mononicity).
Discrete-time sliding mode control: Do it implicitly !
BIBLIOGRAPHY
V. Acary, B. Brogliato, Implicit Euler numerical scheme and chattering-free
implementation of sliding mode systems, Systems and Control Letters, vol.59,
pp.284-293, 2010
V. Acary, B. Brogliato, Y. Orlov, Chattering-free digital sliding-mode control
with state observer and disturbance rejection, IEEE Transactions on Automatic
Control, vol.57, no 5, pp.1087-1101, May 2012
O. Huber, Analyse et implémentation du contrôle par modes glissants en temps
discret, PhD thesis, INRIA and University Grenoble Alpes, May 2015.
B. Wang, B. Brogliato, V. Acary, A. Boubakir, F. Plestan, Experimental
comparisons between implicit and explicit implementations of discrete-time
sliding mode controllers: Toward input and outout chattering suppression, IEEE
Transactions on Control Systems Technology, 2015.
O. Huber, V. Acary, B. Brogliato, Comparison between explicit and implicit
discrete-time implementations of sliding-mode controllers, Proc. 52nd IEEE
Conference on Decision and Control, Firenze, pp.2870-2875, December 2013.
O. Huber, V. Acary, B. Brogliato, Discrete-time twisting controller without
numerical chattering: analysis and experimental results with an implicit method,
Proc. 53rd IEEE Conference on Decision and Control, Los Angeles,
pp.4373-4378, December 2014.
O. Huber, V. Acary, B. Brogliato, Lyapunov stability and performance analysis
of the implicit discrete sliding mode control, submitted.
B. Brogliato, A. Polyakov, Globally stable implicit Euler time-discretization of a
nonlinear single-input sliding-mode control system, submitted.