Introduction

Efficient control of the traction system of electric trains is important for improving their performance indexes (e.g. acceleration, maximum speed, motor’s torque) as well as their safety features [14]. To this end, in the recent years several research results have been produced on control of induction motors, which are frequently used for the traction of electric trains (and particularly of high-speed trains) [58]. Induction motors (IM) have been the most widely used machines in fixed-speed applications for reasons of cost, size, weight, reliability, ruggedness, simplicity, efficiency, and ease of manufacture. The induction motor model is a highly nonlinear one and is characterized by the difficulty in measuring certain of its state vector elements (e.g. magnetic flux) [9]. With the field-oriented method, the dynamic behavior of the induction motor is rather similar to that of a separately excited DC motor [10, 11]. A decoupled relationship is obtained by means of a proper selection of state coordinates and thus, the rotor speed is asympotically decoupled from the rotor flux, while the speed can be controlled only by varying the stator’s currents [12, 13]. On the other hand certain approaches try to develop control for induction motors based on feedback linearization of its dynamics [1418]. The control performance of the induction motor is influenced by the uncertainties of motor’s dynamic model, such as mechanical parameter uncertainty, external load disturbance, and unmodelled dynamics in practical applications. Thus other approaches try to provide induction motor control with improved robustness features [1921].

In this research article a new control method for induction motors is developed, based on nonlinear H-infinity control theory. The application of an approximate linearization scheme for the dynamic model of the induction motor is proposed, based on Taylor series expansion round the motor’s present operating point. To perform this linearization the computation of Jacobian matrices is needed while the induced linearization error terms are treated as disturbances. For the linearized equivalent of the asynchronous motor’s model an \(H_{\infty }\) feedback control scheme is developed. The formulation of the \(H_{\infty }\) control problem is based on the minimization of a quadratic cost function that comprises both the disturbance and the control input effects. The disturbance tries to maximize the cost function while the control signal tries to minimize it, within a mini-max differential game. The efficiency of the proposed nonlinear \(H_{\infty }\) control scheme has been tested through simulation experiments, which have shown a satisfactory performance.

Comparing to nonlinear feedback control approaches which are based on exact feedback linearization of the induction motor (as the ones based on differential flatness theory and analyzed in Ref. [2224]) the proposed \(H_{\infty }\) control scheme is assessed as follows: (i) it uses an approximate linearization approach of the system’s dynamic model which does not follow the elaborated transformations (diffeomorphisms) of the exact linearization methods, (ii) it introduces additional disturbance error which is due to the approximative linearization of the system dynamics coming from the application of Taylor series expansion [2527], (iii) it requires the computation of Jacobian matrices, which in the case of the sixth-order asynchronous motor model can be also a cumbersome procedure, (iv) unlike exact feedback linearization, the \(H_{\infty }\) control term has to compensate not only for modelling uncertainties and external disturbances but needs also to annihilate the effects of the cumulative linearization error, (v) the \(H_{\infty }\) control approach follows an optimal control method for the computation of the control signal, however unlike exact feedback linearization control it requires the solution of Riccati equations which for the sixth-order induction motor’s model can be again a cumbersome procedure.

The structure of the paper is as follows: in “Mathematical Model of the Induction Motor” section, the dynamic model of the induction motor is analyzed. In “Field Oriented Control” section, an overview of field-oriented control of induction motors and the associated dynamic model in the dq reference frame are given. In “Linearization of the Induction Motor’s Dynamic Model” section, linearization of the induction motor’s model is performed round local operating points and through the computation of Jacobian matrices. In “The Nonlinear H-infinity Control” section, the nonlinear \(H_{\infty }\) feedback control law is formulated. In “Lyapunov Stability Analysis” section, Lyapunov stability analysis is provided for the control loop of the asynchronous motor. In “Robust state estimation with the use of the \(H_{\infty }\) Kalman Filter” section the problem of robust estimation for the induction motor is treated with the use of the H-infinity Kalman Filter. In “Simulation Tests” section, the performance of the proposed control scheme is tested through simulation experiments. Finally, in “Conclusions” section, concluding remarks are stated.

Mathematical Model of the Induction Motor

To derive the dynamic model of an induction motor the three-phase variables are first transformed to two-phase ones [1417]. This two-phase system can be described in the stator-coordinates frame \(\alpha -b\), and the associated voltages are denoted as \({v_s}_\alpha \) and \({v_s}_b\), while the currents of the stator are \({i_s}_\alpha \) and \({i_s}_b\), respectively (see Fig. 1). Then, the rotation angle of the rotor with respect to the stator is denoted by \(\delta \). Next, the rotating reference frame \(d-q\) on rotor, is defined. The currents of the rotor are decomposed into \(d-q\) coordinates, thus resulting into \(i_{r_d}\) and \(i_{r_q}\). Since the frame \(d-q\) of the rotor aligns with the frame \(\alpha -b\) of the stator after rotation by an angle \(\delta \) it holds that

$$\begin{aligned} \begin{pmatrix} i_{r_{\alpha }} \\ i_{r_b} \end{pmatrix}= \begin{pmatrix} cos(\delta ) &{}\quad -sin(\delta ) \\ sin(\delta ) &{}\quad cos(\delta ) \end{pmatrix} \begin{pmatrix} i_{r_d} \\ i_{r_q} \end{pmatrix} \end{aligned}$$
(1)
Fig. 1
figure 1

AC motor circuit, with the \(a-b\) stator reference frame and the \(d^{'}-q^{'}\) rotor reference frame

The voltage developed along frame \(\alpha \) of the stator is given by

$$\begin{aligned} {R_s}{{i_s}_\alpha }+{{d{{\psi _s}_\alpha }} \over {dt}}={v_s}_{\alpha } \end{aligned}$$
(2)

where the magnetic flux \({\psi _s}_{\alpha }\) is the result of the magnetic flux that is generated by current \({i_s}_\alpha \) of the stator (self-inductance) and of the magnetic flux which is generated by current \({i_r}_\alpha \) of the rotor (mutual inductance), i.e.

$$\begin{aligned} {\psi _s}_\alpha ={L_s}{{i_s}_\alpha }+M{i_r}_\alpha \end{aligned}$$
(3)

The voltage developed along frame b of the stator is

$$\begin{aligned} {R_s}{{i_s}_b}+{d \over {dt}}{{\psi _s}_b}={u_s}_b \end{aligned}$$
(4)

where the magnetic flux \({\psi _s}_{b}\) is the result of the magnetic flux that is generated by currrent \({i_s}_b\) of the stator (self-inductance) and of the magnetic flux which is generated by current \({i_r}_b\) of the rotor (mutual inductance), i.e.

$$\begin{aligned} {\psi _s}_b={L_s}{{i_s}_b}+M{{i_r}_b} \end{aligned}$$
(5)

Similarly the voltage along frames d and q of the rotor is calculated as follows

$$\begin{aligned}&{R_r}{i_{r_d}}+{d \over {dt}}{\psi _{r_d}}=0 \end{aligned}$$
(6)
$$\begin{aligned}&{R_r}{i_{r_q}}+{d \over {dt}}{\psi _{r_q}}=0 \end{aligned}$$
(7)

After intermediate computations the equations of the induction motor are found to be:

$$\begin{aligned}&{R_s}{{i_s}_{\alpha }}+{M \over {L_r}}{{d \over {dt}}{\psi _r}_{\alpha }}+\left( L_s-{M^2 \over L_r}\right) {d \over {dt}}{i_s}_{\alpha }={{v_s}_{\alpha }} \end{aligned}$$
(8)
$$\begin{aligned}&{R_s}{{i_s}_{b}}+{M \over {L_r}}{d \over {dt}}{\psi _r}_{b}+\left( L_s-{M^2 \over L_r}\right) {d \over {dt}}{i_s}_{b}={{v_s}_{b}} \end{aligned}$$
(9)
$$\begin{aligned}&{R_r \over L_r}{{\psi _r}_{\alpha }}-{{{R_r}M} \over {L_r}}{{i_s}_{\alpha }}+{{d \over {dt}}{\psi _r}_{\alpha }}+{n_p}{\omega }{{\psi _r}_b}=0 \end{aligned}$$
(10)
$$\begin{aligned}&{R_r \over L_r}{{\psi _r}_{b}}-{{{R_r}M} \over {L_r}}{{i_s}_{b}}+{{d \over {dt}}{\psi _r}_{b}}+{n_p}{\omega }{{\psi _r}_{\alpha }}=0 \end{aligned}$$
(11)

The torque that is applied to the rotor is developed according to the principle of energy preservation and is given by

$$\begin{aligned} T={{{n_p}M} \over {L_r}}({{\psi _r}_\alpha }{{i_s}_b}-{{\psi _r}_b}{{i_s}_\alpha }) \end{aligned}$$
(12)

If the motor has to move a load of torque \(T_L\) it holds

$$\begin{aligned}&\begin{aligned}&J\dot{\omega }=T-{T_L} \Rightarrow \dot{\omega }={T \over J}-{T_L \over J} \Rightarrow \\&\quad \dot{\omega }={{{n_p}M} \over {J{L_r}}}({{\psi _r}_\alpha }{{i_s}_b}-{{\psi _r}_b}{{i_s}_\alpha })-{T_L \over J} \end{aligned} \end{aligned}$$
(13)

Denoting \(\sigma =1-{{M^2} \over {{L_s}{L_r}}}\), the equations of the induction motor are finally written as:

$$\begin{aligned}&\dot{\theta }=\omega \end{aligned}$$
(14)
$$\begin{aligned}&{d{\omega } \over {dt}}={{{n_p}M} \over {J{L_r}}}({{\psi _r}_{\alpha }}{{i_s}_b}-{{\psi _r}_b}{i_s}_{\alpha })-{{T_L} \over J} \end{aligned}$$
(15)
$$\begin{aligned}&{{d{{\psi _r}_\alpha }} \over {dt}}=-{{R_L} \over {L_r}}{{\psi _r}_\alpha }-{n_p}{\omega }{{\psi _r}_b}+{R_r \over L_r}M{{i_s}_\alpha } \end{aligned}$$
(16)
$$\begin{aligned}&{{d{{\psi _r}_b}} \over {dt}}=-{{R_L} \over {L_r}}{{\psi _r}_b}+{n_p}{\omega }{{\psi _r}_\alpha }+{R_r \over L_r}M{{i_s}_b} \end{aligned}$$
(17)
$$\begin{aligned} {d \over {dt}}{{i_s}_\alpha }= & {} {{M{R_r}} \over {{\sigma }{L_s}{L_r^2}}}{{\psi _r}_\alpha }+{{{n_p}M} \over {{\sigma }{L_s}{L_r}}}{\omega }{{\psi _r}_b}\nonumber \\&-\left( {{{M^2}{R_r}+{L_r^2}{R_s}} \over {{\sigma }{L_s}{L_r^2}}}\right) {{i_s}_\alpha }+{1 \over {{\sigma }{L_s}}}{{v_s}_\alpha } \end{aligned}$$
(18)
$$\begin{aligned} {d \over {dt}}{{i_s}_b}= & {} -{{{n_p}M} \over {{\sigma }{L_s}{L_r}}}{\omega }{{\psi _r}_\alpha }+ {{M{R_r}} \over {{\sigma }{L_s}{L_r^2}}}{{\psi _r}_b}\nonumber \\&-\left( {{{M^2}{R_r}+{L_r^2}{R_s}} \over {{\sigma }{L_s}{L_r^2}}}\right) {{i_s}_b}+{1 \over {{\sigma }{L_s}}}{{v_s}_b} \end{aligned}$$
(19)

Therefore one can define the state vector \(x=[\theta , \omega ,{{\psi _r}_\alpha },{{\psi _r}_b},{{i_s}_\alpha },{{i_s}_b}]^T\). Uncertainty can be associated with the value of the load torque \(T_L\), or the value of the components of the electric circuits of the stator and the rotor. The following parameters are also defined: \(\alpha _1={R_r \over L_r}\), \(\beta _1={M \over {{\sigma }{L_s}{L_r}}}\), \(\gamma _1=\left( {{{M^2}{R_r}} \over {{\sigma }{L_s}{L_r^2}}}+{{R_s} \over {{\sigma }{L_s}}}\right) \), \(\mu _1={{{n_p}M} \over {JL_r}}\). Therefore, the dynamic model of the induction motor can be written as:

$$\begin{aligned} \dot{x}=f(x)+{g_\alpha }{{u_s}_\alpha }+{g_b}{{u_s}_b} \end{aligned}$$
(20)

In state equations form, the dynamic model of the motor can be written as

$$\begin{aligned}&f(x)= \left( \begin{array}{l} x_2 \\ {\mu _1}({x_3}{x_6}-{x_4}{x_5})-{T_L \over J} \\ {\alpha _1}{x_3}-{n_p}{x_2}{x_4}+{\alpha _1}M{x_5} \\ {n_p}{x_2}{x_3}-{\alpha _1}{x_4}+{\alpha _1}M{x_6} \\ {\alpha _1}{\beta _1}{x_3}+{n_p}{\beta _1}{x_2}{x_4}-{\gamma }{x_5} \\ -{n_p}{\beta _1}{x_2}{x_3}+{\alpha _1}{\beta _1}{x_4}-{\gamma _1}{x_6} \end{array}\right) \end{aligned}$$
(21)
$$\begin{aligned}&g_\alpha =\left[ 0,0,0,0, {1 \over {{\sigma }{L_s}}}, 0\right] ^T \nonumber \\&g_b=\left[ 0,0,0,0,0,{1 \over {{\sigma }{L_s}}}\right] ^T \end{aligned}$$
(22)

Field Oriented Control

The classical method for induction motors control was introduced by Blaschke (1971) and is based on a transformation of the stator’s currents (\({i_s}_{\alpha }\)) and (\({i_s}_b\)) and of the magnetic fluxes of the rotor (\({\psi _r}_\alpha \) and \({\psi _r}_b\)) to the reference frame \(d-q\) which rotates together with the rotor [1417]. Thus the controller’s design uses the currents \({i_s}_d\) and \({i_s}_q\) and the fluxes \({\psi _r}_d\) and \({\psi _r}_q\). The angle of the vectors that describe the magnetic fluxes \({\psi _r}_\alpha \) and \({\psi _r}_b\) is first defined, i.e.

$$\begin{aligned} \rho =tan^{-1}\left( {{\psi _{r_b}} \over {\psi _{r_a}}}\right) \end{aligned}$$
(23)

The angle between the inertial reference frame of the stator and the rotating reference frame of the rotor is taken to be equal to \(\rho \). The transition from \(({i_s}_\alpha ,{i_s}_b)\) to \(({i_s}_d,{i_s}_q)\) is given by

$$\begin{aligned} \begin{pmatrix} {i_s}_d \\ {i_s}_q \end{pmatrix}= \begin{pmatrix} cos(\rho ) &{}\quad sin(\rho ) \\ -sin(\rho ) &{}\quad cos(\rho ) \end{pmatrix} \begin{pmatrix} {i_s}_\alpha \\ {i_s}_b \end{pmatrix} \end{aligned}$$
(24)

The transition from \(({\psi _r}_\alpha ,{\psi _r}_b)\) to \(({\psi _r}_d,{\psi _r}_q)\) is given by

$$\begin{aligned} \begin{pmatrix} {\psi _r}_d \\ {\psi _r}_q \end{pmatrix}= \begin{pmatrix} cos(\rho ) &{}\quad sin(\rho ) \\ -sin(\rho ) &{}\quad cos(\rho ) \end{pmatrix} \begin{pmatrix} {\psi _r}_\alpha \\ {\psi _r}_b \end{pmatrix} \end{aligned}$$
(25)

Moreover, it holds that \(cos(\rho )={{\psi _{r_a}} \over {||\psi ||}}\), \(sin(\rho )={{\psi _{r_b}} \over {||\psi ||}}\), and \(||\psi ||=\sqrt{{\psi _{r_\alpha }^2}+{\psi _{r_b}^2}}\). Using the above transformation ones obtains

$$\begin{aligned} {i_s}_d= & {} {{{\psi _r}_\alpha }{{i_s}_\alpha }+{{\psi _r}_b}{{i_s}_b} \over {||\psi ||}} \quad {\psi _r}_d=||\psi || \nonumber \\ {i_s}_q= & {} {{{\psi _r}_\alpha }{{i_s}_b}-{{\psi _r}_b}{{i_s}_\alpha } \over {||\psi ||}} \quad {\psi _r}_q=0 \end{aligned}$$
(26)

Therefore, in the rotating frame \(d-q\) of the motor there will be only one non-zero component of the magnetic flux \(\psi _{r_d}\), while the component of the flux along the d axis equals 0. The new inputs of the system are considered to be \({v_s}_d,{v_s}_q\), which are connected to \({v_s}_a, {v_s}_b\) according to the relation

$$\begin{aligned} \begin{pmatrix} {v_s}_\alpha \\ {v_s}_b \end{pmatrix}=||\psi ||{\cdot } \begin{pmatrix} \psi _{r_a} &{}\quad \psi _{r_b} \\ \psi _{r_b} &{}\quad \psi _{r_a} \end{pmatrix}^{-1} \begin{pmatrix} {v_s}_d \\ {v_s}_q \end{pmatrix} \end{aligned}$$
(27)

In the new coordinates the induction motor model is written as:

$$\begin{aligned}&{d \over {dt}}\theta =\omega \end{aligned}$$
(28)
$$\begin{aligned}&{d \over {dt}}\omega ={\mu }{{\psi _r}_d}{i_s}_q-{{T_L} \over J} \end{aligned}$$
(29)
$$\begin{aligned}&{d \over {dt}}{{\psi _r}_d}=-\,{\alpha }{{\psi _r}_d}+{\alpha }M{{i_s}_d} \end{aligned}$$
(30)
$$\begin{aligned}&{d \over {dt}}{{i_s}_d}=-\,{\gamma }{{i_s}_d}+{\alpha }{\beta }{{\psi _r}_d}+{n_p}{\omega }{{i_s}_q}\nonumber \\&\qquad \qquad \qquad \qquad +\,{{\alpha }M{{{i_s}_q}^2} \over {{\psi _r}_d}}+{1 \over {{\sigma }{L_s}}}{v_s}_d \end{aligned}$$
(31)
$$\begin{aligned}&{d \over {dt}}{{i_s}_q}=-\,{\gamma }{{i_s}_q}-{\beta }{n_p}{\omega }{{\psi _r}_d}-{n_p}{\omega }{{i_s}_d}\nonumber \\&\qquad \qquad \qquad \qquad -\,{{\alpha }M{{i_s}_q}{{i_s}_d} \over {\psi _d}}+{1 \over {{\sigma }{L_s}}}{{v_s}_q} \end{aligned}$$
(32)
$$\begin{aligned}&{d \over {dt}}{\rho }={n_p}{\omega }+{{\alpha }M{{i_s}_q} \over {{\psi _r}_d}} \end{aligned}$$
(33)

Defining the state vector of the motor dynamics in the dq reference frame as \(x=[\theta ,\omega ,\psi _{r_d},i_{s_d},i_{s_q},\rho ]\) the associated state-space model becomes \(\dot{x}=f(x)+{g_d}v_{s_d}+{g_q}v_{s_q}\), where

$$\begin{aligned} f(x)= & {} \left( \begin{array}{l} x_2 \\ {\mu }{x_3}{x_5}-{{T_L} \over J} \\ -{\alpha }{x_3}+{\alpha }M{x_4} \\ -{\gamma }{x_4}+{\alpha }{\beta }{x_3}+{n_p}{x_2}{x_5}+{{\alpha }M{x_5^2} \over {x_3}} \\ -{\gamma }{x_5}-{\beta }{n_p}{x_2}{x_3}-{n_p}{x_2}{x_4}-{{{\alpha }M{x_4}{x_5}} \over {x_3}} \\ {n_p}{x_2}+{{\alpha }M{x_5} \over {x_3}} \end{array}\right) \end{aligned}$$
(34)
$$\begin{aligned} {g_d}= & {} \left[ 0,0,0,{1 \over {{\sigma }{L_s}}},0, 0\right] ^T\nonumber \\ {g_q}= & {} \left[ 0,0,0,0, {1 \over {{\sigma }{L_s}}}, 0\right] ^T \end{aligned}$$
(35)

Next, the following nonlinear feedback control law is defined

$$\begin{aligned} \begin{pmatrix} {v_s}_d \\ {v_s}_q \end{pmatrix}= {\sigma }{L_s} \left( \begin{array}{l} -{n_p}{\omega }{{i_s}_q}-{{\alpha }M{{{i_s}_q}^2} \over {{\psi _r}_d}}-{\alpha }b{{\psi _r}_d}+{v_d} \\ {n_p}{\omega }{{i_s}_d}+b{n_p}{\omega }{{\psi _r}_d}+{{\alpha }M{{i_s}_q}{{i_s}_d} \over {{\psi _r}_d}}+v_q \end{array}\right) \end{aligned}$$
(36)

The terms in Eq. (36) have been selected so as to linearize Eqs. (30) and (32) and to produce first-order linear ODE. The control signal in the inertial coordinates system \(a-b\) will be

$$\begin{aligned} \begin{pmatrix} {{v_s}_\alpha } \\ {{v_s}_b} \end{pmatrix}= & {} ||\psi ||{\sigma }{L_s} \begin{pmatrix} {\psi _s}_\alpha &{}\quad {\psi _s}_b \\ -{\psi _s}_b &{}\quad {\psi _s}_\alpha \end{pmatrix}{\cdot }^{-1}\nonumber \\&\left( \begin{array}{l} -{n_p}{\omega }{i_s}_q-{{\alpha }M{{{i_s}_q}^2} \over {{\psi _r}_d}}-{\alpha }{\beta }{{\psi _r}_d}+v_d \\ {n_p}{\omega }{i_s}_d+{\beta }{n_p}{\omega }{{\psi _r}_d}+{{{\alpha }M{{i_s}_q}{{i_s}_d}} \over {{\psi _r}_d}}+v_q \end{array}\right) \end{aligned}$$
(37)

Substituting Eq. (36) into Eqs. (30) and (32) one obtains [16]:

$$\begin{aligned}&\dot{\theta }=\omega \end{aligned}$$
(38)
$$\begin{aligned}&{d \over {dt}}{\omega }={\mu }{{\psi _r}_d}{{i_s}_q}-{{T_L} \over J} \end{aligned}$$
(39)
$$\begin{aligned}&{d \over {dt}}{i_s}_q=-\,{\gamma }{{i_s}_q}+v_q \end{aligned}$$
(40)
$$\begin{aligned}&{d \over {dt}}{\psi _r}_d=-\,{\alpha }{{\psi _r}_d}+{\alpha }M{{i_s}_d} \end{aligned}$$
(41)
$$\begin{aligned}&{d \over {dt}}{i_s}_d=-\,{\gamma }{{i_s}_d}+{v_d} \end{aligned}$$
(42)
$$\begin{aligned}&{d \over {dt}}\rho ={n_p}{\omega }+{\alpha }M{{{i_s}_q} \over {{\psi _r}_d}} \end{aligned}$$
(43)

The system of Eqs. (39) to (43) consists of two linear subsystems, where the first one has as output the magnetic flux \({\psi _r}_d\) and the second has as output the rotation speed \(\omega \), i.e.

$$\begin{aligned}&{d \over {dt}}{{\psi _r}_d}=-{\alpha }{{\psi _r}_d}+{\alpha }M{{i_s}_d} \end{aligned}$$
(44)
$$\begin{aligned}&{d \over {dt}}{{i_s}_d}=-{\gamma }{{i_s}_d}+v_d \end{aligned}$$
(45)
$$\begin{aligned}&{d \over {dt}}\omega ={\mu }{{\psi _r}_d}{{i_s}_q}-{{T_L} \over J} \end{aligned}$$
(46)
$$\begin{aligned}&{d \over {dt}}{{i_s}_q}=-{\gamma }{{i_s}_q}+v_q \end{aligned}$$
(47)

If \({\psi _r}_d{\rightarrow }{\psi _r}_d^\text {ref}\), i.e. the transient phenomena for \({\psi _r}_d\) have been eliminated and therefore \({\psi _r}_d\) has converged to a steady state value, then the two subsystems described by Eqs. (44)–(45) and (46)–(47) are decoupled.

The subsystem that is described by Eqs. (44) and (45) is linear with control input \({v_s}_d\), and can be controlled using methods of linear control, such as optimal control, or PID control. For instance the following PI controller has been proposed for the control of the magnetic flux

$$\begin{aligned} v_d(t)= & {} -\,{{k_d}_1}({{\psi _r}_d}-{{\psi _r}_d^{\text {ref}}})\nonumber \\&-\,{{k_d}_2}{\int _0^t}({{\psi _r}_d}(\tau )-{{\psi _r}_d}^{\text {ref}}(\tau ) d{\tau } \end{aligned}$$
(48)

If Eq. (48) is applied to the subsystem that is described by Eqs. (44) and (45), then one can succeed \({{\psi _r}_d}(t){\rightarrow }{{\psi _r}_d^\text {ref}}(t)\). If \({{\psi _r}_d}(t)\) is not sufficiently measurable using Hall sensors then it can be reconstructed using some kind of observer or Kalman Filtering. Now, the subsystem that consists of Eqs. (46) and (47) is examined. The term \(T={\mu }{{\psi _r}_d}^{\text {ref}}{i_s}_q\) denotes the torque developed by the motor. The above mentioned subsystem is a model equivalent to that of a DC motor and thus after succeeding \({\psi _r}_d{\rightarrow }{\psi _r}_d^\text {ref}\), one can also control the motor’s speed \(\omega \), using control algorithms already applied to the control of DC motors. A first approach to the control of the speed \(\omega \) is to use nested PI loops, i.e.

$$\begin{aligned} \begin{aligned}&v_q=-{{K_q}_1}(T-T_{\text {ref}})-{{K_q}_2}{\int _0^t}(T(t)-T_{\text {ref}}(t))d{\tau } \\&T_{\text {ref}}=-{{K_q}_3}(\omega -\omega _\text {ref})-{{K_q}_4}{\int _0^t}(\omega (t)-\omega _{\text {ref}}(t))d{\tau } \end{aligned} \end{aligned}$$
(49)

From the above it can be seen that field oriented (vector control) for induction motors requires the tuning of the several PID-type controllers and this limits the method’s reliability only round local operating points. Consequently, the stability and robustness properties of the field-oriented control for asynchronous motors are doubtful. More efficient control approaches, of proven stability, have to be searched for. This problem will be solved in the following sections.

Linearization of the Induction Motor’s Dynamic Model

As shown in “Field Oriented Control” section, the nonlinear state space equation of the induction motor, expressed in the dq reference frame, is given by

$$\begin{aligned} \dot{x}=f(x)+{g_d}v_{s_d}+{g_q}v_{s_q} \end{aligned}$$
(50)

where the state vector has been defined as \(x=[\theta ,\omega ,\psi _{r_d},i_{s_d}, i_{s_q},\rho ]\) while functions f(x), \(g_a(x)\) and \(g_b(x)\) have been defined as

$$\begin{aligned} f(x)= & {} \left( \begin{array}{l} x_2 \\ {\mu }{x_3}{x_5}-{{T_L} \over J} \\ -{\alpha }{x_3}+{\alpha }M{x_4} \\ -{\gamma }{x_4}+{\alpha }{\beta }{x_3}+{n_p}{x_2}{x_5}+{{\alpha }M{x_5^2} \over {x_3}} \\ -{\gamma }{x_5}-{\beta }{n_p}{x_2}{x_3}-{n_p}{x_2}{x_4}-{{{\alpha }M{x_4}{x_5}} \over {x_3}} \\ {n_p}{x_2}+{{\alpha }M{x_5} \over {x_3}} \end{array}\right) \end{aligned}$$
(51)
$$\begin{aligned} {g_d}= & {} \left[ 0,0,0,{1 \over {{\sigma }{L_s}}},0, 0\right] ^T\nonumber \\ {g_q}= & {} \left[ 0,0,0,0, {1 \over {{\sigma }{L_s}}}, 0\right] ^T \end{aligned}$$
(52)

Then, the Jacobian matrix of the vector field f(x) is:

$$\begin{aligned}&A=J_{\phi }=\left( \begin{array}{llllll} 0 &{}\quad 1 &{}\quad 0 &{}\quad 0 &{}\quad 0 &{}\quad 0 \\ 0 &{}\quad 0 &{}\quad \mu {x_5} &{}\quad 0 &{}\quad \mu {x_3} &{}\quad 0 \\ 0 &{}\quad 0 &{}\quad -\alpha &{}\quad {\alpha }M &{}\quad 0 &{}\quad 0 \\ 0 &{}\quad {n_p}{x_5} &{}\quad {\alpha }{\beta }-{{\alpha }M{x_5^2} \over {x_3^2}} &{}\quad -\gamma &{}\quad {n_p}{x_2}+{{2{\alpha }M{x_5}} \over {x_3}} &{}\quad 0 \\ 0 &{}\quad -{\beta }{n_p}{x_3}-{n_p}{x_4} &{}\quad -{\beta }{n_p}{x_2}+{{{\alpha }M{x_4}{x_5}} \over {x_3^2}} &{}\quad -{n_p}{x_2}-{{{\alpha }M{x_5}} \over {x_3}} &{}\quad -\gamma -{{{\alpha }M{x_4}} \over {x_3}} &{}\quad 0 \\ 0 &{}\quad {n_p} &{}\quad -{{{\alpha }M{x_5}} \over {x_3^2}} &{}\quad 0 &{}\quad {{\alpha }M \over {x_3}} &{}\quad 0 \end{array}\right) \end{aligned}$$
(53)

Moreover, linearization of the motor’s dynamics with respect to the control input variables \(u_1\), \(u_2\) gives the Jacobian matrix

$$\begin{aligned} B=[J_{g_a} J_{g_b}]=\left( \begin{array}{l@{\quad }l} 0 &{}\quad 0 \\ 0 &{}\quad 0 \\ 0 &{}\quad 0 \\ {1 \over {{\sigma }{L_s}}} &{}\quad 0 \\ 0 &{}\quad {1 \over {{\sigma }{L_s}}} \\ 0 &{}\quad 0 \end{array} \right) \end{aligned}$$
(54)

Thus, after linearization round its current operating point, the induction motor’s dynamic model is written as

$$\begin{aligned} \dot{x}=Ax+Bu+d_1 \end{aligned}$$
(55)

Parameter \(d_1\) stands for the linearization error in the induction motor’s dynamic model appearing in Eq. (55). The reference setpoints for the asynchronous motor are denoted by \(\mathbf{{x_d}}=[x_1^{d},\ldots ,x_6^{d}]\). Tracking of this trajectory is succeeded after applying the control input \(u^{*}\). At every time instant the control input \(u^{*}\) is assumed to differ from the control input u appearing in Eq. (55) by an amount equal to \({\Delta }u\), that is \(u^{*}=u+{\Delta }u\)

$$\begin{aligned} \dot{x}_d=Ax_d+Bu^{*}+d_2 \end{aligned}$$
(56)

The dynamics of the controlled system described in Eq. (55) can be also written as

$$\begin{aligned} \dot{x}=Ax+Bu+Bu^{*}-Bu^{*}+d_1 \end{aligned}$$
(57)

and by denoting \(d_3=-Bu^{*}+d_1\) as an aggregate disturbance term one obtains

$$\begin{aligned} \dot{x}=Ax+Bu+Bu^{*}+d_3 \end{aligned}$$
(58)

By subtracting Eq. (56) from Eq. (58) one has

$$\begin{aligned} \dot{x}-\dot{x}_d=A(x-x_d)+Bu+d_3-d_2 \end{aligned}$$
(59)

By denoting the tracking error as \(e=x-x_d\) and the aggregate disturbance term as \(\tilde{d}=d_3-d_2\), the tracking error dynamics becomes

$$\begin{aligned} \dot{e}=Ae+Bu+\tilde{d} \end{aligned}$$
(60)

The above linearized form of the induction motor’s model can be efficiently controlled after applying an H-infinity feedback control scheme.

The Nonlinear H-infinity Control

Mini-max Control and Disturbance Rejection

The initial nonlinear model of the induction motor is in the form

$$\begin{aligned} \dot{x}=f(x,u) \quad x{\in }R^n, \quad u{\in }R^m \end{aligned}$$
(61)

Linearization of the system (asynchronous motor) is performed at each iteration of the control algorithm round its present operating point \({(x^{*},u^{*})}=(x(t),u(t-T_s))\). The linearized equivalent of the system is described by

$$\begin{aligned} \dot{x}=Ax+Bu+L\tilde{d} \quad x{\in }R^n, \quad u{\in }R^m, \quad \tilde{d}{\in }R^q \end{aligned}$$
(62)

where matrices A and B are obtained from the computation of the Jacobians

$$\begin{aligned} A= & {} \begin{pmatrix} {{{\partial }f_1} \over {{\partial }{x_1}}} &{}\quad {{{\partial }f_1} \over {{\partial }{x_2}}} &{}\quad \cdots &{}\quad {{{\partial }f_1} \over {{\partial }{x_n}}} \\ {{{\partial }f_2} \over {{\partial }{x_1}}} &{}\quad {{{\partial }f_2} \over {{\partial }{x_2}}} &{}\quad \cdots &{}\quad {{{\partial }f_2} \over {{\partial }{x_n}}} \\ \cdots &{}\quad \cdots &{}\quad \cdots &{}\quad \cdots \\ {{{\partial }f_n} \over {{\partial }{x_1}}} &{}\quad {{{\partial }f_n} \over {{\partial }{x_2}}} &{}\quad \cdots &{}\quad {{{\partial }f_n} \over {{\partial }{x_n}}} \\ \end{pmatrix}|_{(x^{*},u^{*})} \end{aligned}$$
(63)
$$\begin{aligned} B= & {} \begin{pmatrix} {{{\partial }f_1} \over {{\partial }{u_1}}} &{}\quad {{{\partial }f_1} \over {{\partial }{u_2}}} &{}\quad \cdots &{}\quad {{{\partial }f_1} \over {{\partial }{u_m}}} \\ {{{\partial }f_2} \over {{\partial }{u_1}}} &{}\quad {{{\partial }f_2} \over {{\partial }{u_2}}} &{}\quad \cdots &{}\quad {{{\partial }f_2} \over {{\partial }{u_m}}} \\ \cdots &{}\quad \cdots &{}\quad \cdots &{}\quad \cdots \\ {{{\partial }f_n} \over {{\partial }{u_1}}} &{}\quad {{{\partial }f_n} \over {{\partial }{u_2}}} &{}\quad \cdots &{}\quad {{{\partial }f_n} \over {{\partial }{u_m}}} \\ \end{pmatrix}|_{(x^{*},u^{*})} \end{aligned}$$
(64)

and vector \(\tilde{d}\) denotes disturbance terms due to linearization errors. The problem of disturbance rejection for the linearized model that is described by

$$\begin{aligned} \dot{x}= & {} Ax+Bu+L\tilde{d}\nonumber \\ y= & {} Cx \end{aligned}$$
(65)

where \(x{\in }R^n\), \(u{\in }R^m\), \(\tilde{d}{\in }R^q\) and \(y{\in }R^p\), cannot be handled efficiently if the classical LQR control scheme is applied. This is because of the existence of the perturbation term \(\tilde{d}\). The disturbance term \(\tilde{d}\) apart from modeling (parametric) uncertainty and external perturbation terms can also represent noise terms of any distribution.

Fig. 2
figure 2

Diagram of the control scheme for the train’s induction motor

In the \(H_{\infty }\) control approach, a feedback control scheme is designed for trajectory tracking by the system’s state vector and simultaneous disturbance rejection, considering that the disturbance affects the system in the worst possible manner. The disturbances’ effect are incorporated in the following quadratic cost function:

$$\begin{aligned} J(t)= & {} {1 \over 2}{\int _0^T}[{y^T}(t)y(t)\nonumber \\&+\,r{u^T}(t)u(t)-{\rho ^2}{\tilde{d}^T}(t)\tilde{d}(t)]dt, \ \ r,{\rho }>0 \end{aligned}$$
(66)

The significance of the negative sign in the cost function’s term that is associated with the perturbation variable \(\tilde{d}(t)\) is that the disturbance tries to maximize the cost function J(t) while the control signal u(t) tries to mininize it. The physical meaning of the relation given above is that the control signal and the disturbances compete to each other within a mini-max differential game. This problem of mini-max optimization can be written as

$$\begin{aligned} {min_{u}}{max_{\tilde{d}}}J(u,\tilde{d}) \end{aligned}$$
(67)

The objective of the optimization procedure is to compute a control signal u(t) which can compensate for the worst possible disturbance, that is externally imposed to the system. However, the solution to the mini-max optimization problem is directly related to the value of the parameter \(\rho \). This means that there is an upper bound in the disturbances magnitude that can be annihilated by the control signal.

H-infinity Feedback Control

For the linearized system given by Eq. (65) the cost function of Eq. (66) is defined, where the coefficient r determines the penalization of the control input and the weight coefficient \(\rho \) determines the reward of the disturbances’ effects. It is assumed that:

It is assumed that (i) The energy that is transferred from the disturbances signal \(\tilde{d}(t)\) is bounded, that is \({\int _0^{\infty }}{\tilde{d}^T(t)}\tilde{d}(t){dt}<\infty \), (ii) the matrices [AB] and [AL] are stabilizable, (iii) the matrix [AC] is detectable. Then, the optimal feedback control law is given by

$$\begin{aligned} u(t)=-Kx(t) \end{aligned}$$
(68)

with

$$\begin{aligned} K={1 \over r}{B^T}P \end{aligned}$$
(69)

where P is a positive semi-definite symmetric matrix which is obtained from the solution of the Riccati equation

$$\begin{aligned} {A^T}P+PA+Q-P\left( {1 \over r}B{B^T}-{1 \over {2\rho ^2}}L{L^T}\right) P=0 \end{aligned}$$
(70)

where Q is also a positive definite symmetric matrix. The worst case disturbance is given by

$$\begin{aligned} \tilde{d}(t)={1 \over \rho ^2}{L^T}Px(t) \end{aligned}$$
(71)

The diagram of the considered control loop is depicted in Fig. 2.

The Role of Riccati Equation Coefficients in \(H_{\infty }\) Control Robustness

The parameter \(\rho \) in Eq. (66), is an indication of the closed-loop system robustness. If the values of \(\rho >0\) are excessively decreased with respect to r, then the solution of the Riccati equation is no longer a positive definite matrix. Consequently there is a lower bound \(\rho _{min}\) of \(\rho \) for which the \(H_{\infty }\) control problem has a solution. The acceptable values of \(\rho \) lie in the interval \([\rho _{min},\infty )\). If \(\rho _{min}\) is found and used in the design of the \(H_{\infty }\) controller, then the closed-loop system will have increased robustness. Unlike this, if a value \(\rho > \rho _{min}\) is used, then an admissible stabilizing \(H_{\infty }\) controller will be derived but it will be a suboptimal one. The Hamiltonian matrix

$$\begin{aligned} H=\left( \begin{array}{ll} A &{}\quad -\left( {1 \over r}B{B^T}-{1 \over \rho ^2}L{L^T}\right) \\ -Q &{}\quad -A^T \end{array}\right) \end{aligned}$$
(72)

provides a criterion for the existence of a solution of the Riccati equation Eq. (70). A necessary condition for the solution of the algebraic Riccati equation to be a positive semi-definite symmetric matrix is that H has no imaginary eigenvalues [22].

Lyapunov Stability Analysis

Through Lyapunov stability analysis it will be shown that the proposed nonlinear control scheme assures \(H_{\infty }\) tracking performance for the induction motor, and that in case of bounded disturbance terms asymptotic convergence to the reference setpoints is succeeded.

The tracking error dynamics for the asynchronous motor is written in the form

$$\begin{aligned} \dot{e}=Ae+Bu+L\tilde{d} \end{aligned}$$
(73)

where in the induction machine’s case \(L=I{\in }R^2\) with I being the identity matrix. Variable \(\tilde{d}\) denotes model uncertainties and external disturbances of the motor’s model. The following Lyapunov equation is considered

$$\begin{aligned} V={1 \over 2}{e^T}Pe \end{aligned}$$
(74)

where \(e=x-x_d\) is the tracking error. By differentiating with respect to time one obtains

$$\begin{aligned} \dot{V}= & {} {1 \over 2}{\dot{e}^T}Pe+{1 \over 2}eP\dot{e}{\Rightarrow }\nonumber \\&\dot{V}={1 \over 2}{[Ae +Bu+L\tilde{d}]^T}P+{1 \over 2}{e^T}P [Ae+Bu+L\tilde{d}]{\Rightarrow }\nonumber \\ \end{aligned}$$
(75)
$$\begin{aligned} \dot{V}= & {} {1 \over 2}[{e^T}{A^T}+{u^T}{B^T}+{\tilde{d}^T}{L^T}]Pe\nonumber \\&+\,{1 \over 2}{e^T}P[Ae+Bu+L\tilde{d}]{\Rightarrow } \end{aligned}$$
(76)
$$\begin{aligned} \dot{V}= & {} {1 \over 2}{e^T}{A^T}Pe+{1 \over 2}{u^T}{B^T}Pe+{1 \over 2}{\tilde{d}^T}{L^T}Pe\nonumber \\&+\,{1 \over 2}{e^T}PAe+{1 \over 2}{e^T}PBu+{1 \over 2}{e^T}PL\tilde{d} \end{aligned}$$
(77)

The previous equation is rewritten as

$$\begin{aligned} \dot{V}= & {} {1 \over 2}{e^T}({A^T}P+PA)e+\left( {1 \over 2}{u^T}{B^T}Pe+{1 \over 2}{e^T}PBu\right) \nonumber \\&+\left( {1 \over 2}{\tilde{d}^T}{L^T}Pe+{1 \over 2}{e^T}PL\tilde{d}\right) \end{aligned}$$
(78)

Assumption

For given positive definite matrix Q and coefficients r and \(\rho \) there exists a positive definite matrix P, which is the solution of the following matrix equation

$$\begin{aligned} {A^T}P+PA=-Q+P\left( {1 \over r}B{B^T}-{1 \over \rho ^2}L{L^T}\right) P \end{aligned}$$
(79)

Moreover, the following feedback control law is applied to the system

$$\begin{aligned} u=-{1 \over r}{B^T}Pe \end{aligned}$$
(80)

By substituting Eqs. (79) and (80) one obtains

$$\begin{aligned} \dot{V}= & {} {1 \over 2}{e^T}\left[ -Q+P\left( {1 \over r}B{B^T}-{1 \over {2\rho ^2}}L{L^T}\right) P\right] e\nonumber \\&+\,{e^T}PB\left( -{1 \over r}{B^T}Pe\right) +{e^T}PL\tilde{d}{\Rightarrow } \end{aligned}$$
(81)
$$\begin{aligned} \dot{V}= & {} -{1 \over 2}{e^T}Qe+\left( {1 \over r}PB{B^T}Pe-{1 \over {2\rho ^2}}{e^T}PL{L^T}\right) Pe\nonumber \\&-\,{1 \over r}{e^T}PB{B^T}Pe)+{e^T}PL\tilde{d} \end{aligned}$$
(82)

which after intermediate operations gives

$$\begin{aligned} \dot{V}=-{1 \over 2}{e^T}Qe-{1 \over {2\rho ^2}}{e^T}PL{L^T}Pe+{e^T}PL\tilde{d} \end{aligned}$$
(83)

or, equivalently

$$\begin{aligned} \dot{V}= & {} -{1 \over 2}{e^T}Qe-{1 \over {2\rho ^2}}{e^T}PL{L^T}Pe\nonumber \\&+\,{1 \over 2}{e^T}PL\tilde{d}+{1 \over 2}{\tilde{d}^T}{L^T}Pe \end{aligned}$$
(84)

Lemma

The following inequality holds

$$\begin{aligned} {1 \over 2}{e^T}L\tilde{d}+{1 \over 2}\tilde{d}{L^T}Pe-{1 \over {2\rho ^2}}{e^T}PL{L^T}Pe \le {1 \over 2}{\rho ^2}{\tilde{d}^T}\tilde{d} \end{aligned}$$
(85)

Proof

The binomial \(({\rho }{\alpha }-{1 \over \rho }b)^2\) is considered. Expanding the left part of the above inequality one gets

$$\begin{aligned}&{\rho ^2}{a^2}+{1 \over {\rho ^2}}{b^2}-2ab \ge 0 \Rightarrow {1 \over 2}{\rho ^2}{a^2}+{1 \over {2\rho ^2}}{b^2}-ab \ge 0 \Rightarrow \nonumber \\&\quad ab-{1 \over {2\rho ^2}}{b^2} \le {1 \over 2}{\rho ^2}{a^2} \Rightarrow {1 \over 2}ab+{1 \over 2}ab-{1 \over {2\rho ^2}}{b^2} \le {1 \over 2}{\rho ^2}{a^2}\nonumber \\ \end{aligned}$$
(86)

The following substitutions are carried out: \(a=\tilde{d}\) and \(b={e^T}{P}L\) and the previous relation becomes

$$\begin{aligned} {1 \over 2}{\tilde{d}^T}{L^T}Pe+{1 \over 2}{e^T}PL\tilde{d}-{1 \over {2\rho ^2}}{e^T}PL{L^T}Pe \le {1 \over 2}{\rho ^2}\tilde{d}^T\tilde{d}\nonumber \\ \end{aligned}$$
(87)

Equation (87) is substituted in Eq. (84) and the inequality is enforced, thus giving

$$\begin{aligned} \dot{V}{\le }-{1 \over 2}{e^T}Qe+{1 \over 2}{\rho ^2}{\tilde{d}^T}\tilde{d} \end{aligned}$$
(88)

Equation (88) shows that the \(H_{\infty }\) tracking performance criterion is satisfied. The integration of \(\dot{V}\) from 0 to T gives

$$\begin{aligned}&{\int _0^T}\dot{V}(t)dt \le -{1 \over 2}{\int _0^T}{||e||_Q^2}{dt}+{1 \over 2}{\rho ^2}{\int _0^T}{||\tilde{d}||^2}{dt}\,{\Rightarrow }\,\nonumber \\&\quad 2V(T)+{\int _0^T}{||e||_Q^2}{dt} \le 2V(0)+{\rho ^2}{\int _0^T}{||\tilde{d}||^2}dt \end{aligned}$$
(89)

Moreover, if there exists a positive constant \(M_d>0\) such that

$$\begin{aligned} \int _0^{\infty }{||\tilde{d}||^2}dt \le M_d \end{aligned}$$
(90)

then one gets

$$\begin{aligned} {\int _0^{\infty }}{||e||_Q^2}dt \le 2V(0)+{\rho ^2}{M_d} \end{aligned}$$
(91)

Thus, the integral \({\int _0^{\infty }}{||e||_Q^2}dt\) is bounded. Moreover, V(T) is bounded and from the definition of the Lyapunov function V in Eq. (74) it becomes clear that e(t) will be also bounded since \(e(t) \ \in \ \Omega _e=\{e|{e^T}Pe{\le }2V(0)+{\rho ^2}{M_d}\}\).

According to the above and with the use of Barbalat’s Lemma one obtains \(lim_{t \rightarrow \infty }{e(t)}=0\).

Robust State Estimation with the Use of the \(H_{\infty }\) Kalman Filter

A Kalman Filter for the linearized model of the induction motor that is given in Eq. (55) can be designed to cope with the case of maximum errors of some linear combination of states for worst case assumptions of process noise, measurement noise and disturbances. This can be useful in state estimation for the induction motor, as a method for model uncertainty compensation. Filters designed to minimize a weighted norm of state errors are called \(H_{\infty }\) or minimax filters [28, 29].

The discrete-time \(H_{\infty }\) filter uses the same state-space model as the Kalman Filter, which has the form

$$\begin{aligned} {x(k+1)}= & {} A(k)x(k)+B(k)u(k)+w(k)\nonumber \\ z(k)= & {} C(k){x(k)}+{v(k)} \end{aligned}$$
(92)

\(E[w(k)]=0\), \(E[w(k)w(k)^T]=Q(k)\delta _{ij}\), \(E[v(k)]=0\), \(E[v(k)v(k)^T]={R(k)}\delta _{ij}\) and \(E({w(k)}{v(k)}^T)=0\). The update of the state estimate is again given by

$$\begin{aligned} \hat{x}(k)=\hat{x}^{-}(k)+K(k)(z(k)-{C(k)}\hat{x}^{-}(k)) \end{aligned}$$
(93)

that minimizes the trace of the covariance matrix of the state vector estimation error

$$\begin{aligned} J={1 \over 2}E\{\tilde{x}(k)^T{\cdot }\tilde{x}(k)\}={1 \over 2}tr(P^{-}(k)) \end{aligned}$$
(94)

where \(\tilde{x}^{-}(k)=x(k)-\hat{x}^{-}(k)\) and \(P^{-}(k)=E[\tilde{x}^{-}(k)^T{\cdot }\tilde{x}^{-}(k)]\). The \(H_{\infty }\) filtering approach defines first a transformation

$$\begin{aligned} d(k)=L(k)x(k) \end{aligned}$$
(95)

where \(L(k){\in }R^{n{\times }n}\) is a full rank matrix. The use of the transformation given in Eq. (95) allows certain combinations of states to be given more weight than others. Next, defining the estimation error variable \({\tilde{d}}_1(i)=d(i)-\hat{d}(i)\), the cost function of the \(H_\infty \) filter is initially formulated as

$$\begin{aligned}&J(k)={{\sum \limits _{i=0}^{k-1}}{{\tilde{d}(i+1)^T}S(i){\tilde{d}(i+1)}} / b}\nonumber \\&b={\tilde{x}^{-}(0)^T}P^{-}(0)^{-1}{\tilde{x}^{-}(0)}\nonumber \\&\quad \quad +\,{\sum \limits _{i=0}^{k-1}}w^T(i+1)Q(i+1)^{-1}w(i+1)\nonumber \\&\quad \quad +\,{\sum \limits _{i=0}^{k-1}}v^T(i)R(i)^{-1}v(i) \end{aligned}$$
(96)

where \(S_i\) is a positive-definite symmetric weighting matrix. It can be observed that both matrices S(k) and L(k) appear in the cost function and thus affect the solution \(\hat{x}^{-}(k+1)\) of the optimization problem. The objective is to find state vector estimates \(\hat{x}^{-}(k)\) and \(\hat{x}(k)\) that keep the cost function below a given value \({1/\theta }\) for worst case conditions, i.e.

$$\begin{aligned} J(k)<{1 \over \theta } \end{aligned}$$
(97)

By rewriting Eq. (96) and substituting Eq. (92) a modified cost functional is obtained

$$\begin{aligned} J_{a}(k)= & {} -{1 \over \theta }{\tilde{x}^{-}(0)}^{T}P^{-}(0){\tilde{x}^{-}(0)}+{\sum \limits _{i=0}^{k-1}}\Gamma (i)\nonumber \\ \Gamma (i)= & {} (x(i+1)-\hat{x}^{-}(i+1))^{T}{W_i}(x(i+1)-\hat{x}^{-}(i+1))\nonumber \\&-\,{1 \over \theta }(w^T(i+1){Q(i+1)^{-1}}w(i+1)+(y(i)\nonumber \\&-\,C(i)x^{-}(i))^T{R(i)^{-1}}{(y(i)-C(i)x^{-}(i))}) \end{aligned}$$
(98)

and

$$\begin{aligned} W(i)={L(i)^T}S(i)L(i) \end{aligned}$$
(99)

This cost function does not include the dynamic model of the system given in Eq. (92) and this is added by using a vector of Lagrange multipliers \(\lambda (i+1)\). This gives

$$\begin{aligned} J(k)= & {} -{1 \over \theta }{\tilde{x}^{-}(0)^T}{P^{-}(0)}{\tilde{x}^{-}(0)}\nonumber \\&+{\sum \limits _{i=0}^{k-1}}\left( \Gamma _i+2{\lambda (i+1)^T \over \theta }\right) (A(i)\hat{x}(i)+B(i)u(i)\nonumber \\&+\,w(i)-x(i+1))+{{2\lambda (0)^T} \over \theta }x(0)-{{2\lambda (0)^T} \over \theta }x(0)\nonumber \\ \end{aligned}$$
(100)

The cost function of the filter given in Eq. (100) can be used as the basis for the solution. It is aimed to find equations defining \(\hat{x}^{-}(k+1)\), or equivalently a measurement weighting matrix (similar to the Kalman gain matrix), that minimizes the cost for worst case assumptions about x(0), w(i) and y(i). Thus, the optimization objective is formulated as

$$\begin{aligned} J^{*}(k)=\mathop {\text {min}}\limits _{x_i} \mathop {\text {max}}\limits _{x(0),w(i),y(i)} {J(k)} \end{aligned}$$
(101)

It is noted that the estimation algorithm has knowledge of the output measurement y(i) but no knowledge about the initial conditions of the system x(0) and the process noise w(i). Under this assumption, the estimation should be able to compensate for worst case values for the unknown parameters. This is a game theoretic problem that is solved in two steps.

In the first step of optimization, partial derivatives of J(k) with respect to x(0), w(i) and \(\lambda (i)\) are set to zero so as to maximize the cost function of Eq. (100), now being dependant only on the terms \(\hat{x}^{-}(k+1)\) and y(k) which are included in \(\Gamma _i\). In the second step of optimization, the partial derivatives of J(k) with respect to \(\hat{x}^{-}(k+1)\) and y(k) are set to zero, to obtain a condition for the filter’s gain matrix that minimizes this cost functional. From the optimization conditions \({\partial }J(k) / {\partial }{x_0}=0^T\), \({\partial }J(k) / {\partial }{w(i)}=0^T\), \({\partial }J(k) / {\partial }{\lambda (i)}=0^T\) ones obtains an expression of J(k) as function of \(\hat{x}^{-}(k+1)\) and y(k). Next, from the optimization conditions \({\partial }J(k) / {\partial }{\hat{x}^{-}(i+1)}=0^T\), and \({\partial }J(k) / {\partial }{y(i)}=0^T\) one obtains the filter’s equations.

The recursion of the \(H_{\infty }\) Kalman Filter, for the model of the induction motor, can be formulated again in terms of a measurement update and a time update part:

Measurement update:

$$\begin{aligned}&D(k)=[I-{\theta }W(k)P^{-}(k)+{C^T}(k)R(k)^{-1}C(k)P^{-}(k)]^{-1}\nonumber \\&K(k)=P^{-}(k)D(k){C^T}(k)R(k)^{-1}\\&\hat{x}(k)=\hat{x}^{-}(k)+K(k)[y(k)-C\hat{x}^{-}(k)]\nonumber \end{aligned}$$
(102)

Time update:

$$\begin{aligned} \begin{aligned}&\hat{x}^{-}(k+1)=A(k)x(k)+B(k)u(k) \\&P^{-}(k+1)=A(k)P^{-}(k)D(k)A^T(k)+Q(k) \end{aligned} \end{aligned}$$
(103)

where it is assumed that parameter \(\theta \) is sufficiently small to assure that the term \(P^{-}(k)-{\theta }W(k)+C^T(k)R(k)^{-1}C(k)\) will be positive definite. When \(\theta =0\) the \(H_{\infty }\) Kalman Filter becomes equivalent to the standard Kalman Filter. It is noted that apart from the process noise covariance matrix Q(k) and the measurement noise covariance matrix R(k) the \(H_\infty \) Kalman filter requires tuning of the weight matrices L and S, as well as of parameter \(\theta \).

Simulation Tests

The performance of the proposed nonlinear \(H_{\infty }\) control scheme for asynchronous motors is tested in tracking of various setpoints. First setpoints were defined independently for the rotation speed and the magnetic flux of the rotor. Next, based on these values, setpoints for the stator currents \(i_{s_d}\) and \(i_{s_q}\) were also computed. As shown in the simulation experiments these setpoints can vary dynamically and even in that case the proposed nonlinear H-infinity controller succeeds the accurate setpoints tracking.

As it can be observed in Figs. 3, 4, 5 the feedback control scheme of the induction motor enabled accurate convergence to the reference setpoints. Yet simple, the considered \(H_{\infty }\) control law succeeded precise tracking of the reference signals. In comparison to feedback control methods for asynchronous motors which are based on exact linearization, the nonlinear \(H_{\infty }\) control requires the solution of an algebraic Riccati equation at each iteration of the control algorithm. The known robustness features of \(H_{\infty }\) control are the ones that permit to compensate for the approximation errors which were induced to the linearized model of the induction motor.

Fig. 3
figure 3

Nonlinear \(H_{\infty }\) control of the asynchronous motor. a Convergence of the rotor’s angular speed \(\omega \) and stator’s magnetic flux \(\psi _{s_d}\) to setpoint 1. b Convergence of the stator’s currents to the reference setpoints

Fig. 4
figure 4

Nonlinear \(H_{\infty }\) control of the asynchronous motor. a Convergence of the rotor’s angular speed \(\omega \) and stator’s magnetic flux \(\psi _{s_d}\) to setpoint 2. b Convergence of the stator’s currents to the reference setpoints

Fig. 5
figure 5

Nonlinear \(H_{\infty }\) control of the asynchronous motor. a Convergence of the rotor’s angular speed \(\omega \) and stator’s magnetic flux \(\psi _{s_d}\) to setpoint 3. b Convergence of the stator’s currents to the reference setpoints

The tracking performance of the control method is shown in Tables 1 and 2. It can be observed that the tracking error for all state variables of the induction motor was extremely small. Besides, in the simulation diagrams one can note the excellent transient performance of the control algorithm, which means that convergence to the reference setpoints was succeeded in a smooth manner, while also avoiding overshoot and oscillations.

Moreover, the performance of the nonlinear H-infinity control scheme was tested in the case of functioning of the asynchronous motor under disturbances. It was assumed that additive input disturbances affected the induction motor. These were described by sinusoidal voltages of amplitude equal to \(10~\%\) of the mean value of the control inputs. The obtained results, shown in Table 2, confirm that despite the effects of perturbation inputs the tracking accuracy for the motor’s state variables was satisfactory.

Table 1 Tracking RMSE without disturbances
Table 2 Tracking RMSE under disturbances

Finally, the suitability of the H-infinity Kalman Filter for estimating non-measurable state variables of the asynchronous motor is shown if Fig. 6. The measured state variables of the motor where \(x_1=\theta \), \(x_4=i_{r_d}\) and \(x_5=i_{r_q}\). The estimated state variables, which were finally used in the feedback control loop where \(\hat{x}_2=\hat{\omega }\) and \(\hat{x}_3=\hat{\psi }_{r_d}\). It can be noticed that, despite the missing sensory information, accurate tracking of the reference setpoints was succeeded.

Fig. 6
figure 6

Nonlinear H-infinity control of the asynchronous motor through estimation of non-measurable state variables with the use of the H-infinity Kalman Filter. a Estimation (green line) of state variable \(x_2=\omega \) (blue line) and convergence to the reference setpoint (red line). b Estimation (green line) of state variable \(x_3={\psi }_{r_d}\) (blue line) and convergence to the reference setpoint (red line)

Remark 1

Comparing the proposed nonlinear H-infinity control approach against backstepping nonlinear control for induction motors one should take into account that back-stepping control is a special case of flatness-based control and actually it is a global linearizing method [24, 30, 31]. Thus for the nonlinear backstepping control of induction motors hold the same remarks which have been state in the introduction of the article, in the comparison between global linearization-based control methods and nonlinear H-infinity control [32]. Yet, conceptually more simple, nonlinear H-infinity control can perform equally well to global linearization-based control methods. On the other hand, it should be noted that backstepping control is applicable to a limited class of systems, that is systems written in the integral backstepping (triangular) form. Consequently, the proposed nonlinear H-infinity control method is applicable to a wider range of electric machines and traction systems.

Remark 2

Comparing the proposed nonlinear H-infinity control approach against sliding mode controllers and sliding-mode observers for induction machines, it can be noted that the latter control and estimation approaches exhibit specific drawbacks. First, due to the use of a switching control term, sliding-mode controllers and sliding-mode observers exhibit chattering which means vibratory dynamics and an undesirable transient performance for the control loop [33]. On the other hand, H-infinity control succeeds smooth variations of the control input and good transient characteristics for the control loop. Second, in sliding-mode control it is necessary to know beforehand the uncertainty boundaries for the system’s dynamics. Unlike this, in the design of H-infinity control no such assumption is made while the suitable selection of the attenuation coefficient \(\rho \) appearing in the Riccati Eq. (70) can finally provide the control loop with maximum robustness to model uncertainty and external perturbations.

Conclusions

A new nonlinear feedback control method has been developed for induction motors, based on approximate linearization and the use of \(H_{\infty }\) control and stability theory. It has been shown that the proposed induction motor control scheme enables the state vector elements of the electrical machine to track accurately all reference setpoints. The first stage of the proposed control method is the linearization of the motor’s dynamic model using first order Taylor series expansion and the computation of the associated Jacobian matrices. The errors due to the approximative linearization have been considered as disturbances that affect, together with external perturbations, the motor’s model.

At a second stage the implementation of \(H_{\infty }\) feedback control has been proposed. Using the linearized model of the induction motor an H-infinity feedback control law is computed at each iteration of the control algorithm, after previously solving an algebraic Riccati equation. The known robustness features of H-infinity control enable to compensate for the errors of the approximative linearization, as well as to eliminate the effects of external perturbations. The efficiency of the proposed control scheme for induction motors is shown analytically and is confirmed through simulation experiments.

Comparing to other nonlinear control methods which are based on the exact linearization of the electrical machine’s model it can be stated that the proposed \(H_\infty \) control uses the approximately linearized model of the induction motor without implementing elaborated state transformations (diffeomorphisms) that finally bring the system to a linear form. Of course the computation of Jacobian matrices and the need to solve at each iteration of the algorithm a Riccati equation is also a computationally cumbersome procedure, especially for state-space models of large dimensionality. Moreover, this approximate linearization introduces additional perturbation terms which the \(H_{\infty }\) controller has to eliminate. The continuous need for compensation of such cumulative linearization errors brings the \(H_{\infty }\) controller closer to its robustness limits.