Bin Wang

Bernard Brogliato

Vincent Acary

Ahcene Boubakir

Franck Plestan

Comparisons between implicit and explicit discrete-time implementations of equivalent-control-based sliding mode controllers: input and output chattering suppression via the implicit method

Keywords: sliding mode, set-valued controller, discrete-time, experiment, robust control, chattering

This paper presents a set of experimental results concerning the sliding mode control of an electro-pneumatic system. The controller is implemented via a micro-processor as a discretetime input. Three discrete-time control strategies are considered for the implementation of the discontinuous part of the sliding mode controller: explicit discretizations with and without saturation, and an implicit discretization (that is very easy to implement with a projection on the interval [-1, 1]). While the explicit implementation is known to generate numerical chattering, the implicit one is expected to significantly reduce chattering while keeping the accuracy. The experimental results reported in this work remarkably confirm that the implicit discrete-time sliding mode supersedes the explicit ones, with several important features: chattering in the control input is almost eliminated (while the explicit and saturated controllers behave like highfrequency bang-bang inputs), the input magnitude depends only on the perturbation size and is independent of the controller gain and sampling time. On the contrary the explicit controller shows obvious chattering for all sampling times, its magnitude increases as the controller gain

Introduction

Sliding-mode control has very attractive features like robustness and simplicity of implementation, with few gains to tune. Its main drawback is the existence of the so-called chattering phenomenon, which may be due to actuators limitations, unmodelled dynamics, or time-discretization. Several works recently focussed on the time-discretization effects, showing that an explicit implementation of either Euler of ZOH discretizations yields limit cycles [START_REF] Galias | Complex discretization behaviours of a simple sliding-mode control system[END_REF][START_REF] Galias | Analysis of zero-order holder discretization of two-dimensional sliding-mode control systems[END_REF][START_REF] Wang | ZOH discretization effect on single-input sliding mode control systems with matched uncertainties[END_REF][START_REF] Yu | Discretization effect on equivalent control-based multi-input sliding-mode control systems[END_REF], while the implicit form suppresses, in theory, the numerical chattering [START_REF] Acary | Implicit Euler numerical scheme and chattering-free implementation of sliding mode systems[END_REF][START_REF] Acary | Chattering-free digital sliding-mode control with state observer and disturbance rejection[END_REF][START_REF] Golo | Discretization of control law for a class of variable structure control systems[END_REF] due to the time-discretization. Before going further let us briefly recall what is meant by explicit and implicit discrete-time silding mode controllers.

Explicit vs implicit discrete sliding mode control: Consider the scalar system ẋ(t) = u(t) + d(t), with u(t) ∈ -sgn(x(t)), where sgn(•) is the set-valued signum function: sgn(0) = [-1, 1], sgn(x) = 1 if x > 0, sgn(x) = -1 if x < 0. Let the disturbance d(t) satisfy |d(t)| ≤ δ < 1 for some δ.

Using Filippov's mathematical framework of differential inclusions, one deduces that for any x(0), the state x(t) reaches the "sliding surface" x = 0 in a finite time t * , and then x(t) = 0 for all t ≥ t * .

In the differential inclusions language, u(t) is a selection ξ(t) of the interval [-1, 1] for t ≥ t * , and it satisfies ξ(t) = u(t) = -d(t) after t * . In a sense, the set-valued controller acts as a disturbance observer once the sliding mode is attained. It is clear that if one multiplies the signum by a gain a > 0, i.e. u(t) = a sgn(x(t)), then one still has u(t) = -d(t) in the sliding phase after t * . However this time the value of the selection ξ(t) inside the set-valued part of sgn(x(t)) is divided by a, i.e.

ξ(t) = d(t)
a . Let us now consider the Euler discretization of this system. It reads:

x k+1 = x k + hu k + hd k ,
where f k = f (t k ) for a function f (•), and t k = t 0 + kh are the sampling times, h > 0 is the sampling period. In such a simple case, the Euler and ZOH discretizations are the same, except for the disturbance d k = t k+1 t k d(t)dt for the ZOH method. Our focus is on how to choose u k . The explicit method yields u k ∈ -sgn(x k ), yielding the closed-loop x k+1x khd k ∈ -h sgn(x k ). As alluded to above, limit cycles exist which create oscillations around the sliding surface (here the origin), known as the numerical chattering in the output. One of the consequences is that the explicit controller keeps switching between the two values 1 and -1, and never attains any point in (-1, 1).

In particular the explicit controller cannot approximate the continuous-time selection ξ(•) = u(•)

when the system evolves close to the sliding surface. If a gain a > 0 premultiplies u(•) then the explicit controller switches between two discrete values a and -a, the switching frequency being inversely proportional to the sampling period: this is the numerical chattering in the input. It is noteworthy that the mere notion of a sliding surface does not exist in this case, since the discrete trajectories cannot attain the origin, and the controller cannot take values in the set-valued part equal to (-1, 1). One then has to resort to so-called quasi-sliding surfaces [START_REF] Sira-Ramirez | Non-linear discrete variable structure systems in quasi-sliding mode[END_REF].

The implicit method is implemented as follows. Since d(t) is unknown, one first constructs a nominal unperturbed system with state xk , from which the input is computed: xk+1 = x k + hu k , u k ∈ -sgn(x k+1 ). This is a so-called generalized equation with unknown xk+1 . Its solution yields after few manipulations

u k = h proj [-1, 1]; -x k h
, that is the projection on the interval [-1, 1], and is a causal input (not depending on future values of the state). Notice that in the unperturbed case, xk and x k are the same. As proved in [START_REF] Acary | Implicit Euler numerical scheme and chattering-free implementation of sliding mode systems[END_REF][START_REF] Acary | Chattering-free digital sliding-mode control with state observer and disturbance rejection[END_REF], the implicit controller guarantees convergence of xk to the origin in a finite number of steps, and disturbance attenuation by a factor h during the sliding mode. Most importantly, the control input takes values in (-1, 1) once xk has reached the origin, as may be seen from the generalized equation from which it is calculated, and one has during

that phase u k = -d k : u k is a selection ξ k of the discrete-time differential inclusion xk+1 = x k + hu k , u k ∈ -sgn(x k+1
), and the discrete-time input observes the disturbance when the sliding mode is attained. Similarly to the continuous-time case, if the controller is multiplied by a gain a > 0, then the selection ξ k = -d k a . Therefore the implicit controller has the same features as its continuous-time counterpart. We may summarize them as follows:

(i) When there is no perturbation, the sliding surface is reached after a finite number of steps.

(ii) When a perturbation acts on the system, the state of the nominal system reaches the sliding surface after a finite number of steps, while the perturbation effect is attenuated by a factor h on the system's state.

(iii) Despite the system's state x k never attains its sliding surface due to the disturbance, the notion of discrete-time sliding mode does exist, and corresponds to the nominal system's state xk vanishing, or equivalently to the set-valued controller evolving strictly inside the interval [-1, 1]. In this mode the controller compensates for the disturbance, and is a copy of it. Its magnitude is therefore independent, in the sliding mode, of the controller gain, and there is no need to adapt the gain (denoted as a above, and as G in the sequel) on-line.

(iv) Theoretically there is no numerical chattering during the sliding mode, neither in the sliding variable, nor in the input.

(v) The discrete-time controller keeps the simplicity of its continuous-time counterpart, with no added gain to tune.

(vi) Computing the input at each step boils down to solving a simple generalized equation, equivalently a projection on [-1, 1], or solving a quadratic program. This is quite easy to implement in a code. The implicit algorithm extends to higher dimension systems, and with sliding surfaces of codimension ≥ 2 [START_REF] Acary | Chattering-free digital sliding-mode control with state observer and disturbance rejection[END_REF]. The main objective of this article is to confirm these features experimentally.

The paper is organized as follows: in Section 2 the dynamics and the various controllers of the electropneumatic actuators are presented. Section 3 is dedicated to the experimental results: the explicit and the implicit discrete-time algorithms are applied to the system and compared in terms of their overall performance, comprising the tracking accuracy, the input chattering, the input magnitude, the disturbance rejection, when the controller gain and the sampling period are varied.

In addition the saturated explicit controller is also tested. Conclusions end the paper in Section 4.

2 Dynamics of the plant and controllers

Implicit controller implementation

To start let us explain in details how the so-called implicit controller (which might be also named the projected sliding-mode controller) is calculated in case of tracking of a reference output y d (t).

We consider the same scalar system as in the introduction, i.e. ẋ(t) = u, y = x, and disregard the disturbance for the sake of simplicity. In this case, the Euler and ZOH discretizations are the same.

Let the sliding variable be σ = xx d . The controller is set to u(x, t) ∈ -sgn(σ) + ẋd (t), so that the closed-loop system is σ(t) ∈ -sgn(σ(t)). The plant discretization is

x k+1 -x k h = u k (1)
and the implicit input is set equal to

u k ∈ -sgn(x k+1 -x d,k+1 ) + x d,k+1 -x d,k h (2)
where the last term accounts for the Euler approximation of ẋd (t). The sliding variable is given by

σ k = x k -x d,k .
We therefore obtain

x k+1 -x k ∈ -h sgn(σ k+1 ) + x d,k+1 -x d,k ⇔ σ k+1 -σ k ∈ -h sgn(σ k+1 ). (3)
Let w k+1 = σ k+1σ k ; now by using convex analysis we may write

w k+1 ∈ -h sgn(σ k+1 ) ⇔ σ k+1 ∈ -N [-h,h] (w k+1 ), where N [-h,h] (w k+1 ) is the normal cone to [-h, h] calculated at w k+1 ∈ [-h, h],
given in this case by

N [-h,h] (w k+1 ) =          0 if |w k+1 | < h [0, +∞) if w k+1 = h (-∞, 0] if w k+1 = -h
Inserting this in (3) yields

w k+1 + σ k ∈ -N [-h,h] (w k+1 ) ⇔ -N [-h,h] (w k+1 ) -σ k ∋ w k+1 . (4)
By using basic convex analysis one finds equivalently

w k+1 = proj([-h, h]; -σ k ) = h proj([-1, 1]; -σ k h ) (5)
where proj denotes the orthogonal projection (details can be found in [3, Appendix A], and in section A). From (1), we have

u k = 1 h w k+1 + x d,k+1 -x d,k h
Thus we obtain

u k = 1 h proj([-h, h]; -σ k ) + x d,k+1 -x d,k h = proj([-1, 1]; -σ k h ) + x d,k+1 -x d,k h =                      -σ k h + x d,k+1 -x d,k h if |σ k | ≤ h -1 + x d,k+1 -x d,k h if σ k > h 1 + x d,k+1 -x d,k h if σ k < -h (6)
The implicit controller is thus bounded whatever the value of the samping period h > 0. It is obviously quite easy to implement in any code. It is noteworthy that an explicit implementation of the input yields

u k = -sgn(σ k ) + x d,k+1 -x d,k h . (7)
It is not necessary to write an inclusion u k ∈ -sgn(σ k ) +

x d,k+1 -x d,k h in [START_REF]Sliding Modes after the First Decade of the 21st Century[END_REF], because the multivalued part of the sign function cannot be realized with an explicit controller. Indeed the fact is not only that the zero value does not exist numerically, but even if it did, one would not be able to choose in a unique way the controller value inside [-1, 1] (in numerical analysis of differential inclusions, this is known as the selection procedure [3, §9.2, 9.4]). On the contrary the implicit implementation does realize the set-valuedness of the input, see [START_REF] Acary | Implicit Euler numerical scheme and chattering-free implementation of sliding mode systems[END_REF][START_REF] Acary | Chattering-free digital sliding-mode control with state observer and disturbance rejection[END_REF] for more detailed analysis. Moreover the computed controller value is the unique selection of the discrete-time inclusion, as a result of solving the above generalized equation.

Remark 2.1 (Chattering)

The oscillations around the sliding surface which are solely due to the time discretization, are known as the output numerical chattering. They have been proved to exist with explicit discretizations as in [START_REF]Sliding Modes after the First Decade of the 21st Century[END_REF] [START_REF] Galias | Complex discretization behaviours of a simple sliding-mode control system[END_REF][START_REF] Galias | Analysis of zero-order holder discretization of two-dimensional sliding-mode control systems[END_REF][START_REF] Yu | Discretization effect on equivalent control-based multi-input sliding-mode control systems[END_REF].

Remark 2.2 (Controller commutations) It is widely accepted in the Control literature that sliding mode controllers have to be implemented through infinite-frequency commutations of some actuator, and that the infinitely fast switching strategy is necessary to approximate the continuous-time solution obtained from Filippov's mathematical framework. This is false when one considers the implicit implementation which is briefly summarized above. The implicit implementation takes the form of a projection onto a finite interval (a hypercube if there is more than one switching surface) as shown in [START_REF] Castro-Linarès | Higher order sliding mode observer-based control[END_REF], hence it is Lipschitz continuous function of the state. As will be shown in Section 3, the input numerical chattering is drastically reduced when the implicit controller is used. It is quite possible that the input shape may be in practice as important as the output shape, because input chattering is known to demand a lot of the actuators.

Plant dynamics and controllers

The electropneumatic system used for the controllers evaluation consists in two actuators which are controlled by two servodistributors (see Figure 1). Each actuator is composed by two chambers denoted by P (positive) and N (negative). The controllers proposed in the sequel are designed in order to control the position of one of these two actuators, named "Main actuator", whereas the second actuator, named "Perturbation actuator" and mechanically connected to the Main one, is used in order to produce an external perturbation force. With a nominal 7-bar source pressure, the maximum produced force is 2720 N ; furthermore, both actuators have the same physical features: Under some assumptions detailed in [START_REF] Shtessel | A novel adaptive-gain supertwisting sliding mode controller: methodology and application[END_REF], the dynamic model of the pneumatic actuator can be written as a nonlinear system which is affine in the control input [u P u N ] T , u P (resp. u N ) being the control input of the servodistributor connected to the P (resp. N ) chamber. The model is divided in two parts: two first equations concern the pressure dynamics in each chamber whereas the motion of the actuator is described by the two last equations. Then the model of the electropneumatic experimental set-up reads as

ṗP = krT V P (y) [ϕ P + ψ P • u P - S rT p P v] ṗN = krT V N (y) [ϕ N + ψ N • u N + S rT p N v] v = 1 M [S (p P -p N ) -b v v -F ] ẏ = v, (8)
with p P (reps. p N ) the pressure in the P (resp. N ) chamber, y and v being the position and velocity of the actuator. The force F is a disturbance that takes into account dry friction and unknown external forces. Note that the previous system appears to have two control inputs given that there is one servo distributor connected to each chamber. In the sequel, only the main actuator position is controlled: given that there is a single control objective, one states

1 u = u P = -u N .
The constant k is the polytropic constant, r is the ideal gas constant, T is the temperature which is supposed the same inside or outside the chambers and b v is the viscous friction constant. V P and

V N are the volumes in both chambers. These volumes depend on the actuator position y. S is the piston section and is constant. Finally, ϕ X and ψ X (X being P or N ) are both 5 th order polynomial functions versus p X [START_REF] Sesmat | Static characteristics of a three way servovalve[END_REF] and allow to model the mass flow rate q X in the chamber X such that

q X = ϕ X (p X ) + ψ X (p X )u X . (9)
This kind of system is uncertain: in fact, the uncertainties on the polytropic constant, on the mass flow, on the temperature, on the mass, on the viscous friction coefficient and on the disturbance force can be modeled by additive bounded functions added to the nominal part of each parameter [START_REF] Girin | Robust control of an electropneumatic actuator : application to an aeronautical benchmark[END_REF]. As an example, the mass M can be viewed as the sum of a nominal part and an uncertain one

M = M n + ∆M
1 Multivariable control can be designed [START_REF] Girin | Robust control of an electropneumatic actuator : application to an aeronautical benchmark[END_REF], in case of position and pressure (in a chamber) control; an advantage of control pressure is that the rigidity of the actuator is improved.

with ∆M a bounded uncertainty and M n the nominal value. By considering that the system [START_REF] Galias | Complex discretization behaviours of a simple sliding-mode control system[END_REF] with a single input reads as ẋ = f (x) + g(x)u with f and g uncertain matrices defined as

f =             krT V P (y) [ϕ P - S rT p P v] krT V N (y) [ϕ N + S rT p N v] 1 M [S (p P -p N ) -b v v -F ] v             , g =             krT V P (y) ψ P - krT V N (y) ψ N 0 0             , (10)
it may be rewritten as

ẋ = (f n + ∆f ) + (g n + ∆g) u (11)
with f n , g n the nominal dynamics parts of f and g, and ∆f , ∆g the uncertainties and perturbations.

Due to the presence of uncertainties and perturbation, a robust controller is required in order to get high performances (in terms of accuracy, for example). The choice of sliding mode controller [START_REF] Utkin | Variable structure systems with sliding mode[END_REF][START_REF] Utkin | Sliding Modes in Control Optimization[END_REF] has been made because of its intrinsic features of robustness. Let us define the so-called

sliding variable as σ(x, t) = ë + λ 1 ė + λ 0 e (12)
with e = yy d (t), y d (t) being the desired trajectory, supposed to be sufficiently differentiable.

The coefficients λ 1 , λ 0 are defined such that, given z a complex variable, the polynomial Q(z) = z 2 + λ 1 z + λ 0 is Hurwitz. The first and second derivatives of e are computed by direct numerical differentiation with appropriate first-order filters (see remark 3.2 on the influence of those filters on the closed-loop behaviour). The idea of the continuous-time sliding mode controller is the following: the control ensures, in spite of uncertainties and perturbation and thanks to a discontinuous term, the finite time convergence to the so-called siding surface σ = 0 (if the controller is well-tuned).

Once the system trajectories have reached this domain, they are evolving on it and the closed-loop system dynamics is governed by the definition of σ, i.e. when σ = 0, one has ë = -λ 1 ėλ 0 e which ensures exponential convergence to (e, ė) = (0, 0). Note that once σ = 0, this convergence is not influenced by the uncertainties or perturbations. One gets

σ = e (3) + λ 1 ë + λ 0 ė = 1 M S( ṗP -ṗN ) -b v v -Ḟ -y (3)
d (t) + λ 1 M [S(p P -p N ) -b v v -F ] -λ 1 ÿd (t) +λ 0 ( ẏ -ẏd (t)) . ( 13
)
where we assumed that the disturbance F is differentiable, for simplicity (rigorously, dry friction may introduce some non differentiability at zero relative tangential velocity, depending on the used model). As shown in [START_REF] Laghrouche | Higher order sliding mode control based on optimal approach of an electropneumatic actuator[END_REF][START_REF] Girin | Robust control of an electropneumatic actuator : application to an aeronautical benchmark[END_REF] and given the system [START_REF] Golo | Discretization of control law for a class of variable structure control systems[END_REF], the first time derivative of σ in (13) can be written as σ = Ψ(x, t)

+ Φ(x)u = Ψ n (x, t) + ∆Ψ(t) + [Φ n (x) + ∆Φ(t)] u (14)
such that Ψ n , Φ n are the nominal functions and ∆Ψ, ∆Φ are the uncertain terms. From [START_REF] Laghrouche | Higher order sliding mode control based on optimal approach of an electropneumatic actuator[END_REF][START_REF] Girin | Robust control of an electropneumatic actuator : application to an aeronautical benchmark[END_REF],

functions Ψ and Φ are bounded in the physical working domain (which gives that the uncertain terms are also bounded). Furthermore, one supposes that ∆Φ is sufficiently small with respect to Φ n to ensure that 1 + ∆Φ Φn > 0. From a practical point of view, this assumption is not too strong: it simply means that the uncertainties are small compared to the nominal values. Let us consider the control law 2 :

u = 1 Φ n [-Ψ n + v] . (15)
By applying ( 15) in ( 14), one gets

σ = ∆Φ Φ n Ψ n + ∆Ψ + 1 + ∆Φ Φ n v. (16)
The controller v is a sliding-mode one defined as

v ∈ -Gsgn(σ) (17)
with G tuned sufficiently large 3 to ensure the sliding condition [START_REF] Utkin | Variable structure systems with sliding mode[END_REF][START_REF] Utkin | Sliding Modes in Control Optimization[END_REF] σ σ ≤ -η|σ| (η > 0). The controller v has been implemented under its discrete forms as follows (with k ≥ 0, σ k = σ(kh), h being the sampling period)

• Explicit sliding mode control (with sgn(•) function)

v k = -Gsgn(σ k ), (18)
2 As shown in [START_REF] Castro-Linarès | Higher order sliding mode observer-based control[END_REF], such a control law allows to reduce the magnitude of the sliding mode controller by using the nominal informations in the controller.

3 Following the sliding condition, the gain has to be tuned as G >

Max ∆Φ Φn Ψn + ∆Ψ + η min 1 + ∆Φ Φn
. By a similar way than [START_REF] Plestan | Sliding mode control with gain adaptation-Application to an electropneumatic actuator[END_REF], it can be shown that, over the trajectories and in the working domain, the term ∆Φ Φn Ψn + ∆Ψ is bounded whereas

1 + ∆Φ Φn > 0.
• Explicit saturated sliding mode control (with sat(•) function)

v k = -Gsat(σ k , ǫ), (19)
with

sat(σ k , ǫ) =      sgn(σ k ) if |σ k | ≥ ǫ σ k if |σ k | < ǫ. (20)
• Implicit sliding mode control (with sgn(•) multifunction)

v k ∈ -Gsgn(σ k+1 ) (21)
(implemented with a projection as indicated in Section 2.1).

Experimental results

This section is devoted to analyze the experimental data. The controllers have been implemented

V ar [a,b] (f ) = N -1 i=0 |f (t i+1 ) -f (t i )| ( 22
)
where the set of time instants {t

0 , t 1 , • • • , t N } is a partition of [a, b].
In the following, the variations of the position error e for the three different implementation methods with the different gains G, have been calculated by choosing the partition times t i in [START_REF] Utkin | Sliding Mode Control in Electro-Mechanical Systems[END_REF], as the sampling times.

Remark 3.1 The variation in [START_REF] Utkin | Sliding Mode Control in Electro-Mechanical Systems[END_REF] as a quantity to characterize the analyzed signals, is not common in control engineering. It is thought here in the context of sliding mode control, that such a quantity is useful to measure the chattering level of a signal, since it does represent how much the signal varies. However due to the partition that has been chosen (the sampling times) the results

are not comparable from one sampling period to the next, but only between the three controllers for a fixed h. In other words, in Table 3 data have to be compared inside a single column, but not from one column to another one.

All the data concerning e are reported in Tables 1, 2, 3 and Figures 2 and3. the same as those of the other two controllers. However it is confirmed in Table 3 (a), that the variation of the implicit input starts to be significantly smaller than that of the other two, for h ≥ 5 ms, the improvement being huge for h = 15 ms. These first data tend to indicate that, in the case of the implicit input, its variation is drastically smaller for larger sampling periods (for h = 15 ms: 1.4462 × 10 3 for the explicit method, 196 for the implicit one with G = 10 4 ), confirming that chattering on e is reduced when the implicit controller ( 21) is used. The fact that the output signal is smooth for the implicit method, while it chatters for the other two controllers for large sampling time, is obvious in Figures 2(d), (e) and (f).

Table 2 concerns G = 10 5 , that is the gain is now multiplied by 10. All three methods show similar results in terms of average, range and standard deviation of e, the implicit one providing slightly better results. One infers that augmenting the gain G from 10 4 to 10 5 allows to significantly improve the tracking performance of the implicit control (15) (21) compared to that of the explicit inputs, especially in terms of the variation which is a good quantification of the chattering. In fact, comparing Table 1 (c) and Table 2 (c), one sees that the performance of the implicit input is almost unchanged when the gain is multiplied by 10, which is not the case of the other two methods: for these both latter, e is clearly increased. We shall observe this insensitivity property of the implicit method, again in Section 3.2. In addition the output produced by the implicit method is smoothed, even for small h = 1 ms, see Figure 3(a) (b) and (c), or (d) (e) and (f).

The variation values are given in Table 3 (b) with G = 10 5 , and is quite visible in Figures 3(d) (e) and (f): the variation of e with the implicit input is much smaller than with the other two controllers, except for h = 1 ms where the obtained values are of same order. This indicates that the chattering on e is drastically reduced with the implicit input (15) [START_REF] Utkin | Sliding Modes in Control Optimization[END_REF].

A first conclusion, that will be strengthened in the next paragraph, is that the implicit control method allows to take larger gains without decreasing the performance (it means that it is possible to reject/counteract larger perturbations/uncertainties more chattering). The performance of implicit control is better when G is larger, while it is less good with the explicit and saturation controllers.

h

Comparison of control inputs u (15) and v (18) (19) (21):

The features of the control inputs is a key-point in this work, given that one of the objectives is to show the influence of implicit control to the chattering effect. Let us now pass to the control inputs comparisons, with data reported in Tables 4-7 and Figures 4 and5. Data given in Table 4 and 5 characterize the "switching functions" for these three methods. It includes the range and variation.

Remark 3.1 applies also for the variation of the control, so that in Tables 4 (b), 5 (b), 6 (b) and 7 (b), data have to be compared inside a single column, but not from one column to another one. What we call the switching functions are sgn(σ k ) in [START_REF] Shtessel | A novel adaptive-gain supertwisting sliding mode controller: methodology and application[END_REF], sat(σ k , ǫ) in ( 19), and sgn(σ k+1 ) in [START_REF] Utkin | Sliding Modes in Control Optimization[END_REF]. For the implicit controller, this is what we called the selection ξ k in Introduction. This is not to be confused with the discontinuous control v in [START_REF] Sesmat | Static characteristics of a three way servovalve[END_REF].

Comparisons of the inputs in three methods are given in Table 6 and 7 from three aspects, that is: range, variation, and standard deviation. In addition, the three controllers are depicted in Notice that the explicit and saturation inputs behave slightly better when the time step increases. This is visible by comparing Figures 5(a) and (g), (c) and (i), (b) and (h), and finally (d) and (j) which all concern h = 1 ms and h = 15 ms, respectively, for both gains G. However the magnitude of the implicit input is far much better in all cases (see Figures 5(e) and (k) as well as Figures 5(f) and (l)).

In the tables, all the values used to characterize the chattering in implicit method are invariably much less than the other two methods. The magnitude of the ranges of the switching function and control u in the implicit method is much less than the other two methods, see Tables 6(a) and 7(a). These facts are well supported by Figures 4 and5. Consider Figure 5: when h = 15ms, while the ranges of the control law u in explicit method and explicit saturation method are both between -10 and 10 (see Figures 5(h) and (j)), the range of u for the implicit case is strictly between -2 and 2 (see Figure 5(l)). The comparison between Figures 4(c)-4(l), which concern the implicit controller switching function for various gains and sampling times, show that for h ≥ 2 ms, the implicit input v in ( 21) is largely independent of the gain and sampling time. From Tables 4 (a) and 5 (a), the data in the rows corresponding to the implicit controller allow to obtain a confirmation of this fact.

Furthermore the switching function range for the implicit controller, is divided by ten when the gain G passes from 10 4 to 10 5 , which implies that the sliding mode input v k in (21) has a magnitude that does not vary with the gain (recall that what we call the switching function, has to be multiplied by the gain G to obtain the input v). This is in very good agreement with theoretical predictions (item (iii) in the introduction). One can also have a look at Tables 6 (a) (b) (c), and

(c), to obtain the same conclusions, that the range (magnitude), the variation and the standard deviation (chattering) of u for [START_REF] Utkin | Sliding Modes in Control Optimization[END_REF] are drastically smaller than for [START_REF] Shtessel | A novel adaptive-gain supertwisting sliding mode controller: methodology and application[END_REF] and [START_REF] Sira-Ramirez | Non-linear discrete variable structure systems in quasi-sliding mode[END_REF]. The magnitudes of the switching function for the implicit controller, for 6 different gains G and two different sampling periods h, are reported in Table 8. It confirms that the magnitude of the input v in [START_REF] Sesmat | Static characteristics of a three way servovalve[END_REF], which is the switching function times the gain G, does not depend neither on G nor on h in this range of sampling times (see a comment in remark 3.2).

This insensitivity property is believed to be a fundamental property of the implicit method h 1ms 2ms 5ms 10ms 15ms

Explicit control (18) (-1.000, 1.000) (-1.000, 1.000) (-1.000, 1.000) (-1.000, 1.000) (-1.000, 1.000) The results depicted in Figures 4 and5 clearly demonstrate that whereas the explicit and saturation controllers tend to approximate a signal that switches infinitely fast between two extreme values like bang-bang inputs, this is not at all the case for the implicit controller that behaves in a totally different way. This is a nice confirmation of both theoretical and numerical predictions [START_REF] Acary | Implicit Euler numerical scheme and chattering-free implementation of sliding mode systems[END_REF][START_REF] Acary | Chattering-free digital sliding-mode control with state observer and disturbance rejection[END_REF], that the implicit controller does represent the discrete-time approximation of the selection of the differential inclusion according to Filippov's mathematical framework.

Input chattering is also visible in Table 4 ( in the first-order filters used to estimate velocities and accelerations from position measurement, in order to calculate the sliding variable in [START_REF][END_REF]. It results in a deterioration of the closed-loop performance and controller chattering. Further work should be focused on proper tuning of these filters to accomodate for smaller sampling periods h.

Summary

These extensive experimental tests prove that items (iii) (iv) (v) and (vi) in the Introduction, are not only theoretical and numerical predictions obtained in [START_REF] Acary | Implicit Euler numerical scheme and chattering-free implementation of sliding mode systems[END_REF][START_REF] Acary | Chattering-free digital sliding-mode control with state observer and disturbance rejection[END_REF], but significantly influence the discretetime implemented sliding-mode controller. The implicit method [START_REF] Utkin | Sliding Modes in Control Optimization[END_REF] allows to drastically reduce the input chattering and magnitude, while enhancing the tracking capabilities (output chattering is almost entirely eliminated). It also allows the designer to choose larger sampling periods, which may be of strong interest in practice. Perhaps counter-intuitively for control engineers, the performance and robustness increase when the gain G increases, which is thought to considerably simplify the controller gain tuning process.

Conclusion

Experiments have been conducted on an electropneumatic system, with three different implementations of the sliding mode controller: explicit, saturated explicit, and implicit discretizations. The results demonstrate that the theoretical and numerical predictions of [START_REF] Acary | Implicit Euler numerical scheme and chattering-free implementation of sliding mode systems[END_REF][START_REF] Acary | Chattering-free digital sliding-mode control with state observer and disturbance rejection[END_REF] are true: the implicit implementation, which consists merely of a projection on the interval [-1, 1] and is thus very easy to implement in a code, drastically supersedes the other two. The output and input chattering are reduced in a significant way, without changing the controller basic structure (i.e., no additional filter, observer, or dynamic controller is added compared to the original, basic sliding mode controller) and keeping its simplicity (in particular the gain tuning is easy, which is a strong feature of the ECB-SMC method). The main feature of the implicit discretization, is that it keeps, in discrete-time, the multivalued feature of the theoretical continuous-time sliding-mode controller, as

  piston diameter is 80 mm and rod diameter 25 mm. The external perturbation force controller is not under interest in this paper and has been designed and tuned by Sitia Co. (France) which has built the experimental set-up. The air mass flow rates q m entering in the chambers are modulated by two three-way servodistributors. The pneumatic jack horizontally moves a load carriage of mass M .

Figure 1 :

 1 Figure 1: [18] Photography and scheme of the electropneumatic system.

  with three feedback gains G = 10 4 , G = 10 5 , G = 10 6 and five sampling times 1 ms, 2 ms, 5 ms, 10 ms and 15 ms. The length of the interval of study is 20 seconds. The saturation input has been tested for six different values of the saturation width, with the sampling time h = 1 ms. In the data reported below, the unitless width of the saturation is ǫ = 0.1 (the other widthes which have been tested yielded similar results and the results obtained with them are therefore omitted). The comparisons are made mainly with respect to: the inputs u and v magnitude and chattering, and the tracking error.3.1 Comparison of the tracking errors eData in Tables1-3characterise the position tracking error e obtained by the three different implementation methods, from the aspects of average, range, standard deviation and variation with five different sampling periods. The symbol Avg denotes the average of the tracking error over the duration of the test, abs is the absolute value of tracking error. The variation of a real-valued function f (•) defined on an interval [a, b] ⊂ R is the quantity

Figures 4 and 5 ,

 5 Figures 4 and 5, for various time steps and gains. Globally, the experimental results show that the implicit method drastically reduces the input chattering and magnitude compared with the other two methods. The explicit and saturation switching inputs keep oscillating between the maximum and minimum values like a bang-bang controller (see data in Tables 4(a) and 5(a), and Figures 4(a) (b)). This results in a large amplitude of inputs u as well (see Tables 6(a) and 7(a), as well as Figures 5(a) (c) (g) (i) (b) (d) (h) (j)).

Remark 3 . 2

 32 b), 5 (b), 6 (b) and (c), 7 (b) and (c). Variation of the implicit switching function is much smaller than the other two, and standard deviation of u as well. These results demonstrate that the switching function chattering and magnitude, strongly influences the input u in[START_REF] Orlov | Discontinuous Systems[END_REF]. All the results tend to show that when the sampling period is too small (typically in our experiments h = 1 or h = 2 ms), then the implicit controller performance (output precision and chattering, input magnitude and chattering) is decreasing. This is visible on Figure4with the evolution of the implicit signum function from subfigure (c) to subfigure (g) for gain G = 10 4 , and from subfigure (h) to subfigure (l) when the gain is G = 10

  h = 1ms. Explicit method.

  h = 1ms. Saturation method.

  h = 1ms. Implicit method.

  h = 15ms. Explicit method.

  h = 15ms. Implicit method.

Figure 2 :

 2 Figure 2: Real position y (mm) in blue and y d (mm) in red, under h = 1ms and h = 15ms for G = 10 4 . Real position y in blue and y d in red.

  h = 1ms. Explicit method.

  h = 1ms. Saturation method.

  h = 1ms. Implicit method.

  h = 15ms. Explicit method.

  h = 15ms. Implicit method.

Figure 3 :

 3 Figure 3: Real position y (mm) in blue and y d (mm) in red, under h = 1ms and h = 15ms for G = 10 5 .

  Saturation. sat(σ k ). G = 10 4 , h = 1ms Implicit. sign(s k+1 ). G = 10 4 , h = 1ms.

  Implicit. sign(σ k+1 ). G = 10 5 , h = 1ms.

  Implicit. sign(σ k+1 ). G = 10 4 , h = 2ms.

  Implicit. sign(σ k+1 ). G = 10 5 , h = 2ms.

  Implicit. sign(σ k+1 ). G = 10 4 , h = 5ms.

  Implicit. sign(σ k+1 ). G = 10 5 , h = 5ms.

  Implicit. sign(s k+1 ). G = 10 4 , h = 10ms.

  Implicit. sign(σ k+1 ). G = 10 5 , h = 10ms. Implicit. sign(σ k+1 ). G = 10 4 , h = 15ms.

  Implicit. sign(σ k+1 ). G = 10 5 , h = 15ms.

Figure 4 :

 4 Figure 4: Switching function: Comparison between explicit method (sign(s k )), saturation method (sat(s k )) and implicit method (sign(s k+1 )).

  Explicit Method. G = 10 4 , h = 1ms.

  Explicit Method. G = 10 5 , h = 1ms.

  Saturation method. G = 10 4 , h = 1ms Saturation method. G = 10 5 , h = 1ms Implicit Method. G = 10 4 , h = 1ms.

  Implicit Method. G = 10 5 , h = 1ms.

  Explicit Method. G = 10 4 , h = 15ms.

  Explicit Method. G = 10 5 , h = 15ms.

  Implicit Method. G = 10 4 , h = 15ms.

  Implicit Method. G = 10 5 , h = 15ms.

Figure 5 :

 5 Figure5: Comparison of control u between explicit method, saturation method and implicit method.

Table 1

 1

data and Figures

2(a), (b), (c

) show that when G = 10 4 , the implicit method does not bring any improvement over the explicit ones, but has lower precision capabilities for small time steps. It is only for the larger time step h = 15 ms that the results for the implicit controller (Table

1

last column) become

Table 1 :

 1 Comparisons of position error e when G = 10 4 .

		1ms	2ms	5ms	10ms	15ms
	Avg(abs(e))	0.2374	0.32601	0.4791	0.97802	3.8759
	Range of e	(-1.8045, 0.9909)	(-2.0701, 2.0189)	(-3.0067, 2.1572)	(-3.2599, 4.4023)	(-10.3767, 12.1426)
	Standard Deviation of e 0.2976	0.4274	0.6327	1.0366	4.2553
			(a) Explicit control
	h	1ms	2ms	5ms	10ms	15ms
	Avg(abs(e))	0.25655	0.28053	0.51399	0.99017	3.6119
	Range of e	(-1.4044, 1.1333)	(-1.7255, 1.1288)	(-1.7006, 2.4793)	(-4.5846, 2.6004)	(-14.4069, 12.1394)
	Standard Deviation of e 0.3266	0.3319	0.6132	1.1394	4.4131
			(b) Saturation control
	h	1ms	2ms	5ms	10ms	15ms
	Avg(abs(e))	0.30105	0.71254	1.7138	3.3861	5.1387
	Range of e	(-1.2214, 0.9593)	(-1.6760, 1.2200)	(-3.4182, 3.2213)	(-7.9230, 6.4083)	(-9.4997, 6.5194)
	Standard Deviation of e 0.3480	0.7731	1.8780	3.7182	5.4749
			(c) Implicit Control

Table 2 :

 2 Comparisons of position error e when G = 10 5 .

Table 3 :

 3 Variation of position error e.

	h	1ms	2ms	5ms	10ms	15ms
	Explicit control	2.7964e+03	1.7838e+03	904.1336	844.2871	1.4462e+03
	Saturation control	2.8203e+03	1.6527e+03	914.4627	838.3387	1.6821e+03
	Implicit control	3.2121e+03	1.6452e+03	657.6504	428.0244	196.0669
			(a) G = 10 4
	h	1ms	2ms	5ms	10ms	15ms
	Explicit control	3.7426e+03	2.5724e+03	1.7742e+03	1.6081e+03	2.5070e+03
	Saturation control	3.7633e+03	2.5691e+03	2.0749e+03	2.1638e+03	2.5756e+03
	Implicit control	3.1577e+03	1.6360e+03	650.2710	480.1660	228.8022
			(b) G = 10 5

Table 4 :

 4 Switching function, gain G = 10 4 .

Table 5 :

 5 Switching function, gain G = 10 5 .introduced in [1, 2], compared to explicit implementations which drastically differ when h and/or G

	are varied.

  5 . In theory the implicit switching function should not vary by changing the sampling period. This phenomenon is due to bandwidth limitations

	h	1ms	2ms	5ms	10ms	15ms
	Explicit control	(-7.9167 8.1937) (-7.8876 8.4594) (-8.1550 8.6118) (-8.7349 8.3970) (-10 10)
	Saturation control	(-7.9616 8.7194) (-8.0737 8.1963) (-7.9095 8.0899) (-8.5541 8.7543) (-10 10)
	Implicit control	(-7.2907 5.8468) (-3.2500 3.5871) (-1.9990 2.6204) (-1.9399 2.1267) (-1.8990 1.9484)
			(a) range of u.
	h	1ms	2ms	5ms	10ms	15ms
	Explicit control	7.3084e+04	4.1102e+04	1.7731e+04	1.3816e+04	1.2759e+04
	Saturation control	6.5384e+04	4.0209e+04	1.6864e+04	1.3838e+04	1.3671e+04
	Implicit control	3.7064e+04	9.5190e+03	1.5731e+03	963.2736	609.5058
			(b) variation of u.
	h	1ms	2ms	5ms	10ms	15ms
	Explicit control	5.7755	5.7570	5.8144	5.8437	6.3526
	Saturation control	5.7259	5.7270	5.6808	5.8811	6.5001
	Implicit control	1.6813	1.1183	0.8915	0.8519	0.8650
			(c) standard deviation of u.

Table 6 :

 6 Comparisons of u when G = 10 4 .

Table 7 :

 7 Comparisons of u when G = 10 5 .

Acknowledgements: this work has been performed with the support of the French National Research Agency (ANR) project ChaSliM (ANR 2011 BS03 007 01).

A Some basic convex analysis tools

In this section we provide few results which are useful to calculate the controller in section 2.1.

From [26, p.115] it follows that the conjugate function of the indicator function of the set [-1, 1],

given by the absolute value function x → |x|. From [START_REF] Rockafellar | Convex Analysis[END_REF]Theorem 23.5], one has that the subdifferentials (in the sense of convex analysis) of these two conjugate functions satisfy: