Alexandre Seuret

Jean-Pierre Richard
email: jean-pierre.richard@ec-lille.fr

Control of a remote system over network including delays and packet dropout

Keywords: NCS (networked controlled system), delay system, sampled-data system, asymptotic stabilization, packet loss, remote observer, Lyapunov-Krasovskii functional, LMI

This work concerns the observer-based control of a remote, Master-Slave system through the Internet network. This communication link introduces variable, asymmetric and unpredictable delays, as well as packet loss. The data-sampling effects are also taken into account, even in the aperiodic case. Whereas the existing strategies require additional buffers, allowing the delay to become constant, the present result uses the information as soon as received. The proposed Lyapunov-Krasovskii functionals and LMI algorithms provide controller and observer gains which ensure the asymptotic stability of the global closed loop. The maximum admissible number of successive packets dropouts is also computed. The last part of the paper provides a simulation, where the Slave is a second-order system.

INTRODUCTION AND HYPOTHESES

Internet technology appears as a natural and cheap way to ensure the communication link in remotely controlled systems. Today, the available Quality of Service may seem to be good enough for that kind of applications. However, such a communication link constitutes an additional dynamical system, which great influence on stability was already mentioned in the 60's by [START_REF] Ferrel | Remote manipulation with transmission delay[END_REF]. Indeed, several dynamics and perturbations (communication delay, real-time sampling, packet dropout) are unavoidably introduced and have to be taken into account during the design of the control loop (see [START_REF] Richard | Systèmes commandés en réseau[END_REF]). [START_REF] Fridman | Robust sampleddata stabilization of linear systems: An input delay approach[END_REF], Seuret et al. [2006] have shown that both sampling effects and communication time lags can be regrouped into an homogenized representation with timevarying delays. The present study also includes the packet loss effect into this unifying model. Once the global system is reduced to a system with delays, several control techniques can be involved (see for instance [START_REF] Niculescu | Delay Effects on Stability. A Robust Control Approach[END_REF], [START_REF] Richard | Time delay systems: an overview of some recent advances and open problems[END_REF]). Here, an observer-based instantaneous state feedback will be used. But, before presenting the details, a short overview of previous results will highlight the various assumptions on the communication delays h 1 (t) (from Master to Slave) and h 2 (t) (from Slave to Master).

Several works on tele-operation introduced the question of transmission delays in the constant case: [START_REF] Azorin | Dynamic analysis for a teleoperation system with time delay[END_REF], [START_REF] Fattouh | H ∞ -based impedance control of teleoperation systems with time delay[END_REF], [START_REF] Niemeyer | Towards force-reflecting teleoparation over the internet[END_REF]. However, in networked control situations, the delays are basically variable (jitter phenomenon). This is a source of problem when the classical predictor-based controllers are intended to be applied, since they generally need the delays to be constant, i.e. h i (t) = h i .

In the case of variable delays, some researches have used independent-of-delay conditions. Because such i.o.d. conditions may be conservative in general, [START_REF] Eusebi | Force-reflecting telemanipulators with time-delay: Stability analysis and control design[END_REF] considered particular cases such as constant or symmetric delays. This last assumption refers to the case where the transmission delays are equal, i.e. h 1 (t) = h 2 (t) = R(t)/2, where R(t) denotes the round trip time (RTT). In [START_REF] Garcia | Stability analysis for a teleoperation system with time delay and force feedback[END_REF], non-symmetric delays were considered, but only in the constant delay case, i.e.

h 1 (t) = h 1 = h 2 (t) = h 2 .
Another interesting approach was recently given by [START_REF] Witrant | Remote output stabilization via communication networks with a distributed control law[END_REF], which generalized the predictor techniques to the case of variable delays. In this case, a maximal bound of the delays is assumed to be known (h M such that 0 ≤ h(t) ≤ h M ), which is not that restrictive. The most constraining assumption is that an ordinary differential equation (ODE) model of the delay is supposed to be available, which is possible in the case of a singleowner network.

When using Internet, the generated delays are not only time-varying and non-symmetric, but also unknown (no dynamical model of the delays is available, see [START_REF] Niculescu | Effects of channel dynamics on the stability of teleoparation[END_REF]). To bypass this problem, it was proposed by [START_REF] Lelevé | Stability analysis for a teleoperation system with time delay and force feedback[END_REF][START_REF] Lelevé | Telerobotics over ip networks: Towards a low-level real-time architecture[END_REF], N.J. [START_REF] Kawka | Closed-loop control over wireless networks[END_REF] to introduce two input buffers (Master and Slave) that make both of the receivers wait until the maximum value h M of the communicaton delay is reached. However, it is obvious that this situation maximizes the delays h 1 (t) and h 2 (t) up to their worst (largest) value (i.e., h 1 (t) ֒→ h M and h 2 (t) ֒→ h M ) and, consequently, decreases the possible range of speed performance. To reduce this maximizing effect, Seuret et al. [2006[START_REF] Seuret | Implementation of an internet-controlled system under variable delays[END_REF] restricted the buffer to the only transmission from Master to Slave (thus, h 1 (t) ֒→ h M ), while the remote observer was computing the present Slave's state on the basis of the non-buffered Slave's output. The stabilizing gains were designed via some Lyapunov-Krasovskii functionals and, moreover, a guaranteed speed rate was computed. A first original contribution of the present study is to get rid of any buffer. We only assume the (non-symmetric) delays to have known minimal and maximal bounds h m and h M , so that the following assumption holds:

A1 (maximal allowed delay) : h m ≤ h i (t) ≤ h M . (1)
Since we aim at limiting the value of h M , the use of UDP (User Datagram Protocol) is preferred to TCP (Transmission Control Protocol), the reliability mechanisms of which may needlessly slow down the feedback loop. In return, some data packets can be lost during the transmission, without being re-emitted. Such losses may affect the stabilization process. Taking the packet dropout into consideration constitutes a second contribution of this work since it was not taken into account in Seuret et al. [2006[START_REF] Seuret | Implementation of an internet-controlled system under variable delays[END_REF]. We take the following evaluation: A2 : Both Slave and M aster receive at least one packet over N consecutive.

(2)

The proposed method will allow for computing some admissible (in the sense: non destabilizing) value of N .

An other feature of Internet is that the packets are not arriving in their chronological emission order, while UDP does not automatically re-organize them. Then, the reception function of Master and Slave will be added a reordering mechanism, based on some "time-stamps" added in the control and measurements packets. This mechanism ensures that the transmission delay variations satisfy:

A3 (packet reordering) : ḣi (t) < 1. (3)
The last disturbances implied by the network come from the samplers and zero-holders needed for the discretetime implementation. Following the lines of [START_REF] Fridman | Robust sampleddata stabilization of linear systems: An input delay approach[END_REF], we consider they produce an additional variable delay t -t k , t k being the k th sampling instant. Moreover, because of the computer architecture and operating system, the sampling is generally not periodic, i.e. there is no period T such that t k = kT . So, we only assume there exists a known maximum sampling interval T such that:

A4 (max. sampling interval) : 0 ≤ t k+1 -t k ≤ T. (4)
The global delays resulting from the communication-plussampling phenomena will be denoted by δ i (t k ) = h i (t) + t -t k , for which the condition δi (t) ≤ 1 holds. Note that the limit case δi = 1 occurs.

As in Seuret et al. [2006], both the Slave and the Master are assumed to share a synchronized clock. This can be achieved via an additional GPS card or thanks to some tuning procedure (see [START_REF] Abdallah | Delay effect in the networked control of mobile robot[END_REF]). As said before, the control and measurement packets are sent together with time-stamps, from which the receiver (Master or Slave) can deduce the non-symmetric delay value. By this way, both M-to-S h 1 (t) and S-to-M h 2 (t) delays are separately reconstructed by the system, and not only the RTT.

The paper is organized as follows: Section 2 describes the remote system features. Section 3 considers the problem of robust stability with respect to packet loss. Section 4 gives an illustrative example and Section 5, some concluding remarks.

FEATURES OF THE REMOTE SYSTEM

The exchanged data correspond to the control (sent by the Master to the Slave) and to the output of the remote system (sent by the Slave to the Master). The Slave is not supposed to have a large computation power and its functions are limited to: Receive control packets; Apply control; Send output measurement data. Thus the control and observation complexity is to be concentrated in the Master which has to: Receive output measurements; Estimate present state of Slave; Compute and Send the control value. Our purpose is to guarantee the asymptotic stability of the global Master-Slave system. In particular, the global system must ensure the closed-loop stability whatever the delay variation, the packet loss and the possible aperiodicity of the real-time sampling processes.

Stabilizing a system in such conditions is not easy. The Master receives the information he needs for the control computation after it has crossed the communication zone. The synchronism-based estimation of the transmission delay, joined to the observer, allows the Slave state to be known at the instant the information was sent to the Master. Similarly, the control computed by the Master will be applied some time after it is sent to the Slave, and this dead-time is not known in advance.

For the sake of simplicity, the Slave is considered to fit a linearized model. The stability must be robust with respect to the resulting, global delay. This property will be proven by using adequate Lyapunov-Krasovskii functionals, leading to an LMI optimization of the controller and observer gains. The system has the following features:

• The Master computes and forwards the control to the Slave. The forwarding induces a time-varying delay h 1 (t), assumed to satisfy A1 and A3, with packet loss for which A2 holds, as well as sampling effects which create the variable delay τ 1 (t) satisfying A4. • The Slave is driven by a controllable and observable, known model (A, B, C), influenced by an input delay δ 1 (t) to be defined later on in subsection 2.4:

ẋ(t) = Ax(t) + Bu(t -δ 1 (t)), y(t) = Cx(t).
(5)

• The Slave measures its sampled output variables y, that the Master receives after a delay h 2 (t) which is also assumed to satisfy A1 (this assumption is not restrictive since it is obtained by the union of the intervals of variation of h 1 and h 2 ). The delay τ 2 (t) due to the sampling is added. It means that the Master only can access y(t -δ 2 (t)), where δ 2 corresponds to the resulting delay. The Master includes an observer computing an estimate x of the complete Slave state x at the present time t. From x, the Master elaborates the control law (here, u = K x).

• The sampling instants t k may not be periodical i.e. t k = kT , but it is supposed there exists a known T such that A4 holds for any k. • Both Master and Slave subsystems are synchronized, i.e. they share a same clock. Each data packet includes a time-stamp indicating the time the packet was sent. By this way, the receiver can calculate the transfer delays h i (t) as soon as it receives the packet.

The next subsections detail the features and notations.

The sampling delays

The sample g(t k ) of a function g(t) at time t k can be written as

g(t k ) = g(t-[t-t k ]) = g(t-τ (t)
). This notation replaces the sample-and-hold with an additional delay

τ k (t) = t -t k , t ∈ [t k , t k+1
[. Thus, under assumption A4, the aperiodic sampling is modeled as an unknown delay τ (t) ≤ T . This change allows continuous-time stability techniques (e.g. Lyapunov-Krasovskii functionals) to be used for sampled systems.

The control law

The controller computes a control law which considers some set-values x s to be reached by the Slave. The static state feedback control u(t) = K(x(t) -x s (t)) is defined considering the state estimate x given by the observer.

The main difficulty is to determine the linear gain K of the state feedback control in order to guarantee the asymptotic stability of the Slave motion despite the values of the (unknown, time-varying) control delays. Without being restrictive with regard to stability, we consider x s (t) = 0.

Transmission of the control u

The k th packet sent by the Master to the Slave includes the control u(t 1,k ) and the instant of time t 1,k when the packet was sent. The Slave receives this information at time t r 1,k . Thanks to the clock synchronization, this time has the same meaning for both the Slave and the Master. Then, the term t r 1,k -t 1,k , corresponding to the transmission delay, is known by the Slave once the packet has reached it.

Receipt and processing of the control data

The control, sent at time t 1,k , is received by the Slave at time

t r 1,k ≥ t 1,k + h m .
There is no reason that the Master also knows the time t r 1,k when the control u(t 1,k ) will be injected into the Slave input.

Transmission of the measured output information

The Slave accesses its output y at discrete instants of time. He sends packet containing the output y(t 2,k ′ ) and the measurement instant t 2,k ′ which is the k ′th one. The Master receives the output data at time t r 2,k ′ . Once the packet has reached the Master, the delay t r 2,k ′ -t 2,k ′ is known due to the synchronization.

Observation of the process

For a given k and any

t ∈ [t 1, k + (h M -h m )/2, t 1,k+1 + (h M -h m )/2[,
there exists a k ′ such that the proposed observer is of the form:

ẋ(t) = Ax(t) + Bu(t 1, k) -L(y(t 2,k ′ ) -ŷ(t 2,k ′ )), ŷ(t) = C x(t). (6)
The time stamp t 1, k corresponds to the time when the control input is supposed to be injected in the Slave. The index k ′ corresponds to the most recent output information the Master has received. Note that the Master is not supposed to know the time t r 1,k and the control u(t 1,k ) (see Section 2.4), which makes this observer realizable. The input delay approach to sampled-data signals allows a homogenized definition of the delays δ 1 (t) t -t 1,k where k corresponds to the real sampling implemented in the Slave process, δ1 (t) t -t 1, k and δ 2 (t) t -t 2,k ′ to be considered and the observer dynamics can be written:

   ẋ(t) = Ax(t) + Bu(t -δ1 (t)) -L(y(t -δ 2 (t)) -ŷ(t -δ 2 (t))), ŷ(t) = C x(t), (7)
In other words, the observer is realizable since t 2,k ′ defining the observer delay is known due to the synchronization. In the ideal case where N = 1 (from A2, no packet loss) and where the Master-to-Slave delay is assumed to be well known, i.e. δ 1 (t) = δ1 (t) (obtained by means of a buffer in Seuret et al. [2006]), the global system can then be rewritten using the error vector e(t) = x(t) -x(t) as: ẋ(t) =Ax(t) + BKx(t -δ 1 (t)) -BKe(t -δ 1 (t)), (8a) ė(t) =Ae(t) + LCe(t -δ 2 (t)), (8b) where the features of the system lead, for i = 1, 2, to h m ≤ δ i (t) ≤ h M +T . Equivalently, if one uses the average delay δ(h m , h M , T ) = (h M + T + h m )/2 and the maximum delay amplitude µ(h m , h M , T ) = (h M + T -h m )/2, then:

δ -µ ≤ δ i (t) ≤ δ + µ, ∀i = 1, 2.
(9) For this ideal case, Theorems 2 and 3 by Seuret et al. [2006] deliver controller and observer gains.

STABILIZATION WITH PACKET LOSS

This section focusses on a more realistic model of the remote system detailed in Fig. 1. It is now accepted that δ 1 (t) = δ1 (t) and that data packets can be lost during the transfer between Master and Slave. Since the UDP protocol is used, packets dropouts are frequent. When a data-packet is lost during the transmission process, the delays δ i (t) can be easily increased up to δ + µ as defined in (9) and go greater. Then, the stability conditions from Theorems 2 and 3 in Seuret et al. [2006] do not ensure the stability of the global remote system anymore. Packet losses have another effect on the system. Since the observer uses the input control u(t 1,k ) which is supposed to be implemented in the slave process, if a control-data packet is lost, the observer will not use the same control. In compensation, the assumption A2 (with N ≥ 2) is made on the packet loss phenomenon.

Given k and any t ∈ [t r 1,k + h m , t r 1,k+1 + h m [, there exist k and k ′ such that the proposed observer is of the form: Fig. 1. Structure of the remote system under time-varying delays, samplings and packet loss.

ẋ(t) = Ax(t) + BK x(t 1,(k-p1) ), ẋ(t) = Ax(t) + BK x(t 1, k) -LC(x(t 2,(k ′ -p2) ) -x(t 2,(k ′ -p2) ). ( 10
)
where the positive integers p 1 ≤ N and p 2 ≤ N represent the packet losses. Rewriting the equations by using the error e(t) = x(t) -x(t), the dynamics become:

ẋ(t) = Ax(t) + BKx(t 1,(k-p1) ) -BKe(t 1,(k-p1) ), ė(t) = Ae(t) + LCe(t 2,(k ′ -p2) ) -BK t 1, k t 1,(k-p 1 ) [ ẋ(s) -ė(s)]ds.
Applying the input delay representation [START_REF] Fridman | Robust sampleddata stabilization of linear systems: An input delay approach[END_REF] yields:

ẋ(t) = Ax(t) + BKx(t -δ 1 (t)) -BKe(t -δ 1 (t)), ė(t) = Ae(t) + LCe(t -δ 2 (t)) -BK t 1, k t 1,(k-p 1 ) [ ẋ(s) -ė(s)]ds, ( 11
) with δ 1 (t) = t -t 1,(k-p1) and δ 2 (t) = t -t 2,(k ′ -p2) .
From the fact that the communication delays belong to the interval [h m , h M ] where h m and h M are given by the network properties and by noting that the assumption on the packet loss leads to t 1, k -t 1,(k-p1) ≤ N T + µ where µ is defined above, the inequalities h m ≤ δ i (t) ≤ h M + N T hold for i = 1, 2. It is now possible to define the average delay δ(h m , h M , N, T ) and the maximal delay amplitude µ(h m , h M , N, T ) as:

δ(h m , h M , N, T ) = (h M + N T + h m )/2, µ(h m , h M , N, T ) = (h M + N T -h m )/2 (12)
For the sake of simplicity in the notation, only δ and µ will be used. Then, both of the resulting delays satisfy:

δ -µ ≤ δ i (t) ≤ δ + µ, i = 1, 2. ( 13
)
As in equation ( 11), there are interconnection terms between the two variables x and e, a separation principle is no longer applicable to prove the global stabilization as it was suggested in [START_REF] Seuret | Implementation of an internet-controlled system under variable delays[END_REF]. The stability proof requires to consider now both variables simultaneously. Theorem 1. For given K and L, for q representing the subscript x or e, suppose there exist positive definite matrices P q1 , S q , R qa , R qp , S xe and R xe and matrices of size n × n: P q2 , P q3 , Z ql for l = 1, 2, 3, Y ql ′ for l ′ = 1, 2, such that the following LMI's hold:

     Θx P T x 0 BK - Y T x1 Y T x2 µP T x 0 BK P T x 0 BK µP T x 0 BK * -Sx 0 0 0 * * -µRxa 0 0 * * * -Sxe 0 * * * * -µRxe      < 0, ( 14
)      Θe P T e 0 LC - Y T e1 Y T e2 µP T e 0 LC P T e 0 βBK P T e 0 βBK * -Se + Sxe 0 0 0 * * -µRea 0 0 * * * -βRep 0 * * * * -βRxp      < 0, ( 15
) Rq Yq1 Yq2 * Zq1 Zq2 * * Zq3 ≥ 0, q ∈ {x, e}, (16)
where β = 2µ, P q = Pq1 0 Pq2 Pq3 , and

Θ x = Θ n x + 0 0 0 2µRxp , Θ e = Θ n e + 0 0 0 2µ(Rep + Rxe) , Θ n q = P T q 0 I A -I + 0 I A -I T P q + Sq + Yq1 + Y T q1 + δZq1 Yq2 + δZq2 * δRq + 2µRqa + δZq3 .
Then, the global remote system (10) is asymptotic stable.

Proof: The proof is given in the appendix. Remark 1. Theorem 1 allows the robust stability of the global remote system to be guaranteed with respect to the packet dropout and for observer and controller gains given in Seuret et al. [2006]. Since the problems of designing observer and controller gains are dual, to develop constructive LMI's for obtaining both gains is not straightforward. Another solution would be to develop conditions in order to design the controller gain for a given observer gain and other conditions to solve the opposite problem.

APPLICATION TO A MOBILE ROBOT

This study is illustrated on the model of a mobile robot (Slave) moving in one direction. The identification phase gives the following dynamics:

ẋ(t) = 0 1 0 -11, 32 x(t) + 0 11, 32 u(t -δ 1 (t)), y(t) = [ 1 0 ] x(t). (17)
The characteristics of our network (Internet, M-S distance = 50km, France) allow for h m = 0, 1s and h M = 0.4s. Consider now that the bandwidth of the network allows the sampling period as T = 0.1s to be defined. For these values, Theorems 2 and 3 in Seuret et al. [2006] produce the following gains L = [ -0.9119 -0.0726 ] T and K = [ -0.9125 -0.0801 ]. This gains ensures that, in the ideal case the remote system is α-stable for α x = α e = 1.05. Theorem 1 ensures that, with these features, the global system (8) is asymptotically stable and robust with respect to the packet loss for all N ≤ 12 in (2). Moreover it guarantees asymptotic stability of the global system without the introduction of a buffer in the controller.

CONCLUDING REMARKS

This paper has proposed a new strategy for an observerbased control of a remote process. Various perturbations were dealt with: (1) jittery, non-symmetric and unpredictable delays (Internet); (2) packet dropouts (UDP) and (3) aperiodic sampling (real-time). No buffering technique was involved, which allows both the Master and the Slave to use the available information as soon as received.

A characteristic feature of this control strategy is to consider that the Master runs in continuous time (i.e., with small computation step) whereas the Slave provides discrete-time measurements. Thus, the observer keeps on providing a continuous estimation of the present Slave state, even if the Slave information is not sent continuously. Technically speaking, it is also noticeable that the corresponding stability criterion considers non-small delays, i.e. delays which lower bound is non zero.

A remaining assumption is that Master and Slave's clocks are synchronized. This property is needed for the delay measurement and can be obtained via technical (GPS) or computational [START_REF] Abdallah | Delay effect in the networked control of mobile robot[END_REF] solutions. However, the ongoing implementations of a related strategy Seuret et al. [2006[START_REF] Seuret | Implementation of an internet-controlled system under variable delays[END_REF] show that the global system may work even if the clocks are a bit out of synch. Including this robustness in the design is left to future works.

APPENDIX: PROOF OF THEOREM 3

To analyze the asymptotic stability property of such a system, equations ( 11) are rewritten by using the descriptor representation introduced in [START_REF] Fridman | New Lyapunov-Krasovskii functionals for stability of linear retarded and neutral type systems[END_REF], [START_REF] Fridman | A descriptor system approach to H ∞ control of linear time-delay systems[END_REF] with x(t) = col{x(t), ẋ(t)}, ē(t) = col{e(t), ė(t)}. Consider the following Lyapunov-Krasovskii functional:

V (t) = V xn (t) + V xa (t) + V xp (t) + V en (t) + V ea (t) + V ep (t)
(18) where the sub-Lyapunov-Krasovskii functionals are, for q representing the subscript of the variables 'x' and 'e':

V qn (t) = qT (t)EP q q(t) + 0 -δ t t+θ qT (s)R q q(s)dsdθ + t t-δ q T (s)S q q(s)ds,

V qa (t) = µ -µ t t+θ-δ qT (s)R qa q(s)dsdθ, V xp (t) = µ -µ t t+θ-δ ẋT (s)R xp ẋ(s)dsdθ, V ep (t) = µ -µ t t+θ-δ ėT (s)(R ep + R xe ) ė(s)dsdθ,
with E = diag{I n , 0} and P x , P e defined in Theorem 1.

The signification of each sub-Lyapunov-Krasovskii functional has to be explain. The first functionals V xn and V en deal with the stability of the Slave and the observer systems subject to the constant delay δ while V xa and V ea refer to the disturbances due to the delay variations. Even if the functionals do not explicitly depend on each time varying delay, it will be considered two different delays δ 1 and δ 2 . The last functionals V xp and V ep are concerned with the packet loss. This will appear more clearly later on. According to Theorem 2 in [START_REF] Seuret | Sampleddata exponential stabilization of neutral systems with input and state delays[END_REF], if LMI (16) holds for ′ q = x ′ , the following inequalities hold:

Vxn (t) + Vxa (t) ≤ ξ T x (t) Ψx1 P T x 0 BK * -Sx ξ x (t) + η x (t), (19)
where ξ x (t) = col{x(t), ẋ(t), x(t -δ)} and:

η x (t) = -2x T (t)P T x [ 0 (BK) T ] e(t -δ 1 (t)), Ψ x1 = Θ n x + µP T x [ 0 (BK) T ] T R -1 xa [ 0 (BK) T ] P x ,
Noting that e(t -δ 1 (t)) = e(t -δ) -t-δ t-δ1(t) ė(s)ds and using a classical LMI bounding, the following inequality holds for i = 1, 2:

η x (t) ≤ xT (t)P T x 0 BK (S -1 xe + µR -1 xe ) 0 BK T P x x(t) +e T (t -δ)S xe e(t -δ) + | t-δ t-δ1(t)
ėT (s)R xe ė(s)ds| (20) where S xe and R xe are positive definite matrices which represent the presence of the error vector in the state equation. Then, the following inequality holds: ) ] P x . For the error dynamics, LMI ( 16) with q = e yields: Ven (t) + Vea (t) ≤ ξ T e (t)

Vxn (t) + Vxa (t) ≤ ξ T x (t) Ψx2 P T x 0 BK - Y T x1 Y T x2 * -Sx ξ x (t) +e T (t -δ)S xe e(t -δ) + | t-δ t-δ1(t) ėT (s)R xe ė(s)ds|, (21) where Ψ x2 = Θ n x + P T x [ 0 (BK) T ] T (S -1 xe + µR -1 xa + µR -1 xe ) [ 0 (BK
where ξ e (t) = col{e(t), ė(t), e(t -δ)} and where Ψ e1 = Θ n e + µP T e [ 0 (LC) T ] T R -1 ea [ 0 (LC) ] P e , and η q e (t) = 2ē T (t) ×P T e [ 0 (BK) T ]

T t 1, k t 1,(k-p 1 ) q(s)ds with q representing either x or e. Note that the functions η x e (t) and η e e (t) correspond to the disturbance due to the lost control packets. The following equality holds: (26)

Combining ( 21), ( 25) and ( 26) and noting that the sum of the negative integrals in (26) with the integrals from ( 24) is negative because t 1, k and t 1,(k-p1) are included in the interval [t -δ -µ, t -δ + µ], the following inequality holds:

V (t) ≤ ξ T x (t) Ψx2 P T x 0 BK * -Sx ξ x (t)
+ξ T e (t) The Schur complement leads to the LMI's given in ( 14) and ( 15). Then if LMI's from Theorem 1 are satisfied, the system (11) is asymptotically stable.

  A4, one has t 1, k -t 1,(k-p1) ≤ 2µ, thus:η x e (t) ≤ 2µē T (t)PDifferentiating V xp and V ep along the trajectories leads to inequalities (26) for the state vector and error dynamics:Vxp (t) = 2µ ẋT (t)R xp ẋ(t) -R xp ẋ(s)ds Vep (t) = 2µ ėT (t)(R ep + R xe ) ė(t) -(R ep + R xe ) ė(s)ds.

1 This work was supported by an EPSRC Platform Grant reference EP/D029937/1 entitled 'Control of Complex Systems'.


W Jiang

A Kruszewski
email: alexandre.kruszewski@ec-lille.fr

J.-P Richard

A Toguyeni
email: armand.toguyeni@ec-lille.fr

A gain scheduling strategy for the control and estimation of a remote robot via Internet

Keywords: Remote control, Switching signal, Exponential stability, Linear time-delay system, LMIs, Internet, UDP, Robot

In this article, a gain scheduling strategy for the controller of a remote robot based on Internet and Bluetooth networks is designed and implemented. The Internet communication is based on the Master-Slave structure, UDP protocol. The Slave comprises a PC and a mobile robot, interconnected through the protocol Bluetooth. The Master is a second PC which realizes the remote control, the design of which is based on a remote observer achieving a state prediction of the robot (Slave), despite the variable communication delays, sampling and packets losses. The detected variable timedelays serve as the switching signals. The gain scheduling state feedback controller is based on Lyapunov-Krasovskii functional and the approach of LMI, which guarantee the uniform stabilization performance.

INTRODUCTION

As Internet is well developed, remote control system has been widely used in industrial, communicational, medical and even biological systems. However, alongside the advantage of low costs, the Internet inevitably brings problems to the closed-loop controlled system, such as delay variation, data-packets loss (M. [START_REF] Yu | An LMI approach to network control systems with data packet dropout and transmission delays[END_REF]) and disorder, which cause poor performance (J.P. [START_REF] Richard | Systèmes commandés en réseau[END_REF], instability or danger. How to diminish the effect of time delay in the remote system is critical in the system design. The main solution can split into two (combinable) strategies (J.P. [START_REF] Richard | Systèmes commandés en réseau[END_REF]; J. [START_REF] Chiasson | Applications of time delay systems[END_REF]: 1) Increase the network performances(QoS) or 2) design an adapted control that can compensate the network influence. In this article, we consider this last approach for an Internet and Bluetooth network. Our aim is to ensure suitable stabilization and speed performances, i.e. exponential stabilization, despite the dynamic variations of the network. Note that, in the Internet case, the network delays cannot be modeled nor predicted. Moreover, the (variable) transmission delays are asymmetric, which means that the delay h 1 (t) from Master to Slave (shortly, M-to-S), and the return one (S-to-M) h 2 (t) normally satisfy h 1 (t) = h 2 (t). Because of this lack of knowledge, predictor-based control laws (E. [START_REF] Witrant | Remote stabilization via communication networks with a distributed control law[END_REF]) cannot be applied. A delay maximizing strategy (J.P. [START_REF] Richard | Time delay systems: an overview of some recent advances and open problems[END_REF][START_REF] Lelevé | Telerobotics over IP networks: Towards a low-level real-time architecture[END_REF] ("virtual delay", "buffer", or "waiting" strategy) can be carried out so to make the delay constant and known. This requires the knowledge of the maximum delay values h m ≥ h 1 (t) and h m ≥ h 2 (t). However, it is obvious that maximizing the de-

The work is partially supported by the CSC (China Scholarship Council) and Region Nord Pas-de-Calais (ARCIR RoboCoop). lay up to its largest value decreases the speed performance of the remote system. Our solution relies on the theoretical results of (A. [START_REF] Seuret | Robust exponential stabilization for systems with time-varying delays[END_REF] (exponential stabilization of systems with unknown, varying delays), as well as (A. [START_REF] Seuret | Networked control using gps synchronization[END_REF] (networked control), the main lines of which will be shortly recalled in the next section. It allows for applying a waiting strategy only to the M-to-S communication, whereas the Sto-M communication takes the information into account as soon as received. In order to enhance the performance of the system, a gain scheduling strategy is adapted according to the variable time-delay of the Internet. The additional contribution of this paper is the design of an adapted computer implementation (M/S structure) based on the UDP protocol and involving lists as buffers. The choice of UDP is preferred to TCP because in our NCS (Networked Control System)situation, packets re-emitting is not needed and setting up the TCP connection between two PCs is timeconsuming.

FEATURES OF THE REMOTE SYSTEM

The remote system is based on Master-Slave structure. In order to simplify the work of the Slave PC, the control and observation complexity is concentrated on the Master. The main features of the system refer to Fig. 1. In the system, Figure 1: Structure of the global system the robot Miabot of the company Merlin Systems Corp. Ltd together with a PC serve as the Slave. The Miabot works as an accessory device which communicates with the PC by the port of Bluetooth.

The four delay sources

In such a situation, the variable delays come from: 1) the communication through the Internet; 2) the data-sampling ;3) time delay of the Bluetooth and 4) the possible packet losses. In the sequel, h 1 (t) and h 2 (t) denote the communication delays and τ 1 (t) and τ 2 (t) include the sampling de- lays and possible packet losses. The total Master-to-Slave delay δ 1 (t) results from the addition of h 1 (t k ) and τ 1 (t). 1) Both computers dates are automatically synchronized in the system. The strategy of NTP (Network Time Protocol)(D.L. [START_REF] Mills | Improved algorithms for synchronizing computer network clocks[END_REF] is used in the program to calculate the time clock difference between the two sides. By this way, whenever the Master or the Slave receives the data including the time stamp, it knows the instant t k of data sending out and the resulting transmission delay

h i (t k ), i = 1, 2.
2) The real remote system, including Master, Slave and network, must involve some data sampling. However, following (A. [START_REF] Seuret | Sampled-data exponential stabilization of neutral systems with input and state delays[END_REF][START_REF] Fridman | Robust sampleddata stabilization of linear systems: An input delay approach[END_REF], this phenomenon is equivalent to a time-varying, discontinuous delay τ i (t) (to be defined in (1)), which allows for keeping a continuous-time model. If the packets exchange between the Master and the Slave is of high speed, then τ i (t) consti- tutes a disturbance that should be considered in the stabilization design (M. [START_REF] Yu | An LMI approach to network control systems with data packet dropout and transmission delays[END_REF]. τ i (t) is variable but it is supposed there is a known T (maximum sampling period) so that τ i (t) ≤ T . 3)Miabot works as a device of the PC, so we can not use buffer strategy on the robot. Because there is no time information included in the command of Miabot, we do not know when the command has been applied. That means, we can't use time stamp directly on Miabot. To simplify our problem, we treat the time-delay of Bluetooth between the PC and Miabot as a constant one. We add the delays d 1 , d 2 into the respectively variable delays h 1 (t), h 2 (t). 4) If some packet p t k containing the sample at t k is lost, or arrives later than the packet p t k+1 , then the Master only considers the most recent data (i.e., those from p t k+1 ). If it is assumed that the maximum number of successive packets that can be lost is N, then the maximum resulting delay is NT . The same lines also holds for the control packets. From 2) and 3), the delay δ i (t) has a known maximum δ m i (t) = (N +1)T +h m +d i and the delay variation satisfies δi (t) ≤ 1. In order to keep simple expressions, the notation T will be kept preferably to T ′ = (N + 1)T . Summarizing, given a signal g(t) and the global delay δ (t) which represents the combination of the bluetooth delay d, the sampling and packet loss delay h(t k ) that the transmission line subjects to the packet containing the k th sample at time t k , g(t) can be written as:

g(t k -h(t k )) = g(t -h(t k ) -(t -t k )), = g(t -δ (t)), t k ≤ t < t k+1 , δ (t) h(t k ) + t -t k + d.
(1)

5) The time-delay of the Internet varies a lot especially between the rush hour and idle time period, so we have designed two controllers corresponding with two bounds of time-delay. The controller switches on the function of timedelay. The switching signal is given by σ (t) = γ(tξ ), where ξ is the time-delay of the signal due to the Internet and calculation. In order to guarantee the uniform exponential stability, our solution is to find a common Lyapunov function for both closed loops (D. [START_REF] Liberzon | Switching in Systems and Control[END_REF]. Of course, for greater delay values, the performance cannot be guaranteed anymore and an alternative solution has to be considered. In our system, we give a command for the robot to stop until the communication comes back to a sufficient quality.

Calculation of the time difference between the M/S

To synchronize the different time in the two PCs, we can add GPS into the system (A. [START_REF] Seuret | Networked control using gps synchronization[END_REF], but this increases the cost and it is not flexible. Another way is to use a certain protocol such as NTP(Network Time Protocol) (D.L. [START_REF] Mills | Improved algorithms for synchronizing computer network clocks[END_REF], due to different time clock of PCs, we have to make synchronization from time to time. So, our solution is to directly adapt the strategy of NTP in the program to calculate the time differences. As showed in Fig. 2, Here k is the sequential number of the packets sending from the Master and k ′ is the number sent back. h 1 (t k ) and h 2 (t k ) refer to the respective delays of the communication on Internet. To simplify the problem, we assume that h 1 (t k ) = h 2 (t k ). If we define the time clock difference between the M/S as θ , △ is the time for Slave to apply the commands, then θ

= (T S2,k ′ -T M2,k -T M1,k + T S1,k )/2; h 1 (t k ) = h 2 (t k ) = (T M2,k -T M1,k -T S2,k ′ + T S1,k )/2;
That is to say, every time the Master receives a packet, the time clock difference between the M/s and the time delay of the Internet can be measured. The values of the timedelay serve as the signals for switching enter the different observers and controllers.

Transmission and receipt of the control data

The k th data sent by the Master to Slave includes the control u(t 1,k ) together with the time stamp when the packet is sent out. At time t r 1,k , when the Slave receives the data it can calculate the time delay because of the time stamp. If the delay is greater than h 1m , the Slave should apply immediately the command. The control u, sent out by the Master at time t 1,k , is received by the Slave at time t r 1,k > t 1,k . It will be injected in the Slave input only at the pre-defined "target time"

t target 1,k = t 1,k + h 1m + d 1 .
The corresponding waiting time h 1m is depicted on Fig. 3. This is realistic because the transmission delay is bounded by a known value h 1m . By this way, the Master knows the time t 1,k + h 1m + d 1 when this control u(t 1,k ) will be injected at the Slave input.

Problem formulation and preliminaries

Consider the Slave as a linear system. It is described as following form, in which (A,B,C) is controllable and observable.

ẋ(t) = Ax(t) + Bu(t -δ 1 (t)), y(t) = Cx(t), (2)
where δ

1 (t) = δ 1 + η 1 (t), η 1 (t) ≤ µ 1 .
In order to guarantee the closed-loop stability whatever the delay variation, the exponential stability with the rate α must be achieved. In other words, there must be a real κ ≥ 1 so that the solution x(t;t 0 , φ ) starting at any time t 0 from any initial function φ satisfies: x(t;t 0 , φ ) ≤ κ φ e -α(t-t 0 ) . In this paper, it is achieved using a state observer and a state feedback.

To ensure this exponential global stabilization, one can use the results of (A. [START_REF] Seuret | Networked control using gps synchronization[END_REF] which considers a Lyapunov-Krasovskii functional with descriptor representation:

V (t) = xT α (t)EP xα (t) + 0 -δ 1 t t+θ ẋT α (s)R ẋα (s)dsdθ + t t-δ x T α (s)Sx α (s)ds+ µ 1 -µ 1 t t+θ -δ 1 ẋT α (s)R a ẋα (s)dsdθ , (3) where xα (t) = col{x α (t), ẋα (t)} , x α (t) = x(t)e αt and E = diag{I, 0 (2×2) }.
Because of the separation principle, one can divide the analysis of the global stabilization into two smaller problems: the observer design and the controller design. The result are recalled hereinafter using a non-switching observer/controller.

Observer design

For a given k and for any t ∈ [t 1,k + h 1m , t 1,k+1 + h 1m [, there exists a k ′ such that the proposed observer is of the form:

ẋ(t) = A x(t) + Bu(t 1,k ) -L(y(t 2,k ′ ) -ŷ(t 2,k ′ )), ŷ(t) = C x(t). ( 4
)
The index k ′ corresponds to the most recent output information that the Master has received. Note that the Master knows the time t 1,k and the control u(t 1,k ) (see Section 2.3), which makes this observer realizable.

Using the delay (1) re-writing , one obtains:

   ẋ(t) = A x(t) + Bu(t -δ 1 (t)) -L(y(t -δ 2 (t)) -ŷ(t -δ 2 (t))), ŷ(t) = C x(t). (5) with δ 1 (t) h 1,k +t -t 1,k + d 1 and δ 2 (t) h 2,k ′ +t -t 2,k ′ + d 2 .
In other words, the observer is realizable because the times t 1,k and t 2,k ′ defining the observer delays are known thanks to the time stamps. The system features lead to

δ 1 (t) ≤ h 1m + T + d 1 and δ 2 (t) ≤ h 2m + T + d 2 .
We define the error vector between the estimated state x(t) and the present system state x(t) as e(t) = x(t)-x(t). From ( 2) and ( 5), this error is ruled by:

ė(t) = Ae(t) -LCe(t -δ 2 (t)). ( 6
)
Theorem 1 (A. [START_REF] Seuret | Networked control using gps synchronization[END_REF] Suppose that, for some positive scalars α and ε, there exists n × n matrices 0 < P 1 , P, S, Y 1 , Y 2 , Z 1 , Z 2 , Z 3 , R, R a and a matrix W with appropriate dimensions such that the following LMI conditions are satisfied for j = 1, 2:

Ψ 2 β 2 j WC -Y 1 εβ 2 j WC -Y 2 µ 2 β 2 j WC εWC * -S 0 * * -µ 2 R a < 0, R Y * Z ≥ 0,
where β 2 j are defined by:

β 11 = e α(δ 1 -µ 1 ) , β 12 = e α(δ 1 +µ 1 ) , β 21 = e α(δ 2 -µ 2 ) , β 22 = e α(δ 2 +µ 2 ) , (7)
and the matrices Y , Z and Ψ 2 are given by:

Y = [Y 1 Y 2 ], Z = Z 1 Z 2 * Z 3 , (8)
Ψ 11 2 = P T (A 0 + αI) + (A 0 + αI) T P + S +δ 2 Z 1 +Y 1 +Y T 1 , Ψ 12 2 = P 1 -P + εP T (A 0 + αI) T + δ 2 Z 2 +Y 2 , Ψ 22 2 = -ε(P + P T ) + δ 2 Z 3 + 2µ 2 R a + δ 2 R.
Then, the gain:

L = (P T ) -1 W, (9)
makes the error (6) of observer (5) exponentially converge to the solution e(t) = 0, with a decay rate α.

In the following, the solution of the LMI problem corresponding this theorem is written:

L = LMI obs (µ 2 , δ 2 , α) (10)

Control design

We first consider a controller u = Kx,i = 1, 2, i.e. the ideal situation e(t) = 0, x(t) = x(t) and:

ẋ(t) = Ax(t) + BKx(t -δ 1 (t)). ( 11
)
Theorem 2 (A. [START_REF] Seuret | Networked control using gps synchronization[END_REF] Suppose that, for some positive numbers α and ε, there exists a positive definite matrix P1 , matrices of size n × n: P, Ū, Z1 , Z2 , Z3 , Ȳ1 , Ȳ2 similarly to (8) and a n × m matrix W , such that the following LMI conditions hold:

Γ 3i = Ψ 3 β 1i BW -Ȳ T 1 εβ 1i BW -Ȳ T 2 µ 1 β 1i BW εβ 1i BW * -S 0 * * -µ 1 Ra < 0, ∀i = 1, 2, R Ȳ1 Ȳ2 * Z1 Z2 * * Z3 ≥ 0,
where β 1i , for i = 1, 2, are defined by ( 7) and

Ψ11 3 = (A 0 + αI) P + PT (A 0 + αI) T + S +δ 1 Z1 + Ȳ1 + Ȳ T 1 , Ψ12 3 = P1 -P + ε PT (A 0 + αI) T + δ 1 Z2 + Ȳ2 , Ψ22 3 = -ε( P + PT ) + δ 1 Z3 + 2µ 1 Ra + δ 1 R.
Then, the gain: K = W P-1 , exponentially stabilizes the system (11) with the decay rate α for all delay δ 1 (t).

In the following, the solution of the LMI problem corresponding this theorem is written:

K = LMI con (µ 1 , δ 1 , α) (12)

Performance enhancement

In order to reach higher value for the exponential convergence, one proposes switching controller and observer gains. The switching signals σ 1 (t) and σ 2 (t) chosen are function of the time delays δ 1 (t) and δ 2 (t). For sake of simplicity, they can only take two values:

σ i (t) = j, i f δ i (t) ∈ [h i j Min , h i j Max [, i, j = 1, 2 (13)
Consider every zone of time-delay, we have to compute the gains K 1 , K 2 and L 1 , L 2 in such a way that they exponentially stabilize the global Master-Slave-Observer system despite the variable delays δ 1 (t) and δ 2 (t). This global system is:

       ẋ(t) = Ax(t) + BK σ 1 (t) x(t -δ 1 (t)) + BK σ 1 (t) e(t -δ 1 (t)), ė(t) = Ae(t) + L σ 2 (t) Ce(t -δ 2 (t)), σ 1 (t) = γ 1 (t -δ 1 (t) -δ 2 (t)), σ 2 (t) = γ 2 (t -δ 2 (t)).
(14) γ i (t) are the detection functions of δ i (t). These functions are delayed because the Master needs to receive the last packet to calculate the delays. So each gain is activated for a certain period (δ 1 (t) + δ 2 (t)) or δ 2 (t))).

Each gain is computed using K j = LMI con ((h 1 j Maxh 1 j Min )/2, (h 1 j Max + h 1 j Min )/2, α con ) L j = LMI obs ((h 2 j Maxh 2 j Min )/2, (h 2 j Max + h 2 j Min )/2, α obs ). A sufficient condition to prove the uniform stability of the switching closed loop is to find a common Lyapunov-Krasovskii functional for all gains. This functional has to take into account all admissible delays i.e. ∀δ i (t) ∈ [h i1

Min , h i2 Max [. For each gain Fig. 4 shows the regions where the exponential stability is proven. The following theorems give sufficient conditions to prove the uniform stability of the switching closed loop.

Theorem 3 Suppose that, for a given switching observer gains L σ 2 (t) , for some positive scalars α and ε, there exists n × n matrices 0 < P 1 , P, S, Y 1 , Y 2 , Z 1 , Z 2 , Z 3 , R, R a such that the LMI conditions 1 and the following ones hold for i = 1, 2, j = 1, 2

Ψ 2 β 2 j P T L i C -Y 1 εβ 2 j P T L i C -Y 2 µ 2 β 2 j P T L i C εP T L i C * -S 0 * * -µ 2 R a < 0,
where the matrices Ψ 2 and β 2 j are the same as in theorem 1.

Then the error of observer exponentially converge to the solution e(t) = 0, with a decay rate α.

Proof: Consider the Lyapunov-Krasowskii functional (3). Following the same proof as in (A. [START_REF] Seuret | Networked control using gps synchronization[END_REF], one gets the following sufficient conditions for j = 1, 2:

  Ψ 2 β 2 j P T L σ 2 (t) C -Y 1 εβ 2 j P T L σ 2 (t) C -Y 2 µ 2 β 2 j P T L σ 2 (t) C εP T L σ 2 (t) C * -S 0 * * -µ 2 R a   < 0,
Then by convexity, one obtains the conditions of the previous theorem.

Theorem 4 Suppose that, for a given switching state feedback K σ 1 (t) , for some positive numbers α and ε, there exists a positive definite matrix P1 , matrices of size n × n: P, Ū, Z1 , Z2 , Z3 , Ȳ1 , Ȳ2 similarly to (8), such that LMI conditions 1 and the following ones hold for i = 1, 2, j = 1, 2

Ψ 3 β 1i BK j P -Ȳ T 1 εβ 1i BK j P -Ȳ T 2 µ 1 β 1i BK j P εβ 1i BK j P * -S 0 * * -µ 1 Ra < 0,
where the matrices Ψ 3 and β 1 j are the same as in theorem 1. Then the closed loop is exponentially stable with the decay rate α for all delay δ 1 (t).

Proof: Same as in the observer case.

The transmission protocol UDP is applied to communicate the data between Master and Slave. In order to know the instant of data-sent, time stamps are added to the data packets. The data structure of list served as buffers is introduced for the program to search for the data of the right instance. In all the lists, the control data are restored in the decreasing order of its sending time. That is to say, the most recent sent data is always at the head of the list.

The structure of the Master

In order to implement the model for the remote control system, four-thread program is designed to fulfill the functions of Controller and Observer of Fig. 1.

u(t 1,k ) = K σ 1 (t) ( x(t 0,q ) -c(t 3,p )). ( 15
)
The most recent x(t 0,q ) can be found at the beginning of the list_X ; then, the data of command together with the system time is sent out to the slave through the socket. While, at the same time it is inserted into the list_U for the Observer-Thread to use.

In order to adjust the u(t) with the value of x(t) which is the estimated state of the motor, the time period of this thread should be chosen much smaller than that of ConsThread, here 0.1 second is applied. (c) ReceiverThread is a event-driven thread. As there is data arrived from the slave, it first check whether there is packet loss. As the time period for the Slave to send out the data is so small that several packets lost will not affect much. Then according to the time stamp, the time clock difference and the time-delay are calculated, meanwhile, the most recent data is sent to the thread of Observer-Thread.

(d) ObserverThread is the most important part of the program. It mainly serves as the Observer in the system model. The main task is to estimate the present position and speed of the motor. To work it out, it is needed to find out the command u which has been applied to the slave system and the estimated motor position at the time when the information is sent out from the slave.

As it is illustrated in Fig. 6, in order to determine ŷ(t 2,k ′ ), it is necessary to find in the list_X the closer state estimation x with regard to the date t 2,k ′ . And we can get the control data u in the list_U with the time stamp of time h i 1m (i = 1, 2) before. So, according to the equation ( 4), the estimated state can be obtained. As we can see from Fig. 6, in order to find Figure 6: Packet Sequences the state x(t 0,q ) at the time nearly to t 2,k ′ , the time period of this thread should be small enough. We choose here 0.02 second. As the results showed after, it is sufficient.

The structure of the Slave

The Slave does not need power computation abilities, which is designed to communicate with the Master and the Miabot. As we can see from Fig. 7, this program is divided into two threads: ReceiveThread and SendThread. As we need to apply the control data with the time delay of h i 1m (i = 1, 2) after the time stamp, a list_Y is used to contain the control data temporarily. oldest data of the list, that means there is disorder of the packets through Internet, then the data is discarded. If there are several packets lost, as we have a high frequency of the Master's SenderThread, it does not affect the uniform stability of the system. (b) SendThread includes a function to get the real position of the Miabot. Considering the character of the motor, we choose a time period T 2 for this thread as 0.1 second. In every circulation, it look for the control data to be applied in list_Y and then send it to the Miabot by the port of Bluetooth. The state data of the Miabot is then sent to the Master.

RESULTS AND ANALYSIS

Parameters of the system

After identification of the Miabot, we get the model of the following form

ẋ(t) = 0 1 0 -10 x(t) + 0 0.014 u(t -δ 1 (t)) y(t) = [ 1 0 ] x(t).
The application is implemented in the two PCs which are separated more than 40 kilometers away. Considering the initial approach, i.e. without switching gains, the maximum exponential convergence obtained is α control = α observer = 0.96. Consider two zones of delay with δ 1 1 = δ 1 2 = 0.04sec. ,µ 1 1 = µ 1 2 = 0.04sec,and δ 2 1 = δ 2 2 = 0.29sec., µ 2 1 = µ 2 2 = 0.21sec. It means that the gains switch when the delay crosses the value of 0.08sec. According to Theorem (3) and (4), the maximum exponential convergence ensuring the global stability are: α control1 = 2.1, α observer1 = 2.2, and α control2 = α obsever2 = 1. Note that because the global stability is checked after the computation of the gains, these values are not optimal. To get optimal value, it is needed to be able to find the control/observer gains ensuring the exponential convergence and the global stability at the same time with a LMI problem. The gains K i and L i (i = 1, 2) are:

L 1 = -3.01 -0.77 , K 1 = -1659 -260 . L 2 = -1.4 -0.16 , K 2 = -1015 -100 .

Result of remote experiment

The experiment is done on two computers separated about 40 kilometers away. The Master program runs on the remote computer with an advanced computing capability, the slave one on the local one which also communicates with the Miabot by the port of Bluetooth. The result is shown in Fig. 8, in which the blue curve represents the set values; the green and red represent respectively the robot's estimated position and speed; the black correspond to the real position of the Miabot. Fig. 9 is the corresponding variable time-delays, which comprises the time-delay of sampling and communication of Bluetooth (we consider it as constant time-delay, here we take the value of 40ms). In Fig. 10, the red curve represents the sampled command sent to Slave, and the green and black represent the command for the zone one and two respectively. Note that all the data in the figure is obtained from the Master, so the data of the real position of the Miabot (curve black) lags behind the estimated one. This illustrates the fact that, despite the time delays of Internet and Bluetooth, the Master estimates a prediction of the Slave's state.

Because the maximal speed of the Miabot is 3.5m/sec, the command value corresponding is 2000 (in open loop). But to guarantee the linear character of the Miabot, we make the command not surpass 1000 and the speed 1.7m/sec. The controller gains are those of the last section. Despite of their high value, one can notice that the control signal (Fig. 10) to not exceed the limit value as well as the speed (Fig. 8 red line) which validates the linearity assumption. On 8, one can notice three kinds of step response. The first one corresponds to the case where the control switches a lot during the response. In that case, only the global stability is guaranteed. During the second step, only the second zone is active, i.e. only the gains K 2 and L 2 are active (α = 1). In this case, some performances are guaranteed. In the last kind of response, only the first zone is active because the delays are small. In that case, the performances are better (α = 2.1): the response time is smaller and the damping is greater.

As it is clearly shown in Fig. 8, the global stability of the closed loop is maintained despite that some assumptions made are not satisfied. On the bluetooth, it was considered constant whereas in reality it varies (the minimum delay recorded os less than 40ms). And the other one is on the synchronization, symmetric delays were needed and in the experiment it was clearly not the case.

CONCLUSION

An experimental platform has been developed to illustrate the results of the network-based control theory. This platform has needed a lot of development in order to be able to control a slave through a network and has needed skills in automatic control, computer science and networks. The experimental results confirm the theory. The exponential stability is obtained in both the time-delay zones and the uniform stability is guaranteed. The performances are shown, through our experiment, to be better when considering two zones of time delay. Considering the variety of time-delay, more than two zones switching signals for the state feedback controller can be selected in order to enhance the performance of the global system. The LMI conditions, in that case, have a bigger size and are directly inspired from Theorem (3) and (4) and does not need to be investigated. A way to improve the presented results is to propose a "one shot algorithm" which allows finding the optimal gains in term of exponential convergence. The next work will investigates on finding a solution without the input buffer systems. Without buffer, the input delay will be smaller ensuring more performances and the slave will need less memory to run. At last, one consider the improvement of the network communication by for example developing dedicated protocols which minimizes the time delays and enhancing the clock synchronization.

Figure 2 :

 2 Figure 2: Packets communication between the M/S

Figure 3 :

 3 Figure 3: Control data processing

Figure 4 :

 4 Figure 4: Uniform stability of the system

Figure 5 :

 5 Figure 5: Structure of the Master

Figure 7 :

 7 Figure 7: Structure of the Slave

Figure 8 :

 8 Figure 8: Results of remote experiment

Figure 10 :

 10 Figure 9: The corresponding variable time-delays


Wenjuan Jiang
email: futurs.wenjuan.jiang@ec-lille.fr

Jean-Pierre Richard
email: jean-pierre.richard@ec-lille.fr

Armand Toguyeni
email: armand.toguyeni@ec-lille.fr

P Richard

IMPLEMENTATION OF AN INTERNET-BASED REMOTE CONTROLLED ROBOT WITH GUARANTEED EXPONENTIAL STABILIZATION

Keywords: Networked control, remote control, remote observer, Internet, UDP, time delay, exponential stability

In this article, an Internet-based remote control system is designed and implemented. The communication is based on the Master-Slave structure. The Master PC communicates with the Slave from about 40km away by UDP protocol. In order to guarantee the Master and Slave clocks to be synchronized, the NTP (Network Time Protocol) is used in both sides. The packets are sent together with time-stamps. The controller design (master) relies on a remote observer that achieves a state prediction of the application (slave), despite the variable communication delays. The Slave comprises a PC and a robot Miabot of Merlin company. The protocol Bluetooth is used between the local PC and the robot. Internet-based remote systems are subject to variable time delays (including communication and data-sampling delays) and data packets losses (due to the unstable Internet network). We have continuously tested the RTT (round-triptime) between the two PCs in the daytime and nighttime by the protocol ICMP (Internet Control Message). From these tests, an evaluation of the maximal time delay is obtained. Our structure allows one to guarantee an exponential stabilization performance, which is proven via a Lyapunov-Krassovski functional technique and involves the estimated delay upperbound. This means that the guaranteed decay rate is computed (via some LMI optimization) in relation to some maximal value of the communication delays. Of course, for greater delay values, the performance cannot be guaranteed anymore and an alternative solution has to be considered. In our system, we give a command for the robot to stop until the communication comes back to a sufficient quality.

INTRODUCTION

As Internet is well developed, remote control system has been widely used in industrial, communicational, medical and even biological systems. However, alongside the advantage of low costs, the Internet inevitably 1 The work is partially supported by the CSC (China Scholarship Council) and Region Nord Pas-de-Calais (ARCIR RoboCoop).

brings problems to the closed-loop controlled system, such as delay variation, data-packets loss (M. [START_REF] Yu | An LMI approach to network control systems with data packet dropout and transmission delays[END_REF] and disorder, which cause poor performance (J.P. [START_REF] Richard | Systèmes commandés en réseau[END_REF], instability or danger. How to diminish the effect of time delay in the remote system is critical in the system design. The main solution can split into two (combinable) strategies (J.P. [START_REF] Richard | Systèmes commandés en réseau[END_REF][START_REF] Chiasson | Applications of time delay systems[END_REF]: 1) Increase the network performances(QoS) or 2) design an adapted control that can compensate the network influence. The former focuses on the control of the network (protocol, route choosing, congestion strategy, etc.). The second approach is related to robust control and depends on the kind of network to be used (Internet, Ethernet...). In this article, we consider this last approach for an Internet network. Our aim is to ensure suitable stabilization and speed performances, i.e. exponential stabilization, despite the dynamic variations of the network. Note that, in the Internet case, the network delays cannot be modeled nor predicted. Moreover, the (variable) transmission delays are asymmetric, which means that the delay h 1 (t) from Master to Slave (shortly, M-to-S), and the return one (S-to-M) h 2 (t) normally satisfy h 1 (t) = h 2 (t). Because of this lack of knowledge, predictor-based control laws (E. [START_REF] Witrant | Remote stabilization via communication networks with a distributed control law[END_REF] cannot be applied. A delay maximizing strategy (J.P. [START_REF] Richard | Time delay systems: an overview of some recent advances and open problems[END_REF][START_REF] Lelevé | Telerobotics over IP networks: Towards a lowlevel real-time architecture[END_REF] ("virtual delay", "buffer", or "waiting" strategy) can be carried out so to make the delay constant and known. This requires the knowledge of the maximum delay values h m ≥ h 1 (t) and h m ≥ h 2 (t). However, it is obvious that maximizing the delay up to its largest value decreases the speed performance of the remote system.

Our solution relies on the theoretical results of (A. [START_REF] Seuret | Robust exponential stabilization for systems with time-varying delays[END_REF] (exponential stabilization of systems with unknown, varying delays), as well as (A. [START_REF] Seuret | Networked control using gps synchronization[END_REF] (networked control), the main lines of which will be shortly recalled in the next section. It allows for applying a waiting strategy only to the M-to-S communication, whereas the S-to-M communication takes the information into account as soon as received. The additional contribution of this paper is the design of an adapted computer implementation (M/S structure) based on the UDP protocol and involving lists as buffers. The choice of UDP is preferred to TCP because in our NCS (Networked Control System)situation, packets re-emitting is not needed and setting up the TCP connection between two PCs is time-consuming.

FEATURES OF THE REMOTE SYSTEM

The remote system is based on Master-Slave structure. In order to simplify the work of the Slave, the control and observation complexity is concentrated on the Master. The main features of the system refer to Bluetooth can be regarded as a constant one. In order to simplify our problem, we take the maximum local delay and add h1 and h2 into the respectively variable delay h 1 (t) and h 2 (t).

The three delay sources

In such a situation, the variable delays come from: 1) the communication through the Internet; 2) the data-sampling and 3) the possible packet losses. In the sequel, h 1 (t) and h 2 (t) denote the communication delays and τ 1 (t) and τ 2 (t) include the sampling delays and possible packet losses. The total Master-to-Slave delay δ 1 (t) results from the addition of h 1 (t k ) and τ 1 (t).

1) Both computers dates are synchronized before the system works. The NTP(Network Time Protocol)(D.L. [START_REF] Mills | Improved algorithms for synchronizing computer network clocks[END_REF] is used in both sides according to the same pool time server. By this way, whenever the Master or the Slave receives the data including the time stamp, it knows the instant t k of data sending out and the resulting transmission delay h i (t k ).

2) The real remote system, including Master, Slave and network, must involve some data sampling. However, following (A. [START_REF] Seuret | Sampled-data exponential stabilization of neutral systems with input and state delays[END_REF][START_REF] Fridman | Robust sampled-data stabilization of linear systems: An input delay approach[END_REF], this phenomenon is equivalent to a time-varying, discontinuous delay τ i (t) (to be defined in (1)), which allows for keeping a continuous-time model. If the packets exchange between the Master and the Slave is of high speed, then τ i (t) constitutes a disturbance that should be considered in the stabilization design (M. [START_REF] Yu | An LMI approach to network control systems with data packet dropout and transmission delays[END_REF]. τ i (t) is variable but it is supposed there is a known T (maximum sampling period) so that τ i (t) ≤ T .

3) If some packet p t k containing the sample at t k is lost, or arrives later than the packet p t k+1 , then the Master only considers the most recent data (i.e., those from p t k+1 ). If it is assumed that the maximum number of successive packets that can be lost is N, then the maximum resulting delay is nT . The same lines also holds for the control packets. From 2) and 3), the delay δ i (t) has a known maximum δ m i (t) = (N + 1)T + h m and the delay variation satisfies δi (t) ≤ 1. In order to keep simple expressions, the notation T will be kept preferably to T ′ = (N + 1)T .

Summarizing, given a signal g(t) and the global delay δ (t) which represents the combination of the sampling and packet loss delay with the delay h(t k ) that the transmission line subjects to the packet containing the k th sample at time t k , g(t) can be written as:

g(t k -h(t k )) = g(t -h(t k ) -(t -t k )), = g(t -δ (t)), t k ≤ t < t k+1 , δ (t) h(t k ) + t -t k .
(1) 4) Of course, for greater delay values, the performance cannot be guaranteed anymore and an alternative solution has to be considered. In our system, we give a command for the robot to stop until the communication comes back to a sufficient quality.

The control law

The controller computes a control law which takes into account some set value c(t) to be reached by the Slave's state x(t). Since x(t) is not available to the Master, the state feedback control u(t) is defined from a state estimate x(t) computed by an observer:

u(t) = K( x(t) -c(t)).
(2)

A main difficulty is to determine the linear gain K of the state feedback control so to guaranty the exponential stability of the Slave motion despite the timevarying delay δ 1 (t). Note this delay is not known by the Master when its control data is sent. In the next section, this problem is solved by using the LMIbased results of (A. [START_REF] Seuret | Robust exponential stabilization for systems with time-varying delays[END_REF][START_REF] Seuret | Networked control using gps synchronization[END_REF].

Transmission and receipt of the control data

The k th data sent by the Master to Slave includes the control u(t 1,k ) together with the time stamp when the packet is sent out. At time t r 1,k , when the Slave receives the data it can calculate the time delay because of the time stamp. If the delay is greater than h 1m , the Slave should apply immediately the command.

The control u, sent out by the Master at time t 1,k , is received by the Slave at time t r 1,k > t 1,k . It will be injected in the Slave input only at the pre-defined "target time" t target 1,k = t 1,k + h 1m . The corresponding waiting time h 1m is depicted on Fig. 2. This is realistic because the transmission delay is bounded by a known value h 1m . By this way, the Master knows the time t 1,k + h 1m when this control u(t 1,k ) will be injected at the Slave input.

Control objective

The main purpose of the system is to guaranty the robustness and speed performance of the global M/S system. In order to guaranty the closed-loop stability and speed rate whatever the delay variation, the exponential stability with the rate α must be achieved. In other words, there must be a real κ ≥ 1 so that the solution x(t;t 0 , φ ) starting at any time t 0 from any initial function φ satisfies: x(t;t 0 , φ ) ≤ κ φ e -α(t-t 0 ) .

For simplicity, the Slave is considered as a linear system. It is described as following form, in which (A,B,C) is observable.

ẋ(t) = Ax(t) + Bu(t -δ 1 (t)), y(t) = Cx(t), (3)
The α-stabilization results we use for the controller and observer gains design refer to (A. [START_REF] Seuret | Robust exponential stabilization for systems with time-varying delays[END_REF][START_REF] Seuret | Sampled-data exponential stabilization of neutral systems with input and state delays[END_REF].

Observer design

For a given k and for any t ∈ [t 1,k + h 1m , t 1,k+1 + h 1m [, there exists a k ′ such that the proposed observer is of the form:

ẋ(t) = A x(t) + Bu(t 1,k ) -L(y(t 2,k ′ ) -ŷ(t 2,k ′ )), ŷ(t) = C x(t).
(4) The index k ′ corresponds to the most recent output information the Master has received. Note that the Master knows the time t 1,k and the control u(t 1,k ) (see Section 2.3), which makes this observer realizable.

Using the delay re-writing (1), one obtains:

   ẋ(t) = A x(t) + Bu(t -δ 1 (t)) -L(y(t -δ 2 (t)) -ŷ(t -δ 2 (t))), ŷ(t) = C x(t), (5) with δ 1 (t) h 1,k + t -t 1,k and δ 2 (t) h 2,k ′ + t -t 2,k ′ .
In other words, the observer is realizable because the times t 1,k and t 2,k ′ defining the observer delays are known thanks to the time stamps. The system features lead to δ 1 (t) ≤ h 1m + T and δ 2 (t) ≤ h 1m + T .

We define the error vector between the estimated state x(t) and the present system state x(t) as e(t) = x(t)x(t). From (3) and ( 5), this error is ruled by: ė(t) = Ae(t) -LCe(t -δ 2 (t)).

(6)

Theorem 1. (A. [START_REF] Seuret | Networked control using gps synchronization[END_REF] Suppose that, for some positive scalars α and ε, there exists n × n matrices 0 < P 1 , P, S, Y 1 , Y 2 , Z 1 , Z 2 , Z 3 , R, R a and a matrix W with appropriate dimensions such that the following LMI conditions are satisfied for j = 1, 2:

Ψ 2 β 2 j WC -Y 1 εβ 2 j WC -Y 2 µ 2 β 2 j WC εWC * -S 0 * * -µ 2 R a < 0,
R Y * Z ≥ 0, where β 2 j are defined by: β 11 = e α(δ 1 -µ 1 ) , β 12 = e α(δ 1 +µ 1 ) , β 21 = e α(δ 2 -µ 2 ) , β 22 = e α(δ 2 +µ 2 ) , (

and the matrices Y , Z and Ψ 2 are given by:

Y = [Y 1 Y 2 ], Z = Z 1 Z 2 * Z 3 , (8)
Ψ 11 2 = P T (A 0 + αI) + (A 0 + αI) T P + S +δ 2 Z 1 +Y 1 +Y T 1 , Ψ 12 2 = P 1 -P + εP T (A 0 + αI) T + δ 2 Z2 + Ȳ2 , Ψ 22 2 = -ε(P + P T ) + δ 2 Z3 + 2µ 2 R a .
Then, the gain:

L = (P T ) -1 W, (9)
makes the error (6) of observer ( 5) exponentially converge to the solution e(t) = 0, with a decay rate α.

Control design

We first consider a controller u = Kx, i.e. the ideal situation e(t) = 0, x(t) = x(t) and:

ẋ(t) = Ax(t) + BKx(t -δ 1 (t)). (10)
Theorem 2. (A. [START_REF] Seuret | Networked control using gps synchronization[END_REF] Suppose that, for some positive numbers α and ε, there exists a positive definite matrix P1 , matrices of size n × n: P, Ū, Z1 , Z2 , Z3 , Ȳ1 , Ȳ2 similarly to (8) and a n × m matrix W , such that the following LMI conditions hold:

Γ 3i = Ψ 3 β i BW -Ȳ T 1 εβ 1i BW -Ȳ T 2 µ 1 β 1i BW εβ 1i BW * -S 0 * * -µ 1 Ra < 0, ∀i = 1, 2, R Ȳ1 Ȳ2 * Z1 Z2 * * Z3 ≥ 0,
where β 1i , for i = 1, 2, are defined by ( 7) and

Ψ11 3 = (A 0 + αI) P + PT (A 0 + αI) T + S +δ 1 Z1 + Ȳ1 + Ȳ T 1 , Ψ12 3 = P1 -P + ε PT (A 0 + αI) T + δ 1 Z2 + Ȳ2 , Ψ22 3 = -ε( P + PT ) + δ 1 Z3 + 2µ 1 Ra .
Then, the gain: K = W P-1 , exponentially stabilizes the system (10) with the decay rate α for all delay δ 1 (t).

Global stability of the remote system

The gains K and L have to be computed in such a way they exponentially stabilize the global Master-Slave-Observer system despite the variable delays δ 1 (t) and δ 2 (t). This global system is:

ẋ(t) = Ax(t) + BKx(t -δ 1 (t)) + BKe(t -δ 1 (t)), ė(t) = Ae(t) + LCe(t -δ 2 (t)).
A separation principle is then applied to the previous system. Then if L and K are chosen with respect to sections 3.2 and 3.3 respectively, the global system is exponentially stable with the lowest decay rate.

IMPLEMENTATION OF THE REMOTE CONTROL SYSTEM

The transmission protocol UDP is applied to communicate the data between Master and Slave. In order to know the instant of data-sent, time stamps are added to the data packets. The data structure of list served as buffers is introduced for the program to search for the data of the right instance. In all the lists, the control data are restored in the decreasing order of its sending time. That is to say, the most recent sent data is always at the head of the list.

The structure of the Master

In order to implement the model for the remote control system, four-thread program is designed to fulfill the functions of Controller and Observer of Fig. 1.

Fig. 3. Structure of the Master

These four threads are parallel working as showed in Fig. 3. There are two buffers, list_U and list_X which respectively keep the data sent out from the Master and the data of the estimated state of the process. The most recent calculated data is inserted at the beginning of the lists so that it is easier to find the right data we need and delete the useless ones.

(a) ConsThread gets the consign (it is the position where the user wants the motor to arrive) from a file given by the user. In this way, the user can freely change the task. The time period T 3 for this thread to work continuously is also set by the user, e.g. 5 seconds.

(b) SenderThread gets the different consign (c(t 3,p )) every time period of ConsThread. Then it calculates the control data to send out according to the following equation:

u(t 1,k ) = K( x(t 0,q ) -c(t 3,p )). ( 11
)
The most recent x(t 0,q ) can be found at the beginning of the list_X ; then, the data of command together with the system time is sent out to the slave through the socket. While, at the same time it is inserted into the list_U for the ObserverThread to use.

In order to adjust the u(t) with the value of x(t) which is the estimated state of the motor, the time period of this thread should be chosen much smaller than that of ConsThread, here 0.1 second is applied.

(c) ReceiverThread is a event-driving thread. As there is data arrived from the slave, it first check whether there is packet loss. As the time period for the Slave to send out the data is so small that several packets lost will not affect much. Then according to the time stamp, the most recent data is sent to the thread of ObserverThread.

(d) ObserverThread is the most important part of the program. It mainly servers as the Observer in the system model. The main task is to calculate the most possible position and speed of the motor. To work out this, it is needed to find out the command u which has been applied to the slave system and the estimated motor position at the time when the information is sent out from the slave.

As it is illustrated in Fig. 4, in order to determine ŷ(t 2,k ′ ), it is necessary to find in the list_X the closer state estimation x with regard to the date t 2,k ′ . And we can get the control data u in the list_U with the time stamp of time h 1m before. So, according to the equation ( 4), the state estimated can be obtained. As Fig. 4. Packet Sequences we can see from the Fig. 4, in order to find the state x(t 0,q ) at the time nearly to t 2,k ′ , the time period of this thread should be small enough. We choose here 0.02 second. As the results showed after, it is sufficient.

The structure of the Slave

The Slave does not need power computation abilities, which is designed to communicate with the Master and the Miabot. As we can see from Fig. 5, this program is divided into two threads: ReceiveThread and SendThread. As we need to apply the control data the time delay of h 1m after the time stamp, a list_Y is used to contain the control data temporarily.

(a) ReceiveThread is an event-driving thread which is activated by the control data arrived from the Master. The control data is inserted into the proper position of the list list_Y according to its time stamp. If the time stamp is before the oldest data of the list, that

RESULTS AND ANALYSIS

After identification of the Miabot, we get the model of the following form ẋ(t) = 0 1 0 -25.6 x(t) + 0 2.56 u(t -δ 1 (t)), y(t) = [ 1 0 ] x(t).

We have continuously tested the RTT (round-triptime) between the two PCs in the daytime and nighttime by the protocol ICMP (Internet Control Message) as respectively showed in Fig. A.2 and Fig.A.3. According to Fig.A.4, more than 95% round-timetrip(RTT) are less than 60ms. From these tests, an evaluation of the maximal time delay is obtained. So in the system, considering the characteristics of Internet, Bluetooth transmission delays and the time delay for applying the strategy combined with the sampling time, we take the value δ 1 = δ 2 = 0.08sec.,and µ1 = µ2 = 0.02sec.

The gains K and L have to be computed in such a way they exponentially stabilize the global Master-Slave-Observer system despite the variable delays δ 1 (t) and δ 2 (t). We get α = 3 if the gain L is chosen as: L = -0.9119 -0.0726 .

The gain K is chosen as: K = -0.9125 -0.0801 .

Result obtained in Matlab/Simulink

The results in Fig. 6 and Fig. 7 are obtained from Matlab/Simulink according to the delay variation law. On Fig. 6, the continuous model of the observer x corresponds to the blue and red curves, while the sampling instants correspond to the blue and red dots. The blue output is driven to its set value (dark-blue steps).

Result of centralization experiment

In the experiment of the Master-Slave program on the same computer, 0.1 second was chosen as the maximum time delay h 1m which includes sampling and transmission delays. The result is shown in Fig. 8, in which the blue curve represents the consign tasks; the red and green represent motor estimated state; the dot lines correspond to the real motor state. Fig. 9 represents the sampled control data send to Slave.

In this experiment, the system clock is unique, so the situation is totally in accordance with the theory and the results are similar to the simulation ones.

From the graph Fig. 8, we can see that the time instance of the consign being implemented has a little retard in accordance with h 1m .

Result of remote experiment

The experiment is done on two computers separated about 40 kilometers away. We first synchronized the time of two computers by the NTP(Network Time Protocol). We choose the same time pool server, europe.pool.ntp.org. Then the Master program runs on the remote computer with an advanced computing capability, the slave program on the local one together with the Miabot. We get almost the same figure as these results of centralization experiment.

CONCLUSION

The experimental results confirm the theory and exponential stability is obtained. Both in the local and distance experiments confirm the theory and the Miabot follows the given instructions. To be adapted to more general situation of the Internet, we can augment grand h 1m while diminishing the value of α. When α is fixed as 0, we get the most grand time delay through the Internet which is tolerated by the system, h 1m should be no more than 1.9sec. Note that, we make the experiment after synchronization by NTP, but after running a long time, we can not guarantee the perfect same time in the two PCs. So, we consider two ways to solve the problem. One way is to find a solution for synchronizer two PCs in the long term, another way is to include the clock difference as a form of additional time delay and to take it into account in the control. The work is on progress.

  Fig. 1. Structure of the global system

Fig. 2 .

 2 Fig. 2. Control data processing

Fig. 5 .

 5 Fig. 5. Structure of the Slave means there is disorder of the packets through Internet, then the data is discarded. If there are several packets lost, as we have a high frequency of the Master's SenderThread, it has little effects on the whole performance of the system. (b) SendThread includes a function to get the real position of the Miabot. Considering the character of the motor, we choose a time period T 2 for this thread as 0.1 second. In every circulation, it look for the control data to be applied in list_Y and then send it to the Miabot by the port of Bluetooth. The state data of the Miabot is then sent to the Master.

  Fig. 6. Simulation results

Fig. 9 .

 9 Fig. 8. Results of centralization experiment