discrete-time sliding mode control: do it implicitly !

50
Discrete-time sliding mode control: Do it implicitly ! Discrete-time sliding mode control: Do it implicitly ! Bernard Brogliato INRIA Grenoble, France Aussois, June 2015

Upload: vananh

Post on 10-Feb-2017

226 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do itimplicitly !

Bernard BrogliatoINRIA Grenoble, France

Aussois, June 2015

Page 2: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

Results obtained at INRIA Grenoble, experiments at IRCCyN-EcoleCentrale 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.

Page 3: Discrete-time sliding mode control: Do it implicitly !

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’ssolutions–).

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-valuedright-hand side.

4 Main implementation issue: chattering (due to what ? Here,the analyzed source is: numerical, or discretization of thecontroller).

Page 4: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

SLIDING-MODE CONTROL

THE “CLASSICAL” EQUIVALENT-BASED-CONTROL SMC

Let us consider x = 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 ueq for the undisturbedsystem:Cx = 0 ⇒ CAx + CBueq = 0 ⇒ ueq = −(CB)−1CAxrenders the surface σ = 0 invariant.

Second stage, the set-valued controller: us ∈ −γ sgn(σ),γ > δ, sgn(0) = [−1, 1]:

Closed loop system:

x − Ax + B(CB)−1CAx − Bd(x , t) ∈ −γ sgn(σ)

=⇒ σ ∈ −γ sgn(σ) + d(x , t)

Page 5: Discrete-time sliding mode control: Do it implicitly !

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:

us(σ(t)) = −d(x(t), t)

(according to Filippov’s solution).

The controller “observes” exactly the matched disturbanceand does not depend on γ during the sliding phase.

Works also for co-dimension ≥ 2 sliding surface: choose CBsquare full rank (> 0 for stability purpose).

Page 6: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

SLIDING-MODE CONTROL

TIME-DISCRETIZATION: NUMERICAL CHATTERING

Let us focus on the time-discretization effects. The classicalscheme is Euler (or ZOH) explicit discretization:

One implements at each sampling time tk :

usk = −γ sgn(σk)

This is known to generate output and input chattering [Galiaset 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 withexplicit method).

Page 7: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

SLIDING-MODE CONTROL

TIME-DISCRETIZATION: NUMERICAL CHATTERING

Effects on the input:

σk

us (σk )

γ

explicit discretization(jumps from +1 to -1)

−γ

0

Figure: Disturbance compensation via (single-valued) explicitdiscretization.

Page 8: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

SLIDING-MODE CONTROL

TIME-DISCRETIZATION: NUMERICAL CHATTERING

In experiments this typically gives:

0 2 4 6 8 10 12 14 16 18 20−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

((a)) h = 1 ms

0 2 4 6 8 10 12 14 16 18 20−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

((b)) h = 15 ms

Figure: Switching function: explicit method (sign(σk)).

The explicit discretization is unable to reach the verticalsegment of the set-valued signum function: no set-valuedrealization of the controller.

Page 9: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

SLIDING-MODE CONTROL

TIME-DISCRETIZATION: NUMERICAL CHATTERING

Effects on the output (sliding variable):

t0

magnitude ≈ h

frequency ≈1h

σ

Figure: Oscillations due to the explicit discretization.

Loss of precision, need to decrease h.

Page 10: Discrete-time sliding mode control: Do it implicitly !

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-timebehaviour.

For set-valued controllers like in sliding-mode: item 3) may betotally wrong for the inputsignal, because of numerical chattering.

Explicit way of discretization should be avoided when actuatorsallow for it.

Page 11: Discrete-time sliding mode control: Do it implicitly !

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 andinverted-pendulum set-up.

3 Extensions: more than one sliding surface, twisting algorithm,nonlinear system.

Page 12: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

INSIGHT ON THE IMPLICIT DISCRETIZATION

CASE WITHOUT DISTURBANCE

Let us consider the simplest sliding mode system:

x(t) = us(t, x(t))

with σ = x − xd(t) and us(x , t) ∈ −sgn(σ) + xd(t), then:

σ(t) ∈ −sgn(σ(t))

which guarantees that x(t) → xd(t) in finite time.

The plant discretization is given by:

xk+1 − xkh

= usk

Page 13: Discrete-time sliding mode control: Do it implicitly !

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

usk ∈ −sgn(xk+1 − xd ,k+1) +xd ,k+1 − xd ,k

h

Let us setwk+1

∆= husk − 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 aone-step non-smooth problem (OSNSP).

Page 14: Discrete-time sliding mode control: Do it implicitly !

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 aLinear Complementarity Problem (LCP) 0 ≤ Mλ+ q ⊥ λ ≥ 0:

0 ≤

(

1 −1−1 1

)(

λ1,k+1

λ2,k+1

)

+

(

h − σkh + σk

)

(

λ1,k+1

λ2,k+1

)

≥ 0

(1)where σk+1 = λ1,k+1 − λ2,k+1 is unique for all h and σk . Anotherequivalent 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:

〈σk+1, z − σk+1〉 ≤ 0 for all z ∈ [−h + σk , h + σk ] (3)

Page 15: Discrete-time sliding mode control: Do it implicitly !

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) (4)

Using some basic convex analysis tools we infer:

wk+1 = −proj([−h, h];σk) ⇐⇒ wk+1 = argminz∈[−h,h]

1

2(z − σk)

2

This shows that a variety of tools preparing for efficientnumerical solvers of the OSNSP for more complex cases emergefrom these equivalent formulations.

Page 16: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

INSIGHT ON THE IMPLICIT DISCRETIZATION

EQUIVALENT FORMULATIONS OF THE OSNSP

Using that usk = 1hwk+1 +

xd,k+1−xd,kh

, we finally find that theimplicit input is computed at step k as:

usk = proj([-1,1];−σk

h) +

xd,k+1−xd,k

h

=

−σk

h+

xd,k+1−xd,k

hif |σk | ≤ h

−1 +xd,k+1−xd,k

hif σk > h

1 +xd,k+1−xd,k

hif σk < −h

This is a set-valued controller, taking values inside [−1, 1] as itscontinuous-time counterpart.

The implicit controller is non-anticipative (it is causal).

Page 17: Discrete-time sliding mode control: Do it implicitly !

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 stepsk∗ (the proof mimics that of the continuous-time case). Thisis easily shown with a graphical interpretation of thegeneralized equation with unknown σk+1, and iterating it (seenext Figure).

2 On the sliding surface where σk = 0 for all k ≤ k∗, thenusk =

xd,k+1−xd,kh

, 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 allk > k∗: no limit cycles around the sliding surface.

4 The controller is causal because we use the discretizeddynamics to form a generalized equation to compute it.

Page 18: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

INSIGHT ON THE IMPLICIT DISCRETIZATION

EQUIVALENT FORMULATIONS OF THE OSNSP

h

σk+2

σk+1

σk

σk < −h

−hsgn(σk+1) (solid lines)σk+1 − σk (dashed lines)

−h

σk > h

−h ≤ σk ≤ h

step k + 2step k + 3

step k + 1step k

σk

σk+3 = 0

0

σk+1

Figure: Graphical interpretation of the generalized equation.

Page 19: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

INSIGHT ON THE IMPLICIT DISCRETIZATION

CASE WITH DISTURBANCE

Let us consider x(t) ∈ u(t) + d(t), with |d(t)| ≤ δ < 1 for all t.Proceeding as in the disturbance-free case we obtain

σ(t) = u(t) + xd(t) + d(t)

The set-valued controller us ∈ −sgn(σ)− xd(t) guaranteeswell-posed closed-loop and finite-time convergence to theattractive surface σ = 0.

The Euler discretization of the plant is given by:

xk+1 = xk + huk + xd ,k+1 − xd ,k + hdk (5)

Since the perturbation d(t) is unknown, we cannot construct ageneralized equation directly from (5): we have to compute thecontroller from a nominal undisturbed system.

Page 20: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

INSIGHT ON THE IMPLICIT DISCRETIZATION

CASE WITH DISTURBANCE

Let us set:xk+1 = xk + huk + xd ,k+1 − xd ,k (6)

(recall that xk is measured hence known at tk), and form with

σk+1∆= xk+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

(7)

whose unknown is σk+1.

Page 21: Discrete-time sliding mode control: Do it implicitly !

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 iscomputed from the generalized equation:

σk+1 = σk + wk+1

wk+1 ∈ −h sgn(σk+1)⇔ u

sk = proj([-1,1]; −σk

h) +

xd,k+1−xd,k

h

The implicit controller is non-anticipative.

The “sliding surface” σk = 0 is reached after a finite numberof steps.

The domain |σk | ∈ h [−δ, δ] is reached after a finite numberof steps.

The discrete-time controller satisfies usk = −dk during the“sliding mode” phase (taking values inside [-1,1]).

Page 22: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

INSIGHT ON THE IMPLICIT DISCRETIZATION

CASE WITH DISTURBANCE

In the sliding phase:

0u(t) = −d(t)

-1

1

(Filippov’s solution)

explicit discretization(jumps from +1 to -1)

uk = −dk (implicit discretization)

Figure: Disturbance compensation via (set-valued) implicit discretization.

Page 23: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

INSIGHT ON THE IMPLICIT DISCRETIZATION

LYAPUNOV STABILITY

The implicit discretization yields a discrete-time dynamics which isa good reproduction of the continuous-time dynamics: in particularit yields a finite-time Lyapunov stable sliding-variable dynamics.

Let us analyze the unperturbed case (notice: even in this case, theexplicit 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)

Page 24: Discrete-time sliding mode control: Do it implicitly !

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 andVk+1 − Vk = −σk+1 + σk = −wk+1 = h > 0.

3 σk ∈ (−h, h):

1 Suppose σk+1 > 0: then σk+1 = σk − hsgn(σk+1))σk − h < 0:contradiction.

2 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 soon for σk+n = 0, n ≥ 3. Thus Vk+1 = −|σk | ≤ 0 andVk+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.

Page 25: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

INSIGHT ON THE IMPLICIT DISCRETIZATION

SUMMARY

1 The implicitely discretized set-valued controller is easily solvedwith a (simple) generalized equation.

2 In theory the input and output chattering due to discretization(numerical chattering) no longer exists.

3 Lyapunov finite-time stability of the sliding-variable dynamicsis proved in discrete-time.

4 There exists a discrete-time sliding surface (even in thepresence of a disturbance) and on this surface the set-valuedcontroller “observes” the equivalent disturbance.

5 In the explicitly discretized controller, there is no selectionprocedure to choose the input signal at σk = 0 (even in theundisturbed case). The implicit version is solved with ageneralized equation which chooses THE suitable selection inthe set-valued sign function.

6 The structure of the continuous-time controller is notchanged.

Page 26: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

THE EXPERIMENTAL SET-UP

Figure: Photography and scheme of the IRCCyN (Ecole Centrale deNantes) electropneumatic system.

Page 27: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

THE EXPERIMENTAL SET-UP

This is a fourth order system. After some manipulations the slidingsurface dynamics is obtained as:

σ =∆Φ

Φn

Ψn +∆Ψ+

[

1 +∆Φ

Φn

]

us .

withσ(x , t) = e + λ1e + λ0e

and e∆= y − yd(t). The controller us is a set-valued input defined

asus ∈ −G sgn(σ)

The controller us has been implemented under three discreteforms.

Page 28: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

IMPLEMENTED CONTROLLERS

Explicit discretization:

usk = −G sgn(σk)

Explicit saturated discretization:

usk = −G sat(σk , ǫ)

with

sat(σk , ǫ) =

{

sgn(σk) if |σk | ≥ ǫ

σk if |σk | < ǫ.

Implicit discretization:

usk ∈ −G sgn(σk+1)

Page 29: Discrete-time sliding mode control: Do it implicitly !

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 variationof the signals:

Var[a,b](f ) =N−1∑

i=0

|f (ti+1)− f (ti )| (9)

Page 30: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

OUTPUT CHATTERING

0 2 4 6 8 10 12 14 16 18 20−50

−40

−30

−20

−10

0

10

20

30

40

50

((a)) Explicit method.

0 2 4 6 8 10 12 14 16 18 20−50

−40

−30

−20

−10

0

10

20

30

40

50

((b)) Saturation method.

0 2 4 6 8 10 12 14 16 18 20−50

−40

−30

−20

−10

0

10

20

30

40

50

((c)) Implicit method.

Figure: Real position y (mm) in blue and yd (mm) in red, under h = 1msfor G = 105.

Page 31: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

OUTPUT CHATTERING

0 2 4 6 8 10 12 14 16 18 20−60

−40

−20

0

20

40

60

((a)) Explicit method.

0 2 4 6 8 10 12 14 16 18 20−60

−40

−20

0

20

40

60

((b)) Saturation method.

0 2 4 6 8 10 12 14 16 18 20−40

−30

−20

−10

0

10

20

30

40

((c)) Implicit method.

Figure: Real position y (mm) in blue and yd (mm) in red, underh = 15ms for G = 105.

Page 32: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

OUTPUT CHATTERING

Typical total variations of position error e

h 5ms 10ms 15ms

Explicit con-trol

1.7742e+03 1.6081e+03 2.5070e+03

Saturationcontrol

2.0749e+03 2.1638e+03 2.5756e+03

Implicit con-trol

650.2710 480.1660 228.8022

Table: Variation of position error e, G = 105.

Page 33: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

INPUT CHATTERING

0 2 4 6 8 10 12 14 16 18 20−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

((a)) Explicit

0 2 4 6 8 10 12 14 16 18 20−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

((b)) Saturation

Figure: Switching function: explicit method (sign(σk)) and saturationmethod (sat(σk)), G = 104 (results almost unchanged for allh ∈ [1, 15]ms).

Page 34: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

INPUT CHATTERING

0 2 4 6 8 10 12 14 16 18 20−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

((a)) G = 104, h = 5ms.

0 2 4 6 8 10 12 14 16 18 20−0.02

−0.015

−0.01

−0.005

0

0.005

0.01

0.015

0.02

0.025

((b)) G = 105, h = 15ms.

Figure: Switching function: implicit method (selection of sign(σk+1)).

Page 35: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

INPUT CHATTERING

Typical total variations of controller us

h 5ms 10ms 15ms

Explicit control 2050 1932 1836

Saturation con-trol

1.9858e+03 1902 1860

Implicit control 34.7510 25.2005 8.1039

Table: Switching function, gain G = 105.

Page 36: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

COMMENTS

The input and the output spurious oscillations (numericalchattering) are almost suppressed with the implicitdiscretization.

On the experimental set-up, the implicit controller is asmooth, noiseless signal.

The magnitude of the selection usk ∈ G sgn(σk+1) remainsconstant for any value of the gain G ∈ [104, 106]:

G 104 105 106

5 ms (−0.3, 0.35) (−0.03, 0.035) (−0.003, 0.003)

10 ms (−0.25, 0.3) (−0.025, 0.03) (−0.0025, 0.0025)

Table: Magnitude of the selection of sgn(xk+1) (=usk

G).

This is in perfect agreement with theoretical results.

Page 37: Discrete-time sliding mode control: Do it implicitly !

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 theirinsensitivity with respect to feedback gain G .

Also they allow for large sampling periods h (15 or 20 ms inour experiments, performance still better than explicitcontroller with much smaller h) =⇒ less calculations, cheaperimplementation.

Adding a saturation does not solve the problem in general, ifthe saturation width is not properly tuned. And what aboutmultiple sliding surfaces ??

Other experiments have been led on an inverted pendulum(underactuated) system. Results are quite similar, both oututand input chattering are suppressed.

The discretization of the equivalent part of the controller−(CB)−1CAx may also play a role in the closed-loop stability[Huber-Acary-Brogliato 2015].

Page 38: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

CONCLUSIONS AND FURTHER EXPERIMENTAL RESULTS

M

θ

ma, l

x

Figure: Inverted pendulum on a cart (laboratory CRISTAL, EcoleCentrale de Lille, France).

Underactuated system. Main disturbance: dry friction in prismaticand pivot joints. Unmatched disturbance negligible compared withmatched one [Riachy-Orlov-Floquet-Richard, IJRNLC 2008].

Page 39: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

CONCLUSIONS AND FURTHER EXPERIMENTAL RESULTS

0 2 4 6 8 10

t (s)

−0.10−0.08−0.06−0.04−0.020.000.020.040.060.08

σ

0 2 4 6 8 10

t (s)

−0.4−0.3−0.2−0.10.00.10.20.30.40.5

us(V

)Figure: Inverted pendulum: σ and us , implicit controller with h = 20,G = 1.

Page 40: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

CONCLUSIONS AND FURTHER EXPERIMENTAL RESULTS

0 2 4 6 8 10

t (s)

−0.4−0.3−0.2−0.10.00.10.20.30.4

σ

0 2 4 6 8 10

t (s)

−1.0

−0.5

0.0

0.5

1.0

us(V

)

Figure: Inverted pendulum: σ and us , explicit controller with h = 20,G = 1.

For given sampling time, σimplicit ≈σexplicit

5

Control input: magnitude and variation (chattering)drastically decreased with implicit.

Page 41: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

CONCLUSIONS AND FURTHER EXPERIMENTAL RESULTS

Insensitivity of G sgn(σk+1) w.r.t. the gain in the sliding-modephase:

0 2 4 6 8 10

t (s)

−0.4−0.3−0.2−0.10.00.10.20.30.4

us(V

)

0 2 4 6 8 10

t (s)

−0.4−0.3−0.2−0.10.00.10.20.30.4

us(V

)

Figure: Inverted pendulum: control input with G = 1 (left), G = 3(right), h = 7.

Page 42: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXPERIMENTAL RESULTS

CONCLUSIONS AND FURTHER EXPERIMENTAL RESULTS

Influence of sampling period

2 3 4 5 6 7 8 9 10 11

Sampling period (ms)

0.0040.0050.0060.0070.0080.0090.0100.0110.0120.013

Mean|σ|

implicit

linear regression

Figure: Inverted pendulum: evolution of the precision with respect to thesampling period (implicit discretization)

Page 43: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXTENSIONS

1 The zero-order-hold (ZOH) method can be used as well.

2 Higher co-dimension of the sliding surface (CB is a p × pmatrix) [Acary-Brogliato SCL 2010, Huber-Acary-Brogliato2014]: needs to solve at tk a generalized equation

σk+1 = σk + CB∗usk

−usk ∈ αSgn(σk+1)(10)

3 Twisting controller [Huber’s PhD thesis, 2015]: implicitdiscretization needs a modification to guarantee goodproperties (finite-time convergence, Lyapunov stability with aLyapunov function close to [Orlov, SIAM Cont. Optim.2005]).

4 Super-twisting: preliminary results in [Acary-Brogliato-Orlov,IEEE TAC 2012]. More complex to analyse...

5 Nonlinear systems [Brogliato-Polyakov 2015].

Page 44: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXTENSIONS

A SIMPLE NONLINEAR CASE

Consider the set-valued system:

{

x(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 functionV (x) = x2 [Polyakov, IEEE TAC 2012].

(the cubic term makes such controller useless in practice, butserves here as an academic example)

An explicit discretization may destabilize this otherwise globallyfinite-time stable system [Levant, IEEE CDC 2013].

Page 45: Discrete-time sliding mode control: Do it implicitly !

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:

{

xk+1 = xk + hvkvk ∈ −x3k+1 − sgn(xk+1)

⇐⇒

{

xk+1 = xk − hx3k+1 + huk+1

uk+1 ∈ −sgn(xk+1)(12)

Then we may form the two dual generalized equations withunknown xk+1 and uk+1, respectively:

(1 + hx2k+1)xk+1 − xk + hζk+1 = 0

ζk+1 ∈ sgn(xk+1)(13)

and

ξk+1 + hξ3k+1 − xk − huk+1 = 0ξk+1 ∈ −N[−1,1](uk+1)

(14)

Page 46: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXTENSIONS

THE GENERALIZED EQUATIONS FOR CONTROL CALCULATION

If (x∗k+1, u∗

k+1) is a solution of (13) and (14), then the control vkin (12) with the fully-implicit method is defined as follows

vk = −(x∗k+1)3 − u∗k+1 (15)

Proposition

The generalized equation (13) has a unique solution x∗k+1 for anyh > 0 and any xk . If xk > h then x∗k+1 > 0, if xk < −h thenx∗k+1 < 0, and if |xk | ≤ h then x∗k+1 = 0. Moreover x∗k+1 is afunction of xk and h only.

and

Proposition

The generalized equation (14) has a unique solution u∗k+1 for anyh > 0 and any xk . If xk ≥ h then u∗k+1 = −1, if xk ≤ −h thenu∗k+1 = 1, and if |xk | < h then u∗k+1 = − xk

h∈ [−1, 1].

Page 47: Discrete-time sliding mode control: Do it implicitly !

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 solvednumerically with a suitable OSNSP solver. If xk > h then x∗k+1 is

the unique root of x3k+1 +1hxk+1 −

xk−hh

= 0. Equivalently:

x∗k+1 = 2−13

(

xk−hh

+

(

(

xk−hh

)2+ 4 1

27h3

)12

)

13

+ 2−13

(

xk−hh

(

(

xk−hh

)2+ 4 1

27h3

)12

)

13

(16)

and similarly for xk < −h. If |xk | ≤ h then x∗k+1 = 0.

Page 48: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

EXTENSIONS

LYAPUNOV STABILITY

Proposition

Let h > 0. The discrete-time system (12) with the fully-implicitmethod, has a globally Lyapunov finite-time stable equilibriumx∗ = 0 and the equilibrium is reached after a finite number of stepsN. Moreover xk = 0 for all k ≥ N + 1 and uk+1 = 0 for allk ≥ N + 2, while N ≤ ⌊ x0

h⌋ for any x0 ∈ R.

The Lyapunov function can be chosen as Vk = |xk |.

Remark: A semi-implicit method (replace x3k+1 by x3k in thecontroller) does not work very well.

Page 49: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

GENERAL CONCLUSIONS

1 We apply and adapt discretization techniques pioneered inNonsmooth 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 thatimplicit method supersedes explicit one: input and outputnumerical chattering suppressed.

3 Classical ECB-SMC treated extensively, but can be appliedalso for twisting algorithm (more complex, loss of maximalmononicity).

Page 50: Discrete-time sliding mode control: Do it implicitly !

Discrete-time sliding mode control: Do it implicitly !

BIBLIOGRAPHY

V. Acary, B. Brogliato, Implicit Euler numerical scheme and chattering-freeimplementation 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 controlwith state observer and disturbance rejection, IEEE Transactions on AutomaticControl, vol.57, no 5, pp.1087-1101, May 2012

O. Huber, Analyse et implementation du controle par modes glissants en tempsdiscret, PhD thesis, INRIA and University Grenoble Alpes, May 2015.

B. Wang, B. Brogliato, V. Acary, A. Boubakir, F. Plestan, Experimentalcomparisons between implicit and explicit implementations of discrete-timesliding mode controllers: Toward input and outout chattering suppression, IEEETransactions on Control Systems Technology, 2015.

O. Huber, V. Acary, B. Brogliato, Comparison between explicit and implicitdiscrete-time implementations of sliding-mode controllers, Proc. 52nd IEEEConference on Decision and Control, Firenze, pp.2870-2875, December 2013.

O. Huber, V. Acary, B. Brogliato, Discrete-time twisting controller withoutnumerical 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 analysisof the implicit discrete sliding mode control, submitted.

B. Brogliato, A. Polyakov, Globally stable implicit Euler time-discretization of anonlinear single-input sliding-mode control system, submitted.