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.
© Copyright 2026 Paperzz