1 Introduction

In the last two decades, the problem of tracking control for nonlinear systems has been dealt by several classic approaches, and many studies have been developed around this subject. However, there are a few works based on the Takgi-Sugeno (T-S) fuzzy model relating to the tracking control problem which have been studied for continuous-time systems[15]

In our work, we are interested in the design of fuzzy observer-based tracking controller for an induction motor with H performance. Induction motors are highly nonlinear systems, having uncertain time-varying parameters and subjected to unknown load disturbance. In addition, the rotor flux is inaccessible for state feedback control. Taking these difficulties into account, various control strategies, such as vector control method using proportional-integral (PI) controllers, input-output decoupling, control via geometric techniques, fuzzy adaptive control, and sliding mode control are proposed. A classical PI controller is a simple regulator used in the control of induction motor drives. However, the main drawback of this kind of controller is its sensitivity to the system-parameter variations and load changes[6, 7]. Thus, based on loop-shaping technique, a new control technique is proposed[8] to assure the disturbances rejection and lowering of tracking error. Wai and Chang[9] presented an adaptive observation system with an inverse rotor time-constant observer, based on a model reference adaptive system (MRAS) theory. The proposed adaptive system introduced in the control scheme guarantees the accurate estimation of the slip angular velocity, and preserves the decoupling control characteristic. In the last decade, many publications concerning the use of nonlinear input-output linearization techniques for the control of induction motors have been appeared. However, these approaches lose their performance when the motor parameters vary from their nominal values and when a load torque is applied. As a result, Marino et al.[10, 11] proposed a direct adaptive controller for speed regulation, in which the motor model is input-output decoupled by a feedback-linearizing technique, while the load torque and rotor resistance are adapted in real time. The major inconvenience of this approach is the inability to ensure the asymptotic convergence of the system states and the estimated parameters. In the same context, a mixed H 2/H optimized controller is used[12] to minimize the tracking error and to ensure the load torque disturbance rejection. A robust stability analysis method is presented via a parameter dependant Lyapunov function, in which the robust stability of the overall uncertain linearized closed-loop system is tested. The sliding mode technique has been widely used in induction motor control and proved to have a small tracking error[1315], but the chattering phenomenon is inevitable, which degrades the performance of the system and may even lead to instability.

Recently, fuzzy techniques have been widely and successfully used in induction motor modeling and control[1618]. Among various fuzzy modeling methods, the well-known T-S fuzzy model is considered as a popular and powerful tool in approximating a complex nonlinear system[19, 20]. The basic idea of this approach is to decompose the model of the nonlinear system into a series of linear models involving nonlinear weighting functions. The equivalent T-S fuzzy model describes the dynamic behavior of the system. The weighting functions checks the convex sum property.

In this paper, the tracking problem for an induction motor is studied using the T-S fuzzy approach. First, a fuzzy augmented model is constructed by regrouping the T-S fuzzy model of the induction motor, a fuzzy observer, and the T-S reference model. Then, a fuzzy observer-based tracking controller is developed. The proposed T-S controller is dynamic and it has the characteristic to be adjustable through the insertion of the nonlinear weighting functions associated for every local controller. This property allows to adapt the global fuzzy controller inside the polytope region \(\left[ {{i_{{s_{{\text{min}}}}}},{i_{{s_{{\text{max}}}}}}} \right] \times \left[ {{\omega _{{m_{{\text{min}}}}}},{\omega _{{m_{{\text{max}}}}}}} \right]\) operating at various load torque and reference speed in order to improve the tracking performance. It also has the ability to achieve the favorable decoupling control and precision speed tracking property, even if the machine is subject to parametric variations. In addition, the tracking control design problem is parameterized in terms of a linear matrix inequality (LMI) problem which can be solved very efficiently using the convex optimization techniques.

This paper is organized as follows. Section 2 presents an open-loop control strategy, which includes a physical model of the induction motor. Section 3 deals with the synthesis of a fuzzy control law with H performance. To specify the desired trajectory, a T-S reference model is designed. The gains of the observer and controller are obtained by solving a set of LMIs. Section 4 gives the simulation and experimental results to highlight the effectiveness of the proposed control law. Section 5 gives conclusions on the main themes developed in this paper.

2 Open-loop control strategy

2.1 Physical model of induction motor

Under the assumptions of the linearity of the magnetic circuit, the electromagnetic dynamic model of the induction motor in the synchronous d-q reference frame can be described as

$$\dot x(t) = f(x(t)) + g(x(t))u(t) + w(t)$$
((1))

where

where ω m is the rotor speed, ω s is the electrical speed of stator, (Ψ rd rq ) are the rotor fluxes, (i sd ,i sq ) are the stator currents, and (u sd ,u sq ) are the stator voltages. The load torque C r is considered as an unknown disturbance. The motor parameters are moment of inertia J, rotor and stator resistances (R s ,R r ), rotor and stator inductances (L s ,L r ), mutual inductance M, friction coefficient f, and number of pole pairs n p .

2.2 Open-loop control

In this section, the structure of the open-loop control strategy is explored, which will be modified in the next section to design the closed-loop T-S reference model. If we replace the state variables of the motor [i sd i sq Ψ rd Ψ rq ω m ]T by the corresponding reference signals [i sdc i sqc Ψ rdc 0 ω mc ]T in (1), we obtain[21]

$$\left\{ {\begin{array}{*{20}{l}} {\frac{\operatorname{d} }{{\operatorname{d} t}}{i_{sdc}} = - \gamma {i_{sdc}} + {\omega _s}{i_{sqc}} + \frac{{{K_s}}}{{{\tau _r}}}{\Psi _{rdc}} + \frac{1}{{\sigma {L_s}}}{u_{sdc}}} \\ {\frac{\operatorname{d} }{{\operatorname{d} t}}{i_{sqc}} = - {\omega _s}{i_{sdc}} - \gamma {i_{sqc}} - {K_s}{n_p}{\omega _{mc}}{\Psi _{rdc}} + \frac{1}{{\sigma {L_s}}}{u_{sqc}}} \\ {0 = - ({\omega _s} - {n_p}{\omega _{mc}}){\Psi _{rdc}} + \frac{M}{{{\tau _r}}}{i_{sqc}}} \\ {\frac{\operatorname{d} }{{\operatorname{d} t}}{\Psi _{rdc}} = \frac{M}{{{\tau _r}}}{i_{sdc}} - \frac{1}{{{\tau _r}}}{\Psi _{rdc}}} \\ {\frac{\operatorname{d} }{{\operatorname{d} t}}{\omega _{mc}} = \frac{{{n_p}M}}{{J{L_r}}}({\Psi _{rdc}}{i_{sqc}}) - \frac{f}{J}{\omega _{mc}} - \frac{1}{J}{C_r}.} \end{array}} \right.$$
((2))

The last two equalities in (2) lead to the open-loop reference stator currents as

$$\left\{ {\begin{array}{*{20}{l}} {{i_{sdc}} = \frac{{{\Psi _{rdc}}}}{M} + \frac{{{\tau _r}}}{M}\frac{\operatorname{d} }{{\operatorname{d} t}}{\Psi _{rdc}}} \\ {{i_{sqc}} = \frac{{J{L_r}}}{{{n_p}M{\Psi _{rdc}}}}\left( {\frac{{{C_r}}}{J} + \frac{f}{J}{\omega _{mc}} + \frac{\operatorname{d} }{{\operatorname{d} t}}{\omega _{mc}}} \right).} \end{array}} \right.$$
((3))

According to (2), the electrical speed reference of the stator is given as

$${\omega _{sc}} = {n_p}{\omega _{mc}} + \frac{M}{{{\tau _r}{\Psi _{rdc}}}}{i_{sqc}}.$$
((4))

From the first two equalities in (2), we obtain the expression of the open-loop control as

$$\left\{ {\begin{array}{*{20}{l}} {{u_{sdc}} = \sigma {L_s}\left( {\frac{\operatorname{d} }{{\operatorname{d} t}}{i_{sdc}} + \gamma {i_{sdc}} - {\omega _{sc}}{i_{sqc}} - \frac{{{K_s}}}{{{\tau _r}}}{\Psi _{rdc}}} \right)} \\ {{u_{sqc}} = \sigma {L_s}\left( {\frac{\operatorname{d} }{{\operatorname{d} t}}{i_{sqc}} + \gamma {i_{sqc}} - {\omega _{sc}}{i_{sdc}} + {K_s}{n_p}{\omega _{mc}}{\Psi _{rdc}}} \right).} \end{array}} \right.$$
((5))

3 Fuzzy observer-based tracking control

The nonlinear model (1), described in the synchronous d-q frame, is transformed into an equivalent T-S fuzzy model using the linear sector transformation[22]. The global linear fuzzy model is composed of a set of linear models which are interpolated by membership functions. The synthesis of a fuzzy controller requires the construction of the augmented fuzzy model, which regroups the T-S fuzzy model of the induction motor, the fuzzy observer, and the reference model. The premise variables are assumed to be measurable.

3.1 T-S fuzzy model of induction motor

The field-oriented strategy when is implemented relative to the synchronously rotating frame of reference, allows for an independent control of the torque and of the rotor flux. In this case, the dynamics of the induction motor is similar to the separately excited DC motor. In this condition, the rotor flux vector (Ψ rd , Ψ rq ) is aligned to the d-axis, and the results can be obtained as

$$\left\{ {\begin{array}{*{20}{l}} {{\Psi _{rd}} = {\Psi _{rdc}}} \\ {{\Psi _{rq}} = 0.} \end{array}} \right.$$
((6))

To assure condition (6), the electrical speed of the stator in the rotating synchronous d-q frame must be chosen as

$${\omega _s} = {n_p}{\omega _m} + \frac{M}{{{\tau _r}{\Psi _{rdc}}}}{i_{sq}}.$$
((7))

If we replace the electrical speed of the stator (7) in the physical model (1), the nonlinear model of the induction motor can be written as the state space form:

$$\left\{ {\begin{array}{*{20}{l}} {\dot x(t) = Ax(t) + Bu(t) + w(t)} \\ {y = Cx(t) + v(t)} \end{array}} \right.$$
((8))

where

$$\begin{array}{*{20}{l}} {A(x(t)) = \left[ {\begin{array}{*{20}{c}} { - \gamma }&{{\omega _s}}&{\frac{{{K_s}}}{{{\tau _r}}}}&{{K_s}{n_p}{\omega _m}}&0 \\ { - {\omega _s}}&{ - \gamma }&{ - {K_s}{n_p}{\omega _m}}&{\frac{{{K_s}}}{{{\tau _r}}}}&0 \\ {\frac{M}{{{\tau _r}}}}&0&{ - \frac{1}{{{\tau _r}}}}&{\frac{M}{{{\tau _r}{\Psi _{rdc}}}}{i_{sq}}}&0 \\ 0&{\frac{M}{{{\tau _r}}}}&{ - \frac{M}{{{\tau _r}{\Psi _{rdc}}}}{i_{sq}}}&{ - \frac{1}{{{\tau _r}}}}&0 \\ 0&0&{\frac{{{n_p}M}}{{J{L_r}}}{i_{sq}}}&{\frac{{{n_p}M}}{{J{L_r}}}{i_{sd}}}&{ - \frac{f}{J}} \end{array}} \right]} \\ {B = \left[ {\begin{array}{*{20}{c}} {\frac{1}{{\sigma {L_s}}}}&0&0&0&0 \\ 0&{\frac{1}{{\sigma {L_s}}}}&0&0&0 \end{array}} \right]} \\ {C = \left[ {\begin{array}{*{20}{c}} 1&0&0&0&0 \\ 0&1&0&0&0 \\ 0&0&0&0&1 \end{array}} \right]} \end{array}$$

and v(t) represents the measurement noise.

Considering the sector of nonlinearities of the terms z k (t) = x k (t) ∈ [z k min, z k max] of the matrix A(x(t)) with k = 1, 2, 3 yields

$$\left\{ {\begin{array}{*{20}{l}} {{z_1}(t) = {i_{sd}}(t)} \\ {{z_2}(t) = {i_{sq}}(t)} \\ {{z_3}(t) = {\omega _m}(t).} \end{array}} \right.$$
((9))

Thus, we can transform the nonlinear terms into the following shape:

$${z_k}(t) = {F_{k,\min }}({z_k}) \times {z_{k\;\max }} + {F_{k,\max }}({z_k}) \times {z_{k\;\min }}$$
((10))

where the membership functions can be written as

$$\left\{ {\begin{array}{*{20}{l}} {{F_{k,\min }}({z_k}(t)) = \frac{{{z_k}(t) - {z_{k\;\min }}}}{{{z_{k\;\max }} - {z_{k\;\min }}}}} \\ {{F_{k,\max }}({z_k}(t)) = \frac{{{z_{k\;\max }} - {z_k}(t)}}{{{z_{k\;\max }} - {z_{k\;\min }}}}.} \end{array}} \right.$$
((11))

The fuzzy model is described by fuzzy If-Then rules and will be employed here to deal with the control design problem for the induction motor. The i-th rule of the fuzzy model for the nonlinear system is described in the following form:

Rule R i :

If ( z 1(t) is F 1,l ) and (z 2(t) is F 2 f ) and (z 3(t) is F 3,h ) Then \(\dot x\)(t) = A i x(t) + Bu(t) + w(t) with l,f , ,h ∈ {min, max}, and i = 1, 2, ⋯ , 8.

The global fuzzy model is inferred as

$$\dot x(t) = \sum\limits_{i = 1}^8 {{h_i}(z(t))({A_i}x(t) + Bu(t) + w(t))} $$
((12))

with

$${h_i}(z(t)) = \frac{{{\lambda _i}(z(t))}}{{\sum\limits_{i = 1}^8 {{\lambda _i}{h_i}(z(t))} }}$$
((13))
$${\lambda _i}(z(t)) = \prod\limits_{k = 1}^3 {{F_{ik}}({z_k}(t))} $$
((14))
$$\begin{array}{*{20}{c}} {{h_i}(z(t)) > 0} \\ {\sum\limits_{i = 1}^8 {{h_i}(z(t)) = 1.} } \end{array}$$

where h i(z(t)) is regarded as the normalized weight of each model rule, and F ik (z(t)) is the grade of membership of z k (t) in Fi k .

3.2 T-S reference model

The open-loop response of the induction motor defined by the control input (5) is characterized by an important overshoot of the d-axis rotor flux (see Appendix D). In order to improve the transient performance of the system, we consider a nonlinear reference model via a T-S fuzzy approach. The designed T-S reference model is a piecewise interpolation of several linear models through membership functions. The dynamics of the closed-loop system is modified through the insertion of positive parameters K i and K Ψ in the T-S reference model, which has the desired dynamics behavior. Therefore, we define the new control input vector as

$$\left\{ {\begin{array}{*{20}{l}} {{{u'}_{sdc}} = {u_{sdc}} + {K_i}\sigma {L_s}({i_{sdc}} - {i_{sdr}}) + \frac{{\sigma M{K_\Psi }}}{{{\tau _r}}}({\Psi _{rdc}} - {\Psi _{rdr}})} \\ {{{u'}_{sqc}} = {u_{sqc}} + {K_i}\sigma {L_s}({i_{sqc}} - {i_{sqr}}).} \end{array}} \right.$$
((15))

Consider the reference state of the closed-loop system x r (t) = [i sdr i sqr Ψ rdr Ψ rqr ωmr]T. It is the desired trajectory for x(t) to follow.

The above equality (15) can be written as

$$\left\{ {\begin{array}{*{20}{l}} {{{u'}_{sdc}} = \underbrace {\sigma {L_s}\left[ {\begin{array}{*{20}{l}} {\frac{\operatorname{d} }{{\operatorname{d} t}}{i_{sdc}} + (\gamma + {K_i}){i_{sdc}} - {\omega _{sc}}{i_{sqc}}} \\ { + \left( {\frac{{M{K_\Psi } - {L_s}{K_s}}}{{{\tau _r}{L_s}}}} \right){\Psi _{rdc}}} \end{array}} \right]}_{{u_{sdr}}} - } \\ {{K_i}\sigma {L_s}{i_{sdr}} - \left( {\frac{{\sigma M{K_\Psi }}}{{{\tau _r}}}} \right){\Psi _{rdr}}} \\ {{{u'}_{sqc}} = \underbrace {\sigma {L_s}\left[ {\begin{array}{*{20}{l}} {\frac{d}{{dt}}{i_{sqc}} + (\gamma + {K_i}){i_{sqc}} + {\omega _{sc}}{i_{sdc}}} \\ { + {K_s}{n_p}{\omega _{mc}}{\Psi _{rdc}}} \end{array}} \right] - {K_i}\sigma {L_s}{i_{sqr}}}_{{u_{sqr}}}} \end{array}} \right.$$
((16))

This is equivalent to

$$\left\{ {\begin{array}{*{20}{l}} {{{u'}_{sdc}} = {u_{sdr}} - {K_i}\sigma {L_s}{i_{sdr}} - \left( {\frac{{\sigma M{K_\Psi }}}{{{\tau _r}}}} \right){\Psi _{rdr}}} \\ {{{u'}_{sqc}} = {u_{sqr}} - {K_i}\sigma {L_s}{i_{sqr}}.} \end{array}} \right.$$
((17))

Given the new control input (17) in the physical model (1), and replacing the state x(t) by x r (t), the nonlinear model of the induction motor leads to the state space reference model:

$${\dot x_r}(t) = {A_r}{x_r}(t) + r(t)$$
((18))

where

$${A_r} = \left[ {\begin{array}{*{20}{c}} { - {K_1}}&{{\omega _{sr}}}&{{K_2}}&{{K_s}{n_p}{\omega _{mr}}}&0 \\ { - {\omega _{sr}}}&{ - {K_1}}&{ - {K_s}{n_p}{\omega _{mr}}}&{\frac{{{K_s}}}{{{\tau _r}}}}&0 \\ {\frac{M}{{{\tau _r}}}}&0&{ - \frac{1}{{{\tau _r}}}}&{\frac{M}{{{\tau _r}{\Psi _{rdc}}}}{i_{sqr}}}&0 \\ 0&{\frac{M}{{{\tau _r}}}}&{ - \frac{M}{{{\tau _r}{\Psi _{rdc}}}}{i_{sqr}}}&{ - \frac{1}{{{\tau _r}}}}&0 \\ 0&0&{\frac{{{n_p}M}}{{J{L_r}}}{i_{sqr}}}&{ - \frac{{{n_p}M}}{{J{L_r}}}{i_{sdr}}}&{ - \frac{f}{J}} \end{array}} \right],$$

K 1 = (γ + K i), K 2 = \((\frac{{{K_s}}}{{{\tau _r}}} - \frac{{M{K_\Psi }}}{{{L_s}{\tau _r}}})\), and ω sr = npω mr + \(\frac{M}{{{\tau _r}{\Psi _{rdc}}}}{i_{sqr}}\). r(t) is a bounded input given as

$$r(t) = [B\;I]\left[ {\begin{array}{*{20}{c}} {{U_r}} \\ {w(t)} \end{array}} \right]$$

where U r = [ u sdr u sqr ]T.

The reference model (18) is nonlinear and can be described via a T-S fuzzy model.

Rule R j :

If (z r 1(t) is N 1,l ) and (z r 2(t) is N 2,f ) and (z r 3(t) is N 3,h ) Then \({\dot x_r}(t)\) = A rj x r (t) + r(t) with l,f,h ∈ {min, max}, i = 1, 2, ⋯ , 8, z r 1(t), z r 2(t) and z r 3(t) are the measurable premise variables defined as

$$\left\{ {\begin{array}{*{20}{c}} {{z_{r1}} = {i_{sdr}}(t)} \\ {{z_{r2}} = {i_{sqr}}(t)} \\ {{z_{r3}} = {\omega _{mr}}(t)} \end{array}} \right.$$
((19))

where N 1,l ,N 2,f and N 3,h are the fuzzy sets which have the same structure as (11).

The global fuzzy reference model is inferred as

$${\dot x_r}(t) = \sum\limits_{j = 1}^8 {{h_{rj}}} ({z_r}(t)){A_{rj}}{x_r}(t) + r(t)$$
((20))

with

$${h_{rj}}({z_r}(t)) = \frac{{{\lambda _{rj}}({z_r}(t))}}{{\sum\limits_{j = 1}^8 {{\lambda _{rj}}({z_r}(t))} }}$$
((21))
$${\lambda _{rj}}({z_r}(t)) = \prod\limits_{k = 1}^3 {{N_{jk}}({z_{rk}}(t))} .$$
((22))

For all h rj (z r (t)) > 0, and \(\sum\nolimits_{j = 1}^8 {{h_{rj}}({z_r}(t))} = 1.\,\;{h_{rj}}({z_r}(t))\) is regarded as the normalized weight of each reference rule. N jk (z r (t)) is the grade of membership of z rk (t) in N jk .

Define the tracking error as

$${e_r}(t) = x(t) - {x_r}(t).$$
((23))

Then, the objective is to design a T-S fuzzy model-based controller which stabilizes the closed-loop fuzzy system and achieves the H tracking performance related to the tracking error e r (t) given by

((24))

where \(\bar \phi \) = [v(t) w(t) r(t)]T for all reference input r(t), external disturbance w(t), and measurement noise v(t). t f represents the terminal time of control, Q is a positive definite weighting matrix, and ρ a prescribed attenuation level.

3.3 Tracking control design

To design an observer-based tracking controller, a new parallel distributed compensation (PDC) controller is proposed. The main difference from the ordinary PDC controller described in [23] is to have a term of x r (t) in the feedback control law. Then, the new PDC fuzzy controller is designed as[24]

Sub-controller A rule R i :

If (z 1(t) is F 1,l ) and (z 2(t) is F 2,f ) and (z 3(t) is F 3,h ) Then u A (t) = K i \(\hat x\)(t) for i = 1, , 2, ⋯ , 8.

Sub-controller B rule R j :

If (z r 1(t) is N 1,l ) and (z r 2(t is N 2,f ) and (z r 3(t) is N 3,h ) Then u B (t) = −K j x r (t) for j = 1, 2, ⋯ , 8.

Hence, the overall fuzzy controller is given by

$$u(t) = {u_A}(t) + {u_B}(t)$$
((25))
$$u(t) = \sum\limits_{i = 1}^8 {{h_i}(z(t)){K_i}\hat x(t)} - \sum\limits_{j = 1}^8 {{h_{rj}}} ({z_r}(t)){K_j}{x_r}(t).$$
((26))

However, the fuzzy tracking control law (26) requires that all state variables are available. In this condition, a fuzzy observer of Luenberger type is constructed to estimate the immeasurable states of the rotor flux. According to the fuzzy model (12), the fuzzy observer is given as

If (z 1(t) is F 1,l ) and (z 2(t) is F 2,f ) and (z 3(t) is F 3,h ) Then \(\mathop {\hat x}\limits^{\;.} (t) = ({A_i}\hat x(t) + Bu(t) + {L_i}(y(t) - \hat y(t)))\) where L i is the gain of the observer.

The overall fuzzy observer is represented as

$$\left\{ {\begin{array}{*{20}{l}} {\dot \hat x(t) = \sum\limits_{i = 1}^8 {({A_i}\hat x(t) + Bu(t) + {L_i}(y(t) - \hat y(t)))} } \\ {\hat y(t) = C\hat x(t).} \end{array}} \right.$$
((27))

Define the observation error

$$e(t) = x(t) - \hat x(t).$$
((28))

From systems (12), (27) and (28), we can obtain the error dynamics as

$$\dot e(t) = \sum\limits_{i = 1}^8 {{h_i}(z(t))[({A_i} - {L_i}C)e(t) - {L_i}v(t)] + w(t)} .$$
((29))

The augmented system composed of equalities (12), (20) and (29) can be expressed as

$$\dot \bar x(t) = \sum\limits_{i = 1}^8 {\sum\limits_{j = 1}^8 {{h_i}} } (z(t)){h_j}({z_r}(t))\left[ {{{\bar G}_{ij}}\bar x(t) + {{\bar F}_i}\bar \varphi (t)} \right]$$
((30))

where

$$\begin{array}{*{20}{l}} {\bar x(t) = \left[ {\begin{array}{*{20}{c}} {e(t)} \\ {x(t)} \\ {{x_r}(t)} \end{array}} \right]} \\ {\;\;{G_{ij}} = \left[ {\begin{array}{*{20}{c}} {{A_i} - {L_i}C}&0&0 \\ { - B{K_i}}&{{A_i} + B{K_i}}&{ - B{K_j}} \\ 0&0&{{A_{rj}}} \end{array}} \right]} \\ {\;\;\;\bar F = \left[ {\begin{array}{*{20}{c}} { - {L_i}}&I&0 \\ 0&I&0 \\ 0&0&I \end{array}} \right]} \\ {\bar \varphi (t) = \left[ {\begin{array}{*{20}{c}} {v(t)} \\ {w(t)} \\ {r(t)} \end{array}} \right].} \end{array}$$

Hence, the H tracking performance in (24) can be modified as follows, if the initial condition is also considered[2, 25, 26]:

((31))

where

$$\bar Q = \left[ {\begin{array}{*{20}{c}} 0&0&0 \\ 0&Q&{ - Q} \\ 0&{ - Q}&Q \end{array}} \right]$$

and \(\bar P\) is a symmetric positive definite weighting matrix.

Now, the objective is to determine the controller's and observer's gains K i and L i for the augmented model (30) with the guaranteed H tracking performance (24) for all \(\bar \phi (t)\) . The main result of fuzzy observer-based tracking control for the T-S fuzzy model of the induction motor is summarised in the following theorem:

Theorem 1. If there exists a symmetric and positive definite matrix \(\bar P = {\bar P^{\text{T}}} > 0\) and a prescribed positive constant ρ 2 such that

((32))

then the performance of H tracking control for the prescribed ρ 2 is guaranteed, and the quadratic stability for the closed-loop system is assured.

Proof. Consider the Lyapunov function \(V(\bar x(t)) = {\bar x^{\text{T}}}(t)\bar P\;\bar x(t)\) where \(\bar P = {\bar P^{\text{T}}} > 0\). The time derivative of \(V(\bar x(t))\) is

((33))

Lemma 1. For any matrices X and Y with appropriate dimensions, the following property holds:

where ρ is a real value which is assumed to be positive.

Applying the statement of Lemma to the term

we obtain

((34))

Substituting (34) into (33) yields

From (32), we get

((35))

Integrating (35) from t = 0 to t = t f yields

((36))

This is equivalent to

((37))

As a result, the H tracking control performance is achieved with a prescribed attenuation level ρ.

It is noted that Theorem 1 gives the sufficient condition of ensuring the stability of the augmented fuzzy system (30) and achieving the tracking performance (24). However, it does not give the methods of obtaining the solution of the common positive matrices, the gains of fuzzy controller and fuzzy observer. Inequality (32) presents bilinear matrix inequality (BMI) conditions. For this reason, we propose a method that consists of solving these BMI’s in two stages, such that every stage is considered as a standard LMI[2, 25]. To facilitate the resolution, the matrix variable \(\bar P\) is chosen diagonal with respect to appropriate matrix blocks:

$$\bar P = \operatorname{diag} \left\{ {\;{P_1}\quad {P_2}\quad {P_3}\;} \right\}.$$
((38))

By substituting (38) into (32), we obtain

$$\left[ {\begin{array}{*{20}{c}} {I{I_{11}}}&{I{I_{12}}}&0 \\ {I{I_{21}}}&{I{I_{22}}}&{I{I_{23}}} \\ 0&{I{I_{32}}}&{I{I_{33}}} \end{array}} \right] < 0$$
((39))

where

We consider the change of variable Z i = P 1 L i. Using the Schur complement, inequality (39) is equivalent to

((40))

where

Using LMI tools, there are several parameters that should be determined from (40). There are no effective algorithms for solving them simultaneously. However, we can solve them by the following two-step procedure. First, we can find P 2 and K i from the diagonal blocks D 44, then P 1, P 3 and L i from the inequality (40). Indeed, after congruence of (40) with diag{I, I, I, \(P_2^{ - 1}\), I,I}, considering the change of variable N 2 = \(P_2^{ - 1}\), Y i = K iN2, and using the Schur’s complement, D 44 is equivalent to the following LMI:

((42))

The parameters \({P_2} = N_2^{ - 1}\) and \({K_i} = {Y_i}N_2^{ - 1}\) are obtained by solving the LMIs in (41). In the second step, by substituting P 2 and K i into inequality (40), the last condition becomes a standard LMI, and we can easily solve P 1, P 3 and the observer’s gains L i.

4 Simulation and experimental results

The proposed fuzzy tracking control law has first been tested in simulation as shown in Fig. 1.

Fig. 1
figure 1

Fuzzy control structure of induction motor

4.1 Simulation results

Figs. 2 and 3 present the simulation results of the proposed fuzzy control law. The controller parameters for the T-S reference model are chosen as K i = 20 and K ψ = 100. The reference flux starts from zero at t = 0 and increases to the rated constant value 1 Wb. The speed reference goes from 0 to 100 rad/s at t = 1 s and increases to 150 rad/s at t = 10s. From time t = 14s to t = 18s, a constant load torque of 5 Nm value is applied.

Fig. 2
figure 2

Simulation results of T-S fuzzy control for a step command Signal

Fig. 3
figure 3

Simulation results of T-S fuzzy control for a trapezoidal command signal

The simulation results illustrated in the Fig. 2 show the performance of the developed approach in terms of tracking error and state estimation. Indeed, Fig. 2 (a) shows the convergence of the estimated rotor speed toward the real speed and then toward the desired trajectory, which shows that the tracking performance is assured as well as the observer's convergence. In addition, a smaller tracking error for speed is observed in Fig. 2 (c) in spite of the load torque being applied. Fig. 2 (d) and (e) shows that when the value of the rotor speed reference changes, the d-axis rotor flux undergoes a weak fluctuation and remains close to its T-S reference value, while the q-axis rotor flux remains null in Fig. 2(f).

In order to evaluate the performance of the proposed fuzzy control law, simulation results for reversing speed from 150rad/s to -150rad/s are also presented in Fig. 3.

A similar level of performance is obtained characterized by a small rotor speed tracking error which does not pass 1.5rad/s (Fig 3(b)) and a good reconstruction of the machine states. The d-axis rotor flux tracks the reference trajectory (Fig. 3(c)), and the decoupling control characteristic between the rotor flux and the torque is achieved.

4.2 Experimental results

Experimental tests are carried out to verify the effectiveness of our proposed fuzzy controller. The test bench (Fig.4) is made up of a three-phase induction motor (IM), an insulated gate bipolar transistor (IGBT) source voltage inverter, a digital signal processor (DSP) controller card, an incremental encoder, and three hall-effect current sensors for the measurement of stator currents. The fuzzy observer as well as the whole control algorithm has been implemented on Dspace carte DS1104 with a TMS320F240 processor. This control card is composed of two processors. The master processor allows the application to be managed while the slave processor generates the pulse width modulated (PWM) signals of the controls. It constitutes the hardware part of Dspace. The software is based on a Matlab/Simulink program, which permits an easy programming of the real time application under simulink environment with the use of specific blocks included in the real time interface (RTI) toolbox. The second program, control desk, is a graphic interface allowing for observing online the evolution of the measured data.

Fig. 4
figure 4

Test bench of induction motor

In addition, a set of I/O modules are constructed in the card connector panel CP1104 for the voltage/current measurement, encoder interface, and the protection of the power inverter. The pulse width modulation (PWM) signals are generated with switching frequency of 5 kHz. The experiments have been performed for the rated speed of 100 rad/s at t = 2s and increased to 150 rad/s at t = 10 s as shown in Fig. 5 (a).

Fig. 5
figure 5

Experimental results of T-S fuzzy control for for a step command signal

It is clear that the rotor speed tracks the reference trajectory perfectly (Fig. 5 (a)). The rotor flux is aligned with the d-axis, and the estimation error remains very small. Consequently, we can note that the experiment response is close to the simulated one, which confirms the effectiveness of the proposed fuzzy state feedback controllers.

5 Conclusions

In this paper, we present a fuzzy H model reference tracking control scheme applied to a field oriented induction motor drive. The shape of the designed fuzzy control law is similar to the parallel distributed compensation (PDC) control techniques except that the proposed fuzzy controller is expressed with the tracking error. The T-S fuzzy model is used to represent the induction motor by a set of local state space models which are interpolated by nonlinear functions. Based on the T-S fuzzy model, a fuzzy observer based fuzzy controller is developed to reduce the tracking error as much as possible by minimizing the effect of the disturbance level. The stability of the fuzzy closed-loop system has been analyzed using Lyapunov theory combined with an LMI approach. A two-step LMI method has been given to solve the coupled matrix inequality. The effectiveness of the proposed controller and fuzzy observer are demonstrated through numerical simulations and experimental results. Thus, this work offers the perspective to develop a fuzzy robust tracking control applied to the induction motor which takes the parametric variation into account.

Appendix

A. The premise variables are bounded as

$$\begin{array}{*{20}{c}} {{\omega _{{m_{\min }}}} = - 200\operatorname{rad} /\operatorname{s} ,\quad {\omega _{{m_{\max }}}} = 200\operatorname{rad} /\operatorname{s} .} \\ {{i_{s{d_{\min }}}} = - 6\operatorname{A} ,\quad {i_{s{d_{\max }}}} = 6\operatorname{A} .} \\ {{i_{s{q_{\min }}}} = - 6\operatorname{A} ,\quad {i_{s{q_{\max }}}} = 6\operatorname{A} .} \end{array}$$

B. Solving LMIs (41) and (40) by LMI optimization algorithm, we have the gains of the observer and controller as follows.

$$\begin{array}{*{20}{l}} {{K_1} = \left[ {\begin{array}{*{20}{c}} { - 155.6}&{ - 9.4}&{ - 7199.4}&{ - 174.9}&{15.1} \\ { - 19.9}&{ - 92.9}&{ - 871.6}&{ - 1777.4}&{ - 154.2} \end{array}} \right]} \\ {{K_2} = \left[ {\begin{array}{*{20}{c}} { - 155.6}&{ - 8.8}&{ - 7200}&{ - 163.6}&{ - 14.1} \\ { - 17.8}&{ - 92.9}&{ - 781.9}&{ - 1777.9}&{ - 154.4} \end{array}} \right]} \\ {{K_3} = \left[ {\begin{array}{*{20}{c}} { - 155.8}&{1.5}&{ - 7208.2}&{ - 29.6}&{ - 2.9} \\ { - 3}&{ - 93}&{ - 137.9}&{ - 1780.4}&{ - 154.4} \end{array}} \right]} \\ {{K_4} = \left[ {\begin{array}{*{20}{c}} { - 155.8}&{ - 2.1}&{ - 7208.2}&{ - 41.1}&{ - 3.9} \\ { - 5}&{ - 93}&{ - 228.9}&{ - 1780.4}&{ - 151.9} \end{array}} \right]} \\ {{K_5} = \left[ {\begin{array}{*{20}{c}} { - 155.8}&{1.5}&{ - 7208.2}&{ - 29.6}&{2.9} \\ 3&{ - 93}&{137.9}&{ - 1780.1}&{ - 151.4} \end{array}} \right]} \\ {{K_6} = \left[ {\begin{array}{*{20}{c}} { - 155.8}&{2.1}&{ - 7209}&{41}&{3.9} \\ 5&{ - 93}&{228.5}&{ - 1780.4}&{ - 151.9} \end{array}} \right]} \\ {{K_7} = \left[ {\begin{array}{*{20}{c}} { - 155.6}&{9.4}&{ - 7199.4}&{174.9}&{15.1} \\ {19.9}&{ - 92.9}&{872.6}&{ - 1777.4}&{ - 154.2} \end{array}} \right]} \\ {{K_8} = \left[ {\begin{array}{*{20}{c}} { - 155.6}&{ - 8.8}&{ - 7200.6}&{ - 163.6}&{ - 14.1} \\ {17.8}&{ - 92.9}&{781.9}&{ - 1777.6}&{ - 151.7} \end{array}} \right]} \end{array}$$
$$\begin{array}{*{20}{l}} {{L_1} = \left[ {\begin{array}{*{20}{c}} {169.1974}&{ - 0.0657}&{ - 0.0004} \\ {0.0750}&{168.7559}&{0.5754} \\ { - 2.4082}&{0.0034}&{ - 0.0022} \\ { - 0.0036}&{ - 2.3799}&{ - 0.0387} \\ { - 0.0884}&{0.5816}&{174.0138} \end{array}} \right]} \\ {{L_2} = \left[ {\begin{array}{*{20}{c}} {169.1283}&{ - 0.0943}&{0.0977} \\ {0.0456}&{168.7655}&{0.6500} \\ { - 2.4083}&{0.0039}&{ - 0.0036} \\ { - 0.0032}&{ - 2.3799}&{ - 0.0442} \\ {0.0749}&{0.5466}&{174.0157} \end{array}} \right]} \\ {{L_3} = \left[ {\begin{array}{*{20}{c}} {169.1308}&{ - 0.0923}&{ - 0.0890} \\ {0.0478}&{168.7613}&{0.6654} \\ { - 2.4083}&{0.0038}&{0.0035} \\ { - 0.0032}&{ - 2.3799}&{ - 0.0399} \\ { - 0.0708}&{0.7355}&{174.0185} \end{array}} \right]} \\ {{L_4} = \left[ {\begin{array}{*{20}{c}} {169.1334}&{ - 0.0604}&{ - 0.0091} \\ {0.0778}&{168.7525}&{0.7432} \\ { - 2.4081}&{0.0034}&{0.0021} \\ { - 0.0037}&{ - 2.3800}&{ - 0.0455} \\ {0.0947}&{0.7042}&{174.0203} \end{array}} \right]} \\ {{L_5} = \left[ {\begin{array}{*{20}{c}} {169.1308}&{0.0923}&{0.0890} \\ { - 0.0478}&{168.7613}&{0.6654} \\ { - 2.4083}&{ - 0.0038}&{ - 0.0035} \\ {0.0032}&{ - 2.3799}&{ - 0.0399} \\ {0.0708}&{0.7355}&{174.0185} \end{array}} \right]} \\ {{L_6} = \left[ {\begin{array}{*{20}{c}} {169.1334}&{0.0604}&{ - 0.0091} \\ { - 0.0778}&{168.7525}&{0.7432} \\ { - 2.4081}&{ - 0.0034}&{ - 0.0021} \\ {0.0037}&{ - 2.3800}&{ - 0.0455} \\ { - 0.0947}&{0.7042}&{174.0203} \end{array}} \right]} \\ {{L_7} = \left[ {\begin{array}{*{20}{c}} {169.1374}&{0.0657}&{0.0004} \\ { - 0.0750}&{168.7559}&{0.5754} \\ { - 2.4082}&{ - 0.0034}&{0.0022} \\ {0.0036}&{ - 2.3799}&{ - 0.0387} \\ {0.884}&{0.5816}&{174.0138} \end{array}} \right]} \\ {{L_8} = \left[ {\begin{array}{*{20}{c}} {169.1283}&{0.0943}&{ - 0.0977} \\ { - 0.0456}&{168.7655}&{0.6500} \\ { - 2.4083}&{ - 0.0039}&{0.0036} \\ {0.0032}&{ - 2.3799}&{ - 0.0442} \\ { - 0.0749}&{0.5466}&{174.0157} \end{array}} \right]} \end{array}$$

C. The three-phase induction motor is characterized by the following parameters:

Motor rated power: 1.1 kW

Pole pair number (p): 2

Stator resistance: 10.5 Ω

Rotor resistance: 4.3047 Ω

Stator inductance: 0.4718 mH

Rotor inductance: 0.4718 mH

Motor inertia J 0.0293 kgm2

Friction coefficient f: 0.001 Nmrad−1.

D. The simulation results of the open-loop control law defined by (5) are shown in Fig. 6. We consider a step reference speed of value 100 rad/s.

Fig. 6
figure 6

Rotor speed and d-axis rotor flux of open-loop control law