Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

The induction motor (IM) thanks to simple construction, reliability and low cost has found wide applications in industry, electric vehicles and traction drives. Contrary to the brush DC motor, it can also be used in aggressive or volatile environments. However, there are control problems when using an IM in speed adjustable industrial drives. This is due primarily three reasons:

  1. (a)

    the induction motor is high order internally coupled nonlinear dynamic system,

  2. (b)

    some state variables: rotor currents and fluxes are directly not measurable,

  3. (c)

    rotor resistance (due to heating) and magnetising inductance (due to saturation) varies considerably with a significant impact on the system dynamics.

Therefore, in high dynamic performance IM drives, the complex control algorithms should be used. Nevertheless, the advancements in semiconductor power electronic devices and microprocessors technologies enabled to use IM in variable speed applications. Implementation of new control techniques in drive systems has made IM a reasonable alternative to DC motors.

The first high performance IM control method known as Field Oriented Control (FOC) or Vector Control (VC) has been proposed by Hasse [1] and Blaschke [2]. In this method the IM equations are represented in a coordinate system that rotates with the rotor flux vector and are called field coordinates. In field coordinates—for the constant rotor flux magnitude—there is a linear relationship between control variables and speed. However, another type of coordinates can also be selected to achieve decoupling and linearization of the induction motor equations. An alternative to the FOC is the feedback linearization control (FLC) [3, 4]. The application of this approach can take many forms, depending on the choice of variables used for the linearization. Krzeminski [5] has proposed a nonlinear controller based on multiscalar motor model. In this approach, similarly as in field oriented controller, it is assumed that the rotor flux amplitude is regulated at a constant value. Thus, the motor speed is not strictly decoupled from the rotor flux, like in FOC. In [6, 7] was developed a nonlinear control system based on inputoutput linearization. In this system, the IM speed and rotor flux are decoupled exactly. The system, however, uses the transformation in field coordinates. Later, Marino et al. [8, 9] have proposed a nonlinear transformation of the IM state variables, so that in the new coordinates, the speed and rotor flux amplitude are decoupled by feedback. Note that using the feedback linearization approach strictly linear and strictly decoupled system are obtained. Next, for the decoupled linear system several control algorithms could be applied. One of the important requirements in the control system is robustness against changing of plant parameters. In this case a discontinuous type of control called Sliding Mode Control (SMC) could be used [1012].

This chapter is divided into four sections. In Sect. 2 the theoretical principles of FLC are introduced. In Sect. 3 the SMC will be presented. In Sect. 4 the application of Sliding Mode and feedback linearization to IM control will be shown. In this section three algorithms will be presented. At first the FLC algorithm with the linear control of state variables will be shown [13, 14]. Next the SMC will be used to control IM linearized in feedback [15]. The application of SMC to such a system allows creating the direct control algorithms of the inverter [16]. Finally, the Sliding Mode Observer (SMO) of rotor flux and speed used in the linearized IM control system will be described [17].

2 Feedback Linearization

2.1 Introduction

In this section the basis of feedback linearization will be introduced and the mathematical description and principles [3, 4] will be shortly presented. At first a description of SISO (single input–single output) systems will be introduced, since it is more understandable. Next, the description of SISO systems will be generalized to MIMO (multi input–multi output) systems. At the beginning some useful definitions will be introduced.

The Lie derivative is defined as below:

Definition 1

Let h is function Rn → R of class C. The Lie derivative of the function h along the vector field f \({\rm R^n} \rightarrow {\rm R^n} \) is defined by following expression

$$ {\text{L}}_{\text{f}} h = \left( {\nabla h} \right)^{\text{T}} f $$
(2.1)

where \( \nabla h \) is the gradient of function h. The Eq. (2.1). can also be written as

$$ {\rm L}_{\rm f} h = \sum\limits_{{{\rm i} = 1}}^{\rm n} {\frac{\partial h}{{\partial x_{\rm i} }}} \cdot f_{\rm i} $$
(2.2)

Note that f i is function \( R^{n} \to R \), and it is ith coordinate of vector f. Afterwards the lie derivative L f h is also function \( R^{n} \to R \). So we introduce the following definitions:

$$ \begin{aligned} {\text{L}}_{\text{f}}^{0} h &= h \\ {\text{L}}_{\text{f}}^{1} h &= {\text{ L}}_{\text{f}} h \\ {\text{L}}_{{^{\text{f}} }}^{2} h &= {\text{ L}}_{\text{f}} \left( {{\text{L}}_{\text{f}} h} \right) \\ \ldots \\ {\text{L}}_{\text{f}}^{\text{k}} h &= {\text{ L}}_{\text{f}} \left( {{\text{ L}}_{\text{f}}^{{{\text{k}} - 1}} h} \right) \\ \end{aligned} $$
(2.3)

2.2 Feedback Linearization of SISO Systems

The nonlinear SISO system is given using following equations:

$$ \begin{aligned} \dot{\varvec{x}} & = \varvec{f}(\varvec{x}) + \varvec{g}(\varvec{x}) u \\ y & = h(\varvec{x}) \\ \end{aligned} $$
(2.4)

where \( \varvec{f}, \varvec{g} \in R^{n} , \varvec{x} \in R^{n} , u, y, h \in R .\)

Definition 2

The SISO system described by (2.4) have relative degree r at a point x 0 if

$$ {\text{L}}_{\text{g}} {\text{L}}_{\text{f}}^{\text{k}} h\left( x \right) = 0 $$
(2.5)

for all x in the neighborhood of x 0 and all 0 ≤ k < r − 1 and

$$ {\text{L}}_{\text{g}} {\text{L}}_{\text{f}}^{{{\text{r}} - 1}} h\left( \varvec{x} \right) \ne 0 $$
(2.6)

Assuming, that the system (2.4) has relative degree r. After simple calculations using Definition 2 the following equations are obtained:

$$ \begin{aligned} y^{\rm(k)} ({\rm t}) &= {\rm L}_{\text{f}}^{\text{k}} h(\varvec{x}({\rm t}))\quad \rm{dla}\;k = 0,1, \ldots ,r - 1 \\ y^{\rm (r)} ({\rm t}) & = {\rm L}_{\text{f}}^{\text{r}} h(\varvec{x}({\rm t})) + {\rm L}_{\rm g} {\rm L}_{\text{f}}^{{{\text{r}} - 1}} h(\varvec{x}({\rm t})) u({\rm t}) \\ \end{aligned} $$
(2.7)

Coordinate transformations are introduced to the system with relative degree r by below equations:

$$ \begin{aligned} z_{1} &= \phi_{1} \left( \varvec{x} \right) \, = h\left( \varvec{x} \right) \\ z_{2} &= \phi_{2} \left( \varvec{x} \right) \, = {\text{L}}_{\text{f}} h\left( \varvec{x} \right) \\ \ldots \\ z_{\text{r}} &= \phi_{\rm r} \left( \varvec{x} \right) = {\text{L}}_{\text{f}}^{{{\text{r}} - 1}} h\left( \varvec{x} \right) \\ \end{aligned} $$
(2.8)

the other n − r functions \( \phi_{{{\text{r}} + 1}} \left( x \right),\phi_{{{\text{r}} + 2}} \left( x \right), \ldots ,\phi_{\text{n}} \left( x \right) \) have been chosen in such a way, that the formula:

$$ \bf{\Phi} \left( \varvec{x} \right) \, = \, [\phi_{1} \left( \varvec{x} \right),\phi_{2} \left( \varvec{x} \right), \ldots ,\phi_{\text{n}} \left( \varvec{x} \right)]^{\text{T}} $$
(2.9)

have nonsingular Jacobian matrix defined by equations:

$$ {\text{j}}_{\text{kl}} = \frac{{\partial \phi_{\text{k}} }}{{\partial x_{\rm l} }} $$
(2.10)

Nonsingularity condition is obtained using following inequality:

$$ { \det }\left( {\mathbf{J}} \right) \ne 0 $$
(2.11)

Afterwards, it is necessary to fulfill the additional condition:

$$ {L}_{g} \phi_{\text{j}} \left( \varvec{x} \right) = 0\quad {\text{dla r}} + 1 \le {\text{j}} \le {\text{n}} $$
(2.12)

From (2.7) and (2.8) derivative of z k is obtained:

$$ \begin{aligned} \dot{z}_{\rm k} & = (\nabla \phi_{\rm k} )^{T} \cdot \dot{\varvec{x}} = (\nabla L_{f}^{k - 1} h(\varvec{x}))^{\rm T} \cdot \dot{\varvec{x}} \\ &= (\nabla L_{f}^{k - 1} h(\varvec{x}))^{\rm T} (\varvec{f}(\varvec{x}) + \varvec{g}(\varvec{x}) u) \\ &= L_{f}^{k} h(\varvec{x}) = \phi_{\rm{k + 1}} (\varvec{x}) = z_{\rm{k + 1}} \quad \text{dla k} = 1,2, \ldots ,{\rm r} - 1 \\ \end{aligned} $$
(2.13)

The derivative of z r is equal:

$$ \begin{aligned} \dot{z}_{\rm r} &= (\nabla \phi_{\rm r} )^{\text{T}} {\cdot} \varvec{\dot{x}} = (\nabla {\text{L}}_{\text{f}}^{{{\text{r}} - 1}} h({x}))^{\rm T} \cdot \dot{{x}} \\ &= (\nabla {\text{L}}_{\text{f}}^{{{\text{r}} - 1}} h({x}))^{\rm T} ({f}({x}) + {g}({x}) u) = {\text{L}}_{\text{f}}^{\text{r}} h({x}) \\ & \quad + {\rm L}_{\rm g} {\rm L}_{\text{f}}^{{{\text{r}} - 1}} h({x}) u = {\text{L}}_{\text{f}}^{\text{r}} h(\Phi^{ - 1} ({z})) + {\rm L}_{\rm g} {\text{L}}_{\text{f}}^{{{\text{r}} - 1}} h(\Phi^{ - 1} ({z})) u \\ \end{aligned}$$
(2.14)

If below definitions are used:

$$ \begin{aligned} & a(\varvec{z}) = {\text {L}}_{\text {g}} {\text{L}}_{\text{f}}^{{{\text{r}} - 1}} h(\Phi^{ - 1} (\varvec{z})) \\ & b(\varvec{z}) = {\text{L}}_{\text{f}}^{\text{r}} h(\Phi^{ - 1} (\varvec{z})) \\ \end{aligned} $$
(2.15)

then

$$ \dot{z}_{\rm r} = b(\varvec{z}) + a(\varvec{z}) u $$
(2.16)

The derivative of z k for k > r could be rewritten using condition (2.12):

$$ \begin{aligned} \dot{z}_{\rm k} &= (\nabla \phi_{\rm k} )^{\text{T}} \cdot \dot{\varvec{x}} = (\nabla \phi_{\rm k} )^{T} (\varvec{f}(\varvec{x}) + \varvec{g}(\varvec{x}) u) \\ &= {\text{L}}_{\text{f}} \phi_{k} (\varvec{x}) + {\rm L}_{\rm g} \phi_{\rm k} (\varvec{x}) u = {\text{L}}_{\text{f}} \phi_{\rm k} (\varvec{x}) \\ &= {\text{L}}_{\text{f}} \phi_{\rm k} (\Phi^{ - 1} (\varvec{z}))\quad \text{dla k} = {\rm r} + 1,\;{\rm r} + 2, \ldots ,{\rm n} \\ \end{aligned} $$
(2.17)

Assuming that:

$$ q_{\text{k}} \left( {\text{z}} \right) = {\text{L}}_{\text{f}} \phi_{\text{k + r}} \left( {\Phi^{ - 1} \left( \varvec{z} \right)} \right) $$
(2.18)

Equation (2.17) is presented in the following form:

$$ \dot{z}_{\rm{k + r}} = q_{\rm k} (\varvec{z})\quad \text{dla k} = 1,2, \ldots , \rm{n - r} $$
(2.19)

Thus, the system description in the new coordinates is presented below:

$$ \begin{aligned} & \dot{z}_{1} = z_{2} \\ & \dot{z}_{2} = z_{3} \\ & \quad \cdots \\ & \dot{z}_{\rm{r - 1}} = z_{\text{r}} \\ & \dot{z}_{\rm r} = b(\varvec{z}) + a(\varvec{z}) u \\ & \dot{z}_{\rm{r + 1}} = q_{1} (\varvec{z}) \\ & \quad \cdots \\ & \dot{z}_{\rm n} = q_{\rm{n - r}} (\varvec{z}) \\ \end{aligned} $$
(2.20)

and the output is:

$$ y = z_{1} $$
(2.21)

Let us assume, that r = n. Then the dynamic of the system is described by:

$$ \begin{aligned} & \dot{z}_{1} = z_{2} \\ & \dot{z}_{2} = z_{3} \\ & \quad \cdots \\ & \dot{z}_{\rm{n - 1}} = z_{\text{n}} \\ & \dot{z}_{\rm n} = b(\varvec{z}) + a(\varvec{z}) u \\ & y = z_{1} \\ \end{aligned} $$
(2.22)

If the control is chosen:

$$ u = \frac{1}{{a\left( \varvec{z} \right)}}\left( { - b\left( \varvec{z} \right) + v} \right) $$
(2.23)

then the closed loop system is described by:

$$ \begin{aligned} & \dot{z}_{1} = z_{2} \\ & \dot{z}_{2} = z_{3} \\ & \quad \cdots \\ & \dot{z}_{\rm{n - 1}} = z_{\text{n}} \\ & \dot{z}_{\rm n} = v \\ & y = z_{1} \\ \end{aligned} $$
(2.24)

Thus, the system is linear and controllable. The control signal could be rewritten using the previous coordinate system by the following equation:

$$ u = \frac{1}{{{\text{L}}_{\text{g}} {\text{L}}_{\text{f}}^{{{\text{n}}\, - \,1}} h\left( \varvec{x} \right)}}\left( { - {\text{L}}_{\text{f}}^{\text{n}} h\left( \varvec{x} \right) + v} \right) $$
(2.25)

Note that above considerations are presented for the case r = n and then the system is called exact linearized.

The feedback linearization algorithm consists of two steps (Fig. 1):

Fig. 1
figure 1

Scheme of feedback linearization control (FLC)

  • coordinates transformation according to Eq. (2.8)

  • control signal calculation according to Eq. (2.23)

In the case r < n after coordinating transformation (2.8) the system (2.20) is obtained.

If the control signal is chosen:

$$ u = \frac{1}{{{\text{L}}_{\text{g}} {\text{L}}_{\text{f}}^{{{\text{r}} - 1}} h\left( \varvec{x} \right)}}\left( { - {\text{L}}_{\text{f}}^{\text{r}} h\left( \varvec{x} \right) + v} \right) $$
(2.26)

then partially linearized system will be obtained:

$$ \begin{aligned} & \dot{z}_{1} = z_{2} \\ & \dot{z}_{2} = z_{3} \\ & \quad \cdots \\ & \dot{z}_{\rm{r - 1}} = z_{\text{r}} \\ & \dot{z}_{\rm r} = v \\ & \dot{z}_{\rm{r + 1}} = q_{1} (\varvec{z}) \\ & \quad \cdots \\ & \dot{z}_{\rm n} = q_{\rm{n - r}} (\varvec{z}) \\ \end{aligned} $$
(2.27)

Note, that this system can be decomposed into two subsystems The first one is linear of dimension r defined by vector \( \varvec{\xi} \)

$$ {\varvec{\xi}}= \, \left[ {z_{1} ,z_{2} , \, \ldots ,z_{\text{r}} } \right]^{\text{T}} $$
(2.28)

Only this subsystem is responsible for the input–output behavior. The second subsystem of dimension n  r is nonlinear. Its behavior does not affect the output and is defined by a vector \( \varvec{\eta} \):

$$ {\varvec{\upeta}} = \left[ {z_{\rm{r + 1}} ,z_{\rm{r + 2}} , \ldots ,z_{\text{n}} } \right]^{\text{T}} $$
(2.29)

and it is responsible for the zero dynamics of the system.

Using the definitions (2.28) and (2.29), system (2.27) could be rewritten in the following form:

$$ \begin{aligned} & \dot{\xi }_{1} = \xi_{2} \\ & \dot{\xi }_{2} = \xi_{3} \\ & \quad \cdots \\ & \dot{\xi }_{\rm{r - 1}} = \xi_{\text{r}} \\ & \dot{\xi }_{\rm r} = v \\ & \dot{\eta }_{1} = q_{1} \left( {{\varvec\upxi} ,{\varvec\upeta} } \right) \\ & \quad \cdots \\ & \dot{\eta }_{\rm{n - r}} = q_{\rm{n - r}} \left( {{\varvec\upxi} ,{\varvec\upeta} } \right) \\ \end{aligned} $$
(2.30)

Regarding an additional expression:

$$ {\mathbf{q}} = \, \left[ {q_{1} ,q_{2} , \ldots ,q_{{{\text{n}} - {\text{r}}}} } \right]^{\text{T}} $$
(2.31)

The Eq. (2.30) could be presented in shorter form:

$$ \begin{aligned} & \dot{\xi }_{1} = \xi_{2} \\ & \dot{\xi }_{2} = \xi_{3} \\ & \quad \cdots \\ & \dot{\xi }_{\rm{r - 1}} = \xi_{\rm r} \\ & \dot{\xi }_{\rm r} = v \\ & \dot{\varvec\upeta } = \varvec{q}\left( {{\varvec\upxi} ,{\varvec\upeta} } \right) \\ \end{aligned} $$
(2.32)

2.3 Feedback Linearization of MIMO Systems

Let us assume that the MIMO system will be described using the following equations:

$$ \begin{aligned} \dot{\varvec{x} } &= \varvec{f}\left( \varvec{x} \right) + \varvec{g}\left( \varvec{x} \right) \varvec{u} \\ \varvec{y} &= \varvec{h}\left( \varvec{x} \right) \\ \end{aligned} $$
(2.33)

where \( \varvec{f} \in R^{n} ,\,\varvec{x} \in R^{n} ,\,\varvec{u},\,\varvec{y},\,\varvec{h} \in R^{m} ,\,\varvec{g} \in R^{n \times m} \). In this system the number of inputs is equal the number of outputs m.

Definition 3

MIMO system described by Eq. (2.33) has the vector relative degree

r = [r1, r2, … ,rm]T at point x 0 if

$$ {\text{L}}_{\text{g}} {\text{L}}_{\text{f}}^{\text{k}} h_{\text{i}} \left( \varvec{x} \right) \, = \, 0 $$
(2.34)

for all x in neighborhood of x 0 and all \( 0 \le {\text{k }} < {\text{ r}}_{\text{i}} - 1 \) as well as \( 1\le {\text{i}} \le {\text{m}}, 1\le {\text{j}} \le {\text{m}} \)

and matrix A(x), which elements aij are defined by:

$$ a_{\text{ij}} = {\text{L}}_{\text{gj}} {\text{L}}_{\text{f}}^{{{\text{ri}} - 1}} h_{\text{i}} \left( x \right) $$
(2.35)

is nonsingular in x = x 0.

Note that this definition corresponds to the definition of SISO system (Definition 2).

Let us assume that:

$$ {\text{r}} = \sum\limits_{{{\text{i}} = 1}}^{\text{m}} {{\text{r}}_{\text{i}} } $$
(2.36)

The results from Sect. 2.2.1 are generalized to MIMO system. Thus the coordinate transformation is defined by the mapping \( \Phi \):

$$ {\bf {\Phi}} \left( \varvec{x} \right) \, = \, [\phi_{1}^{1} \left( \varvec{x} \right), \ldots ,\phi_{r1}^{1} \left(\varvec{x} \right), \ldots ,\phi_{{r{\text{m}}}}^{\text{m}}\left( \varvec{x} \right),\phi_{{{\text{r}} + 1}} , \ldots ,\phi_{\text{n}} ]^{\text{T}} $$
(2.37)

where:

$$ \phi_{\text{j}}^{\text{i}} \left( \varvec{x} \right) \, = {\text{ L}}_{\text{f}}^{{{\text{j}} - 1}} h_{\text{i}} \left( \varvec{x} \right) $$
(2.38)

for all i = 1, 2, … , m and j = 1, 2, … , r i . Afterwards

$$ {\text{L}}_{\text{gj}} \phi_{\text{i}} \left( \varvec{x} \right) \, = \, 0 $$
(2.39)

for \( {\text{r}} + 1\le {\text{i }} \le {\text{n}} \) and \( 1\le {\text{j}} \le {\text{m}} \).

If the following expressions are defined:

$$ \begin{gathered} \xi_{\text{j}}^{\text{i}} = \phi_{\text{j}}^{\text{i}} \left( \varvec{x} \right) \hfill \\ \eta_{\text{i}} = \phi_{{{\text{i}} + {\text{r}}}} \hfill \\ \end{gathered} $$
(2.40)

the vectors are fixed as:

$$ \begin{gathered} {\varvec{\upxi}}^{\text{i}} = [\xi_{1}^{\text{i}},\xi_{2}^{\text{i}} , \ldots ,\xi_{{{\text{r}}_{\text{i}}}}^{\text{i}} ]^{\text{T}} \hfill \\ {\varvec{\upeta}} = [\eta_{1},\eta_{2} ,\ldots ,\eta_{{{\text{n}} - {\text{r}}}} ]^{\text{T}} \hfill \\ \end{gathered} $$
(2.41)

and matrix \( \xi \)

$$ {\varvec{\upxi}} = {[{{\varvec{\upxi}}^{1}},{{\varvec{\upxi}}^{2}}, \ldots,{{\varvec{\upxi}}^{\text{m}}}]}^{\text{T}} $$
(2.42)

Then the dynamic of the system could be rewritten by the following equations:

$$ \begin{gathered} \dot{\xi }_{{{\text{j}} - 1}}^{\text{i}} = \xi_{\text{j}}^{\text{i}} \hfill \\ \dot{\xi }_{{{\text{r}}_{\text{i}} }}^{\text{i}} = b_{\text{i}} \left( {{\varvec\upxi} ,{\varvec\upeta} } \right) + \sum\limits_{{{\text{k}} = 1}}^{\text{m}} {a_{\text{ik}} } u_{\text{k}} \hfill \\ y_{\rm i} = \xi_{1}^{\text{i}} \hfill \\ \end{gathered} $$
(2.43)

for \( 1 \le i \le m{\text{ and }}2 \le j \le r_{i} . \)

whereas the equation corresponds to η is as follows:

$$ \dot{\varvec\upeta } = \varvec{q}\left( {{\varvec\upxi} ,{\varvec\upeta} } \right) $$
(2.44)

And the transformation parameters are:

$$ a_{\text{ij}} = {\text{L}}_{\text{gj}} {\text{L}}_{\text{f}}^{{{\text{r}}_{\text{i}}}{ - 1}} h_{\text{i}} \left( {{\bf\Phi}^{ - 1} \left( {{\varvec\upxi} ,{\varvec\upeta} } \right)} \right) $$
(2.45)
$$ b_{\text{i}} = {\text{ L}}_{\text{gj}} {\text{L}}_{\text{f}}^{{\text{r}}_{\text{i}}}h_{\text{i}} \left( {{\bf\Phi}^{ - 1} \left( {{\varvec\upxi} ,{\varvec\upeta} } \right)} \right) $$
(2.46)

for i, j = 1, 2,…, m.

In the system (2.33) the control signal is:

$$ \varvec{u} =\varvec{\alpha}\left( \varvec{x} \right) +\varvec{\beta}\left( \varvec{x} \right)\varvec{v} $$
(2.47)

where \( \varvec{\alpha}\in R^{m} ,\varvec{\beta}\in R^{m \times m} \) and v is the reference input (\( \varvec{v} \in R^{m} \)).

Suppose, that the relative degree of the system (2.33) is equal n and the control signal is:

$$ \varvec{u} = \varvec{A}^{ - 1} \left( {\varvec{\upxi}} \right)\left( { - \varvec{b}\left( {\varvec{\upxi}}\right) + \varvec{v}} \right) $$
(2.48)

then the closed loop system is described by following equations:

$$ \begin{aligned} \dot{\xi }_{1}^{\text{i}} & = \xi_{2}^{\text{i}}\hfill \\ \dot{\xi }_{2}^{\text{i}} & = \xi_{3}^{\text{i}} \hfill \\& \cdots \hfill \\ \dot{\xi }_{{{\text{r}}_{\text{i}}{-1}}}^{\text{i}} & = \xi_{{{\text{r}}_{\text{i}} }}^{\text{i}}\hfill\\ \dot{\xi }_{{{\text{r}}_{\text{i}} }}^{\text{i}} & = v_{\rm i}\hfill \\ y_{\text{i}} & = \xi_{1}^{\text{i}} \hfill \\ \end{aligned}$$
(2.49)

for \( i \, = \, 1,2, \ldots ,m \). The closed system is linear and controllable.

If the relative degree of the system fulfills the condition r < n, then the partially linearized system is obtained, consisting of two subsystems: linear (2.49) and nonlinear (2.45). These equations correspond to the SISO system described by (2.32).

3 Sliding Mode Control

3.1 Introduction

Control Systems are an important part of automation. Sliding Mode Control (SMC) is a type of control using the theory of Variable Structure Systems (VSS). The first works in these fields started in 50th of the twentieth century in the Soviet Union and were developed in 1960s and 1970s (Emelyanow 1967 [10], Itkis 1976 [4], Utkin 1977 [18]).

At the beginning of 1980s started more and more often applying the method of SMC in the real systems. SMC methods found application in:

  • systems of automatic control in planes (Singh 1989) [19],

  • control of servomechanisms (Hikita 1988) [20],

  • design observers (Slotine and de Wit 1991) [21],

  • control robots (Slotine and Sastry 1983) [22],

  • control electric motors and in power electronics (Sabanowic and Izosimov 1981) [23], and many others.

Today SMC makes a comeback because of discovering second order SMC (2-SMC) by A. Levant [24]. The 2-SMC is sometimes called SMC without chattering, because this disadvantageous phenomenon of classical first order SMC is strongly limited.

3.2 Variable Structure Systems (VSS)

In this section theoretical principles of the VSS will be introduced. The mathematical description of this approach is given in [12]. At the beginning a theoretical description of systems with single input and single output (SISO) will be introduced, since this approach is simpler and more understandable. The importance will be put to the SMC. Further considerations applying SMC to SISO systems will be generalized to systems with multi inputs and multi outputs (MIMO).

It is possible, in the simplest way, to explain the VSS by comparing with the linear controller for SISO systems.

Let us assume, that the object is described by matrix equation:

$$ \dot{\varvec{x}} = \varvec{Ax} + \varvec{b}u $$
(3.1)

For the linear state regulator the structure of the feedback is defined as follows:

$$ u = \varvec{k}^{\text{T}} \varvec{x} $$
(3.2)

where \( \varvec{A} \in R^{n \times n} ,\,\varvec{b},\,\varvec{x},\,\varvec{k} \in R^{n} , \, u \in R. \)

The VSS can be implemented through state switching between two or more linear controllers (Fig. 2).

Fig. 2
figure 2

Strategy of variable structure system

Construction of this system includes two problems:

  • choice of parameters for every structure,

  • defining the switching logic.

The following advantages are obtained on the costs for the small system complication:

  • it is possible to improve control quality combining useful properties for every separated structure,

  • the VSS can hold new properties not existing for every structure.

3.3 First Order SMC

This section will be concentrating on the first order SMC, also called simply SMC. SMC occurs if in the neighborhood of the switching surface, trajectories are directed in its direction. The fact that structure is independent of the object parameters is the most important feature of this approach. It causes the robustness of the system. One should however remember that fulfil two conditions are necessary to obtain SMC:

  • trajectories must tend to the switching surface,

  • on this surface condition for the occurring sliding mode phenomenon must be fulfilled.

3.3.1 SMC for the Linear SISO Systems

Now the SMC description for the linear SISO system will be presented. The object is written in the canonical form:

$$ \begin{aligned} \dot{x}_{i} &= x_{i + 1} \quad \text{for i} = 1,2, \ldots ,{\rm n} - 1 \\ \dot{x}_{n} & = - \sum\limits_{i = 1}^{n} {a_{i} } x_{i} + u \\ \end{aligned} $$
(3.3)

Let us assume that aim of control is zeroing of the output y = x 1 . Let u will be a function of the vector x with discontinuity surface determined by the equation s = 0, where

$$ s = \sum\limits_{i = 1}^{n} {c_{i} } x_{i} , c_{i} = const, c_{n} = 1 $$
(3.4)

If trajectories are directed at the surface s = 0, then SMC occurred. The sufficient condition is:

$$ \begin{gathered} \mathop {\lim }\limits_{{s \to 0^{ + } }} \dot{s} < 0 \hfill \\ \mathop {\lim }\limits_{{s \to 0^{ - } }} \dot{s} > 0 \hfill \\ \end{gathered} $$
(3.5)

It means that if s is positive, then its derivative should be negative and if s is negative, then its derivative should be positive. So, when the Eq. (3.5) is fulfilled, trajectories will be attracted to the sliding surface. Thus, the resulting equation of the system working with SMC is as follows:

$$ \begin{aligned} & \dot{x}_{i} = x_{i + 1} \quad \text{for i} = 1,2, \ldots ,{\rm n} - 2 \\ & \dot{x}_{n - 1} = - \sum\limits_{i = 1}^{n} {c_{i} } x_{i} \\ \end{aligned} $$
(3.6)

Note, that these equations are not dependent from control parameters but only from parameters ci.

The main problem is to select control to meet the following properties:

  • the sliding mode must exist in all points of the surface s = 0,

  • control should provide reaching this surface.

In the case of classical SM, the switching function, used in control is function sign( ).

$$ sign(s) = \left\{ \begin{gathered} + {1}\;if\;s \ge 0 \hfill \\ - {1}\;if\;s < 0 \hfill \\ \end{gathered} \right. $$
(3.7)

So the control of the SISO system is equal :

$$ {\text{u}} = {\text{V}}_{\text{m}} {\text{ sign}}\left( {\text{s}} \right) $$
(3.8)

3.3.2 SMC for Nonlinear SISO Systems

A nonlinear SISO system with SMC is described as follows:

$$ \begin{aligned} \dot{\varvec{x}} &= \varvec{g}\left( {\varvec{x},t} \right) + \varvec{b}\left( {\varvec{x},t} \right)u \\ u = & \left\{ \begin{gathered} u^{ + } (\varvec{x},t)\quad\text{dla}\;s \ge 0 \hfill \\ u^{ - } (\varvec{x},t)\quad \text{dla}\;s < 0 \hfill \\ \end{gathered} \right. \\ \end{aligned} $$
(3.9)

where \( \varvec{x},\,\varvec{f} \in {R}^{n} ,u \in {R}. \)

Now, the problem is: how to choose functions u+(x, t), u(x, t), and switching surface s to obtain the desired system behaviour. In order to describe the dynamics of the SMC system one could use equivalent control method. Using this method equation for the ideal sliding mode will be received. Equivalent control fulfil the following equation:

$$ {\dot{\text{s}}}\left( \varvec{x} \right) = 0 $$
(3.10)

The Eq. (3.14) could be rewritten in the following form:

$$ (\nabla {\mathbf{s}})^{\text{T}} \left( {\varvec{g}\left( {\varvec{x},t} \right) \, + \varvec{b}\left( {\varvec{x},t} \right)u} \right) \, = \, 0 $$
(3.11)

The equivalent control is obtained from the Eq. (3.11) and is equal:

$$ u_{eq} = - \frac{{\left( {\nabla s} \right)^{T} \varvec{g}\left( {\varvec{x},t} \right)}}{{\left( {\nabla s} \right)^{T} \varvec{b}\left( {\varvec{x},t} \right)}} $$
(3.12)

with assumption

$$ \left( {\nabla {\mathbf{s}}} \right)^{\text{T}} \varvec{b}\left( {\varvec{x},t} \right) \ne 0 $$
(3.13)

Substituting the Eq. (3.12) to Eq. (3.9) we receive:

$$ \dot{\varvec{x}} = \varvec{g}\left( {\varvec{x},t} \right) - \frac{{\left( {\nabla s} \right)^{T} \varvec{g}\left( {\varvec{x},t} \right)}}{{\left( {\nabla s} \right)^{T} \varvec{b}\left( {\varvec{x},t} \right)}}\varvec{b}\left( {\varvec{x},t} \right) $$
(3.14)

The Eq. (3.14) presents control dynamics of the SMC. Using the equivalent control method we can also receive other SMC conditions different from Eq. (3.5). The following condition must be fulfilled:

$$ \hbox{min} \left( {u^{ + } ,u^{ - } } \right) < u_{\text{eq}} < \, \hbox{max} \left( {u^{ + } ,u^{ - } } \right) $$
(3.15)

3.3.3 SMC for MIMO Systems

The SMC description of the nonlinear MIMO systems is similar to those presented for the SISO systems. An appropriate equation for this case can be written in the following form:

$$ \begin{aligned} \dot{\varvec{x}} &= \varvec{g}\left( {\varvec{x},t} \right) + \varvec{B}\left( {\varvec{x},t} \right)\varvec{u} \\ u_{i} &= \left\{ \begin{gathered} u_{{^{\text{i}} }}^{ + } (\varvec{x},t)\quad \text{for}\;s_{i} \ge 0 \hfill \\ u_{\text{i}}^{ - } (\varvec{x},t)\quad \text{for}\;s_{i} < 0 \hfill \\ \end{gathered} \right. \\ \end{aligned} $$
(3.16)

for i = 1, 2 , …, m. In addition \( \varvec{x},\,\varvec{f} \in R^{n} ,\varvec{u} \in R^{m} \).

Equivalent control is obtained from the equation:

$$ {\dot{\text{s}}}\left( \varvec{x} \right) = 0 $$
(3.17)

Let us assume, that K(x) is a matrix with elements k ij (x) defined as follows:

$$ k_{ij} = \frac{{\partial s_{i} }}{{\partial x_{j} }} $$
(3.18)

Note, that the rows of the K matrix are gradients of the function si(x).

Thus, the condition Eq. (3.17) can be written in following form

$$ {\mathbf{K}}\left( {\mathbf{x}} \right) \, \left( {{\mathbf{g}}\left( {{\mathbf{x}},{\text{ t}}} \right) \, + {\mathbf{B}}\left( {{\mathbf{x}},{\text{ t}}} \right){\mathbf{u}}} \right) \, = \, 0 $$
(3.19)

From this formula one can get the equivalent control equation:

$$ {\mathbf{u}}_{\text{eq}} = \, - \, \left( {{\mathbf{K}}\left( {\mathbf{x}} \right){\mathbf{B}}\left( {{\mathbf{x}},{\text{ t}}} \right)} \right)^{ - 1} {\mathbf{K}}\left( {\mathbf{x}} \right){\mathbf{g}}\left( {{\mathbf{x}},{\text{ t}}} \right) $$
(3.20)

with assumption:

$$ { \det }\left( {\varvec{K}\left( \varvec{x} \right)\varvec{B}\left( {\varvec{x},t} \right)} \right) \ne 0 $$
(3.21)

Putting the Eq. (3.20) to Eq. (3.16) one receives:

$$ \dot{\varvec{x}} = \varvec{g}(\varvec{x},t) - \varvec{B}(\varvec{x},t)(\varvec{K}(\varvec{x},t)\varvec{B}(\varvec{x},t))^{ - 1} \varvec{K}(\varvec{x},t)\varvec{g}(\varvec{x},t) $$
(3.22)

Note, that the sufficient conditions for sliding mode existence for MIMO systems is:

$$ \hbox{min} \left( {u_{\text{i}}^{ + } ,u_{\text{i}}^{ - } } \right) < u_{\text{eqi}} < \, \hbox{max} \left( {u_{\text{i}}^{ + } ,u_{\text{i}}^{ - } } \right) $$
(3.23)

for i = 1. 2, …, m

3.3.4 Chattering Phenomenon in SMC

So far only an ideal case of Sliding Mode has been considered. However, in the real condition certain vagueness is appearing:

  • hysteresis in switching controls (what limits the frequency of switching),

  • delay associated with sampling in digital controllers.

This causes that the system dynamics are not working precisely according to dynamics determined by the sliding mode. Therefore in the real conditions high frequency signal is occurring, which is called chattering. It is possible to eliminate it using different methods. These methods are called chattering reduction methods. For the purpose of chattering limitation, the continues switching function approximation is applied. Systems using this approach are called quasi sliding mode control systems.

Some other methods of chattering reduction are presented below:

  • applying the low-pass filter on the controller output,

  • adding switching function to equivalent control ueq function, which causes that the part with saturation can have a smaller amplitude and consequently reduces chattering,

  • using sliding control of the higher order,

  • applying the integral sliding mode,

  • applying the sliding mode with adaptive switching surfaces,

  • decoupling plant structures and applying sliding mode control for the new object.

3.4 Second Order SMC

In this section the definition of higher order SMC methods will be introduced [24]. The r order sliding mode control means

$$ \varvec{s} = \dot{\varvec{s}} = {\mathop {\varvec{s}}\limits^{..}} = \cdots = \varvec{s}^{(r - 1)} = 0 $$
(3.24)

The higher order system description will be limited to second order system. This is obvious that in first order SMC systems, a value of the function s derivative can obtain high value. This is because, this value is not controlled. Reducing this variable cause also chattering reduction.

In classical SMC, the switching function, used in control is function sign( ). It means that the control signal is dependent only on switching function s. In the second order SMC this signal is additionally dependent directly or indirectly on the derivative of switching function. If the convergence to the origin of the function \( \dot{\varvec{s}}(s) \)in finite time, then occurs second order SMC.

Currently the most popular three following methods exist for achieving the second order SMC:

  • twisting algorithm (Levantovsky (Levant) 1985 [25]),

  • sub-optimal algorithm (Bartolini et al. 1997 [26]),

  • super-twisting algorithm (Levant 1993 [24]).

3.4.1 Twisting Algorithm

The twisting algorithm was introduced by Lewantowski in 1985 [25] (at present Arie Levant). He also introduced the second order SMC term in the paper from 1993 [24].

The control function in twisting algorithm has the following form:

$$ u = \left\{ \begin{gathered} - V_{m} sign(s)\quad \;if\;s\dot{s} \le 0 \hfill \\ - V_{M} sign(s)\quad if\;s\dot{s} > 0 \hfill \\ \end{gathered} \right. $$
(3.25)

and VM > Vm

Trajectories are twisted around the \( \varvec{s} - \dot{\varvec{s}} \) coordinates system. The origin of the coordinate system is reached at the finite time.

3.4.2 Sub-Optimal Algorithm

The sub-optimal algorithm was described by Bartolini et al. in 1998 [26]. Control in this system is described by following equations:

$$ u = \left\{ \begin{aligned} & - U\, sign(s - \beta \,s_{M} )\quad if\;(s - \beta \,s_{M} )s_{M} \ge 0 \hfill \\ & - \alpha^{*} U\,sign(s -\beta \,s_{M} )\quad if\;(s - \beta \,s_{M} )s_{M} < 0 \hfill \\ \end{aligned} \right. $$
(3.26)

where \( U > 0,\alpha * > 1,\beta \in \it{\left[ {0;1} \right)}, \) and s M is the last value s measured in the moment when \( \dot{\varvec{s}} = 0 \).

3.4.3 Super-Twisting the Algorithm

Super-twisting algorithm was published in 1993 by Levant. In this system control signal is described by the following formulas:

$$ \begin{aligned} & u = - \lambda \left| s \right|^{\rho } sign(s) + u_{1} \\ & \dot{u}_{1} = - W \cdot sign(s) \\ \end{aligned} $$
(3.27)

where \( W > 0,\lambda > 0,\alpha * > 1,\rho \in \left( {0;0.5} \right] \)

Note, that in this algorithm, only information about the s functions is necessary. In the other two methods the information about the derivative of s is required, which is not easy to obtain.

3.5 Comparison of First and Second SMC

Among the advantages of the second order SMC are:

  • The second order SMC system is getting smaller chattering towards the first order SMC system,

  • in the second order SMC the control signals and state variables are smooth at keeping the robustness of the system,

  • in the second order SMC construction of robust differentiating systems based on the super-twisting algorithm is possible.

Among the disadvantages of the second order SMC are:

  • in the second order SMC is much difficult to prove and to get the system stability towards the first order SMC,

  • in the second order SMC system is more parameters for adjusting, and not so clear construction rules towards the first order SMC system.

This comparison shows that second order SMC systems have better properties towards first order SMC systems, although obtaining this mode is technically more difficult.

3.6 Conclusions

This study presents the mathematical basis of first order SMC and second order SMC. In the systematic way is explained how the VSS and particularly the SMC of the first and second order are constructed. The first order SMC description for linear and nonlinear systems with SISO and MIMO systems are presented. The advantage of this control method i.e. the robustness of parameter changes is clarified. Also, a disadvantageous chattering phenomenon is described, and discussed in which way it is possible to manage with this feature. Then three algorithms for second order SMC controlling are introduced and shortly described. Finally, the short comparison between first order SMC methods and second order SMC is performed.

4 The Application of Feedback Linearization and Sliding Mode to Induction Motor Control

4.1 Introduction

In this section the application of Sliding Mode Control (SMC) and feedback linearization control (FLC) to induction motor (IM) will be presented. Thus three application examples will be shown. At first the FLC algorithm with the linear control of state variables will be investigated. After that the SMC will be used to control linearized induction motor. The SMC application for such a system gives us the possibility creating the direct control algorithms of the inverter. Finally, the Sliding Mode Observer (SMO) of rotor flux and speed used in the linearized induction motor will be described.

4.2 Application of Feedback Linearization to Induction Motor Control

This section presents the application of feedback linearization to induction motor control. The induction motor equations in per unit (pu.) system is described in the following form:

$$ \dot{\varvec{x}} = \varvec{f}\left( \varvec{x} \right) + {u}_{{{\text{s}}\upalpha }} \varvec{g}_{\upalpha } + {u}_{{{\text{s}}\upbeta }} \varvec{g}_{\upbeta } $$
(4.1)

where

$$ \varvec{f}(\varvec{x}) = \left[ {\begin{array}{*{20}c} { - \upalpha \psi_{{{\text{r}}\upalpha }} - \upomega_{\text{m}} \psi_{{{\text{r}}\upbeta }} + \upalpha x_{\text{M}} i_{{{\text{s}}\upalpha }} } \\ {\upomega_{\text{m}} \psi_{{{\text{r}}\upalpha }} - \upalpha \psi_{{{\text{r}}\upbeta }} + \upalpha x_{\text{M}} i_{{{\text{s}}\upbeta }} } \\ {\upalpha \upbeta \psi_{{{\text{r}}\upalpha }} + \upbeta \upomega_{\text{m}} \psi_{{{\text{r}}\upbeta }} - \upgamma i_{{{\text{s}}\upalpha }} } \\ { - \upbeta \upomega_{\text{m}} \psi_{{{\text{r}}\upalpha }} + \upalpha \upbeta \psi_{{{\text{r}}\upbeta }} - \upgamma i_{{{\text{s}}\upbeta }} } \\ {\upmu (\psi_{{{\text{r}}\upalpha }} i_{{{\text{s}}\upbeta }} - \psi_{{{\text{r}}\upbeta }} i_{{{\text{s}}\upalpha }} ) - \frac{{m_{\text{L}} }}{{\uptau_{\text{M}} }}} \\ \end{array} } \right] $$
(4.2)
$$ \varvec{g}_{\upalpha } = [0, \, 0, \, 1/\upsigma {\rm x}_{\text{s}} , \, 0, \, 0]^{\text{T}} ,\;\varvec{g}_{\beta } = [0, \, 0, \, 0, \, 1/\upsigma {\rm x}_{\text{s}} , \, 0]^{\text{T}} $$
(4.3)
$$ \varvec{x} = \, \left[ {\psi_{{{\text{r}}\upalpha }} ,\psi_{{{\text{r}}\upbeta }} , i_{{{\text{s}}\upalpha }} ,i_{{{\text{s}}\upbeta }} , {{\upomega_{\text{m}}}} } \right]^{\text{T}} $$
(4.4)

and \( \upalpha = {\text{ r}}_{\text{r}} /{\text{x}}_{\text{r}} ;\upbeta = {\text{ x}}_{\text{M}} /(\upsigma {\text{x}}_{\text{s}} {\text{x}}_{\text{r}} );\upgamma = \left( {{\text{ r}}_{\text{s}} {\text{x}}_{\text{r}}^{ 2} + {\text{ r}}_{\text{r}} {\text{x}}_{\text{M}}^{ 2} } \right)/(\upsigma {\text{x}}_{\text{s}} {\text{x}}_{\text{r}}^{ 2} );\upmu = {\text{ x}}_{\text{M}} / \, (\uptau_{\text{M}} {\text{x}}_{\text{r}} ) \) \( \sigma = { 1 } - {\text{ x}}_{\text{M}}^{ 2} /(\sigma {\text{x}}_{\text{s}} {\text{x}}_{\text{r}} ) \), where motor parameters rr, rs are rotor and stator resistance in pu. system, and xr, xs, xM, are rotor, stator and main inductance in pu. system.

Note that \( \upomega_{\text{m}} ,\psi_{\text{r}} \upalpha,\psi_{{{\text{r}}\upbeta }} \), are not dependent on control signals \( u_{{{\text{s}}\upalpha }} ,u_{{{\text{s}}\upbeta }} \). In this case it is easy to choose two variables dependent on x only. Now the feedback linearization procedure will be applied, which was described in Sect. 2. So we can define [3, 4]:

$$ \upphi_{ 1} \left( {\text{x}} \right) = \uppsi_{{{\text{r}}\upalpha }}^{ 2} + \uppsi_{{{\text{r}}\upbeta }}^{ 2} = \uppsi^{ 2} $$
(4.5)
$$ \upphi_{ 2} \left( {\text{x}} \right) = \upomega_{\text{m}} $$
(4.6)

Let \( \upphi_{ 1} \left( \varvec{x} \right),\upphi_{ 2} \left( \varvec{x} \right) \) are the output variables. The aim of control is to obtain:

  • constant flux amplitude,

  • reference angular speed.

Part of the new state variables we can choose according to (4.5) and (4.6). So, the full definition of new coordinates is given by [8, 9]:

$$ \begin{aligned} & z_{ 1} = \upphi_{ 1} \left( \varvec{x} \right) \\ & z_{ 2} = {\text{L}}_{f} \upphi_{1} \left( \varvec{x} \right) \\ & z_{ 3} = \upphi_{ 2} \left( \varvec{x} \right) \\ & z_{ 4} = {\text{L}}_{f} \upphi_{ 2} \left( \varvec{x} \right) \\ & z_{5} = \arctan \left( {\frac{{\psi_{{{\text{r}}\upbeta }} }}{{\psi_{{{\text{r}}\upalpha }} }}} \right) \\ \end{aligned} $$
(4.7)

where L f h is the Lie derivative of h with respect to a vector field f (2.1).

Note, that the fifth variable cannot be linearizable and the linearization can be only partial. Denote:

$$ \upphi_{ 3} \left( \varvec{x} \right) \, = z_{ 5} $$
(4.8)

then the dynamic of the system is given by:

$$ \begin{aligned} & \dot{z}_{1} = z_{ 2} \\ & \dot{z}_{2} = {\text{L}}_{f}^{2} \upphi_{ 1} \left( \varvec{x} \right) + {\text{L}}_{{{\text{g}}\upalpha }} {\text{L}}_{f} \upphi_{ 1} \left( \varvec{x} \right) u_{{{\text{s}}\upalpha }} + {\text{ L}}_{{{\text{g}}\upbeta }} {\text{L}}_{f} \upphi_{ 1} \left( \varvec{x} \right) u_{{{\text{s}}\upbeta }} \\ & \dot{z}_{3} = {\text{z}}_{ 4} \\ & \dot{z}_{4} = {\text{L}}_{f}^{ 2} \upphi_{ 2} \left( \varvec{x} \right) \, + {\text{ L}}_{{{\text{g}}\upalpha }} {\text{L}}_{f} \upphi_{ 2} \left( \varvec{x} \right) u_{{{\text{s}}\upalpha }} + {\text{ L}}_{{{\text{g}}\upbeta }} {\text{L}}_{f} \upphi_{ 2} \left( \varvec{x} \right) u_{{{\text{s}}\upbeta }} \\ & \dot{z}_{5} = {\text{L}}_{f}^{ 2} \upphi_{ 3} \left( \varvec{x} \right) \\ \end{aligned} $$
(4.9)

In the further part of this section we will consider the system consists of the first four equations, because the fifth variable is only responsible for the zero dynamics of the system. We can define linearizing feedback as [4]:

$$ \left[ {\begin{array}{*{20}c} {u_{s\alpha } } \\ {u_{s\beta } } \\ \end{array} } \right] = {\mathbf{D}}^{ - 1} \left\{ {\left[ {\begin{array}{*{20}c} { - L_{f}^{2} \phi_{1} } \\ { - L_{f}^{2} \phi_{2} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {v_{1} } \\ {v_{2} } \\ \end{array} } \right]} \right\} $$
(4.10)

D is given by:

$$ \varvec{D} = \left[ {\begin{array}{*{20}c} {{\rm L}_{{{\text{g}}\upalpha }} {\rm L}_{f} \upphi_{1} } & {{\rm L}_{{{\text{g}}\upbeta }} {\rm L}_{f} \upphi_{1} } \\ {{\rm L}_{{{\text{g}}\upalpha }} {\rm L}_{f} \upphi_{2} } & {{\rm L}_{{{\text{g}}\upbeta }} {\rm L}_{f} \upphi_{2} } \\ \end{array} } \right] $$
(4.11)

After simple calculation, with the assumption that det(D) \( \ne \) 0 what means that \( \psi_{\text{r}} \ne \) 0, the following equation is fulfilled:

$$ \varvec{D}^{ - 1} = \frac{{\upsigma x_{\rm s} }}{{2\upalpha \upmu x_{\text{M}} \psi_{\text{r}}^{2} }}\left[ {\begin{array}{*{20}c} {\upmu \psi_{{{\text{r}}\upalpha }} } & { - 2\upalpha x_{\rm M} \psi_{{{\text{r}}\upbeta }} } \\ {\upmu \psi_{{{\text{r}}\upbeta }} } & { - 2\upalpha x_{\rm M} \psi_{{{\text{r}}\upalpha }} } \\ \end{array} } \right] $$
(4.12)

and \( {\text{L}}_{f}^{ 2} \upphi_{1} ,{\text{ L}}_{f}^{ 2} \upphi_{2} \) are equal:

$$ \begin{aligned} {\text{L}}_{f}^{2} \upphi_{1} = \, & 2\upalpha \left[ {( 2\upalpha + \upalpha \upbeta x_{\text{M}} \left( {\psi_{{{\text{r}}\upalpha }}^{ 2} + \psi_{{{\text{r}}\upbeta }}^{ 2} } \right) + \upalpha x_{\text{M}}^{ 2} \left( {i_{{{\text{s}}\upalpha }}^{ 2} + i_{{{\text{s}}\upbeta }}^{ 2} } \right)} \right. \\ & \left. { - \left( {\upgamma x_{\text{M}} + { 3}\upalpha x_{\text{M}} } \right)\,\left( {\psi_{{{\text{r}}\upalpha }} i_{{{\text{s}}\upalpha }} + \psi_{{{\text{r}}\upbeta }} i_{{{\text{s}}\upbeta }} } \right) + x_{\text{M}} \upomega_{\text{m}} \left( {\psi_{{{\text{r}}\upalpha }} i_{{{\text{s}}\upbeta }} - \psi_{{{\text{r}}\upalpha }} i_{{{\text{s}}\upbeta }} } \right)} \right] \\ \end{aligned} $$
(4.13)
$$ \begin{aligned} L_{f}^{2} \upphi_{2} = & - \,\upmu \left[ {\upomega_{\text{m}} \left( {\psi_{{{\text{r}}\upalpha }} i_{{{\text{s}}\upalpha }} + \psi_{{{\text{r}}\upbeta }} i_{{{\text{s}}\upbeta }} } \right) + \upbeta \upomega_{\text{m}} \left( {\psi_{{{\text{r}}\upalpha }}^{2} + \psi_{{{\text{r}}\upbeta }}^{2} } \right)} \right. \\ & \left. { + \,\left( {\upgamma + \upalpha } \right)\left( {\psi_{{{\text{r}}\upalpha }} i_{{{\text{s}}\upbeta }} - \psi_{{{\text{r}}\upbeta }} i_{{{\text{s}}\upalpha }} } \right)} \right] \\ \end{aligned} $$
(4.14)

The resulting system is described by the equations:

$$ \begin{gathered} \dot{z}_{1} = z_{ 2} \hfill \\ \dot{z}_{2} = v_{ 1} \hfill \\ \dot{z}_{3} = z_{ 4} \hfill \\ \dot{z}_{4} = v_{ 2} \hfill \\ \end{gathered} $$
(4.15)

So, the block diagram of the linearized system is shown in the Fig. 3

Fig. 3
figure 3

Block diagram of induction motor with control signals v1, v2 (feedback linearization)

Control signals can be calculated by the following formulas:

$$ v_{ 1} = k_{ 1 1} \left( {z_{ 1} - z_{{ 1 {\text{ref}}}} } \right) - k_{ 1 2} z_{ 2} $$
(4.16)
$$ v_{ 2} = k_{ 2 1} \left( {z_{ 3} - z_{{ 3 {\text{ref}}}} } \right) \, - k_{ 2 2} z_{ 4} $$
(4.17)

where coefficients k 11, k 12, k 21, k 22 are chosen to determinate closed loop system dynamic.

Control algorithm consists of two steps (Fig. 4):

Fig. 4
figure 4

Block diagram of feedback linearized control of two level three phase voltage source inverter fed induction motor

  • calculations v 1, v 2 according to Eq. (4.16) and (4.17),

  • calculations u , u according to Eq. (4.10).

Application of the feedback linearization method gives us a possibility to get very good behaviour in steady and dynamical states. The main features and advantages of the presented control are:

  • with control variables v 1, v 2 the FLC guarantee the exactly decoupling of the motor speed and rotor flux control in both dynamic and steady states.

  • the FLC is implemented in a state feedback fashion and needs more complex signal processing (full information about motor state variables and load torque is required).

4.3 Feedback Linearization with Sliding Mode

In many publications the SMC is applied to vector controlled IM [59]. In this section application of the sliding mode technique to the resulting linear system obtained by feedback linearization is described. The robustness and the discontinuous nature of Variable Structure Control permits to use this control technique to the PWM fed induction motor drives, what is the greatest advantage in this control area.

In SLM [12] the system structure is switched when the system state crosses the predetermined discontinuity line, so that the plant state slides along the reference trajectory. This type of control was described in Sect. 3. The design of SMC requires a suitable control law. The simplest way to solve this problem is to use bang–bang controller. In this case the absolute value of the control command v is constant and the sign is given by the sign of a commutation function s as follows:

$$ v \, = {v_{ \hbox{max} }}\,{\text{sgn}}\left( {\text{s}} \right) $$
(4.18)

The controller gain v max can be evaluated based on the existing condition of sliding mode Eq. 3.5:

In the case of linearized motor, there are two error signals:

$$ {\text{e}}_{ 1} = {\text{ z}}_{{ 1 {\text{ref}}}} - {\text{ z}}_{ 1} $$
(4.19a)
$$ {\text{e}}_{ 2} = {\text{ z}}_{{ 3 {\text{ref}}}} - {\text{ z}}_{ 3} $$
(4.19b)

two sliding lines defined by:

$$ \begin{gathered} s_{1} = e_{1} + \tau_{1} \dot{e}_{1} \hfill \\ s_{2} = e_{2} + \tau_{2} \dot{e}_{2} \hfill \\ \end{gathered} $$
(4.20)

and two control signals:

$$ v_{ 1} = v_{{ 1 {\text{max}}}} {\text{sgn}}\left( {{\text{s}}_{ 1} } \right) $$
(4.21a)
$$ v_{ 2} = v_{{ 2 {\text{max}}}} {\text{sgn}}\left( {{\text{s}}_{ 2} } \right) $$
(4.21b)

Note that for each vector v 1, v 2 the conditions Eq. (3.5) must be fulfilled and this gives us possibilities to choose a vector pattern in PWM inverter.

In many papers [59, 2730], where the nonlinear control of induction motor is described, the inverter model does not take into account. However, in the case of two-level three-phase inverter, it is easy to show that using SLM approach one can find the voltage vector, from the set of eight possible vectors, which assure the correct system behaviour (i.e. according to sliding mode conditions). It is obvious that this approach is easy to extend for multilevel inverters.

The simplest way of producing the inverter switch states is to check all possibilities and choose this one, which fulfil the sliding mode conditions. The algorithm could be performed in different ways using switching table Fig. 5 (algorithm 1) (Table 1).

Fig. 5
figure 5

The sliding mode control with switching table applied to the two-level three-phase inverter fed induction motor

Table 1 Switching table in classical sliding mode

where sector is defined by the angle of the rotor flux vector (Table 2):

Table 2 Definition of rotor flux sector

The algorithm could be modified in such a way, that in some situations we can choose zero vector instead of active vectors. In this case the sign of mechanical speed is taken to account, and the switching table is (algorithm 2) (Table 3):

Table 3 Switching table in modified sliding mode

This approach is correct in steady state, but not correct in transients, because the SMC condition is not fulfilled in every time instance. In transient state another modification could be used. Inside the ε-neighborhood the algorithm with modification will be used and outside this region the algorithm which strictly fulfilled the sliding mode conditions will be applied. (algorithm 3). The simulations of these algorithms are performed. The oscillograms obtained for FLC with sinusoidal PWM and with linear speed and rotor flux controllers as well as for FLC with sliding mode (algorithm 1) are shown in Fig. 6a, b. These figures show the steady state behaviour of the above systems. As can be seen from Fig. 6b that it exists torque stress in some time instances. To guarantee better performance one can apply algorithm 2 presented in the previous section. In Fig. 6c the simulation results obtained for SMC with modification are shown. In Fig. 7 the response to speed reference change is presented. The simulated oscillograms obtained for FLC with sinusoidal PWM and with linear speed and rotor flux controllers as well as for FLC with modified sliding mode (algorithm 3) are shown. These oscillograms show the dynamic behaviour of the above systems, which are similar to each other.

Fig. 6
figure 6

Steady state operation of the induction motor controlled via feedback linearization with linear feedback and PWM (a) with SLMC (b) with modified SLMC (c): (a) stator currents i, i, (b) stator voltage u, (c) electromagnetic torque m, (d) stator voltage vector path u(u), (e) stator current vector path i(i)

Fig. 7
figure 7

Simulation results for change of the reference speed with induction motor controlled via feedback linearization with linear feedback and PWM (a) and with the modified SLMC (b): (a) reference speed ωmref, (b) actual speed ωm, (c) electromagnetic torque m, (d) rotor flux components and absolute value (Ψ , Ψ , Ψ r), (e) stator current component i, (f) stator voltage component u

4.4 Sliding Mode Observers

4.4.1 Application of Sliding Mode Observers

The description of sliding mode is presented in Chap. 3. The sliding mode condition should be fulfilled, which imply the convergence to the prescribed surface. The main advantage of SM is the robustness of the system.

Sliding mode could be applied to observers in which the discontinues terms are used. In this section the Sliding Mode Observers (SMO) used for induction motor are applied. Recently many papers devoted to this topic were written [3137]. In this work two different observers are presented, the parallel and serial SMO.

The parallel Sliding Mode Observer of rotor flux we can calculate using following formulas:

$$ \begin{aligned} \frac{{d\hat{\psi }_{r\alpha } }}{dt} = & - \alpha \hat{\psi }_{r\alpha } - \omega_{m} \hat{\psi }_{r\beta } + \alpha x_{M} i_{s\alpha } + kV_{\alpha } \\ \frac{{d\hat{\psi }_{r\beta } }}{dt} = & - \alpha \hat{\psi }_{r\beta } + \omega_{m} \hat{\psi }_{r\alpha } + \alpha x_{M} i_{s\alpha } + kV_{\beta } \\ \frac{{d\hat{i}_{s\alpha } }}{dt} = & \alpha \beta \hat{\psi }_{r\alpha } + \beta \omega_{m} \hat{\psi }_{r\beta } - \gamma \hat{i}_{s\alpha } + \frac{1}{{\sigma x_{s} }}u_{\alpha } + V_{\alpha } \\ \frac{{d\hat{i}_{s\beta } }}{dt} = & \alpha \beta \hat{\psi }_{r\beta } - \beta \omega_{m} \hat{\psi }_{r\alpha } - \gamma \hat{i}_{s\beta } + \frac{1}{{\sigma x_{s} }}u_{\beta } + V_{\beta } \\ \end{aligned} $$
(4.22)

where \( \hat{\psi }_{r \alpha} ,\hat{\psi }_{r\beta } ,\hat{i}_{s\alpha } ,\hat{i}_{s\beta } \) are estimated values of the rotor flux and stator currents, k is a positive convergence rate coefficient and V α , V α are discontinues functions of the current errors:

$$ \begin{gathered} V_{\alpha } = - V_{0} sign(\bar{i}_{s\alpha } ) = - V_{0} sign(\hat{i}_{s\alpha } - i_{s\alpha } ) \hfill \\ V_{\beta } = - V_{0} sign(\bar{i}_{s\beta } ) = - V_{0} sign(\hat{i}_{s\beta } - i_{s\beta } ) \hfill \\ \end{gathered} $$
(4.23)

and V 0 > 0.

The scheme of this observer is presented in Fig. 8.

Fig. 8
figure 8

Parallel sliding mode flux observer

The serial SMO is based on current observer which is calculated by following formula:

$$ \left[ \begin{gathered} \dot{\hat{i}}_{s\alpha } \hfill \\ \dot{\hat{i}}_{s\beta } \hfill \\ \end{gathered} \right] = \frac{{x_{M} }}{{\sigma x_{s} x_{r} }}\left[ \begin{gathered} \lambda_{r\alpha } \hfill \\ \lambda_{r\beta } \hfill \\ \end{gathered} \right] - \frac{{r_{s} }}{{\sigma x_{s} }}\left[ \begin{gathered} \hat{i}_{s\alpha } \hfill \\ \hat{i}_{s\beta } \hfill \\ \end{gathered} \right] + \frac{1}{{\sigma x_{s} }}\left[ \begin{gathered} u_{s\alpha } \hfill \\ u_{s\beta } \hfill \\ \end{gathered} \right] $$
(4.24)

and in this case the flux observer is

$$ \left[ \begin{gathered} \dot{\hat{\psi }}_{r\alpha } \hfill \\ \dot{\hat{\psi }}_{r\beta } \hfill \\ \end{gathered} \right] = - \left[ \begin{gathered} \lambda_{r\alpha } \hfill \\ \lambda_{r\beta } \hfill \\ \end{gathered} \right] $$
(4.25)
$$ \begin{gathered} \lambda_{r\alpha } = - V_{0} sign(\bar{i}_{s\alpha } ) = - V_{0} sign(\hat{i}_{s\alpha } - i_{s\alpha } ) \hfill \\ \lambda_{r\beta } = - V_{0} sign(\bar{i}_{s\beta } ) = - V_{0} sign(\hat{i}_{s\beta } - i_{s\beta } ) \hfill \\ \end{gathered} $$
(4.26)

and \( \mathop V\nolimits_{0} > 0 \).

The scheme of this observer is presented in Fig. 9.

Fig. 9
figure 9

Serial sliding mode flux observer

Knowing the estimated current, estimated rotor flux, and λ function values, we can express estimated rotor speed as [33]

$$ \mathop {\hat{\omega }}\nolimits_{m} = \frac{{\hat{\psi }_{r\beta } \cdot \lambda_{r\alpha } - \hat{\psi }_{r\alpha } \cdot \lambda_{r\beta } - \alpha x_{M} (\hat{i}_{s\beta } \hat{\psi }_{r\alpha } - \hat{i}_{s\alpha } \hat{\psi }_{r\beta } )}}{{\hat{\psi }_{r\alpha }^{2} + \hat{\psi }_{r\beta }^{2} }} $$
(4.27)

4.4.2 SMO Results

The simulated and experimental oscillograms were obtained for FLC with vector PWM and with Sliding Mode Flux Observers (Fig. 10).

Fig. 10
figure 10

Control of induction motor via feedback linearization

Simulation of two described vector flux estimators is shown in Figs. 11 and 12 (steady state operation). and Figs. 13 and 14 (dynamic behaviour). It is obvious, that the parallel flux estimator is better compare to serial one, therefore this estimation was selected to experiment.

Fig. 11
figure 11

Simulation results for steady state operation (ωm = 0.5i mL = 0.2) for parallel SMO a current and voltage, b speed and speed command, c flux estimation errors, d electromagnetic torque

Fig. 12
figure 12

Simulation results for steady state operation (ωm = 0.5i mL = 0.2) for serial SMO a current and voltage, b speed and speed command, c flux estimation errors, d electromagnetic torque

Fig. 13
figure 13

Dynamic behavior. The speed reversal ωm = −0.3, 0.3 for parallel SMO. a Current and voltage, b speed and speed command, c flux estimation errors, d electromagnetic torque

Fig. 14
figure 14

Dynamic behavior. The speed reversal ωm = −0.3, 0.3 for serial SMO. a Current and voltage, b speed and speed command, c flux estimation errors, d electromagnetic torque

These oscillograms confirm the good dynamic behaviour of the system, and the correct operation of Sliding Mode Flux Observers. Additionally using a serial SM observer approach there is possible to obtain mechanical speed. It should be noted, that to calculate rotor flux in feedback linearization control the parallel SM observer is used.

Figure 15 shows the correct operation of Sliding Mode Speed Observer in simulation, in both dynamic and steady state. We can note, that the response of the system is proper, and the speed sensorless system gives good results.

Fig. 15
figure 15

Simulation results for steady-state (left side) and speed reversal (right side). a Command speed and mechanical speed, b speed estimation error

5 Conclusions

In this chapter several applications of feedback linearization (FLC) and sliding mode control (SMC) and observers for inverter fed induction motor is presented. Features and advantages described algorithms can be summarized as follows.

  • The FLC guarantees the exactly decoupling of the motor speed and rotor flux control. Thus this control method gives a possibility to get very good behaviour in both dynamic and steady states.

  • Since in the FLC chosen variables (\( \upomega_{\text{m}} ,\psi_{\text{r}}^{2} \)) and its derivative (\( \dot{\upomega }_{\text{m}} ,\dot{\psi }_{\text{r}}^{2} \)) are used as new coordinates this approach will be well suited for SMC speed and position controllers. The SMC is robust. Therefore, the combination of these two algorithms allow achieving the advantages of both: decoupled, robust system.

  • The SMC approach assures direct control of inverter legs and allows using a simple table instead of performing complicated PWM calculation.

  • The good behaviour of rotor flux and speed Sliding Mode Observers (SMO) is the important feature of the system and allows achieving very good results.

Thus the SMC and FLC, both together and separately, offer an interesting perspective in future research. These approaches are also a good alternative to other solutions, such as predictive and adaptive systems, and soft computing. SMOs are frequently used in drive systems. Sliding Mode Controllers work well in switching systems, and in systems which parameters are variable or not accurately set. The FLC approach is applied when we are dealing with non-linear systems, such as for example different types of drive systems. Therefore, we can say that these approaches are very useful in a variety of applications and, in particular, in the drive systems and power electronics.