Abdelkarim Ammar

Aissa Kheldoun

Brahim Metidji

Tarek Ameid

Younes Azzoug

Tarek Amied

Feedback linearization based sensorless Direct Torque Control using stator flux MRAS-sliding mode observer for induction motor drive

Keywords: Induction motor, Direct Torque Control, Feedback Linearization, Sliding Mode Observer, Model Reference Adaptive System, Sensorless control

published or not. The documents may come

Feedback linearization based sensorless direct torque control using stator flux MRAS-sliding mode observer for induction motor drive

Introduction

The Direct Torque Control (DTC) offers many advantages, such as simplicity, fast response and less sensitivity to machine parameters when it is compared to the field oriented control (FOC) [START_REF] Casadei | FOC and DTC: Two viable schemes for induction motors torque control[END_REF]. The integration of the space vector modulation (SVM) instead of the switching table in the DTC control scheme was a very helpful solution [START_REF] Lascu | Combining the Principles of Sliding Mode, Direct Torque Control, and Space-Vector Modulation in a High-Performance Sensorless AC Drive[END_REF]. SVM based-DTC offers fixed switching frequency, higher DC voltage utilization ratio and lower harmonics distortion [START_REF] Attique | A Survey on Space-Vector Pulse Width Modulation for Multilevel Inverters[END_REF]. Therefore, it provides reduced ripples and lower switching losses, unlike conventional DTC. However, SVM-DTC relies on linear proportional-integral (PI) controllers and the fieldoriented reference frame [START_REF] Saberi | Improved sensorless direct torque control method using adaptive flux observer[END_REF]. The latter requests coordinates transformation which increases the complexity of the control's algorithm. Besides, the linear controllers can be not sufficient to deal with a high degree of uncertainty like the nonlinear coupling of the machine, external disturbances or parameters variation [START_REF] Liu | Combined Speed and Current Terminal Sliding Mode Control With Nonlinear Disturbance Observer for PMSM Drive[END_REF][START_REF] Ammar | Performance improvement of direct torque control for induction motor drive via fuzzy logic-feedback linearization[END_REF]. In order to address these problems and improve the motor control ability and variables decoupling, several control theories have been arisen, in which the robust nonlinear control techniques are widely mentioned in automatic and electrical drives field. Among these, the input-output feedback linearization (IOFL) is a popular method [START_REF] Lascu | Direct Torque Control With Feedback Linearization for Induction Motor Drives[END_REF][START_REF] Lozada-Castillo | Robust control of uncertain feedback linearizable systems based on adaptive disturbance estimation[END_REF]. The feedback linearization is a model-based approach which can disappear the coupling effect and improve the control performance. It converts the nonlinear system into an equivalent linear to become simpler for control design [START_REF] Yazdanpanah | Nonlinear torque and stator flux controller for induction motor drive based on adaptive input-output feedback linearization and sliding mode control[END_REF][START_REF] Ammar | Nonlinear SVM-DTC for induction motor drive using input-output feedback linearization and high order sliding mode control[END_REF].

IOFL has been suggested to improve SVM-DTC in several works [START_REF] Choi | Feedback Linearization Direct Torque Control With Reduced Torque and Flux Ripples for IPMSM Drives[END_REF][START_REF] Zhang | Novel Direct Torque Control Based on Space Vector Modulation With Adaptive Stator Flux Observer for Induction Motors[END_REF]. It can guarantee a good decoupling of the motor torque Journal Pre-proof and stator flux. In addition, it reduces the design complexity by avoiding the coordinate transformation. Thus, this control method gives a possibility to get better behavior in both dynamic and steady states [START_REF] Accetta | Robust control for high performance induction motor drives based on partial state-feedback linearization[END_REF].

However, the application of advanced control strategies needs an accurate speed and flux measurement or estimation for closedloop control design. The measurement process is associated with several difficulties especially the high cost and the fragility of the sensors. Besides, the physical environment sometimes does not tolerate to use sensors [START_REF] Gómez-Peñate | Sensor Fault Diagnosis Based on a Sliding Mode and Unknown Input Observer for Takagi-Sugeno Systems with Uncertain Premise Variables[END_REF]. Hence, eliminating them to reduce the cost and the volume of the drive system and to increase its reliability is of utmost importance. Various model-based approaches have been proposed in the literature for sensorless control of AC electrical drives [START_REF] Salim | Sensorless passivity based control for induction motor via an adaptive observer[END_REF]. Which can estimate the motor speed in closed loop using only the instantaneous measurement of voltages and currents. Full order observers and Kalman filters [START_REF] Barut | Speed-Sensorless Estimation for Induction Motors Using Extended Kalman Filters[END_REF][START_REF] Pimkumwong | Full-order observer for direct torque control of induction motor based on constant V/F control technique[END_REF] are amongst these approaches. Moreover, the sliding mode theory has proven its effectiveness in estimation as well as in the controllers design [START_REF] Ghanes | On Sensorless Induction Motor Drives: Sliding-Mode Observer and Output Feedback Controller[END_REF][START_REF] Ye | Fuzzy sliding mode observer with dual SOGI-FLL in sensorless control of PMSM drives[END_REF]. It can be selected due to its many advantages such as ease of implementation, high robustness and low computation requirements [START_REF] Ammar | Sensorless SVM-Direct Torque Control for Induction Motor Drive Using Sliding Mode Observers[END_REF].

To this, diverse structures of sliding mode observers (SMOs) have been proposed during the last decade for speed and flux estimation [START_REF] Trabelsi | Backstepping control for an induction motor using an adaptive sliding rotorflux observer[END_REF][START_REF] Barambones | Position Control of the Induction Motor Using an Adaptive Sliding-Mode Controller and Observers[END_REF]. In general, sensorless algorithms in motor drives work well in the medium and high-speed ranges but lacks accuracy and robustness at very low speeds particularly around zero excitation frequency. In fact, in the low-speed range, the drive becomes unstable and the torque capability decreases which cause an inaccurate speed regulation. Some developed SMOs designs do not employ the speed adaptation scheme have been proposed in [START_REF] Rehman | A new current model flux observer for wide speed range sensorless control of an induction machine[END_REF][START_REF] Lascu | A Class of Speed-Sensorless Sliding-Mode Observers for High-Performance Induction Motor Drives[END_REF]. This means that they do not take the speed as an adaptive quantity. In these observers, the speed estimator is completely separated from the main flux observer in order to increase the accuracy at low rotor speed and to reduce observer complexity [START_REF] Ammar | Sensorless SVM-Direct Torque Control for Induction Motor Drive Using Sliding Mode Observers[END_REF]. Usually, these types of observers use an open-loop estimator based on flux derivation to reconstruct the rotor speed. This derivation may be sensitive to noise which needs to be filtered out.

However, the overuse of filters introduces a delay in the signal acquisition and this may lead to undesirable effects. In this work, a model reference adaptive system (MRAS) estimator is associated with the sliding mode observer to carry out the speed estimation.

Where, the stator flux sliding mode observer will takes the place of the reference voltage model of MRAS. The stator-flux based MRAS is adopted to be more suitable for DTC control design and to reduce observer complexity [START_REF] Zorgani | MRAS state estimator for speed sensorless ISFOC induction motor drives with Luenberger load torque estimation[END_REF].

The main goal of this paper is to design an improved sensorless direct flux and torque control for induction motor drives. The algorithm is composed of a feedback linearization controller that is associated with MRAS-sliding mode observer for flux and speed estimation. The performance of the proposed control and estimation strategies are investigated through simulation using MATLAB/Simulink software and validated through experimental implementation using dSpace 1104 real-time interface (RTI). This paper is organized as follows: Section 2 presents the induction machine mathematical model while section 3 is devoted to the design of the direct torque control via the feedback linearization and the space vector modulation. The design of sliding mode flux observer with the open loop speed estimator is given in Section 4. After that, Section 5 presents the association of the model reference adaptive system with SMO. Simulation results of the proposed control and estimation techniques together with their discussions are given in section 6. Section 7 presents the results of the experimental validation and finally, the paper ends up with a general conclusion.

Nomenclature

DTC SVM IOFL SMC SMO i sα i sβ V sα V sβ ψ sa ψ sβ ψ ra ψ rβ R s R r L s L r T s T r σ M sr ω r K p , K i
ψ s p V 1 V 2 k 1 k 2 T z ω r T e T L V
di R R R i i V dt L L L L L L di R R R i i V dt L L L L L L d V R i dt d V R i dt d f T T dt J J                                            = - + - + + +           = - + + + - +         = -    = -    = - -   (1)
Knowing that J and f r are the inertia moment and the friction coefficient respectively.

The electromagnetic torque is expressed by: ()

e s s s s T p i i      =- (2)
3 Sliding mode observer design for flux and speed estimation

The Sliding mode observers provide high effectiveness due to a number of advantages such as high robustness, simple implementation and reduced computation requirements. The proposed SMO design in this work does not employ the speed Journal Pre-proof adaptation scheme [START_REF] Barambones | Position Control of the Induction Motor Using an Adaptive Sliding-Mode Controller and Observers[END_REF]. Contrary to the conventional adaptive observers, this observer means does not take the rotor speed as an adaptive quantity, where the speed estimator is separated completely from the main observer. This increases the accuracy in a widespeed-range operation and reduces the design complexity [START_REF] Rehman | A new current model flux observer for wide speed range sensorless control of an induction machine[END_REF][START_REF] Lascu | A Class of Speed-Sensorless Sliding-Mode Observers for High-Performance Induction Motor Drives[END_REF] The SMO is based on the state model of induction motor. The presented IM in (1) can be written in complex from as the following:

s s s r s s s r s s s s d d d 1 1 d s r r s r r R i j V t iR R R i j V t L L L L L         = - +        = - + + - +         (3)
In this observer, the back-emf terms rs ()  are considered as disturbances. Then, the model of observer being shown in Fig. 1 can be expressed as follows:

s s i ss rr i s r r R i V K S t di R RR i V K S dt L L L L L L         = + -      = - + + + -     (4)

S

i is the sliding surface of the current error.

In the SMO, the traditional sign function is replaced by a softer function related to sigmoid function sigm(S) to reduce the

chattering effect 2 ( ) 1 1e S sigm S   =- +  (5)
δ is a small positive constant which adjusts the sigmoid function slope.

The PI controller is added just to impose faster desired error convergence, where the sliding surface is given by:

( ) i p s s ŝ i K S K i i s  = + -   (6)
By using Lyapunov candidate function and IM and SMO models presented in (3) and ( 4), the gain K can be given as:

( )

s rs max r K e T   - (7)
where ˆs e  is the flux estimation error.

ŝ

ss e   =- (8)
The advantage of this SMO is that the rotor speed quantity is unrelated with observer design and when it is needed it can be computed easily by the following open-loop speed estimator (OLSE) expression:

l r se r r s s r r 22 rr d d 1 ˆˆˆˆˆ. dd RT tt p             = - = - -   (9)
ω s , ω sl are the stator magnetic field and slip angular velocities respectively.

Proposed stator flux-MRAS association for speed estimation

In practice, the measured signals mostly contain noises. Besides, the sensors themselves introduce a DC-offset that can saturate the integrators employed in the estimations [START_REF] Alsofyani | A review on sensorless techniques for sustainable reliablity and efficient variable frequency drives of induction motors[END_REF]. However, the simulation shows a smooth estimation and no filtering is actually needed. The main drawback of the open loop speed estimator (OLSE) from the last section is the need of low pass filter is speed estimation process because that the computation of the rotor flux derivative is sensitive to noise. The use of LPF in the experimental implementation adds a delay in the feedback portion of the control system. Moreover, for excessive filtering, the system has been driven to instability, especially at low speeds.

In this section, the proposed scheme is a combination of SMO and MRAS theory, where the open-loop estimator is substituted by a model reference adaptive system (MRAS) for speed estimation. The classical structure of MRAS observer contains two parts, the reference model and the adaptive model, in addition to the adaptation mechanism [START_REF] Tarchala | Equivalent-Signal-Based Sliding Mode Speed MRAS-Type Estimator for Induction Motor Drive Stable in the Regenerating Mode[END_REF]. In this work, the proposed modification consists in using the previous sliding mode observer as a reference model in MRAS, Then, the estimated flux quantities will be compared to those estimated by the adaptive model for speed computation. The presented MRAS design in this work focuses on a stator flux model instead of the rotor flux model in order to be more suitable for the DTC control algorithm.

The estimated flux components through the sliding mode observer are considered as a reference model:

( ) ( ) s s s s s s ˆsign ( ) ˆsign ( ) s s si si R i V K S R i V K S            = + -    = + -    (10)
The adjustable model is expressed as follows:

( ) ( ) ˆŝ r s s r s r r s r s r r r s r s s r s r r s r s r r r L L L i R L s i R L s L L L L i R L s i R L s L                        = + + -    +        = + + -    +    (11)
The error between the reference and the adaptive mode can be given by:

ˆs s s s             = -    = -   (12)
The error in ( 12) is used to drive a suitable adaptation mechanism to generates the estimated speed quantity [START_REF] Schauder | Adaptive speed identification for vector control of induction motors without rotational transducers[END_REF]. By subtracting the adjustable model from the those obtained by the sliding mode observer, we obtain the following state error equations:

( )

1 ˆ1 r s s s r rr s s s r r Li T Li T             --  -       = + -       -       -   (13)
Then, ( 13) can be written as:

       AW  =+ (14)
The hyperstability of the system is assured if the transfer matrix in the forward path of the is strictly real positive and the nonlinear block in the feedback path satisfies Popov's criterion [START_REF] Zorgani | MRAS state estimator for speed sensorless ISFOC induction motor drives with Luenberger load torque estimation[END_REF][START_REF] Schauder | Adaptive speed identification for vector control of induction motors without rotational transducers[END_REF].

Popov's criterion requires:

    2 0 t T W dt    ( 15
)
with t ≥ 0 and γ is a positive constant.

The error function ε has the form of a vector inner product that is independent to the reference frame in which the vectors are expressed. It may be represented by the following linearized expression:

( ) ( ) ˆŝ s s s s s s i i L                 = - - - (16)
Finally, the motor speed is estimated as:

ˆr p i K K dt    =+  (17)
The final form of the associated MRAS-Sliding mode observer is given in the following complex form:

r p i R i V K S t di R RR i V K S dt L L L L L KK            = + -      = - + + + -      =+  (18)
The block diagram of the association of MRAS estimator with SMO is presented in Fig. 2.

Sensorless control design for induction motor based on feedback linearization and MRAS-SMO

Direct flux and torque control design using feedback linearization

In this section, the feedback linearization direct flux and torque control is proposed as a main control configuration. This method uses an inverse transformation to obtain the desired control for the original nonlinear system and achieve a decoupled flux and torque control [START_REF] Zhang | Novel Direct Torque Control Based on Space Vector Modulation With Adaptive Stator Flux Observer for Induction Motors[END_REF]. This feedback linearization is considered as presented in [START_REF] Ammar | Performance improvement of direct torque control for induction motor drive via fuzzy logic-feedback linearization[END_REF][START_REF] Ammar | Nonlinear SVM-DTC for induction motor drive using input-output feedback linearization and high order sliding mode control[END_REF], where, the assumed system outputs are the electromagnetic torque and the square of stator flux magnitude.

The control objectives are defined as: () Using the IM model presented in [START_REF] Casadei | FOC and DTC: Two viable schemes for induction motors torque control[END_REF], the relationship between the input and the output can be found using the presented model as:

e s s s s s s s T p i i          =-    =+   (19)
* 1 * 2 () e s T s s e V F x F e V          = = +          e C (
F p i i i i L F R i i                        = - - + - -    =-  ( ) 2 2 s s s s s s s s p i p i L L x                   - - -         =         -   C ** , ss
VV  are the reference voltage components.

The determinant of the matrix C(x) is computed as follows: [START_REF] Barambones | Position Control of the Induction Motor Using an Adaptive Sliding-Mode Controller and Observers[END_REF] where: ψ rα , ψ rβ are rotor flux components.

det( ) [ ] sr s r s r sr M p LL          =+ C(x)
As long as matrix C(x) is a non-singular, the system is said to be linearizable [START_REF] Zhang | Novel Direct Torque Control Based on Space Vector Modulation With Adaptive Stator Flux Observer for Induction Motors[END_REF]. Therefore, the desired dynamics can be imposed on it.

The input-output feedback linearized system will be expressed as:

( ) * 11 * 22 s s V FV x FV V   -  -+   ==  -+    1 s VC (23)
V 1 and V 2 are assumed auxiliary inputs to ensure better tracking accuracy and reach the desired behavior for the stator flux magnitude and the torque. For positive values of k 1 and k 2 , the asymptotic stability can be guaranteed and therefore the tracking errors will have an exponential convergence. The appropriate selection of these gains affects a lot on control performance [START_REF] Choi | Feedback Linearization Direct Torque Control With Reduced Torque and Flux Ripples for IPMSM Drives[END_REF].

The feedback linearization control law (23) can be rewritten as follows:

()

- =-1 s aux V C (x) F + V (25)
with

1 2 F F  =   F and 1 2 V V  =   aux V
The control law should be chosen to satisfy the Lyapunov stability's condition. Hence, the Lyapunov candidate function for MIMO systems is:

Journal Pre-proof 1 2 T V e e = (26)
The time-derivative of Lyapunov function is given by:

T V e e = (27)
The stability condition 0 V  has to be verified. By substituting [START_REF] Rehman | A new current model flux observer for wide speed range sensorless control of an induction machine[END_REF] in the derivative of Lyapunov function we can obtain: [START_REF] Schauder | Adaptive speed identification for vector control of induction motors without rotational transducers[END_REF] and this results in the following:

22 12 es T V k e k e  = - - (29)
For 1 k and 2 k being positive, the derivative V is always negative which guarantees an asymptotical convergence of errors to zero and subsequently ensures the stability of the control system.

Stability analysis of the closed-loop system

To implement the global control algorithm, the flux observer must is initialized firstly with initial conditions different from zero in order to avoid the singularity in the matrix C(x) [START_REF] Soltani | A new adaptive Direct Torque Control (DTC) scheme based-on SVM for adjustable speed sensorless induction motor drive[END_REF]. Therefore, an offset of 0.005Wb is added to the estimated flux. Then, the measured speed and flux must be replaced by their equivalents estimated quantities in the feedback linearization controller ( 23) [START_REF] Ghanes | On Sensorless Induction Motor Drives: Sliding-Mode Observer and Output Feedback Controller[END_REF][START_REF] Guezmil | Experimental Investigation of Passive Fault Tolerant Control for Induction Machine Using Sliding Mode Approach[END_REF]. The estimated quantities are marked by the hat (^) sign:

( ) ( ) * 11 s * 22
ˆ, i ,

s sr s V FV x FV V    -  -+   ==  -+    1 s VC (30)
With:

2 1 2 [ ( ) ( ) ] ˆ2 ( ) r s s s s r s s s s s s s s s s s F p i i i i L F R i i                        = - - + - -    =-  ( ) ˆ2 2 s s s s s s s s p i p i L L x                   - - -         =         -    

C

The torque and the flux tracking error can be given by:

( ) s 2 2 , i ˆê s T e e s ss e T T e     =-    =-  (31) * 1 * 2 ˆ() ˆes T s s e V F x F V e           = = +         e C (32)
Journal Pre-proof

By substituting [START_REF] Guezmil | Experimental Investigation of Passive Fault Tolerant Control for Induction Machine Using Sliding Mode Approach[END_REF] in (32), the controller dynamics become: ) and the estimation errors exponentially reaches to zero. Then, it can be proved that the real values of the stator flux and torque will also exponentially converge to their reference values.

Simulation results

The proposed control algorithm has been verified through numerous simulation tests using MATLAB/Simulink software. The considered machine for simulation and experimental implementation later is a three-phase 1.1 kW squirrel-cage induction motor, its parameters are given in the appendix section. The obtained simulation results investigate the performance of the feedback linearization based-direct torque control and the estimation accuracy of the associated MRAS-sliding mode observer (MRAS-SMO).

The proposed observer is compared with two other observer structures, a full-order adaptive observer as presented in [START_REF] Pimkumwong | Full-order observer for direct torque control of induction motor based on constant V/F control technique[END_REF] and Journal Pre-proof Fig. 4 illustrates the from top to bottom the motor speed response and estimation errors to the step input of (1000 rpm) without load. It can be seen that the estimated speed follows the real speed for all three observers. The adaptive observer in Fig. 4(a) shows a good superposition between the real and estimated speed quantities in the transient state, while the OLSE-SMO shows better static error convergence in the steady state. Further, the association of MRAS-SMO provided better estimation accuracy and could eliminate the error in both transient and states. This can be more justified by comparing to the estimation errors which are depicted in the bottom of the Fig. 4(a-b-c), it shows that the MRAS-SMO has the fastest convergence and the most minimized error than the other observers. In Fig. 5, the estimated stator flux is shown. The figure presents the flux magnitude and axis components for the three observers. Since the stator flux magnitude is forced by the control algorithm, all observers show an accurate estimation and good waveform for stator flux.

Next, the low-speed operation simulation results are illustrated in Figs. [START_REF] Ammar | Performance improvement of direct torque control for induction motor drive via fuzzy logic-feedback linearization[END_REF], where a speed variation from 50 rpm to 25 rpm has been conducted. It can be seen that the adaptive observer shows an important overshoot, unstable behavior and considerable error during the low-speed condition in Fig. 6(a), as it can be seen that the OLSE-SMO shows an acceptable superposition between speed quantities with some fluctuations in Fig. 6(b). However, it is clear from Fig. 6(c) that the associated MRAS-SMO has better estimation and more precise superposition between speed quantities than the two previous observers. All these remarks can be confirmed from the estimation errors which displayed in the bottom of Fig. 6(a-b-c). The zero-speed test's results are shown in Fig. 7.

The MRAS-SMO has better estimation accuracy during the speed variation compared to the adaptive observer and OLSE-SMO. At zero speed state, the proposed observer structure in Fig. 7(c) has kept a correct estimation at zero speed/frequency values with reduced static error or overshoot.

The last test is presented in Figs.8, it evaluates the speed estimation under a variable speed reference profile (industrial benchmark). This test can comprise all the previous tests. Fig. 8 shows the rotor speed estimation and estimation errors of all observers under a variable reference from zero to medium speed (500 rpm) to high-speed value (1200 rpm). It can be realized that the adaptive observer shows high error during the steady state in Fig. 8(a), while the OLSE-SMO provides high estimation error at variable states and eliminates this error in the steady state in Fig. 8(b). The MRAS based sliding mode observer in Fig. 8(c) provides the best estimation and speed superposition during speed reference variations. Furthermore, it has provided the most reduced estimation error in dynamic state operation and very quick convergence in steady state. Journal Pre-proof

Experimental validation

The experimental results are obtained with the aid of software/hardware linking of MATLAB/Simulink/dSpace 1104 interface.

The main components composing the experimental test rig of the proposed structure (Fig. 9) are: a squirrel-cage IM 1.1 kW (1), power electronics Semikron converter (2), position and speed sensor (incremental encoder type) being used to compare the measured speed with the estimated speed quantity (3). The proposed control algorithm is implemented using a dSpace dS 1104 controller [START_REF] Saberi | Improved sensorless direct torque control method using adaptive flux observer[END_REF] with the help of MATLAB/Simulink/Control desk software being plugged into a personal computer [START_REF] Liu | Combined Speed and Current Terminal Sliding Mode Control With Nonlinear Disturbance Observer for PMSM Drive[END_REF]. The motor is associated with a magnetic powder brake to vary the load using a load control unit [START_REF] Ammar | Performance improvement of direct torque control for induction motor drive via fuzzy logic-feedback linearization[END_REF]. Hall effect current sensors [START_REF] Lascu | Direct Torque Control With Feedback Linearization for Induction Motor Drives[END_REF] are used to measure current while LEM voltage sensors ( 8) are used to measure voltage and both displayed on a digital scope [START_REF] Yazdanpanah | Nonlinear torque and stator flux controller for induction motor drive based on adaptive input-output feedback linearization and sliding mode control[END_REF].

The conducted tests in this section are the same as the considered tests in simulation section. Journal Pre-proof overshoot. In addition, the static error has been minimized. Fig. 12 illustrates the observed stator flux magnitude (1div =0.5 Wb) and its axes components (1div =1 Wb). The flux magnitude is forced by the control algorithm in closed loop, therefore, All observers show an accurate estimation and good waveform for stator flux.

Then, in Fig. 13, a speed variation test has been conducted at very low speed values (50 rpm to 25 rpm (≈2.61 rad/s)), (1div=50 rpm). Fig. 13 illustrates that the adaptive observer and OLSE-SMO suffer from high oscillations and instability in speed estimation owing to the sensitive nature of the speed estimation process. This phenomenon is clearly shown in experimental results compared to the simulation due to presence of real noises and offsets in acquired signals. In the other hand, one can see that the main improvement of using the MRAS-SMO (Fig. 13(c)) is more evident when dealing with noises and offsets. In fact, MRAS has solved the problem of the sensitivity to noise of the SMO at low speed operations regions. The figure shows also that the estimated and the measured speed are in good agreement without altering stability and generating fluctuations.

The zero-speed test is presented in Fig. 14. All observers show stable speed estimation at zero speed/frequency (0 rmp;0 Hz).

The speed value is almost correct even when the machine stops rotation. Finally, the variable speed profile (benchmark) test is illustrated in Fig. 15. This test summarizes all the previous speed tests. It can be seen that the obtained result looks the same with those obtained with the same test in simulation section. The adaptive observer manifests a minor error during the instantaneous variation of speed but it could not minimize this error in the steady state, whilst, the OLSE-SMO manifests some fluctuations and errors during the variation of speed. The associated MRAS-SMO in Fig. 15 (c) shows perfect superposition and reduced error between speed quantities. Furthermore, it is more stable during speed variation compared to the other two observes in Fig. 15 (a-b).

As a matter of fact, different problems arise in the experimental phase of the sensorless control that were not present in the simulation phase. This is due to the ideality of modeling and the absence of measurement noises or other influential factors. One can understand that the real limits of the adaptive observer and SMO with the open loop speed estimator appear in the real implementation.

As a summary, the SMO presents a better estimation than the adaptive full order in most of the tests in the steady state due to its inherent structure. Some problems appear in the experimental results at low speeds (oscillation and inaccuracy) due to high sensitivity of speed estimator to noise. The proposed solution for SMO performance improvement by the conjunction of MRAS combines the advantages of both algorithms and provides a more accurate estimation.

Conclusion

This paper has presented a new sensorless control algorithm for performance enhancement for direct torque control driven induction motor. The proposed algorithm consists of the association of the feedback linearization-based controller to a combined MRAS-Sliding mode observer. The decoupled flux and torque control has been achieved using feedback linearization approach which generates appropriate reference voltages. While various sensorless algorithms have been designed for flux and speed reconstruction. The simulation and experimental results have been retrieved using dSpace 1104 board. Different tests have been conducted to check the control stability and robustness and the estimation accuracy of the different observers, such as starting up, at the low-speed range and with variable speed profile (i.e. benchmark trajectory). The use of nonlinear control strategy instead of linear controllers has given better advantages like a fast response, simplicity in control application and good reference tracking in different operation conditions. However, several problems have been shown during the experimental implementation due to sensorless control. In particular, at low speeds due to the presence of measurement noises, filter delays and many other influential factors. For this reason, a proposed structure has been presented to improve the performance of the SMO. An MRAS estimator is injected to replace the open-loop estimator in order to improve speed estimation and to reduce observer sensitivity, especially in very low regions.

The results show that the traditional observer structures show high sensitivity and important errors at low-speed tests, while the MRAS-SMO has kept its good accuracy and smooth response. Besides, the industrial benchmark test, prove the weakness of the adaptive observer and OLSE-SMO in variable states. Contrariwise, the MRAS-SMO has a perfect speed quantities superposition. In general, the combination of a nonlinear control algorithm with DTC principles can solve the traditional control problems. Moreover, the conjunction of MRAS with SMO as a sensorless speed estimation algorithm preserves high accuracy and stability even in hard condition. That is, it can improve comprehensively the performance of the sensorless drives.

Fig. 1

 1 Fig.1 Sliding mode stator flux observer

Fig. 2

 2 Fig.2 Association of Stator Flux model-MRAS speed observer with SMO.

  ψs : torque and flux tracking errors.

  errors given in (33), at t = T s , the observer converges (i.e. ˆss

Fig. 3 Fig. 3

 33 Fig.3shows the system configuration of the proposed sensorless control scheme using nonlinear IOFL-DTC with stator flux based MRAS-sliding Mode observer. For speed control an anti-windup PI controller is used. The space vector modulation (SVM) is considered for inverter switching control.

  basic sliding mode observer with open loop speed estimator (OLSE-SMO). The following figures present the estimated speed and estimation errors under different conditions without load application. (a) for the adaptive observer, (b) for the sliding mode observer with OLSE (OLSE-SMO) and (c) for the associated MRAS-sliding mode observer (MRAS-SMO).

Fig. 4

 4 Fig.4 Starting and steady state operations: real and estimated rotor speeds with estimation error [rpm].

Fig. 5 Fig. 6

 56 Fig.5 Estimated stator flux magnitude and components [Wb].

Fig. 7 Fig. 8

 78 Fig.7 Real and estimated speeds under zero-speed operation test.

Fig. 9

 9 Fig.9 Test bench description.

Fig. 10

 10 Fig.10 shows a descriptive diagram of experimental setup and software/hardware linking. The dSpace 1104 board is an inputoutput (I/O) interface between the power electronics devices and the software part (i.e. MATLAB/Simulink). For each sampling period, the dS1104 receives the input signals from the different sensors (currents, voltages and rotor speed) and generates the digital control signals. These signals are provided by MATLAB/Simulink program with the real-time interface (RTI). The real-time interface gives the access to adjust all control variables in order to obtain a desirable behavior. The sampling frequency of dSpace 1104 can reach to 20 kHz. The suitable choice of sampling frequency has an apparent influence on quality of output signals.

Fig. 10

 10 Fig.10 Descriptive block diagram of the dSpace based experimental setup. The experimental results investigate the association of the feedback linearization-based DTC strategy with different sensorless algorithms (i.e. a: full order adaptive observer, b: sliding mode observer with open loop speed estimator (OLSE-SMO) and c: associated MRAS sliding mode observer (MRAS-SMO)) under the same previous conditions to validate the simulation results. The following figures present the speed estimation and estimation errors without load application.

Fig. 11

 11 Fig.11 Motor starting and steady state operation: measured and estimated rotor speeds with estimation errors [rpm].

Fig. 13

 13 Fig.13 Measured and estimated speeds at low speed operation (50 rpm;25 rpm) with estimation errors.

Fig. 14

 14 Fig.14 Measured and estimated speeds under zero-speed operation test with estimation errors.

Fig. 15

 15 Fig.15 Measured and estimated speeds under variable profile test (benchmark) with estimation errors.

Fig. 11

 11 Fig.11shows the rotor speed at the starting for the driven IOFL-DTC induction motor with three observers. The adaptive observer in (Fig.11(a), OLSE-SMO in (Fig.11(b)) and MRAS-SMO in Fig.11(c)). It can be observed that before the starting up instant, the adaptive observer has initial estimated speed and error values. This phenomenon has not arisen previously in simulation results, it is caused mainly by the measurement noise (Current and voltage sensors). Contrariwise, OLSE-SMO and MRAS-SMO have avoided this problem due the separated structure of speed estimator. It can be deduced also that MRAS-SMO provides smoother starting and better accuracy in the transient state compared to the OLSE-SMO observer which shows a considerable

  [START_REF] Trabelsi | Backstepping control for an induction motor using an adaptive sliding rotorflux observer[END_REF]

	With:
	1	[ (	s s	s s	)	r	(	s s	s s	)	r	s	2	]
											s
	2	2 ( s	s s	s s	)
						𝑉 𝑠𝛼𝛽			Sliding Mode
						𝑖 𝑠𝛼𝛽				Observer (4)	𝜓 𝑠𝛼𝛽
														𝑖 𝑠𝛼𝛽
												𝜔 ෝ 𝑟	Eq(16)
														𝜓 ෨ 𝑠𝛼𝛽
										Adaptive Model

PI

Journal Pre-proof

Table . 1

 . Table.1 summarizes and recapitulates the comparison in terms of speed estimation accuracy between the three observers. Comparative analysis between OLSE and MRAS based SM observers.

	Observer	Adaptive observer	OLSE-SMO	Associated MRAS-SMO
	Static error (%)	≈ 0.5%	≈ 0.1%	≈ 0.06%
	Dynamic error (%)	≈ 0.092%	≈ 0.25%	≈ 0.083%

Journal Pre-proof

Appendix

The parameters of the three-phase Induction motor, employed for the simulation and the experimental implementation, in SI units are:


Abdelkarim Ammar
email: ammar.abdelkarim@yahoo.fr

Billel Talbi

Tarek Ameid

Younes Azzoug
email: azzougyounes@yahoo.fr

Abdelaziz Kerrache

Amor Bourek

Abdelhamid Benakcha

Predictive direct

Keywords: Induction Motor (IM), Direct Torque Control (DTC), Predictive Torque Control (PTC), Fuzzy Logic Controller, dSpace 1104

come

I. INTRODUCTION

The Direct Torque Control (DTC) replaces the field oriented control (FOC) in high performance AC machines drive field [START_REF] Takahashi | A New Quick-Response and High-Efficiency Control Strategy of an Induction Motor[END_REF], [START_REF] Casadei | FOC and DTC: Two viable schemes for induction motors torque control[END_REF]. DTC offers a simpler scheme, faster response and less dependence to machine parameters. However, due to the use of hysteresis comparators for flux and torque control; a look-up switching table for voltage vector selection, the strategy shows high ripples and harmonics. They can lead to an acoustical noise and decrease the performance of the controlled machine especially at low speed regions.

In order to overcome the aforementioned problems and improve the performances of DTC, various proposed solution have been presented in the last few decades, such as multilevel converters, artificial intelligence techniques [START_REF] Panda | A Three-Level Fuzzy-2 DTC of Induction Motor Drive Using SVPWM[END_REF] and fixed switching frequency modulation techniques like the space vector modulation (SVM) [START_REF] Ammar | Closed loop torque SVM-DTC based on robust super twisting speed controller for induction motor drive with efficiency optimization[END_REF]. SVM preserves a constant switching frequency which can reduce torque/flux ripples and switching losses. However, the application of SVM can increase control algorithm complexity which lead to an extensive software/hardware computational requirement.

Recently, another method has been introduced and attracted a wide attention in the area of power converters and motor drives which is known by the Model Predictive Control (MPC) [START_REF] Rodriguez | Predictive Current Control of a Voltage Source Inverter[END_REF], [START_REF] Correa | Predictive Torque Control for Inverter-Fed Induction Machines[END_REF]. Nowadays, MPC has become a very popular research topic. It can be classified into two main categories, named by continuous and finite-state model predictive control (FS-MPC) [START_REF] Vazquez | Model Predictive Control for Power Converters and Drives: Advances and Trends[END_REF]. The continuous MPC can demonstrate good performance but it has high order of complexity and needs a modulator in control design (i.e. pulse width modulator (PWM) or space vector modulator (SVM)) [START_REF] Alkorta | Efficient Multivariable Generalized Predictive Control for Sensorless Induction Motor Drives[END_REF]. Contrariwise, FS-MPC eliminates the use of modulation block, it incorporates the converters model in the control design and respects its discrete nature [START_REF] Rodriguez | Predictive Current Control of a Voltage Source Inverter[END_REF]. The switching states are considered in order to minimize a predefined cost function which consists of the errors between references and predicted measured control variables.

The main applied finite-state model predictive control strategies for IM drive, are the predictive current control (PCC) and the predictive torque control (PTC) which have been proposed for the first time in 2007 [START_REF] Rodriguez | Predictive Current Control of a Voltage Source Inverter[END_REF], [START_REF] Correa | Predictive Torque Control for Inverter-Fed Induction Machines[END_REF]. PCC is expressed in the rotor field oriented reference where the coordinates transformation is a necessary process, whilst, PTC is featured by stationary reference frame. Hence, it is much simpler and keeps similar structure of traditional DTC, where the switching table is replaced by the online optimization procedure [START_REF] Zhang | Model predictive torque control of induction motor drives with reduced torque ripple[END_REF]. In finite state PTC (FS-PTC), torque and stator flux are predicted for the finite number of possible switching states of a power converter. The optimal choice of switching states which is obtained by actuating the cost function can reduce torque and flux ripples, therefore it can overcome the main DTC drawback. Then, the selected state is directly applied to the converter in the next sampling instant [START_REF] Habibullah | A Speed-Sensorless FS-PTC of Induction Motors Using Extended Kalman Filters[END_REF].

FS-PTC is also a closed-loop adjustable speed drive, where, the measured rotor speed is required as a feedback and compared to reference value for PI controller design. Another objective of this paper is to improve the speed control of PTC by a fuzzy logic controller (FLC). FLC can offer good response and accurate tracking without need the knowledge of the exact system model [START_REF] Ammar | Sensorless Stator Field Oriented-Direct Torque Control with SVM for Induction Motor Based on MRAS and Fuzzy Logic Regulation[END_REF]. Therefore, it will be used in this work instead of PI controller in the external loop for speed regulation and torque reference generation.

In this paper, a predictive torque control is presented for the goal of torque and flux ripple reduction. In addition, a fuzzy logic controller is associated in the external loop for speed regulation. The presented methods will be investigated through an experimental verification using Matlab/Simulink software with real-time interface (RTI) based on dSpace 1104.

II. INDUCTION MACHINE AND VOLTAGE INVERTER MODELS

A. IM Model

The dynamic equation's model of the induction machine can be expressed by the following complex form in the stator reference frame, (1), ( 2) and (3) present voltage, flux and electromagnetic equations respectively:

0 s s s s r r r r r d v R i dt d R i j dt ψ ψ ω ψ = + = + - (1)
s s s sr r r s r s r r L i M i M i L i ψ ψ = + = + (2)
{ }

Im e s s T p i ψ = ⋅ ⋅ (3)
Where: Rs and Rr are the stator and rotor resistances.

Ls, Lr and Msr are stator, rotor and mutual inductance.

r is the electrical velocity and p is the number of pole pairs.

B. Two-Level Voltage Source Inverter Model

In this work, a two-level voltage source inverter (VSI) fed the controlled IM. The voltage vector is generated by the following expression:

2 4 3 3 2 3 j j s d c a b c V V S S e S e π π = + + (4)
Vdc: is the DC link voltage The inverter's control bases on the logic values Si, where:

Si=1, i T is ON and i T is OFF. Si=0, i T is OFF and i T is ON.
with: i= a, b, c. There are eight possible positions from the combinations of switching states. Six are active vectors (V1, V2 … V6) and two are zero vectors (V0, V7). These eight switching states are shown as space vectors in Fig. 1.

III. BASIC DIRECT TORQUE CONTROL

Direct torque control achieves a decoupled control of the stator flux and the electromagnetic torque in the stationary frame. The selection of the switching states is made by restricting the flux and torque magnitudes within two hysteresis bands. The outputs of hysteresis comparators with the aid of lookup switching table determine an appropriate voltage vector for each commutation period [START_REF] Idris | A New Torque and Flux Controller for Direct Torque Control of Induction Machines[END_REF].

IV. FINITE-STATE PREDICTIVE TORQUE CONTROL (FS-PTC)

FS-PTC algorithm includes three main steps, the flux and torque estimation is first step. The second step is the prediction of the next-instant of current e T k + . The cost function optimization design is done finally [START_REF] Wang | Encoderless Finite-State Predictive Torque Control for Induction Machine With a Compensated MRAS[END_REF].

A. Stator Current, Flux and Electromagnetic Prediction

From the IM model, the stator current and the stator flux can be described as follows: ˆs

s s s d v R i dt ψ = - (5) 1 1 s s r r s r di i L k j v R d t T σ σ ω ψ = - ⋅ -⋅ - - (6)
Where:

kr=Msr/Lr , 2 s r r R R k R σ = + ⋅ , . s L L σ σ
= To predict the required signals (currents, flux and torque) into the next step, the Euler forward discretization equation is used:

( 1) ( ) z dx x k x k dt T + - ≈ (7)
After discretization with the sampling time Tz, the stator flux prediction can be obtained as: ˆ( 1) ( ) ( ) ( )

s s zs s zs k k Tv k R T i k ψ ψ + = + -⋅ (8)
The stator flux prediction can be obtained as:

( 1) 1 ( )

1 1 ( ) ( ) ( ) z z s s r r s r T T i k i k T T k j k k v k R T σ σ σ ω ψ + = - ⋅ + ⋅ ⋅ - + (
where * e T is the reference torque and ˆ( 1) e T k + is the predicted torque for a given switching state, * s ψ is the reference stator flux and ˆ( 1) s k ψ + is the predicted stator flux, and is the weighting factor which defines a trade-off between the torque and flux tracking [START_REF] Habibullah | A Speed-Sensorless FS-PTC of Induction Motors Using Extended Kalman Filters[END_REF].

Various approaches have been presented for solving weighting factor choosing problem. In this work, a modified cost function is considered as presented in [START_REF] Cortes | Guidelines for weighting factors design in Model Predictive Control of power converters and drives[END_REF]. This method modifies the expression (11) into the following (12):

* * 2 2 1 ( 1) ( 1)
e e s s en sn g T T k k T λ ψ ψ ψ = - + + - + (12)
Ten and sn are the rated values for the torque and flux, respectively.

C. Cost Function Extensions in FS-PTC Algorithm

In FS-PTC, the cost function can be extended by adding other control objectives and system constraints. For example, current limitation term Im is added in order to protect over current through the stator. This term is designed according to the maximum supportable current by the machine [START_REF] Habibullah | A Speed-Sensorless FS-PTC of Induction Motors Using Extended Kalman Filters[END_REF], [START_REF] Wang | Model-based predictive direct control strategies for electrical drives: An experimental evaluation of PTC and PCC methods[END_REF] as following:

max max , ( 1 ) 0, ( 1)
s m s if i k i I if i k i ∞ + > = + ≤ ( 13
)
imax is the maximum current rating of the IM. Thus, the complete cost function g for the controller is:

* * 2 2 1 ( 1) ( 1)
e e s s m en sn g T T k k I T λ ψ ψ ψ = - + + - + + (14)

D. Time-Delay Compensation

In simulation, the speed and stator current measurements are taken at the discrete instant k, and at the same time the optimum voltage vector ( ) s v k is applied to the machine. However, in experimental, the processor needs time to execute the algorithm [START_REF] Wang | Encoderless Finite-State Predictive Torque Control for Induction Machine With a Compensated MRAS[END_REF] . Hence, to implement a delay time compensation, the predicted stator flux, current and torque at instant k + 2 are obtained by: ˆ

( 2) ( 1) ( 1) ( 1)
s s zs s zs k k Tv k R T i k ψ ψ + = + + + -⋅ + (15)
( 2) 1 ( 1)

1 1 ( ) ( 1) ( 1)
z z s s r r s r T T i k i k T T k j k k v k R T σ σ σ ω ψ + = - ⋅ + + ⋅ ⋅ - + + + (16) { } ( 2) Im ( 2) ( 2) e s s T k p k i k ψ + = ⋅ + ⋅ + (17)
By considering the calculation delay in real time implementation, the cost function become: In this section, a fuzzy logic controller is designed to replace the PI controller and generate the reference's torque. FLC is featured that it does not require an exact modeling or identification [START_REF] Ammar | Sensorless Stator Field Oriented-Direct Torque Control with SVM for Induction Motor Based on MRAS and Fuzzy Logic Regulation[END_REF]. The tracking error and its time derivative are considered as the input variables. The rotor speed error is defined by: * r r r e ω ω ω

* * 2 2 1 ( 2) ( 2)

= -(19)

There are seven variables for the input variables, defined in the fuzzy sets: PB (positive big), PM (positive medium), PS (positive small), Z (zero), NS (negative small), NM (negative medium), and NB (negative big). Extra variables are added in the fuzzy sets for the output (PMB, PMS, NMB, NMS) to improve the dynamic performance and obtain more refined output. Figs. 23present the membership functions of the inputs and the outputs.

VI.EXPERIMENTAL RESULTS

A. Test bench presentation

The real-time implementation was done in the laboratory equipped by dSpace 1104 interface. The experimental test bench of IM drive is composed as presented in (Fig. 6) of: 1: A squirrel-cage IM 1.1 kW. 2: power electronics Semikron converter composed of a rectifier and an IGBT based voltage source inverter. 3: position and speed sensor (type: incremental encoder). 4: dSpace dS 1104 with 5: Matlab/Simulink/Controldesk software plugged in personal computer. 6: magnetic powder brake with load control unit. 7: Hall type current sensors.8: DC-bus voltage sensors. 9: numerical oscilloscope.

The results have been extracted using GW-INSTEK numerical oscilloscope which is linked to the real-time interface. The performance analysis of PTC strategy is done through the comparison to a conventional switching table DTC strategy (ST-DTC). Besides, the FLC controller in speed loop is compared to traditional PI.

B. ST-DTC and PTC Comparative Analysis

This section presents a comparative analysis of the presented predictive torque control with the conventional DTC. To verify the effectiveness of both control schemes, different operation conditions have been performed, such as: steady state, speed sense reversal and load application.

The figures are specified by (a) for switching table based DTC (ST-DTC) and (b) for predictive torque control (PTC). The first presented test in Fig. 7 illustrates speed and torque responses during steady state and rotation sense reversing of (1000 rpm to 1000 rpm). Both control strategies show a good speed and torque dynamic. It can be seen clearly in Fig. 7(b) that PTC provides a considerable reduction in torque ripples compared to ST-DTC in Fig. 7 Fig. 11 illustrates the rotor speed and electromagnetic torque in case of two controllers (i.e. PI and FLC) at the starting up stage followed by load application. It is observed that the FLC in Fig. 11(b) is much faster in the transient state than PI in Fig. 11(a). In addition, it does not show a considerable affection due to load application contrary to the traditional controller which provides an important speed dropping. Furthermore, the torque response of FLC is faster and has less overshoot. Then, in Fig. 12 a reversal maneuver has been conducted. This test shows rotor speed and torque responses during the reversing with time calculation which is provided by the numerical oscilloscope. The revising time in case of PI is 320 ms compared to 116 ms in case of FLC, this different reflect the high rapidity of fuzzy logic controller in the speed loop than PI.

VII.CONCLUSION

In this paper, a comparative evaluation between conventional DTC and finite-state predictive torque control is carried out for two-level voltage inverter fed IM drive. Besides, this paper investigates the use of various speed controllers. All control methods have been verified through real-time implementation using dSpace 1104.

The performances of control have been checked under different operation tests such as steady state, sense reversing and load application. The results indicate that both control strategies have good behavior at steady state and during the reversing. The torque/flux ripples have been considerably reduced in the case of PTC. In addition, the current provides good waveform and less harmonics. Moreover, the results illustrate that the association of PTC scheme with FLC offers more rapidity in transient states and more robustness against external loads which make it a good complementary to PTC strategy to achieve more high performance. Therefore, FS-PTC preserves the good proprieties of DTC especially the simplicity of design. Besides, it can reduce the high ripples. The combination with FLC in speed loop gives more fast and robust response. APPENDIX The parameters of the Induction motor in SI units are: 1.1 kW, 50 Hz, p=2, Rs=6.75 , Rr=6.21 , Ls=Lr=0.5192 H, Msr= 0.4957 H, f=0.002 SI, J=0.01240 kg.m².

sv

  is the stator voltage vector; s ψ and r ψ are the stator flux and rotor flux.

  and rotor currents.

Fig. 1

 1 Fig.1 Two-level VSI voltage vectors in the complex plane.

=

  By the predictions of the stator flux and current, the electromagnetic torque can be predicted as following: vector selection The cost function in the MPC strategy compares the predicted and reference values[START_REF] Vazquez | Model Predictive Control for Power Converters and Drives: Advances and Trends[END_REF]. The classical cost function for the PTC method is:

Fig. 2 .

 2 Fig.2. Input membership function.

Fig. 3 .

 3 Fig.3. Output membership function.

Fig. 4

 4 Fig.4 show the global diagram of predictive direct torque control associated to fuzzy logic speed controller.

Fig. 4

 4 Fig.4 Diagram of predictive torque control with fuzzy logic speed controller for IM drive.

Fig. 6

 6 Fig.6 Presentation of the experimental setup.

  (a) ST-DTC (b) PTC Fig.7 Rotor speed and torque responses as a reversal maneuver. (a) ST-DTC (b) PTC Fig.8 Stator flux magnitude and position during the reversal maneuver. (a) ST-DTC (b) PTC Fig.9. Stator flux components and stator current during the sense reversal. (a) ST-DTC (b) PTC Fig.10 Electromagnetic torque and stator current during load application.

  (b). Next, in Fig.8 the stator flux magnitude and its position are depicted. By comparison Fig.8(a) and Fig.8(b) we can see that PTC reduce the flux ripples also. The flux position has been added to indicate the sense reversal. From Figs.7-8 we can see that PTC has reduced apparently the torque and flux ripples which is the main drawback of ST-DTC. The exhibited results in Fig.9 present the stator flux components in the stationary frame and the stator phase current. In Fig.9(a), DTC presents a distorted form of flux and current waveforms which indicate to the high level of harmonics, contrariwise, PTC in Fig.9(b) presents a smoother flux and better current sinusoids waveforms. Then in Fig.10, a load disturbance of 5 N.m has been introduced, the figure shows the electromagnetic torque and stator phase current during load application. Both of control technique responds to load disturbance quickly, we can observe the better current waveform and the big reduction in torque ripples for PTC in this condition also. C. PI and FLC Speed Controllers Performance Analysis This section exhibits a comparison of PI and FLC in the external speed loop of PTC strategy. The figures are specified by (a) for PI and (b) for FLC.

  (a) PI-PTC (b) FLC-PTC Fig.11 Rotor speed and torque at starting up and load application. (a) PI-PTC (b) FLC-PTC Fig.12 Rotor speed and torque during the reversal maneuver.

Table . I

 . shows the inference rule implemented in this paper, which is the important part of the FLC.

TABLE .

 .

				I Fuzzy Rules Base
	e	NB	NM	NS	ZE	PS	PM	PB
	ce
	NB	NB	NB	NBM	NM	NMS	NS	ZE
	NM	NB	NBM	NM	NMS	NS	ZE	PS
	NS	NBM	NM	NMS	NS	ZE	PS	PMS
	ZE	NM	NMS	NS	ZE	PS	PMS	PM
	PS	NMS	NS	ZE	PS	PMS	PM	PBM
	PM	NS	ZE	PS	PMS	PM	PBM	PB
	PB	ZE	PS	PMS	PM	PBM	PB	PB


J.-Y Colin

M Nakechbandi
email: moustafa.nakechbandi@univ-lehavre.fr

P Colin

A multi-valued DAG model and an optimal PERT-like Algorithm for the Distribution of Applications on Heterogeneous Computing Systems

Keywords: Wide-Area Distributed System, Communication Delays, Scheduling, Critical-Path Method, Minimal Makespan

In this paper, we study the following theoretical scheduling problem: the tasks of a given application have to be statically distributed and executed on the heterogeneous servers of a multi-user system on a wide area, heterogeneous network, such as Internet. The application is divided into a set of communicating tasks that may be executed on at least one, and possibly several, servers. The processing time of each task depends on the server processing it, and the communication delay between two tasks depends on the communicating servers. Task duplication is allowed. We propose an efficient algorithm that first uses a PERT-like algorithm to compute the earliest execution dates of each task and then build an optimal static solution for this scheduling problem, with a low number of tasks duplications.

Introduction

The development of geographically distributed systems, also known as meta-computing systems, or wide-area systems, or computational grids, presents new opportunities. A growing number of applications try to use the offered computational power. Some of the current ones include Automated Document Factories (ADF) in banking environments where several hundred thousands documents are produced each day on networks of several multiprocessors servers, or high performance Data Mining (DM) systems [START_REF] Palmerini | On performance of data mining: from algorithms to management systems for data exploration[END_REF] or Grid Computing [START_REF] Ruffner | An Enhanced Application Model for Scheduling in Grid Environments[END_REF][START_REF] Venugopal | A Grid Task Broker for Scheduling Distributed Data-Oriented Applications on Global Grids[END_REF]. However, using efficiently these heterogeneous systems is a hard problem.

When the application tasks can be represented by Directed Acyclic Graphs (DAGs), many dynamic scheduling algorithms have been devised. For some examples, see [START_REF] Maheswaran | A Dynamic matching and scheduling algorithm for heterogeneous computing systems[END_REF][START_REF] Iverson | Dynamic, Competitive Scheduling of Multible DAGs in a Distributes Heterogeneous Environment[END_REF][START_REF] Chen | Distributed Dynamic Scheduling of Composite Tasks on Grid Computing Systems[END_REF].

Also, several static algorithms for scheduling DAGs in metacomputing systems are described in [START_REF] Topcuoglu | Task scheduling algorithms for heterogeneous processors[END_REF][START_REF] Alhusaini | A Unified Resource Scheduling Framework for Heterogeneous, Computing Environments[END_REF][START_REF] Kwok | Static scheduling algorithms for allocating directed task graphs to multiprocessors[END_REF]. Most of them suppose that tasks competes for limited processor resources, and thus these algorithms are mostly heuristics, in [START_REF] Colin | Scheduling Tasks with communication Delays on Multi-Levels Clusters[END_REF] is presented an optimal polynomial algorithm that schedules the tasks and communications of an application on a Virtual Distributed System with several clusters levels, although, in [START_REF] Nakechbandi | Bounding the makespan of best pre-scheduling of task graphs with fixed communication delays and random execution times on a virtual distributed system[END_REF] we studied the static scheduling problem where the tasks execution times are positive independent random variables, and the communication delays between the tasks are perfectly known.

In the first part of this paper, we present the following theoretical scheduling problem: the tasks of a given application have to be statically distributed and executed on the heterogeneous servers of a multi-users system on a wide area, heterogeneous network, such as Internet. In the following, we call this theoretical architecture a Distributed Servers System (DSS). The application is divided into a set of communicating tasks that may be executed on at least one, and possibly several servers of a Distributed Servers System. The processing time of each task depends on the server processing it, and the communication delay between two tasks depends on the tasks and on the communicating servers. Task duplication, that is the execution of the same task on several servers, is allowed. This application is represented by an extended Directed Acyclic Graph.

In the second part of this paper, we present DSS_OPT. This algorithm is a polynomial algorithm that computes the earliest execution date of each task on each server of the DSS, and then uses these dates to build an optimal static solution that schedules the tasks on the servers of the DSS. Although task duplication is allowed, the solution found uses a low number of executions of the same task on different servers.

Finally, we discuss the validity of our hypothesis and conclude with some remarks on the DSS scheduling problem and on the DSS_OPT algorithm in the last part of our paper.

The data of the central problem

In this part, we first define what we call a Distributed Servers System. We then present the formal definition of our scheduling problem. Next, we define what constitutes a feasible solution. Finally, we state our optimality conditions.

The Distributed Servers System

We call Distributed Servers System (DSS) a virtual set of geographically distributed, multi-users, heterogeneous or not, servers. Therefore, a DSS has the following properties: First, the processing time of a task on a DSS may vary from a server to another. This may be due to the processing power available on each server of the DSS for example. The processing time of each task on each server is supposedly known.

Second, although it may be possible that some servers of a DSS are potentially able to execute all the tasks of an application, it may also be possible in some applications that some tasks may not be executed by all servers. This could be due to the fact that specific hardware is needed to process these tasks and that this hardware is not available on some servers. Or it could be that some specific data needed to compute these tasks are not available on these servers for some reason. Or it could be that some user input is needed and the user is only located in a geographically specific place. Obviously, in our problem we suppose that the needs of each task of an application are known, and that at least one server of the DSS may process it, else there is no possible solution to the scheduling problem.

Furthermore, an important hypothesis is that the concurrent executions of some tasks of the application on a server have a negligible effect on the processing time of any other task of the application on the same server. Although apparently far-fetched, this hypothesis may hold if the server is a multiprocessors architecture with enough processors to simultaneously execute all the tasks of the application that are to be processed concurrently. Or it may be that the server is a time-shared, multi-user system with a permanent heavy load coming from other applications, and the tasks of an application on this server represent a negligible additional load compared to the rest.

In addition, in the network interconnecting the servers of a DSS, the transmission delay of a result between two tasks varies depending on the tasks and on their respective sites.

Again, we suppose that concurrent communications between tasks of the same application on two servers have a negligible effect on the communication delays between two others tasks located on the same two servers. This hypothesis may hold if the network already has a permanent heavy load due to other applications, and the communications of the application represent a negligible additional load compared to the one already present. Figure 1 presents un example of a DSS.

Directed Acyclic Graph

We now describe the application itself in our problem. An application is decomposed into a set of indivisible tasks that have to be processed. A task may need data or results from other tasks to fulfil its function and then send its results to other tasks. The transfers of data between the tasks introduce dependencies between them. The resulting dependencies form a Directed Acyclic Graph.

Because the servers are not necessarily identical, the processing time of a given task can vary from one server to the next.

Network

Furthermore, the duration of the transfer of a result on the network cannot be ignored. This communication delay is function of the size of the data to be transferred and of the transmission speed that the network can provide between the involved servers. Note that if two dependent tasks are processed themselves on the same server, this communication delay is considered to be 0.

The central scheduling problem P on a Distributed Server System, is represented therefore by the following parameters:

• a set of servers, noted Σ = {σ 1 , ..., σ s }, interconnected by a network, • a set of the tasks of the application, noted I = {1,..., n}, to be executed on Σ. The execution of task i, i ∈ I, on server σ r , σ r ∈ Σ, is noted i/σ r .

The subset of the servers able to process task i is noted Σ i , and may be different from Σ,

• the processing times of each task i on a server σ r is a positive value noted

r i σ π / . The set of processing times of a given task i on all servers of Σ is noted Π i (Σ). r i σ
π / = ∞ means that the task i cannot be executed by the server σ r .

• a set of the transmissions between the tasks of the application, noted U. The transmission of a result of an task i, i ∈ I, toward a task j, j ∈ I, is noted (i, j). It is supposed in the following that the tasks are numbered so that if (i, j) ∈ U, then i < j, • the communication delays of the transmission of the result (i, j) for a task i processed by server σ r toward a task j processed by server σ p is a positive value noted p r j i c σ σ / , / . The set of all possible communication delays of the transmission of the result of task i, toward task j is noted ∆ i,j (Σ). Note that a zero in ∆ i,j (Σ) mean that i and j are on the same server, i.e. Π i (Σ) be the set of all processing times of the tasks of P on Σ.

Let ∆ (Σ) = U U j i ∈ ) , (
∆ i,j (Σ) be the set of all communication delays of transmissions (i, j) on Σ.

The central scheduling problem P on a distributed servers system DSS can be modelled by a multi-valued DAG G = {I, U, Π(Σ), ∆(Σ)}. In this case we note P={G, Σ}. Figure 2 is an example with six tasks: 1): Then, if task 1 is executed on server σ 3 and must send its result to task 2 on server σ 2 the communication delay c 1/σ3, 2/σ2 will be 3.

Σ = {σ 1 , σ 2 , σ 3 , σ 4 }. If Π 1 = ( 3 3 3 3, ∞, 2, ∞),
σ 1 σ σ σ σ 2 2 2 2 σ 3 σ 4 σ 1 0 3 2 ∞ σ 2 ∞ ∞ ∞ ∞ σ σ σ σ 3 3 3 3 2 3 3 3 3 0 ∞ σ 4 ∞ ∞ ∞ ∞

Definition of a feasible solution

We note PRED(i), the set of the predecessors of task i in G:

{ } ) , ( et / ) PRED( U i k I k k i ∈ ∈ = And we note SUCC(i), the set of the successors of task i in G : { } ) , ( et / ) SUCC( U j i I j j i ∈ ∈ =
A feasible solution S for the problem P is a subset of executions { i/σ r , i∈I } with the following properties:

• each task i of the application is executed at least once on at least one server σ r of Σ i ,

• to each task i of the application executed by a server σ r of Σ i , is associated one positive execution date

r i t σ / ,
• for each execution of a task i on a server σ r , such that PRED(i) ≠ ∅, there is at least an execution of a task k, k ∈PRED(i), on a server The last condition, also known as the Generalized Precedence Constraint (GPC) [START_REF] Colin | Scheduling Tasks with communication Delays on Multi-Levels Clusters[END_REF], can be expressed more formally as:

     + + ≥ Σ ∈ ∃ ∈ ∀ ≥ ∈ ∀ r p p p r r i k k k i k p i r c t t i k t S i σ σ σ σ σ σ π σ σ / , / / / / / / ), PRED( 0 / else ) PRED( if ∅ = i
It means that if a communication must be done between two scheduled tasks, there is at least one execution of the first task on a server with enough delay between the end of this task and the beginning of the second one for the communication to take place.

A feasible solution S for the problem P is therefore a set of executions i/σ r of all i tasks, i ∈ I, scheduled at their dates r i t σ / , and verifying the Generalised Precedence Constraints GPC.

Note that, in a feasible solution, several servers may simultaneously or not execute the same task. This may be useful to generate less communications. All the executed tasks in this feasible solution, however, must respect the Generalized Dependence Constraints.

Optimality Condition

Let T be the total processing time of an application (also known as the makespan of the application) in a feasible solution S, with T defined as

) ( max / / r r r i i S i/ t T σ σ σ π + = ∈
A feasible solution S* of the problem P modelled by a DAG G = {I, U, Π(Σ), ∆(Σ)} is optimal if its total processing time T* is minimal. That is, it does not exist any feasible solution S with a total processing time T such that T < T*.

The DSS_OPT Algorithm

Presentation

Let P be a DSS scheduling problem, and let G = {I, U, Π(Σ), ∆(Σ)} be its DAG.

One can first note that there is an optimal trivial solution to this DSS scheduling problem. In this trivial solution, all possible tasks are executed on all possible servers, and their results are then broadcasted to all other tasks that may need them on all others servers. This is an obvious waste of processing power and communication resources, however, and something better and more efficient is usually needed. So, we now present DSS_OPT(P), a new polynomial algorithm that builds an optimal solution for problem P.

DSS_OPT has two phases.

The first phase, DSS_LWB(P), computes the earliest feasible execution dates r / i b σ for all possible executions i/σ r of each task i of problem P.

The second phase determines, for every task i that does not have any successor in P, the execution i/σ r ending at the earliest possible date one is chosen, arbitrarily or using other criteria of convenience, and kept in the solution. Then, for each kept execution i/σ r that has at least one predecessor in the application, the subset L i of the executions of its predecessors that satisfy GPC(i/σ r ) is established. This subset of executions of predecessors of i contains at least an execution of each of its predecessors in G. One execution k/σ p of every predecessor task k of task i is chosen in the subset, arbitrarily or using other criteria of convenience, and kept in the solution. It is executed at date p / k b σ . The examination of the predecessors is pursued in a recursive manner until the studied tasks do not present any predecessors in G.

The complete algorithm is the following

DSS_OPT (P) 1: DSS_LWB (P) // first phase 2: ) ( min max / ) ( SUCC / r i r i i i r T σ σ Σ ∈ ∀ ∅ = ∀ = 3:
for all tasks i such that SUCC(i) = ∅ // second phase 4:

i L ← { i/σ r / σ r ∈ Σ ι and T r r i ≤ σ / } 5: i/σ r ← keepOnefrom( i L ) 6
r i k L σ / ← { k/σ q / σ p ∈ Σ κ and r r p p p i i k k k b c b σ σ σ σ σ π / / , / / / ≤ + + } 5: k/σ q ← keepOneFrom( r i k L σ / ) 6: schedule (k/σ q )
end for end if end schedule keepOneFrom(L i ) return an execution i/σ r of task i in the list of the executions L i . end keepOneFrom.

Example of application

Let P be a DSS scheduling problem, and its DAG G be the following DAG Thus, the P problem has 6 distributed tasks, I = {1, 2, 3, 4, 5, 6}, we also suppose that four servers are available, Σ = {σ 1 , σ 2 , σ 3 , σ 4 }, with the following processing times (Table 2

): r i σ π / σ 1 σ 2 σ 3 σ 4 1 3 ∞ 2 ∞ 2 2 4 3 ∞ 3 ∞ 2 2 2 4 4 ∞ ∞ 2 5 2 3 2 4 6 ∞ ∞ 2 3

Table 2: Processing times matrix for the problem P

And with the following communication delays (Table 3):

(1, 2) σ 1 σ 2 σ 3 σ 4 (1, 3) σ 1 σ 2 σ 3 σ 4 σ 1 0 3 2 ∞ σ 1 ∞ 2 4 1 σ 2 ∞ ∞ ∞ ∞ σ 2 ∞ ∞ ∞ ∞ σ 3 2 3 0 ∞ σ 3 ∞ 2 0 3 σ 4 ∞ ∞ ∞ ∞ σ 4 ∞ ∞ ∞ ∞ (2, 4) σ 1 σ 2 σ 3 σ 4 (2, 5) σ 1 σ 2 σ 3 σ 4 σ 1 0 ∞ ∞ 3 σ 1 0 2 2 2 σ 2 1 ∞ ∞ 2 σ 2 3 0 1 2 σ 3 3 ∞ ∞ 3 σ 3 1 2 0 3 σ 4 ∞ ∞ ∞ ∞ σ 4 ∞ ∞ ∞ ∞ (3, 4) σ 1 σ 2 σ 3 σ 4 (3, 5) σ 1 σ 2 σ 3 σ 4 σ 1 0 ∞ ∞ ∞ σ 1 ∞ ∞ ∞ ∞ σ 2 2 ∞ ∞ 1 σ 2 2 0 2 2 σ 3 3 ∞ ∞ 2 σ 3 3 1 0 4 σ 4 1 ∞ ∞ 0 σ 4 2 1 1 0 (4, 6) σ 1 σ 2 σ 3 σ 4 (5, 6) σ 1 σ 2 σ 3 σ 4 σ 1 ∞ ∞ 1 2 σ 1 ∞ ∞ 3 2 σ 2 ∞ ∞ ∞ ∞ σ 2 ∞ ∞ 2 2 σ 3 ∞ ∞ ∞ ∞ σ 3 ∞ ∞ 0 1 σ 4 ∞ ∞ 2 0 σ 4 ∞ ∞ 1 0 Table 3

: Complete communication times matrix for the problem P

For example for the arc [START_REF] Colin | Scheduling Tasks with communication Delays on Multi-Levels Clusters[END_REF][START_REF] Alhusaini | A Unified Resource Scheduling Framework for Heterogeneous, Computing Environments[END_REF], if the task 5 is executed on the server σ 1 and must send its result to the task 6 on the server σ 3 the communication delay The algorithm uses DSS_LWB to compute the earliest possible execution date of all tasks on all possible servers, resulting in the following values b and r (Table 4):

1 b 1 r 1 2 b 2 r 2 3 b 3 r 3 σ 1 0 3 σ 1 3 5 σ 1 ∞ ∞ σ 2 ∞ ∞ σ 2 5 9 σ 2 4 6 σ 3 0 2 σ 3 2 5 σ 3 2 4 σ 4 ∞ ∞ σ 4 ∞ ∞ σ 4 4 6 4 b 4 r 4 5 b 5 r 5 6 b 6 r 6 σ 1 7 11 σ 1 7 9 σ 1 ∞ ∞ σ 2 ∞ ∞ σ 2 7 10 σ 2 ∞ ∞ σ 3 ∞ ∞ σ 3 5 7 σ 3
= = = Σ ∈ ∀ ∅ = ∀ 4 3 r i r 6 6 i i i r r r T σ σ σ σ 2 3 1 4 5
In the example, only task 6 does not have any successor. The list L 6 of the executions kept for this task in the solution is reduced therefore to the execution 6/σ 4 . Thus L 6 = {6/σ 4 }.

The execution of task 6 on the server σ 4 is scheduled at date 10.

Next, The tasks 4 and 5 are the predecessors in G of task 6. For the task 4, only the execution 4/σ 4 may satisfy the Generalised Precedence Constraints relative to 6/σ 4 . Therefore, this execution is kept and is scheduled at date The table 5 presents the final executions i/σ r kept by the DSS_OPT(P) algorithm, with their date of execution, in an optimal solution S. figure 4: An optimal scheduling S* for the problem P

Complexity

The most computationally intensive part of DSS_OPT(P) is the first part DSS_LWB(P). In this part, for each task i, for each server executing i, for each predecessor j of i, for each server executing j, a small computation is done. Thus the complexity of DSS_LWB(P) is Ο(n 2 s 2 ), where n is the number of tasks in P, and s is the number of servers in DSS.

Thus, the global complexity of the DSS_OPT(P) algorithm is Ο(n 2 s 2 ).

Discussion

As usual in all PERT or critical-path methods, the various processing times and communications delays of each task on each server are supposedly known. While these processing times and communication delays may easily be determined in some numerical applications, they may be much harder to estimate in others. This is a well-known problem of all PERT methods, and various means must sometimes be used to get estimates of these data [START_REF] Elmagrgraby | The Teory of networks and Management" Part II[END_REF].

Furthermore, an important hypothesis in our problem is that the concurrent executions of some tasks of the application on a server have none or a negligible effect on the processing time of any other task of the application on the same server. Although apparently far-fetched, this hypothesis may hold if the server is a multiprocessors architecture with enough processors to simultaneously execute all the tasks that are to be processed concurrently. Or it may be that the server is a time-shared, multi-user system with a permanent heavy load coming from other applications, and the tasks of an application on this server represent a negligible additional load compared to the rest. If this is not the case, then this hypothesis is still similar to the non limited number of available processors hypothesis present in all classical PERT problems. And as in the classical PERT problems, our earliest execution dates of each task may be used as priority values to build priority lists for list scheduling algorithms or heuristics. Also, as already noted when introducing DSS_OPT, there is an optimal trivial solution to the DSS scheduling problem. In this trivial solution, all possible tasks are executed on all possible servers, and their results are then broadcasted to all other tasks that may need them on all others servers. For any real application, with many tasks and communications, this is a tremendous waste of processing power and communication resources, however. By contrast, our solution has the same total execution time but uses a much more limited number of tasks duplication, if any.

Additionally, one can note that the DSS_LWB(P) part itself is an extension of the VDS_OPT algorithm [START_REF] Colin | Scheduling tasks and communications on a virtual distributed system[END_REF][START_REF] Colin | Scheduling Tasks with communication Delays on Multi-Levels Clusters[END_REF], that are themselves extensions of the classical PERT algorithm to DAGs with communication delays. However, the hard condition that processing times must be superior or equal to communication delays in the VDS_OPT problem for the problem to be computationally tractable, even with a non limited number of processors, does not hold in the problem studied here. The reason is that we suppose that several tasks can concurrently be executed on the same server with no effects, or with negligible effects on their processing times.

On a different aspect, note that the selection of the task to be kept from the list L i of possible tasks is not attached to a particular policy or strategy. That is, any choice, even a random one, is possible in this list and will still result in an optimal solution. Thus, it is possible to use a more sophisticated policy to try to minimize a second criteria, if one is present. For example, if a money cost is associated to the execution of a given task on a given server, then a good choice will try to choose cheap executions to pay the smallest total execution price that still gives the minimal global execution time. The analysis of such multi-criteria problems needs more work however.

Finally, it may also be possible to improve the fault-tolerant aspects of a solution by keeping more tasks than necessary in the final solution, so as to have back-up tasks on other servers if the efficient ones fail. Worst-cases scenarios may then be studied and their additional costs and resulting loss of performances evaluated. Again, more work is needed on this subject.

Conclusions

In this paper, we studied the problem of scheduling the tasks of an application on the many heterogeneous servers of a multi-users system distributed on a heterogeneous network. The application is divided into communicating tasks that can be executed on at least one, and possibly several servers, with variable processing times depending on the chosen servers, and variable communication delays depending on the servers that communicate. We proposed an efficient algorithm that uses an extended DAG to build a static solution with a minimal makespan to this scheduling problem, with minimal number of task duplication or without task duplication at all. In our future work, we intend to study further both the multi-criteria problem and also the fault tolerant aspects evoked in the discussion part.

Figure 1 :

 1 Figure 1: Example of Distributed Servers System

  that either task i cannot be executed by server σ r , or task j cannot be executed by server σ p , or both.Let Π (Σ) = U I i∈

Figure 2 :

 2 Figure 2: Example of a multi-valued DAG

  , version 1 -2 Nov 2009 σ p , σ p ∈ Σ κ , that can transmit its result to server σ r before the execution date

1 : 6 : 7 :the server σ r 2 :

 1672 For each task i where PRED(i) = ∅ do 2: for each server σ r such that σ r ∈ Σ i do while there is a non marked task i such that all its predecessors k in G are marked do for each server σ r such that σ r ∈ Σ i do if PRED(i) ≠ ∅ then 3: for each task k such that k ∈ PRED(i) do 4:

Figure 3 :

 3 Figure 3: DAG of the problem P

Table 1 :

 1

Example of a communication matrix between the tasks 1 and 2

Table 4 :

 4 The earliest possible execution date of all tasks on all possible servers for the problem P

	12 14

Table 5 :

 5 final executions i/σ r kept by the DSS_OPT(P) algorithm

			1/σ 3		2/σ 3		3/σ 3		4/σ 4	5/σ 3	6/σ 4
	i b σ /	r	0			2		2		8		5		10
	i r σ /	r	2			5		4		10		7		13
	Finally, we obtain (figure 4) the following optimal
	scheduling :
	0	1	2	3	4	5	6	7	8	9	10	11	12	13