**1. Introduction**

108 Frontiers of Model Predictive Control

(Zuritz, 2005) Zuritz C.A., Muñoz E., Mathey H.H., Pérez E.H., Gascón A., Rubio L.A.,

Carullo C.A., Chemikoff R.E., Cabeza M.S., *"Density, viscosity and soluble solid concentration and temperatures".* Journal of Food Engineering, *Vol. 71, pp. 143 - 149.*

> The induction motor (IM) is widely used in industry because of its well known advantages such as simple construction, less maintenance, reliability and low cost. However, it is highly nonlinear, multivariable, time-varying system and, contrary to DC motor, requires more complex methods of control. Therefore, this machine constitutes a theoretically challenging control problem.

> One of the most important development in control area for induction motor has been field oriented control (FOC) established firstly by (Blaschke, 1972). However, the performance of this technique is affected by the motor parameter variations and unknown external disturbances. To improve the dynamic response and reduce the complexity of FOC methods, an extension amount of work has been done to find new methods, such as direct torque control (DTC), sliding mode and nonlinear control (Barut et al., 2005; Chen & Dunnigan, 2003; Chiasson, 1996; Marino et al. 1993).

> Model based predictive control (MPC) is one of the most promising control methods for both linear and nonlinear systems. The MPC formulation integrates optimal control, multivariable control, and the use of future references. It can also handle constraints and nonlinear processes, which are frequently found in industry. However, the computation of the MPC requires some mathematical complexities, and in the way of implementing and tuning this kind of controller, the computation time of the MPC may be excessive for the sampling time required by the process. Therefore, several MPC implementations were done for slow processes (Bordons & Camacho, 1998; Garica et al., 1989; Richalet, 1993). However, the explicit formulation of MPC allows its implementation in fast linear systems (Bemporad et al. 2002).

> A review of fast method for implementing MPC can be found in (Camacho & Bordons, 2004). In case of nonlinear systems, where the mathematical packages are available in research control community, and thanks to the advancement of signal processing technology for control techniques, it becomes easy to implement these control schemes. Many works have been developed in nonlinear model predictive control (NMPC) theory (Ping, 1996; Chen et al., 1999; Siller-Alcala, 2001; Feng et al., 2002). A nonlinear PID model predictive controller developed in (Chen et al., 1999), for nonlinear control process, can improve some desirable features, such as, robustness to parameters variations and external disturbance rejection. The idea is to develop a nonlinear disturbance observer, and by

Nonlinear Model Predictive Control for Induction Motor Drive 111

 **x** .

*T*

*s*

*L*

2

**y hx** (2)

rotor fluxes, *ω* rotor speed, *usα*, *usβ* stator voltages, *Rs*, *Rr*

*g g*

**1 g**

*<sup>m</sup> <sup>m</sup> r m <sup>s</sup> sr sr s r L L R L K R LL LL σL L* 2 2

> *rr r ( )* 22 2

**f(x)** and **h(x)** are assumed to be continuously differentiable a sufficient number of time. *isα*, *is<sup>β</sup>*

stator and rotor resistances, *Ls*, *Lr*, *Lm* stator, rotor and mutual inductances, *p* number of poles pair, *J* inertia of the machine, *fr* friction coefficient, *Tr*= *Lr/Rr* rotor time constant, *σ*

Nonlinear model predictive control (NMPC) algorithm belongs to the family of optimal

*<sup>r</sup> <sup>T</sup> t t t td*

 

**r r xu y y y y** (3)

 

where *τr* is the prediction time, **y**(*t+τ*) a *τ*-step ahead prediction of the system output and **yr**(*t*+*τ*) the future reference trajectory. The control weighting term is not included in the cost function (3). However, the control effort can be achieved by adjusting prediction time. More

The objective of model predictive control is to compute the control **u**(*t*) in such a way the future plant output **y**(*t*+*τ*) is driven close to **yr**(*t*+*τ*). This is accomplished by minimizing .

control strategies, where the cost function is defined over a future horizon

details about how to limit the control effort can be found in (Chen et al., 1999).

0

 

 

1

11 12

*s*

<sup>1</sup> 0 000

<sup>1</sup> 0 000

*L*

2 2 : 0 

The state **x** belongs to the set *<sup>5</sup> Ω r r*

*sr r r*

*<sup>K</sup> <sup>i</sup> pK <sup>T</sup>*

 

*<sup>K</sup> <sup>i</sup> pK <sup>T</sup>*

 

*sr r r*

*<sup>m</sup> sr r*

*<sup>L</sup> i p T T*

*<sup>L</sup> i p T T*

1

*<sup>m</sup> sr r*

*pL <sup>f</sup> <sup>T</sup> i i JL J J*

 

*m r <sup>L</sup> rs rs*

 

*r r*

*r r*

*r*

The outputs to be controlled are

denote stator currents, *r r* ,

leakage coefficient and *TL* load torque.

**3. Nonlinear model predictive control** 

<sup>1</sup> (,) <sup>2</sup>

where

<sup>1</sup> ( )

Vector function **f(x)** and constant matrix **g1(x)** are defined as follows.

 

 

 

**f x**

   

 

 

 

 1; ; 

embedding the nonlinear model predictive control law in the observer structure, it allows to express the disturbance observer through a PID control action. The NMPC have been implemented in induction motor drive with good performance (Hedjar et al., 2000; Hadjar et al. 2003; Maaziz et al., 2000; Merabet et al., 2006; Correa et al., 2007; Nemec et al., 2007). However, in these works, the load torque is taken as a known quantity to achieve accurately the desired performance, which is not always true in the majority of the industrial applications. Therefore, an observer for load torque is more than necessary for high performance drive. The design of such observer must not be complicated and well integrated in the control loop.

This chapter presents a nonlinear PID model predictive controller (NMPC PID) application to induction motor drive, where the load torque is considered as an unknown disturbance. A load torque observer is derived from the model predictive control law and integrated in the control strategy as PID speed controller. This strategy unlike other techniques for load torque observation (Marino et al., 1998; Marino et al., 2002; Hong & Nam, 1998; Du & Brdys, 1993), where the observer is an external part from the controller, allows integrating the observer into the model predictive controller to design a nonlinear PID model predictive controller, which improves the drive performance. It will be shown that the controller can be implemented with a limited set of computation and its integration in the closed loop scheme does not affect the system stability. In the development of the control scheme, it is assumed that all the machine states are measured. In fact a part of the state, the rotor flux, is not easily measurable and it is costly to use speed sensor. In literature, many techniques exist for state estimation (Jansen et al., 1994; Leonhard, 2001). A continuous nonlinear state observer based on the observation errors is used in this work to estimate the state variables. The coupling between the observer and the controller is analyzed, where the global stability of the whole system is proved using the Lyapunov stability. For this reason, a continuous version of NMPC is used in this work.

The rest of the chapter is organized as follows. In section 2, the induction motor model is defined by a nonlinear state space model. In section 3, the NMPC control law is developed for IM drive with an analysis of the closed loop system stability. In section 4, the load torque is considered as a disturbance variable in the machine model, and a NMPC PID control is applied to IM drive. Then, the coupling between the controller and the state observer is discussed in section 5, where the global stability of the whole system is proven theoretically. In section 6, simulation results are given to show the effectiveness of the proposed control strategy.

### **2. Induction motor modeling**

The stator fixed (*α-β*) reference frame is chosen to represent the model of the motor. Under the assumption of linearity of the magnetic circuit, the nonlinear continuous time model of the IM is expressed as

$$\dot{\mathbf{x}}(t) = \mathbf{f}(\mathbf{x}) + \mathbf{g}\_1(\mathbf{x})\mathbf{u}(t) \tag{1}$$

where

$$\mathbf{x} = \begin{bmatrix} \mathbf{i}\_{s\alpha} \ \mathbf{i}\_{s\beta} \ \phi\_{r\alpha} \ \phi\_{r\beta} \ \phi\_{r} \end{bmatrix}^{T} \text{, } \mathbf{u} = \begin{bmatrix} \mathbf{u}\_{s\alpha} \ \mathbf{u}\_{s\beta} \end{bmatrix}^{T}$$

The state **x** belongs to the set *<sup>5</sup> Ω r r* 2 2 : 0 **x** .

Vector function **f(x)** and constant matrix **g1(x)** are defined as follows.

$$\mathbf{f}(\mathbf{x}) = \begin{bmatrix} -\gamma i\_{sa} + \frac{K}{T\_r} \phi\_{ra} + pK\alpha\phi\_{rb} \\\\ -\gamma i\_{s\beta} + \frac{K}{T\_r} \phi\_{r\beta} - pK\alpha\phi\_{ra} \\\\ \frac{L\_m}{T\_r} i\_{sa} - \frac{1}{T\_r} \phi\_{ra} - po\alpha\phi\_{r\beta} \\\\ \frac{L\_m}{T\_r} i\_{s\beta} - \frac{1}{T\_r} \phi\_{r\beta} +po\phi\_{ra} \\\\ \frac{PL\_m}{T\_r} (\phi\_{ra}i\_{s\beta} - \phi\_{r\beta}i\_{sa}) - \frac{f\_r}{I}co - \frac{T\_l}{I} \end{bmatrix} \quad \text{g}\_1 = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\\\ \frac{1}{\sigma L\_s} & 0 & 0 & 0 & 0 \\\\ 0 & \frac{1}{\sigma L\_s} & 0 & 0 & 0 \\\\ \end{bmatrix}^T$$

where

110 Frontiers of Model Predictive Control

embedding the nonlinear model predictive control law in the observer structure, it allows to express the disturbance observer through a PID control action. The NMPC have been implemented in induction motor drive with good performance (Hedjar et al., 2000; Hadjar et al. 2003; Maaziz et al., 2000; Merabet et al., 2006; Correa et al., 2007; Nemec et al., 2007). However, in these works, the load torque is taken as a known quantity to achieve accurately the desired performance, which is not always true in the majority of the industrial applications. Therefore, an observer for load torque is more than necessary for high performance drive. The design of such observer must not be complicated and well

This chapter presents a nonlinear PID model predictive controller (NMPC PID) application to induction motor drive, where the load torque is considered as an unknown disturbance. A load torque observer is derived from the model predictive control law and integrated in the control strategy as PID speed controller. This strategy unlike other techniques for load torque observation (Marino et al., 1998; Marino et al., 2002; Hong & Nam, 1998; Du & Brdys, 1993), where the observer is an external part from the controller, allows integrating the observer into the model predictive controller to design a nonlinear PID model predictive controller, which improves the drive performance. It will be shown that the controller can be implemented with a limited set of computation and its integration in the closed loop scheme does not affect the system stability. In the development of the control scheme, it is assumed that all the machine states are measured. In fact a part of the state, the rotor flux, is not easily measurable and it is costly to use speed sensor. In literature, many techniques exist for state estimation (Jansen et al., 1994; Leonhard, 2001). A continuous nonlinear state observer based on the observation errors is used in this work to estimate the state variables. The coupling between the observer and the controller is analyzed, where the global stability of the whole system is proved using the Lyapunov stability. For this reason, a continuous version of

The rest of the chapter is organized as follows. In section 2, the induction motor model is defined by a nonlinear state space model. In section 3, the NMPC control law is developed for IM drive with an analysis of the closed loop system stability. In section 4, the load torque is considered as a disturbance variable in the machine model, and a NMPC PID control is applied to IM drive. Then, the coupling between the controller and the state observer is discussed in section 5, where the global stability of the whole system is proven theoretically. In section 6, simulation results are given to show the effectiveness of the proposed control

The stator fixed (*α-β*) reference frame is chosen to represent the model of the motor. Under the assumption of linearity of the magnetic circuit, the nonlinear continuous time model of

*ss r r s s i i*

**x = <sup>u</sup>**

 

() ( ) ( )() *t t* **<sup>1</sup> x f x g xu** (1)

*T T*

 

, *u u*

integrated in the control loop.

NMPC is used in this work.

**2. Induction motor modeling** 

the IM is expressed as

strategy.

where

$$\sigma = 1 - \frac{L\_m^2}{L\_s L\_r};\ K = \frac{L\_m}{\sigma L\_s L\_r};\ \mathcal{V} = \frac{1}{\sigma L\_s} \left(R\_s + \frac{R\_r L\_m^2}{L\_r^2}\right)$$

The outputs to be controlled are

$$\mathbf{y} = \mathbf{h}(\mathbf{x}) = \begin{bmatrix} \alpha \\ \phi\_r^2 = \phi\_{r\alpha}^2 + \phi\_{r\beta}^2 \end{bmatrix} \tag{2}$$

**f(x)** and **h(x)** are assumed to be continuously differentiable a sufficient number of time. *isα*, *is<sup>β</sup>* denote stator currents, *r r* , rotor fluxes, *ω* rotor speed, *usα*, *usβ* stator voltages, *Rs*, *Rr* stator and rotor resistances, *Ls*, *Lr*, *Lm* stator, rotor and mutual inductances, *p* number of poles pair, *J* inertia of the machine, *fr* friction coefficient, *Tr*= *Lr/Rr* rotor time constant, *σ* leakage coefficient and *TL* load torque.

#### **3. Nonlinear model predictive control**

Nonlinear model predictive control (NMPC) algorithm belongs to the family of optimal control strategies, where the cost function is defined over a future horizon

$$\mathfrak{S}(\mathbf{x}, \mathbf{u}) = \frac{1}{2} \int\_{0}^{t\_{\mathrm{r}}} (\mathbf{y}(t + \tau) - \mathbf{y}\_{\mathrm{r}}(t + \tau))^{T} (\mathbf{y}(t + \tau) - \mathbf{y}\_{\mathrm{r}}(t + \tau)) d\tau \tag{3}$$

where *τr* is the prediction time, **y**(*t+τ*) a *τ*-step ahead prediction of the system output and **yr**(*t*+*τ*) the future reference trajectory. The control weighting term is not included in the cost function (3). However, the control effort can be achieved by adjusting prediction time. More details about how to limit the control effort can be found in (Chen et al., 1999).

The objective of model predictive control is to compute the control **u**(*t*) in such a way the future plant output **y**(*t*+*τ*) is driven close to **yr**(*t*+*τ*). This is accomplished by minimizing .

Nonlinear Model Predictive Control for Induction Motor Drive 113

*r*

*T*

*<sup>T</sup> t I* <sup>1</sup> <sup>1</sup>

*L t L t*

**f r r f**

**h x y**

**hx y M hx y**

( ) () ( ) () ( ) ( )

2

**1**

**G x**

**KKK**

**4. Nonlinear PID predictive control** 

 *r r* 

  <sup>2</sup> det ( )

**Π Π Π Π**

**1 2 2 3**

<sup>0</sup>

 *<sup>m</sup> r r srr*

2 2

The singularity of this matrix occurs only at the start up of the motor, which can be avoided by putting initial conditions of the state observer different from zero. Let the optimal control

> *i i i*

10 5 \*; \*; ; ; <sup>3</sup>

In the development of the NMPC, the load torque is taken as a known parameter and its values are used in the control law computation. In case, where the load torque is considered as an unknown disturbance, the nonlinear model of motor with the disturbance variable is

 

*i t Lt*

0 0 22 1 1 22 2 22 0 *KI KI I K K* <sup>2</sup> <sup>1</sup>

0

  **r**

0, 0 0 and the set *r r* 2 2 0

*pL J LLT*

2

*t*

*T rrr*

2 3 2 2 22 22

 

2 6

*r r*

22 22 22

2 2 [ ] **u Gx 1 32 Π Π <sup>M</sup>** (10)

2 2

 

**u G x K hx y 1 fr** (11)

allow **G1** to be invertible.

*r r*

2

 

 

<sup>2</sup> <sup>1</sup> [ ]

234

*I I I*

345 22 22 22

*I I I*

6 8 20

*rrr*

238

*d III*

 

0

The optimal control is carried out by making *<sup>u</sup>*

**ΠΤ Τ**

*r*

where

where

The conditions

(10) is developed as:

where

given by

The relative degree of the output, defined to be the number of times of output differentiation until the control input appears, is *r1*=2 for speed output and *r2*=2 for flux output. Taylor series expansion (5) can be used for the prediction of the machine outputs in the moving time frame. The differentiation of the outputs with respect to time is repeated *r* times.

$$h\_i(t+\tau) = h\_i(\mathbf{x}) + \tau L\_t h\_i(\mathbf{x}) + \frac{\tau^2}{2!} L\_t^2 h\_i(\mathbf{x}) + \dots + \frac{\tau^{r\_i}}{r\_i!} L\_t^{r\_i} h\_i(\mathbf{x}) + \frac{\tau^{r\_i}}{r\_i!} L\_\mathbf{z} L\_t^{(r\_i - 1)} h\_i(\mathbf{x}) \mathbf{u}(t) \tag{4}$$

The predicted output **y**(*t*+*τ*) is carried out from (4)

$$\mathbf{y}(t+\tau) = \overline{\mathbf{T}}(\tau)\mathbf{Y}(t) \tag{5}$$

where

$$\begin{cases} \overline{\mathbf{T}}(\tau) = \left[ \begin{array}{cc} I\_{2 \times 2} & \tau I\_{2 \times 2} \end{array} \, \tau^2 \Big\rangle \, \mathbf{I}\_{2 \times 2} \right], \\ I\_{2 \times 2} : \mathbf{Identity matrix} \end{cases}$$

The outputs differentiations are given in matrix form as

$$\mathbf{Y}(t) = \begin{bmatrix} \mathbf{y}(t) \\ \dot{\mathbf{y}}(t) \\ \ddot{\mathbf{y}}(t) \end{bmatrix} = \begin{bmatrix} \mathbf{h}(\mathbf{x}) \\ L\_{\mathbf{f}} \mathbf{h}(\mathbf{x}) \\ L\_{\mathbf{f}}^{2} \mathbf{h}(\mathbf{x}) \end{bmatrix} + \begin{bmatrix} 0\_{2 \times 1} \\ 0\_{2 \times 1} \\ \mathbf{G}\_{1}(\mathbf{x}) u(t) \end{bmatrix} \tag{6}$$

where

$$L\_{\mathbf{f}}^{i}\mathbf{h}(\mathbf{x}) = \begin{bmatrix} L\_{\mathbf{f}}^{i}h\_{1}(\mathbf{x}) \ L\_{\mathbf{f}}^{i}h\_{2}(\mathbf{x}) \end{bmatrix}^{T} \begin{pmatrix} i=0,1,2 \end{pmatrix}$$

$$\mathbf{G}\_{\mathbf{f}}(\mathbf{x}) = \begin{bmatrix} L\_{\mathcal{g}\_{11}}L\_{\mathbf{f}}h\_{1}(\mathbf{x}) & L\_{\mathcal{g}\_{12}}L\_{\mathbf{f}}h\_{1}(\mathbf{x}) \\ L\_{\mathcal{g}\_{11}}L\_{\mathbf{f}}h\_{2}(\mathbf{x}) & L\_{\mathcal{g}\_{12}}L\_{\mathbf{f}}h\_{2}(\mathbf{x}) \end{bmatrix} \tag{7}$$

A similar computation is used to find the predicted reference **yr**(*t+τ*)

$$\mathbf{y}\_{\mathbf{r}}\left(t+\tau\right) = \overline{\mathbf{T}}\left(\tau\right)\mathbf{Y}\_{\mathbf{r}}\left(t\right) \tag{8}$$

where

$$\begin{cases} \mathbf{y\_r}(t) = \begin{bmatrix} \mathbf{y\_r}(t) \ \dot{\mathbf{y\_r}}(t) \ \ddot{\mathbf{y\_r}}(t) \end{bmatrix}^T \\ \mathbf{y\_r}(t) = \begin{bmatrix} \boldsymbol{\alpha}\_{r\!\!f} & \boldsymbol{\phi}\_{r\!\!f}^2 \end{bmatrix}^T \end{cases}$$

Using (7) and (8), the cost function (3) can be simplified as

$$\mathfrak{S}(\mathbf{x}, \mathbf{u}) = \frac{1}{2} \left( \mathbf{Y}(t) - \mathbf{Y}\_{\mathbf{r}}(t) \right)^{T} \overline{\mathbf{n}} \left( \mathbf{Y}(t) - \mathbf{Y}\_{\mathbf{r}}(t) \right) \tag{9}$$

where

112 Frontiers of Model Predictive Control

The relative degree of the output, defined to be the number of times of output differentiation until the control input appears, is *r1*=2 for speed output and *r2*=2 for flux output. Taylor series expansion (5) can be used for the prediction of the machine outputs in the moving time frame. The differentiation of the outputs with respect to time is repeated *r*

( ) ( ) ! ( ) ! ( ) ... 2! ( ) ( ) ( ) <sup>2</sup> ( 1)

**x <sup>f</sup> x <sup>f</sup> x <sup>f</sup> x <sup>g</sup> <sup>f</sup> x u**

**y***t t* 

Identitymatrix

2

**f f**

() () ( ) 0

**y hx Y y hx**

() ( ) 0

**y h x G x**

*<sup>T</sup> i ii L Lh Lh i* 1 2 ( ) ( ) ( ) , 0,1,2 **f ff hx x x**

*g g g g*

**yr r** *t t* 

*t tt t*

*ref ref*

*tt tt* <sup>1</sup> (,) <sup>2</sup>

**r rr r**

**Y yy y**

*t* <sup>2</sup> 

*T*

*<sup>T</sup>*

() () ( ) () () **f f**

*L Lh L Lh L Lh L Lh* 11 12 11 12

**f f**

 

1 1 2 2

**x x**

**x x**

( ) <sup>2</sup>

 

 

*II I*

*t L u t*

( ) ( )() ( )

2 22 22 22

*1*

 

*y t h L h L h <sup>i</sup>*

*<sup>i</sup> <sup>i</sup> <sup>i</sup> <sup>i</sup> <sup>i</sup>*

*L L h t*

(6)

(7)

**Τ Y** (8)

*T*

**r r xu Y Y Π Y Y** (9)

(4)

*r*

*r*

*i*

**Τ**( )**Y** (5)

*r*

*i*

*L h*

*i i*

*i r*

*r*

*i*

*r*

2

*I*

**Τ**

 

**1**

A similar computation is used to find the predicted reference **yr**(*t+τ*)

**r**

**y**

Using (7) and (8), the cost function (3) can be simplified as

**G x**

The outputs differentiations are given in matrix form as

2 2

:

*t t tL*

 

The predicted output **y**(*t*+*τ*) is carried out from (4)

times.

where

where

where

$$\begin{aligned} \boldsymbol{\Pi} &= \mathop{\rm tr}\limits\_{\boldsymbol{\tau}}^{\tau\_{r}} \boldsymbol{\overline{\boldsymbol{\Gamma}}} \left( \boldsymbol{\tau} \right)^{\top} \boldsymbol{\overline{\boldsymbol{\Gamma}}} \left( \boldsymbol{\tau} \right) d \boldsymbol{\tau} = \begin{bmatrix} \boldsymbol{\tau}\_{r} I\_{2\times 2} & \frac{\boldsymbol{\tau}\_{r}^{-2}}{2} I\_{2\times 2} & \frac{\boldsymbol{\tau}\_{r}^{3}}{6} I\_{2\times 2} \\ \frac{\boldsymbol{\tau}\_{r}^{2}}{2} I\_{2\times 2} & \frac{\boldsymbol{\tau}\_{r}^{3}}{3} I\_{2\times 2} & \frac{\boldsymbol{\tau}\_{r}^{4}}{8} I\_{2\times 2} \\ \cdots & \cdots & \cdots & \cdots \\ \frac{\boldsymbol{\tau}\_{r}^{3}}{6} I\_{2\times 2} & \frac{\boldsymbol{\tau}\_{r}^{4}}{8} I\_{2\times 2} & \frac{\boldsymbol{\tau}\_{r}^{r}}{20} I\_{2\times 2} \end{bmatrix} \\ &= \begin{bmatrix} \boldsymbol{\overline{\boldsymbol{\Pi}}}\_{1} & \overline{\boldsymbol{\Pi}}\_{2} \\ \cdots & \overline{\boldsymbol{\Pi}}\_{2}^{T} & \overline{\boldsymbol{\Pi}}\_{3} \end{bmatrix} \end{aligned}$$

The optimal control is carried out by making *<sup>u</sup>* <sup>0</sup>

$$\mathbf{u}(t) = -\mathbf{G}\_1(\mathbf{x})^{-1} \left[ \overline{\mathbf{H}}\_3^{-1} \overline{\mathbf{H}}\_2^T \quad I\_{2 \times 2} \right] \mathbf{M} \tag{10}$$

where

$$\begin{cases} \mathbf{M} = \begin{bmatrix} \mathbf{h}(\mathbf{x}) \\ L\_{\mathbf{f}} \mathbf{h}(\mathbf{x}) \\ L\_{\mathbf{f}}^2 \mathbf{h}(\mathbf{x}) \end{bmatrix} - \begin{bmatrix} \mathbf{y}\_{\mathrm{r}}(t) \\ \dot{\mathbf{y}}\_{\mathrm{r}}(t) \\ \ddot{\mathbf{y}}\_{\mathrm{r}}(t) \end{bmatrix} \\\\ \det\Big[\mathbf{G}\_{1}(\mathbf{x})\Big] = -\frac{2pL\_{m}^{2}}{J\sigma^{2}L\_{s}^{2}L\_{r}T\_{r}} \Big(\boldsymbol{\phi}\_{r\alpha}^{2} + \boldsymbol{\phi}\_{r\beta}^{2}\Big). \end{cases}$$

The conditions *r r* 0, 0 0 and the set *r r* 2 2 0 allow **G1** to be invertible. The singularity of this matrix occurs only at the start up of the motor, which can be avoided by putting initial conditions of the state observer different from zero. Let the optimal control (10) is developed as:

$$\mathbf{u}\left(t\right) = -\mathbf{G}\_1\left(\mathbf{x}\right)^{-1} \left(\sum\_{i=0}^{2} \mathbf{K}\_i \left(L\_1^i \mathbf{h}\left(\mathbf{x}\right) - \mathbf{y}\_r^{\left[i\right]}\left(t\right)\right)\right) \tag{11}$$

where

$$\mathbf{K}\_0 = \mathbf{K}\_0 \, \text{\*}\, I\_{2 \times 2}; \mathbf{K}\_1 = \mathbf{K}\_1 \, \text{\*}\, I\_{2 \times 2}; \mathbf{K}\_2 = I\_{2 \times 2}; \left(\mathbf{K}\_0 = \begin{matrix} 10 \\ 3 \tau\_r \end{matrix} \bigg| \, \mathbf{K}\_1 = \begin{matrix} 5 \\ 2\tau\_r \end{matrix} \right).$$

#### **4. Nonlinear PID predictive control**

In the development of the NMPC, the load torque is taken as a known parameter and its values are used in the control law computation. In case, where the load torque is considered as an unknown disturbance, the nonlinear model of motor with the disturbance variable is given by

Nonlinear Model Predictive Control for Induction Motor Drive 115

The disturbance (load torque) *TL* is replaced by its estimated value in the control law given

  *T T <sup>L</sup> t [ I ] I Tt* 1 1 <sup>1</sup>

*x*

Substituting **l**(**x**) into (21), and using Lie derivatives simplifications (see appendix B), we get

*Tp K K <sup>L</sup>* 0 10 *ref ref ref* <sup>ˆ</sup> ( )( )( )

 

*TL p e t Ke t K e d* 0 10

The structure of this observer is driven by three tunable parameters, where *p0* is an independent parameter and *Ki* (*i*=0, 1) depend on the controller prediction horizon *τr*. It can be seen that the load toque observer has a PID structure, where the information needed is the speed error. Compared to the work in (Marino et al., 1993), where the load torque is estimated only via speed error, the disturbance observer (24) contains an integral action, which allows the elimination of the steady state error and enhances the robustness of the

Initially, the model predictive control law is carried out assuming all the states are known by measurement, which is not always true in the majority of industrial applications. In fact, the rotor flux is not easily measurable. Therefore, a state observer must be used to estimate it. However, the coupling between the nonlinear model predictive control and the observer

To estimate the state, several methods are possible such as the observers using the observation errors for correction, which are powerful and improve the results. To construct

 

ˆ () () ( ) 

control scheme with respect to model uncertainties and disturbances rejection.

**2 1 1 32 32 2**

 *T I I T* 1 1 <sup>1</sup>

**l x f lg lg G Π Π M Π Π G**

Based on the definition of **G2**(**x**), (14) and the condition (19), let's define (see B6)

*Lh h p K*

0 1 ( ) ( ) ,

**x**

1 1

**2 1**

**<sup>f</sup> <sup>x</sup> l x**

2 2 2 2 <sup>ˆ</sup> ( ) [ ] ( ) () **u Gx 1 32 Π Π <sup>M</sup> Π Π 32 2 G x** (20)

ˆ ˆ [ ][ ] ]

*T T L L*

2 2 2 2

 (23)

*t*

0

 

(24)

*p*0≠0 is a constant (22)

(21)

by (14); which then becomes

Substituting (20) into (16) yields

Integrating (23), we get

**5. Global stability analysis** 

must guarantee the global stability.

**5.1 Nonlinear state observer** 

*T T*

ˆ ˆ

*L L*

**l x f lg lg u**

a simple form for load torque disturbance estimator.

**lxg x <sup>2</sup>** *c c* , 0 (19)

$$\dot{\mathbf{x}}(t) = \mathbf{f}(\mathbf{x}) + \mathbf{g}\_1(\mathbf{x})\mathbf{u}(t) + \mathbf{g}\_2(\mathbf{x})T\_L(t) \tag{12}$$

where

$$\mathbf{g\_2} = \begin{bmatrix} g\_{21} \end{bmatrix} = \begin{bmatrix} 0 & 0 & 0 & 0 & -\frac{1}{J} \end{bmatrix}^T$$

The function **f**(**x**) in (12) is similar to the one in (1), but without the term (–*TL*/*J*). We assume that the load torque follows this condition

$$
\dot{T}\_L(t) = 0\tag{13}
$$

Note that the assumption (13) does not necessarily mean a constant load torque, but that the changing rate of the load in every sampling interval should be far slower than the motor electromagnetic process. In reality this is often the case*.*

On the basis of equations (12), (13) and (9) it can be shown, in a manner similar to (10), that the optimal control becomes

$$\mathbf{u}(t) = -\mathbf{G}\_1(\mathbf{x})^{-1} \left\langle \begin{bmatrix} \overline{\mathbf{H}}\_3^{-1} \overline{\mathbf{H}}\_2^T & I\_{2 \times 2} \end{bmatrix} \mathbf{M} \mathbf{ +} \begin{bmatrix} \overline{\mathbf{H}}\_3^{-1} \overline{\mathbf{H}}\_2^T & I\_{2 \times 2} \end{bmatrix} \mathbf{G}\_2(\mathbf{x}) T\_L(t) \right\rangle \tag{14}$$

where

$$\mathbf{G\_2(x)} = \begin{bmatrix} 0 & 0 & L\_{\mathbb{X}\_{21}} h\_1(x) & 0 & L\_{\mathbb{X}\_{21}} L\_{\mathbf{f}} h\_1(x) & 0 \end{bmatrix}^T$$

The optimal NMPC PID proposed in (Chen et al., 1999) has been developed for the same output and disturbance relative degrees. However, in the motor model (12), the disturbance relative degree is lower than the output one, which can be seen in the forms of **G1**(**x**) and **G2**(**x**). The same method is used in this work, to prove that even in this case a NMPC PID controller can be applied to induction motor drive.

From (12), we get

$$\mathbf{g\_2(x)}T\_L(t) = \dot{\mathbf{x}}(t) - \mathbf{f}(\mathbf{x}) - \mathbf{g\_1}(\mathbf{x})\mathbf{u}(t) \tag{15}$$

An initial disturbance observer is given by

$$\dot{\hat{T}}\_{L}(t) = -\mathbf{l}(\mathbf{x})\mathbf{g}\_{2}(\mathbf{x})\hat{T}\_{L}(t) + \mathbf{l}(\mathbf{x})\{\dot{\mathbf{x}}(t) - \mathbf{f}(\mathbf{x}) - \mathbf{g}\_{1}(\mathbf{x})\mathbf{u}(t)\}\tag{16}$$

In (16), **l**(x) 5 is a gain vector to be designed. The error of the disturbance observer is

$$e\_{T\_L}(t) = T\_L(t) - \hat{T}\_L(t) \tag{17}$$

Then, the error dynamic is governed by

$$
\dot{e}\_{T\_L}(t) + \mathbf{l}(\mathbf{x})\mathbf{g}\_2(\mathbf{x})e\_{T\_L}(t) = 0 \tag{18}
$$

It can be shown that the observer is exponentially stable when

$$\mathbf{l}(\mathbf{x})\mathbf{g}\_2(\mathbf{x}) = c, \ c > 0 \tag{19}$$

The disturbance (load torque) *TL* is replaced by its estimated value in the control law given by (14); which then becomes

$$\mathbf{u}(t) = -\mathbf{G}\_1(\mathbf{x})^{-1} \left\langle \begin{bmatrix} \overline{\Pi}\_3^{-1} \overline{\Pi}\_2^T & I\_{2 \times 2} \end{bmatrix} \mathbf{M} \mathbf{ \ +} \begin{bmatrix} \overline{\Pi}\_3^{-1} \overline{\Pi}\_2^T & I\_{2 \times 2} \end{bmatrix} \mathbf{G}\_2(\mathbf{x}) \hat{T}\_L(t) \right\rangle \tag{20}$$

Substituting (20) into (16) yields

114 Frontiers of Model Predictive Control

*<sup>g</sup> <sup>J</sup>* <sup>21</sup> <sup>1</sup> [ ] 0000 **<sup>2</sup> <sup>g</sup>**

*T* (*t*) 0 *<sup>L</sup>*

Note that the assumption (13) does not necessarily mean a constant load torque, but that the changing rate of the load in every sampling interval should be far slower than the motor

On the basis of equations (12), (13) and (9) it can be shown, in a manner similar to (10), that

  *T T <sup>L</sup> t [ I ] I Tt* 1 1 <sup>1</sup>

*L h L Lh g g* <sup>21</sup> <sup>21</sup> 1 1 () 0 0 () 0 () 0 **G x 2 f <sup>x</sup> <sup>x</sup>**

The optimal NMPC PID proposed in (Chen et al., 1999) has been developed for the same output and disturbance relative degrees. However, in the motor model (12), the disturbance relative degree is lower than the output one, which can be seen in the forms of **G1**(**x**) and **G2**(**x**). The same method is used in this work, to prove that even in this case a NMPC PID

2 2 2 2 ( ) [ ] ( ) () **u Gx 1 32 Π Π <sup>M</sup> Π Π 32 2 G x** (14)

The function **f**(**x**) in (12) is similar to the one in (1), but without the term (–*TL*/*J*).

We assume that the load torque follows this condition

electromagnetic process. In reality this is often the case*.*

controller can be applied to induction motor drive.

An initial disturbance observer is given by

The error of the disturbance observer is

Then, the error dynamic is governed by

In (16), **l**(x) 5 is a gain vector to be designed.

It can be shown that the observer is exponentially stable when

the optimal control becomes

where

where

From (12), we get

*<sup>L</sup>* () ( ) ( )() ( ) () *t t Tt* **1 2 x f x g xu g x** (12)

*T*

(13)

*T*

*Tt t <sup>L</sup>* ( ) () () ( ) ( )() *t* **2 1 g x x fx g x u** (15)

*T LL <sup>L</sup> e t Tt Tt* <sup>ˆ</sup> () () () (17)

*T T L L e t x xe t* () ( ) ( ) () 0 **l g2** (18)

( ) ( ) ( ) ( ) ( ) ( ) <sup>ˆ</sup> ( ) ( ) ( ) <sup>ˆ</sup>*<sup>T</sup> <sup>t</sup> <sup>T</sup> <sup>t</sup> <sup>t</sup> <sup>t</sup> <sup>L</sup>* **<sup>l</sup> <sup>x</sup> g2 <sup>x</sup>** *<sup>L</sup>* **<sup>l</sup> <sup>x</sup> <sup>x</sup> <sup>f</sup> <sup>x</sup> g1 <sup>x</sup> <sup>u</sup>** (16)

$$\begin{aligned} \hat{\vec{T}}\_{L} &= \mathbf{l} \left( \dot{\mathbf{x}} - \mathbf{f} \right) - \mathbf{l} \mathbf{g}\_{2} \hat{T}\_{L} - \mathbf{l} \mathbf{g}\_{1} \mathbf{u} \\ &= \mathbf{l} \left( \dot{\mathbf{x}} - \mathbf{f} \right) - \mathbf{g}\_{2} \hat{T}\_{L} + \mathbf{l} \mathbf{g}\_{1} \left( \mathbf{G}\_{1}^{-1} \left\{ \left[ \overline{\Pi}\_{3}^{-1} \overline{\Pi}\_{2}^{T} \quad I\_{2 \times 2} \right] \mathbf{M} + \left[ \overline{\Pi}\_{3}^{-1} \overline{\Pi}\_{2}^{T} \quad I\_{2 \times 2} \right] \mathbf{G}\_{2} \hat{T}\_{L} \right] \right) \end{aligned} \tag{21}$$

Based on the definition of **G2**(**x**), (14) and the condition (19), let's define (see B6)

$$\mathbf{M(x)} = p\_0 \left( \frac{\partial \mathcal{L}\_\mathbf{f} h\_1(\mathbf{x})}{\partial \mathbf{x}} + K\_1 \frac{\partial h\_1}{\partial \mathbf{x}} \right) \prime \ p\_0 \# \mathbf{0} \text{ is a constant} \tag{22}$$

Substituting **l**(**x**) into (21), and using Lie derivatives simplifications (see appendix B), we get a simple form for load torque disturbance estimator.

$$\dot{\hat{T}}\_{L} = p\_0 \left\{ (\ddot{o} - \ddot{o}\_{ref}) + K\_1 (\dot{o} - \dot{o}\_{ref}) + K\_0 (o - o\_{ref}) \right\} \tag{23}$$

Integrating (23), we get

$$\hat{T}\_L = p\_0 \left( \dot{e}\_o(t) + K\_1 e\_o(t) + K\_0 \int\_0^t e\_o(\tau) d\tau \right) \tag{24}$$

The structure of this observer is driven by three tunable parameters, where *p0* is an independent parameter and *Ki* (*i*=0, 1) depend on the controller prediction horizon *τr*. It can be seen that the load toque observer has a PID structure, where the information needed is the speed error. Compared to the work in (Marino et al., 1993), where the load torque is estimated only via speed error, the disturbance observer (24) contains an integral action, which allows the elimination of the steady state error and enhances the robustness of the control scheme with respect to model uncertainties and disturbances rejection.

#### **5. Global stability analysis**

Initially, the model predictive control law is carried out assuming all the states are known by measurement, which is not always true in the majority of industrial applications. In fact, the rotor flux is not easily measurable. Therefore, a state observer must be used to estimate it. However, the coupling between the nonlinear model predictive control and the observer must guarantee the global stability.

#### **5.1 Nonlinear state observer**

To estimate the state, several methods are possible such as the observers using the observation errors for correction, which are powerful and improve the results. To construct

Nonlinear Model Predictive Control for Induction Motor Drive 117

they contain terms which are functions of currents. The differentiation of those terms introduces terms of flux, which are unknown. To overcome this problem, auxiliary outputs

*<sup>f</sup> <sup>T</sup> Lh h h*

ˆ 1 11 1

ˆˆ ˆ

*r L*

*J J*

(29)

are introduced (Chenafa et al., 2005; Van Raumer, 1994) as

where

where

This leads to

The derivatives of *h*<sup>11</sup>

*f*

 

11

21

ˆ are given by

ˆ 11

ˆ 21

1

 

**f**

**f**

<sup>ˆ</sup> and *<sup>h</sup>* <sup>21</sup>

*<sup>f</sup> <sup>r</sup>*

*pL h ii JL*

ˆ ˆ ˆ ˆ ˆ ( )

*<sup>L</sup> h ii T*

<sup>2</sup> <sup>ˆ</sup> ˆ ˆ ˆ ˆ ( )

ˆˆ ˆˆ 2 2 ˆ ˆ

*h Lh L h u L h u*

ˆˆ ˆ ˆ

ˆˆ ˆ ˆ

*ss r rss m m <sup>g</sup> <sup>r</sup> <sup>g</sup> <sup>r</sup>*

*ss r rss m m <sup>g</sup> r g <sup>r</sup>*

ˆ ˆ ˆ ˆ ˆ ( , , , , , , );

 

*L L L h Lh L T L T* <sup>11</sup> <sup>12</sup>

*r*

<sup>21</sup> <sup>ˆ</sup> 21 21 <sup>21</sup>

<sup>ˆ</sup> ˆˆ ˆ

*Lh L h u L h u h*

ˆˆ ˆ ˆ

<sup>ˆ</sup> 11 11 <sup>11</sup> <sup>11</sup>

2 2 ˆ ˆ ˆ ˆ ;

ˆ ˆ ˆ ˆ ;

*pL pL L h Lh J LL J LL* <sup>11</sup> <sup>12</sup>

ˆ ˆ ˆ ˆ ˆ ( , , , , , , );

 

11 11

*Lh f i i i i*

21 21

*h J J*

*h h h T <sup>h</sup> Lh L h u L h u*

ˆ 2 ˆ ˆ

ˆ ˆ <sup>ˆ</sup>

2 2 21

11 11 11 ˆ 11

*h Lh L h u L h u*

21 21 21 ˆ 21

 

*r*

*r*

 

*r r*

*Lh f i i i i*

2 2

*Lh h h T*

ˆ 2 2 21

*<sup>m</sup> rs rs*

*<sup>m</sup> rs rs*

*r rs r rs*

 

 

> 

 

 

*r L*

 

 

(30)

 

(31)

 

 

 

> 

 

*k k kp i kp i T T*

2 2

*g s g s f*

11 12

11 12

*s r s r*

*s r s r*

*g sg s f*

11 12

*<sup>f</sup> <sup>T</sup> h h*

11 1

 

*g sg s f*

11 12

*g s g s f*

2 ˆ ˆˆ

an observer for the induction motor, written in (*α*, *β*) frame, the measurements of the stator voltages and currents are used in the design.

The real state, estimated state and observation errors are

$$\begin{cases} \mathbf{x} = \begin{bmatrix} \mathbf{i}\_{s\alpha} \ \hat{\mathbf{i}}\_{s\beta} \ \hat{\boldsymbol{\phi}}\_{r\alpha} \ \hat{\boldsymbol{\phi}}\_{r\beta} \ \boldsymbol{\alpha} \end{bmatrix}^{\mathrm{T}} \\ \hat{\mathbf{x}} = \begin{bmatrix} \hat{\mathbf{i}}\_{s\alpha} \ \hat{\mathbf{i}}\_{s\beta} \ \hat{\boldsymbol{\phi}}\_{r\alpha} \ \hat{\boldsymbol{\phi}}\_{r\beta} \ \hat{\boldsymbol{\phi}}\_{r\beta} \ \hat{\boldsymbol{\phi}} \end{bmatrix}^{\mathrm{T}} \\ \mathbf{\tilde{x}} = \mathbf{x} - \hat{\mathbf{x}} \\ \vdots \end{cases} \tag{25}$$

The state observer, derived from the motor model (1) with stator current errors for correction, is defined by

 *sr r r sr r s r <sup>m</sup> sr r <sup>s</sup> r r <sup>m</sup> sr r r r m r rs rs <sup>L</sup> r <sup>K</sup> <sup>i</sup> pK T <sup>K</sup> <sup>i</sup> pK L T <sup>L</sup> i p L T T <sup>L</sup> i p T T pL <sup>f</sup> ii T JL J J* ˆ ˆ ˆ ˆ <sup>1</sup> <sup>0</sup> <sup>ˆ</sup> ˆ ˆ <sup>ˆ</sup> 1 <sup>1</sup> <sup>0</sup> <sup>ˆ</sup> ˆ ˆ <sup>ˆ</sup> <sup>ˆ</sup> 0 0 <sup>1</sup> <sup>ˆ</sup> ˆ ˆ <sup>ˆ</sup> 0 0 0 0 <sup>1</sup> ˆ ˆ ˆ ˆ <sup>ˆ</sup> **x** *ia ib s r s r k k f <sup>k</sup> <sup>f</sup> p k <sup>i</sup> T <sup>i</sup> <sup>k</sup> p k <sup>T</sup> k k* 1 1 2 2 2 2 3 3 0 0 <sup>ˆ</sup> <sup>0</sup> <sup>0</sup> <sup>ˆ</sup> <sup>0</sup> **<sup>u</sup>** (26)

*L LTL T T et* <sup>ˆ</sup> ( ) and (*fia*, *fib*) are additional terms added in the observer structure, in order to establish the global stability of the whole system.

#### **5.2 Control scheme based on state observer**

The process states are used in the predictive control law design. However, in case of the IM, the states are estimated by (26). Including this observer in the control scheme allows defining the outputs (2) by

$$\begin{cases} \hat{h}\_1 = \hat{\phi} \\ \hat{h}\_2 = \hat{\phi}\_{r\alpha}^2 + \hat{\phi}\_{r\beta}^2 \end{cases} \tag{27}$$

The relative degrees are *r*1=2 and *r*2=2. Then, the first Lie derivatives of <sup>1</sup> ˆ *h* and <sup>2</sup> ˆ *h* are obtained by

$$\begin{cases} \dot{\hat{h}}\_1 = L\_{\hat{\mathbf{r}}} \hat{h}\_1\\ \dot{\hat{h}}\_2 = L\_{\hat{\mathbf{r}}} \hat{h}\_2 \end{cases} \tag{28}$$

In (28), ˆ **f** is the function of the motor model expressed with estimated states. Since *h*<sup>1</sup> ˆ and *h* 2 ˆ are not functions of the control inputs, one should derive them once again. However, they contain terms which are functions of currents. The differentiation of those terms introduces terms of flux, which are unknown. To overcome this problem, auxiliary outputs are introduced (Chenafa et al., 2005; Van Raumer, 1994) as

$$\begin{cases} L\_{\hat{f}} \hat{h}\_1 = \hat{h}\_{11} - \frac{f\_r}{J} \hat{h}\_1 - \frac{T\_L}{J} \\\\ L\_{\hat{f}} \hat{h}\_2 = -\frac{2}{T\_r} \hat{h}\_2 + \hat{h}\_{21} + \Delta \end{cases} \tag{29}$$

where

116 Frontiers of Model Predictive Control

an observer for the induction motor, written in (*α*, *β*) frame, the measurements of the stator

*ss r r*

 

*i i*

 

 

*i i* ˆ ˆ ˆ ˆ ˆ ˆ

 

**x**

**x**

ˆ

*h h* 1

 

2

The relative degrees are *r*1=2 and *r*2=2. Then, the first Lie derivatives of <sup>1</sup>

 

 **<sup>f</sup> f**

ˆ ˆ ˆ ˆ ˆ 

*h Lh h Lh* 1 1 ˆ 2 2 ˆ

**f** is the function of the motor model expressed with estimated states. Since *h*<sup>1</sup>

are not functions of the control inputs, one should derive them once again. However,

ˆ ˆ ˆ ˆ

*ss r r*

The state observer, derived from the motor model (1) with stator current errors for

1

0 0

0 0

*L LTL T T et* <sup>ˆ</sup> ( ) and (*fia*, *fib*) are additional terms added in the observer structure, in order to

The process states are used in the predictive control law design. However, in case of the IM, the states are estimated by (26). Including this observer in the control scheme allows

*r r*

2 2

  *T*

*T*

**xxx** (25)

*r*

2

 *T*

*k*

1

0

*ia ib*

*s*

<sup>ˆ</sup> <sup>0</sup>

 

*k f*

*s*

*r*

(27)

(28)

ˆ *h* and <sup>2</sup> ˆ *h* are

> ˆ and

2

*<sup>i</sup> <sup>k</sup> p k <sup>T</sup>*

*k k*

3 3

2

*<sup>k</sup> <sup>f</sup> p k <sup>i</sup>*

**<sup>u</sup>** (26)

2

<sup>0</sup> <sup>ˆ</sup> <sup>0</sup>

1

0

voltages and currents are used in the design.

*sr r r*

<sup>1</sup> <sup>0</sup> <sup>ˆ</sup> ˆ ˆ <sup>ˆ</sup> <sup>ˆ</sup>

ˆ ˆ ˆ ˆ

*<sup>K</sup> <sup>i</sup> pK T*

 

 

*<sup>m</sup> sr r*

*pL <sup>f</sup> ii T JL J J*

 

*<sup>L</sup> i p T T*

*m r rs rs <sup>L</sup>*

<sup>1</sup> ˆ ˆ ˆ ˆ <sup>ˆ</sup>

 

establish the global stability of the whole system.

**5.2 Control scheme based on state observer** 

*sr r s*

*<sup>K</sup> <sup>i</sup> pK L*

 

 

 

 

*<sup>m</sup> sr r <sup>s</sup>*

 

<sup>1</sup> <sup>ˆ</sup> ˆ ˆ <sup>ˆ</sup> 0 0

 

 

<sup>1</sup> <sup>0</sup> <sup>ˆ</sup> ˆ ˆ <sup>ˆ</sup>

 

 

*<sup>L</sup> i p L*

correction, is defined by

*r r*

*T T*

*r r*

defining the outputs (2) by

obtained by

In (28), ˆ

*h* 2 ˆ

*r*

 **x** *r*

*T*

The real state, estimated state and observation errors are

$$
\hat{l}\_{11} = \frac{pL\_m}{\mathcal{I}L\_r} (\hat{\phi}\_{r\alpha}\hat{i}\_{s\beta} - \hat{\phi}\_{r\beta}\hat{i}\_{s\alpha})
$$

$$
\hat{l}\_{21} = \frac{2L\_m}{T\_r} (\hat{\phi}\_{r\alpha}\hat{i}\_{s\alpha} + \hat{\phi}\_{r\beta}\hat{i}\_{s\beta})
$$

$$
\Delta = 2 \left(\frac{k\_2}{T\_r}\hat{\phi}\_{r\alpha} + k\_2 p\hat{\phi}\hat{\phi}\_{r\beta}\right)\tilde{i}\_{s\alpha} + 2 \left(\frac{k\_2}{T\_r}\hat{\phi}\_{r\beta} - k\_2 p\hat{\phi}\hat{\phi}\_{r\alpha}\right)\tilde{i}\_{s\beta}
$$

The derivatives of *h*<sup>11</sup> <sup>ˆ</sup> and *<sup>h</sup>* <sup>21</sup> ˆ are given by

$$\begin{cases} \dot{\hat{h}}\_{11} = \mathcal{L}\_{\hat{f}} \hat{h}\_{11} + \mathcal{L}\_{\mathcal{g}\_{11}} \hat{h}\_{11} \mu\_{s\alpha} + \mathcal{L}\_{\mathcal{g}\_{12}} \hat{h}\_{11} \mu\_{s\beta} \\ \dot{\hat{h}}\_{21} = \mathcal{L}\_{\hat{f}} \hat{h}\_{21} + \mathcal{L}\_{\mathcal{g}\_{11}} \hat{h}\_{21} \mu\_{s\alpha} + \mathcal{L}\_{\mathcal{g}\_{12}} \hat{h}\_{21} \mu\_{s\beta} \end{cases} \tag{30}$$

where

$$\begin{split} L\_{\mathbf{i}} \hat{h}\_{11} &= f(\hat{\mathbf{i}}\_{s\alpha}, \hat{\mathbf{i}}\_{s\beta}, \hat{\boldsymbol{\phi}}\_{r\alpha}, \hat{\boldsymbol{\phi}}\_{r\beta}, \hat{\mathbf{i}}\_{s\alpha}, \mathbf{i}\_{s\beta}, \boldsymbol{\alpha}); \\ L\_{\mathcal{S}\_{11}} \hat{h}\_{11} &= -\frac{pL\_{m}}{I\sigma L\_{s}L\_{r}} \hat{\boldsymbol{\phi}}\_{r\beta}; \quad L\_{\mathcal{S}\_{12}} \hat{h}\_{11} = \frac{pL\_{m}}{I\sigma L\_{s}L\_{r}} \hat{\boldsymbol{\phi}}\_{r\alpha}; \\ L\_{\hat{\mathbf{i}}} \hat{h}\_{21} &= f(\hat{\mathbf{i}}\_{s\alpha}, \hat{\mathbf{i}}\_{s\beta}, \hat{\boldsymbol{\phi}}\_{r\alpha}, \hat{\boldsymbol{\phi}}\_{r\beta}, \mathbf{i}\_{s\alpha}, \mathbf{i}\_{s\beta}, \boldsymbol{\alpha}); \\ L\_{\mathcal{S}\_{11}} \hat{h}\_{21} &= \frac{2L\_{m}}{\sigma L\_{s}T\_{r}} \hat{\boldsymbol{\phi}}\_{r\alpha}; \quad L\_{\mathcal{S}\_{12}} \hat{h}\_{21} = \frac{2L\_{m}}{\sigma L\_{s}T\_{r}} \hat{\boldsymbol{\phi}}\_{r\beta} \end{split}$$

This leads to

$$\begin{bmatrix} \dot{\hat{h}}\_{1} \\ \dot{\hat{h}}\_{11} \\ \dot{\hat{h}}\_{2} \\ \dot{\hat{h}}\_{2} \\ \dot{\hat{h}}\_{21} \end{bmatrix} = \begin{bmatrix} \hat{h}\_{11} - \frac{f\_{r}}{J}\hat{h}\_{1} - \frac{T\_{L}}{J} \\ L\_{\hat{f}}\hat{h}\_{11} + L\_{\hat{g}\_{11}}\hat{h}\_{11}u\_{s\alpha} + L\_{\hat{g}\_{12}}\hat{h}\_{11}u\_{s\beta} \\ -\frac{2}{T\_{r}}\hat{h}\_{2} + \hat{h}\_{21} + \Lambda \\ -\frac{2}{T\_{r}}\hat{h}\_{2} + \hat{h}\_{21} + \Lambda \\ L\_{\hat{f}}\hat{h}\_{21} + L\_{\hat{g}\_{11}}\hat{h}\_{21}u\_{s\alpha} + L\_{\hat{g}\_{12}}\hat{h}\_{21}u\_{s\beta} \end{bmatrix} \tag{31}$$

Nonlinear Model Predictive Control for Induction Motor Drive 119

The functions *V1* and *V2*, given by (37) and (38) below, are chosen to create a Lyapunov function candidate for the entire system (process, observer and controller); where *γ2* is a

*ss r r i i*

*eeeee <sup>V</sup>* 22222 12345

where, *TL e e* <sup>5</sup> , represents the load torque observation error driven by the equation (18).

22 2 2

<sup>2</sup> 2 2

2 *ref r*

 

*NMPC* **(20)** 

*State Observer*  **(26)** 

(38)

*usβ\**

*usα\**

*VV V* 1 2 (39)

 

 

> 

3

**II**

*is, abc*

*us, abc*

**IM** 

*V <sup>D</sup> <sup>C</sup>*

(40)

 

*ss r r r*

1

*T*

2

 

 

(41)

(37)

*usa\* usb\* usc\**

*αβ*

*abc*

*is, αβ us, αβ*

*αβ*

*abc*

*V*

1

*TL* ˆ

*Load torque observer*

<sup>2</sup> 2

*Nonlinear PID model predictive controller* 

**x**ˆ **(24)** 

Fig. 1. Block diagram of the proposed nonlinear predictive sensorless control system.

2 2 2 22 22 2 2

*rr r*

*ia s ib s*

*<sup>k</sup> K k L p K i i i i fi fi e TT T*

*k K fi fi e* 2 2 <sup>3</sup> [ ]0

 

*<sup>m</sup> sr sr s r s r ia s ib s*

 

The Lyapunov function and its derivative are respectively

*V K e K e K e K e ce k i i* 

2 2

2 2 2

The following conditions form a sufficient set ensuring *V* 0

01 12 03 14 5 1

 

 

ˆ

positive constant.

*ref* ˆ

The errors between the desired trajectories of the outputs and the estimated outputs are

$$\begin{cases} e\_1 = \hat{h}\_1 - h\_{1r} \\ e\_2 = \hat{h}\_{11} - h\_{11r} \\ e\_3 = \hat{h}\_2 - h\_{2r} \\ e\_4 = \hat{h}\_{21} - h\_{21r} \end{cases} \tag{32}$$

Using (31), (32), the estimated states and the auxiliary outputs, the predictive control law (11), developed above through the cost function (3) minimization, becomes

$$
\begin{bmatrix} \boldsymbol{\mu}\_{s\alpha} \\ \boldsymbol{\mu}\_{s\beta} \end{bmatrix} = \begin{bmatrix} \boldsymbol{L}\_{\mathcal{S}\_{11}} \hat{\boldsymbol{h}}\_{11} & \boldsymbol{L}\_{\mathcal{S}\_{12}} \hat{\boldsymbol{h}}\_{11} \\ \boldsymbol{L}\_{\mathcal{S}\_{31}} \hat{\boldsymbol{h}}\_{21} & \boldsymbol{L}\_{\mathcal{S}\_{32}} \hat{\boldsymbol{h}}\_{21} \end{bmatrix}^{-1} \begin{bmatrix} -\boldsymbol{L}\_{\hat{\mathbf{r}}} \hat{\boldsymbol{h}}\_{11} - \boldsymbol{e}\_{1} - \boldsymbol{K}\_{1} \boldsymbol{e}\_{2} + \dot{\boldsymbol{h}}\_{11r} \\ -\boldsymbol{L}\_{\hat{\mathbf{r}}} \hat{\boldsymbol{h}}\_{21} - \boldsymbol{e}\_{3} - \boldsymbol{K}\_{1} \boldsymbol{e}\_{4} + \dot{\boldsymbol{h}}\_{21r} \end{bmatrix} \tag{33}
$$

The decoupling matrix in (33) is the same as in (7), since *i i L h L Lh g g* 1 1 <sup>11</sup> <sup>ˆ</sup> <sup>1</sup> ˆ ˆ **<sup>f</sup>** and *i i L h L L h ; i g g* 1 1 <sup>21</sup> <sup>ˆ</sup> <sup>2</sup> ˆ ˆ 1, 2 **<sup>f</sup>**

From (31), (32) and (33), we get the error dynamic as

$$
\begin{bmatrix}
\dot{e}\_1\\ \dot{e}\_2\\ \dot{e}\_3\\ \dot{e}\_4
\end{bmatrix} = \begin{bmatrix}
\hat{h}\_{11} - \frac{f\_r}{J}\hat{h}\_1 - \frac{T\_L}{J} - \dot{h}\_{1r}\\ -K\_1e\_2 - e\_1\\ -\frac{2}{T\_r}\hat{h}\_2 + \hat{h}\_{21} + \Delta - \dot{h}\_{2r}\\ -K\_1e\_4 - e\_3
\end{bmatrix} \tag{34}
$$

The references *h*1*<sup>r</sup>* and *h*2*<sup>r</sup>* and their derivatives are considered known.

In order to have (34) under the form given in (35) below, to use it in Lyapunov candidate, the references *h*11*<sup>r</sup>* and *h*21*<sup>r</sup>* must be defined as in (36)

$$
\begin{bmatrix}
\dot{e}\_1\\ \dot{e}\_2\\ \dot{e}\_3\\ \dot{e}\_4
\end{bmatrix} = \begin{bmatrix}
\end{bmatrix} \tag{35}
$$

$$\begin{cases} h\_{11r} = \frac{f\_r}{J} \hat{h}\_1 + \dot{h}\_{1r} - K\_0 e\_1 + \frac{T\_L}{J} \\\\ h\_{21r} = \frac{2}{T\_r} \hat{h}\_2 + \dot{h}\_{2r} - K\_0 e\_3 \end{cases} \tag{36}$$

An appropriate choice of *K*0, *K*1 ensures the exponential convergence of the tracking errors.

We now consider all the elements together in order to build a nonlinear model predictive control law based on state observer.

118 Frontiers of Model Predictive Control

*r r r r*

(32)

(33)

(34)

(35)

(36)

 

The errors between the desired trajectories of the outputs and the estimated outputs are

*ehh eh h ehh eh h*

 

(11), developed above through the cost function (3) minimization, becomes

11 12 11 12

From (31), (32) and (33), we get the error dynamic as

the references *h*11*<sup>r</sup>* and *h*21*<sup>r</sup>* must be defined as in (36)

*i i L h L L h ; i g g* 1 1 <sup>21</sup> <sup>ˆ</sup> <sup>2</sup> ˆ ˆ 1, 2 **<sup>f</sup>**

Using (31), (32), the estimated states and the auxiliary outputs, the predictive control law

*s r g g <sup>s</sup> g g <sup>r</sup>*

The decoupling matrix in (33) is the same as in (7), since *i i L h L Lh g g* 1 1 <sup>11</sup> <sup>ˆ</sup> <sup>1</sup> ˆ ˆ **<sup>f</sup>** and

11 11 ˆ 11 1 1 2 11 21 21 ˆ 21 3 1 4 21

*<sup>r</sup> <sup>L</sup> <sup>r</sup>*

*<sup>f</sup> <sup>T</sup> hh h*

11 1 1

*Ke e*

14 3

2 21 2

*r*

**f f**

1

 

*u Lh Lh Lh e Ke h u Lh Lh Lh e Ke h*

ˆ ˆ ˆ ˆ ˆ ˆ

*r*

*e T*

1

 

3

4

The references *h*1*<sup>r</sup>* and *h*2*<sup>r</sup>* and their derivatives are considered known.

 

 

control law based on state observer.

*e J J e Ke e <sup>e</sup> hh h*

2 12 1

2 ˆ ˆ 

In order to have (34) under the form given in (35) below, to use it in Lyapunov candidate,

*e Ke e e Ke e e Ke e e Ke e*

1 01 2 2 12 1 3 03 4 4 14 3

*<sup>r</sup> <sup>L</sup> r r*

*<sup>f</sup> <sup>T</sup> h h h Ke J J*

11 1 1 0 1

*r r r*

2 ˆ

ˆ

*h h h Ke T*

21 2 2 0 3

An appropriate choice of *K*0, *K*1 ensures the exponential convergence of the tracking errors. We now consider all the elements together in order to build a nonlinear model predictive

ˆ ˆ

ˆ ˆ ˆ ˆ

The functions *V1* and *V2*, given by (37) and (38) below, are chosen to create a Lyapunov function candidate for the entire system (process, observer and controller); where *γ2* is a positive constant.

$$V\_1 = \frac{\tilde{i}\_{s\alpha}^2 + \tilde{i}\_{s\beta}^2}{2} + \frac{\tilde{\phi}\_{r\alpha}^2 + \tilde{\phi}\_{r\beta}^2}{2\gamma\_2} \tag{37}$$

$$V\_2 = \frac{e\_1^2 + e\_2^2 + e\_3^2 + e\_4^2 + e\_5^2}{2} \tag{38}$$

where, *TL e e* <sup>5</sup> , represents the load torque observation error driven by the equation (18).

Fig. 1. Block diagram of the proposed nonlinear predictive sensorless control system.

The Lyapunov function and its derivative are respectively

$$V = V\_1 + V\_2 \tag{39}$$

$$\begin{split} \dot{V} &= \left( -K\_0 e\_1^2 - K\_1 e\_2^2 - K\_0 e\_3^2 - K\_1 e\_4^2 - \alpha e\_5^2 \right) - \left( \gamma + k\_1 \right) \left( \tilde{i}\_{s\alpha}^2 + \tilde{i}\_{s\beta}^2 \right) - \frac{1}{T\_r \gamma\_2} \left( \tilde{\theta}\_{r\alpha}^2 + \tilde{\theta}\_{r\beta}^2 \right) + \\ &p \hat{\phi} \left( K - \frac{k\_2}{\gamma\_2} \right) \left( \tilde{i}\_{s\alpha} \tilde{\phi}\_{r\beta} - \tilde{i}\_{s\beta} \tilde{\phi}\_{r\alpha} \right) + \left( \frac{K}{T\_r} + \frac{L\_m}{T\_r \gamma\_2} - \frac{k\_2}{T\_r \gamma\_2} \right) \left( \tilde{i}\_{s\alpha} \tilde{\phi}\_{r\alpha} + \tilde{i}\_{s\beta} \tilde{\phi}\_{r\beta} \right) - \left( f\_{\hat{\mu}} \tilde{i}\_{s\alpha} + f\_{\hat{\mu}} \tilde{i}\_{s\beta} \right) + \Delta \varepsilon\_3 \end{split} \tag{40}$$

The following conditions form a sufficient set ensuring *V* 0

$$\begin{cases} \mathbf{k}\_2 = \mathbf{K}\boldsymbol{\gamma}\_2 \\ -[f\_{ia}\tilde{\boldsymbol{i}}\_{s\alpha} + f\_{ib}\tilde{\boldsymbol{i}}\_{s\beta}] + \Delta \mathbf{e}\_3 = \mathbf{0} \end{cases} \tag{41}$$

Nonlinear Model Predictive Control for Induction Motor Drive 121

Fig. 2. Speed tracking performances - (a) proposed NMPC PID Controller, and (b) Field

Fig. 3. Flux norm tracking performances - (a) proposed NMPC PID Controller, and (b) Field

Oriented Controller (FOC).

Oriented Controller (FOC).

Replacing Δ by its value leads to the following equation

$$
\left[f\_{\dot{u}}\tilde{\mathbf{i}}\_{s\alpha} + f\_{\dot{v}\dot{b}}\tilde{\mathbf{i}}\_{s\beta}\right] = 2\left(\frac{k\_2}{T\_r}\hat{\phi}\_{r\alpha} + k\_2 p \hat{\alpha} \hat{\phi}\_{r\beta}\right)\tilde{\mathbf{i}}\_{s\alpha}\mathbf{e}\_3 + 2\left(\frac{k\_2}{T\_r}\hat{\phi}\_{r\beta} - k\_2 p \hat{\alpha} \hat{\phi}\_{r\alpha}\right)\tilde{\mathbf{i}}\_{s\beta}\mathbf{e}\_3\tag{42}
$$

Equation (42) is satisfied if *fia* and *fib* are chosen as

$$\begin{cases} f\_{ia} = 2 \left( \frac{k\_2}{T\_r} \hat{\phi}\_{r\alpha} + k\_2 p \hat{\phi} \hat{\phi}\_{r\beta} \right) e\_3 \\ f\_{ib} = 2 \left( \frac{k\_2}{T\_r} \hat{\phi}\_{r\beta} - k\_2 p \hat{\phi} \hat{\phi}\_{r\alpha} \right) e\_3 \end{cases} \tag{43}$$

*V* is then a Lyapunov candidate function for the overall system, formed by the process, the observer and the controller. Hence, the whole process is stable and the convergence is exponential.

### **6. Simulation results and discussion**

In order to test all cases of IM operations, smooth references are taken for reversal speed and low speed. The results are compared with those of the standard FOC controller. The load torque disturbance is estimated by the observer (24) discussed above, which is combined with NMPC to create NMPC PID controller. The 1.1 kW induction motor (appendix D), which is fed by a SVPWM inverter switching frequency of 10 kHz, run with a sample time of 10 μs. The voltage input is given from the controller at the sample time *Ts* = 100 μs. The tuning parameters are the prediction time *τr*, the disturbance observer gain *p0* and (*k1*, *k2*, *k3*) the gains of the state observer. All parameters are chosen by trial and error in order to achieve a successful tracking performance. The most important are (*τr*= 10\**Ts*, *p0*=*-*0.001), which are used in all tests.

Figures 2 and 3 present the results for rotor speed and rotor flux norm tracking responses for the NMPC PID controller and for the well-known Field Oriented Controller (FOC). Figure 4 shows the components of the stator voltage and current. It can be seen that the choice of the prediction time *τr* has satisfied the tracking performance and the constraints on the signal control to be inside the saturation limits. Figure 5 gives the estimated load torque for different conditions of speed reference in the case of the proposed controller. As shown, the tracking performance is satisfactory achieved and the effect of the load torque disturbance on the speed is rapidly eliminated compared with the FOC strategy. Figures 6 to 8 present the proposed NMPC PID tracking performances for low speed operation. These results are also compared to those obtained by the FOC. As shown, the tracking performance is satisfactory achieved even at low speed.

In order to check the sensitivity of the controller and the state observer with respect to the parametric variations of the machine, these parameters are varied as shown in figure 9. It is to be noted that the motor model is affected by these variations, while the controller and the state observer are carried out with the nominal values of the machine parameters. The same values of tunable parameters (*<sup>r</sup>*, *p0*, *k1*, *k2*, *k3*) have been used to show the influence of the parameters variations on the controller performance.

120 Frontiers of Model Predictive Control

*ia s ib s r r s r r s r r k k <sup>f</sup> <sup>i</sup> <sup>f</sup> i k <sup>p</sup> i e <sup>k</sup> <sup>p</sup> i e T T* 2 2

> *ia r r r*

2

2

*<sup>k</sup> <sup>f</sup> kp e <sup>T</sup>*

ˆ ˆ 2 ˆ

*<sup>k</sup> <sup>f</sup> kp e <sup>T</sup>*

*V* is then a Lyapunov candidate function for the overall system, formed by the process, the observer and the controller. Hence, the whole process is stable and the convergence is

In order to test all cases of IM operations, smooth references are taken for reversal speed and low speed. The results are compared with those of the standard FOC controller. The load torque disturbance is estimated by the observer (24) discussed above, which is combined with NMPC to create NMPC PID controller. The 1.1 kW induction motor (appendix D), which is fed by a SVPWM inverter switching frequency of 10 kHz, run with a sample time of 10 μs. The voltage input is given from the controller at the sample time *Ts* = 100 μs. The tuning parameters are the prediction time *τr*, the disturbance observer gain *p0* and (*k1*, *k2*, *k3*) the gains of the state observer. All parameters are chosen by trial and error in order to achieve a successful tracking performance. The most important are (*τr*= 10\**Ts*, *p0*=*-*0.001),

Figures 2 and 3 present the results for rotor speed and rotor flux norm tracking responses for the NMPC PID controller and for the well-known Field Oriented Controller (FOC). Figure 4 shows the components of the stator voltage and current. It can be seen that the choice of the prediction time *τr* has satisfied the tracking performance and the constraints on the signal control to be inside the saturation limits. Figure 5 gives the estimated load torque for different conditions of speed reference in the case of the proposed controller. As shown, the tracking performance is satisfactory achieved and the effect of the load torque disturbance on the speed is rapidly eliminated compared with the FOC strategy. Figures 6 to 8 present the proposed NMPC PID tracking performances for low speed operation. These results are also compared to those obtained by the FOC. As shown, the tracking

In order to check the sensitivity of the controller and the state observer with respect to the parametric variations of the machine, these parameters are varied as shown in figure 9. It is to be noted that the motor model is affected by these variations, while the controller and the state observer are carried out with the nominal values of the machine parameters. The same

*<sup>r</sup>*, *p0*, *k1*, *k2*, *k3*) have been used to show the influence of the

ˆ ˆ 2 ˆ

*ib r r r*

 

 

 

 

23 23 ˆˆ ˆˆ 2 2 ˆ ˆ

(42)

2 3

 

 

 

2 3

   

 

(43)

Replacing Δ by its value leads to the following equation

 

Equation (42) is satisfied if *fia* and *fib* are chosen as

**6. Simulation results and discussion** 

performance is satisfactory achieved even at low speed.

parameters variations on the controller performance.

exponential.

which are used in all tests.

values of tunable parameters (

Fig. 2. Speed tracking performances - (a) proposed NMPC PID Controller, and (b) Field Oriented Controller (FOC).

Fig. 3. Flux norm tracking performances - (a) proposed NMPC PID Controller, and (b) Field Oriented Controller (FOC).

Nonlinear Model Predictive Control for Induction Motor Drive 123

Fig. 7. Flux norm tracking performances for low speed operation - (a) proposed NMPC PID

Controller, and (b) Field Oriented Controller (FOC).

Fig. 8. Reference and estimated load torque

Fig. 9. Variation of machine parameters

Fig. 4. Stator voltage and current components with NMPC PID controller

Fig. 5. Reference and estimated load torque

Fig. 6. Low speed tracking performances - (a) proposed NMPC PID Controller, and (b) Field Oriented Controller (FOC).

122 Frontiers of Model Predictive Control

Fig. 6. Low speed tracking performances - (a) proposed NMPC PID Controller, and (b) Field

Fig. 4. Stator voltage and current components with NMPC PID controller

Fig. 5. Reference and estimated load torque

Oriented Controller (FOC).

Fig. 7. Flux norm tracking performances for low speed operation - (a) proposed NMPC PID Controller, and (b) Field Oriented Controller (FOC).

Fig. 8. Reference and estimated load torque

Fig. 9. Variation of machine parameters

Nonlinear Model Predictive Control for Induction Motor Drive 125

Fig. 12. Speed and flux norm tracking performances under motor parameters variation.

Fig. 13. Reference and estimated load torque under motor parameters variation.

beyond the scope of this chapter.

**7. Conclusion** 

It can be seen that the disturbance observation is influenced by transitions in speed response. Furthermore, the use of the state observer may influence on the system response. Therefore, a more powerful state observer can improve the controlled system performance. An improvement can be achieved by introduction of an on-line parameters identification, which leads to the adaptive techniques (Marino et al., 1998; Van Raumer, 1994), which is

An application of nonlinear PID model predictive control algorithm to induction motor drive is presented in this chapter. First, the nonlinear model predictive control law has been carried out from the nonlinear state model of the machine by minimizing a cost function. Even though the control weighting term is not included in the cost function, the tracking

Figure 10 gives the tracking responses for speed and flux norm in case of reversal speed. It can be seen that the speed and rotor flux are slightly influenced by the variations. However, the disturbance observation, in figure 11, is deteriorated by the variations. Although a deterioration of perturbation estimation is observed, the tracking of the mismatched model is achieved successfully, and the load torque variations are well rejected in speed response, which is the target application of the drive. Figure 12 gives the tracking responses for speed and flux norm in case of low speed. The speed and rotor flux responses are not affected by the parameters variations. The disturbance observation, shown in figure 13, is less affected than in first case. Although the load torque estimation is sensitive to the speed error, its rejection in speed response is achieved accurately.

Fig. 10. Speed and flux norm tracking performances under motor parameters variation.

Fig. 11. Reference and estimated load torque under motor parameters variation.

124 Frontiers of Model Predictive Control

Figure 10 gives the tracking responses for speed and flux norm in case of reversal speed. It can be seen that the speed and rotor flux are slightly influenced by the variations. However, the disturbance observation, in figure 11, is deteriorated by the variations. Although a deterioration of perturbation estimation is observed, the tracking of the mismatched model is achieved successfully, and the load torque variations are well rejected in speed response, which is the target application of the drive. Figure 12 gives the tracking responses for speed and flux norm in case of low speed. The speed and rotor flux responses are not affected by the parameters variations. The disturbance observation, shown in figure 13, is less affected than in first case. Although the load torque estimation is sensitive to the speed error, its

Fig. 10. Speed and flux norm tracking performances under motor parameters variation.

Fig. 11. Reference and estimated load torque under motor parameters variation.

rejection in speed response is achieved accurately.

Fig. 12. Speed and flux norm tracking performances under motor parameters variation.

Fig. 13. Reference and estimated load torque under motor parameters variation.

It can be seen that the disturbance observation is influenced by transitions in speed response. Furthermore, the use of the state observer may influence on the system response. Therefore, a more powerful state observer can improve the controlled system performance.

An improvement can be achieved by introduction of an on-line parameters identification, which leads to the adaptive techniques (Marino et al., 1998; Van Raumer, 1994), which is beyond the scope of this chapter.

#### **7. Conclusion**

An application of nonlinear PID model predictive control algorithm to induction motor drive is presented in this chapter. First, the nonlinear model predictive control law has been carried out from the nonlinear state model of the machine by minimizing a cost function. Even though the control weighting term is not included in the cost function, the tracking

Nonlinear Model Predictive Control for Induction Motor Drive 127

*r r*

 

 

*<sup>m</sup> <sup>m</sup> m m rs rs rs rs r r rr*

 

**<sup>f</sup> <sup>x</sup>** (A8)

 

*s r*

*s r*

 

 

*T T*

*r r r r r <sup>L</sup> pL L K <sup>L</sup> L h i i i i i i T T T T T*

*<sup>m</sup> <sup>g</sup> <sup>r</sup>*

*<sup>m</sup> <sup>g</sup> <sup>r</sup>*

*L h <sup>g</sup> <sup>J</sup>* <sup>21</sup> <sup>1</sup>

*<sup>r</sup> <sup>g</sup> <sup>f</sup> L Lh*

Using the Lie notations (A1, A2) and output differentiations, in (4) and (6), with **l**(**x**), defined

1 11 11

1 12 12

1 21 21 1 1 0 ( ) <sup>1</sup> ( ) () () () ()

( ) <sup>1</sup> ( ) () () ()

( ) <sup>1</sup> ( ) () () ()

0

0

*f*

*f*

*Lh x L Lh x g x lx g x x p* <sup>12</sup> 1

*g f g*

*f f*

*Lh x f x lx f x KLh x x p*

1 1 1 0 ( ) <sup>1</sup> () () ()() ()

*L h <sup>h</sup> <sup>f</sup> <sup>g</sup> <sup>x</sup> p g <sup>K</sup> g p L Lh KL h <sup>p</sup> K c*

0 21 1 21 0 1 11 0 1 2 ( ) <sup>1</sup> () () () ()

**f**

 () ()

 

 *p tKt*

*<sup>r</sup> <sup>2</sup> g g*

( ) ( )

0 1

*x t xt*

*x J J* <sup>21</sup> <sup>21</sup>

**x** (B6)

1 1

*Lh x <sup>f</sup> x hx lxx p <sup>K</sup>*

0 1

*L Lh x g x lx g x KL h x x p* <sup>21</sup> <sup>21</sup>

*Lh x L Lh x g x lxg x x p* <sup>11</sup> 1

2 2 2 22 2 2 2 <sup>2</sup> <sup>3</sup> <sup>2</sup> 4 2 <sup>2</sup> ( )

> *<sup>L</sup> L Lh L T* <sup>11</sup> <sup>2</sup> <sup>2</sup> ( )

> *<sup>L</sup> L Lh L T* <sup>12</sup> <sup>2</sup> <sup>2</sup> ( )

 

<sup>2</sup> <sup>2</sup> ( ) **<sup>f</sup>** 

 

 

*<sup>L</sup> L h i i*

2

 

**8.2 Simplification of Lie derivatives according l(x)** 

*g f*

*g f*

*f*

*f*

**<sup>x</sup> l x x x**

2 1

1 1

**f**

*Lh x*

*Lh x*

1

 

 

 

by (22), we have

*<sup>m</sup> rs rs r r*

2 2

 **x** (A7)

> 

 

**<sup>f</sup> x** (A9)

**<sup>f</sup> x** (A10)

<sup>1</sup> ( ) **<sup>x</sup>** (A11)

*<sup>J</sup>* <sup>21</sup> <sup>1</sup> <sup>2</sup> **<sup>f</sup>** ( ) **<sup>x</sup>** (A12)

(B1)

(B2)

(B3)

(B4)

(B5)

 2

 

 

 

performance is achieved accurately. The computation of the model predictive control law is easy and does not need an online optimization. It has been shown that the stability of the closed loop system under this controller is guaranteed. Then, the load torque is considered as an unknown disturbance variable in the state model of the machine, and it is estimated by an observer. This observer, derived from the nonlinear model predictive control law, is simplified to a PID speed controller. The integration of the load torque observer in the model predictive control law allows enhancing the performance of the motor drive under machine parameter variations and unknown disturbance. The combination between the NMPC and disturbance observer forms the NMPC PID controller. In this application, it has been noticed that the tuning of the NMPC PID controller parameters is easier compared with the standard FOC method.

A state observer is integrated in the control scheme. The global stability of the whole system is theoretically proved using the Lyapunov technique. Therefore, the coupling between the nonlinear model predictive controller and the state observer guarantees the global stability.

The obtained results show the effectiveness of the proposed control strategy regarding trajectory tracking, sensitivity to the induction motor parameters variations and disturbance rejection.

### **8. Appendices**

#### **8.1 Lie derivatives of the process outputs**

The following notation is used for the Lie derivative of state function *hj*(**x**) along a vector field **f(x)**.

$$L\_{\mathbf{f}}h\_{\hat{j}} = \frac{\partial h\_{\hat{j}}}{\partial \mathbf{x}} \mathbf{f}(\mathbf{x}) = \sum\_{i=1}^{n} \frac{\partial h\_{\hat{j}}}{\partial \mathbf{x}\_{i}} f\_{i}(\mathbf{x}) \tag{A1}$$

Iteratively, we have

$$L\_{\mathbf{f}}^{k}h\_{j} = L\_{\mathbf{f}}(L\_{\mathbf{f}}^{(k-1)}h\_{j}) \\ \vdots \\ L\_{\mathbf{f}}L\_{\mathbf{f}}h\_{j} = \frac{\partial L\_{\mathbf{f}}h\_{j}}{\partial \mathbf{x}}\mathbf{g}(\mathbf{x}) \tag{A2}$$

$$L\_{\mathbf{f}}h\_{1}(\mathbf{x}) = \frac{pL\_{m}}{\mathcal{J}L\_{r}} \left(\phi\_{r\alpha}\mathbf{i}\_{s\beta} - \phi\_{r\beta}\mathbf{i}\_{s\alpha}\right) - \frac{f\_{r}}{\mathcal{J}}\,\alpha - \frac{1}{\mathcal{J}}T\_{\mathcal{L}}\tag{A3}$$

 *m r <sup>m</sup> <sup>m</sup> r r rs rs r r rs rs <sup>L</sup> r r r r pL f pLK p L f f L h i i - i i <sup>T</sup> JL T J JL JL J J* 22 2 <sup>2</sup> 2 2 1 2 2 <sup>1</sup> ( ) **<sup>f</sup> <sup>x</sup>** (A4)

$$L\_{\mathcal{G}\_{11}}L\_{\mathbf{f}}h\_1(\mathbf{x}) = -\frac{pL\_m}{J\sigma L\_sL\_r}\phi\_{r\beta} \tag{A5}$$

$$L\_{\mathcal{G}\_{12}}L\_{\mathbf{f}}h\_1(\mathbf{x}) = \frac{pL\_m}{\mathcal{J}\sigma L\_sL\_r}\phi\_{r\alpha} \tag{A6}$$

126 Frontiers of Model Predictive Control

performance is achieved accurately. The computation of the model predictive control law is easy and does not need an online optimization. It has been shown that the stability of the closed loop system under this controller is guaranteed. Then, the load torque is considered as an unknown disturbance variable in the state model of the machine, and it is estimated by an observer. This observer, derived from the nonlinear model predictive control law, is simplified to a PID speed controller. The integration of the load torque observer in the model predictive control law allows enhancing the performance of the motor drive under machine parameter variations and unknown disturbance. The combination between the NMPC and disturbance observer forms the NMPC PID controller. In this application, it has been noticed that the tuning of the NMPC PID controller parameters is easier compared

A state observer is integrated in the control scheme. The global stability of the whole system is theoretically proved using the Lyapunov technique. Therefore, the coupling between the nonlinear model predictive controller and the state observer guarantees the global stability. The obtained results show the effectiveness of the proposed control strategy regarding trajectory tracking, sensitivity to the induction motor parameters variations and disturbance

The following notation is used for the Lie derivative of state function *hj*(**x**) along a vector

*<sup>n</sup> j j j i*

*h h L h f*

*pL <sup>f</sup> L h i i <sup>T</sup> JL J J* <sup>1</sup> <sup>1</sup> ( ) **<sup>f</sup>** 

> 

*<sup>m</sup> <sup>g</sup> <sup>r</sup>*

*<sup>m</sup> <sup>g</sup> <sup>r</sup>*

 **<sup>f</sup> <sup>x</sup>** (A4)

*pL f pLK p L f f L h i i - i i <sup>T</sup> JL T J JL JL J J*

> *pL L Lh J LL* <sup>11</sup> 1( )

*pL L Lh J LL* <sup>12</sup> 1( )

*<sup>k</sup> <sup>k</sup> Lh L L h j j* ( 1) ( ) **f f <sup>f</sup>** ;

*r*

22 2 <sup>2</sup> 2 2 1 2 2

*r r r r*

 

 

  *i i*

*x* <sup>1</sup> () () 

*j*

*m r rs rs <sup>L</sup>*

*s r*

*s r*

 

 

 

*m r <sup>m</sup> <sup>m</sup> r r rs rs r r rs rs <sup>L</sup>*

 

**<sup>f</sup> fx x <sup>x</sup>** (A1)

**<sup>x</sup>** (A2)

 

*j*

 

> 

**x** (A3)

**<sup>f</sup> x** (A5)

**<sup>f</sup> x** (A6)

 

 

*L h LLh* ( ) **f g f g x**

with the standard FOC method.

**8.1 Lie derivatives of the process outputs** 

rejection.

field **f(x)**.

**8. Appendices** 

Iteratively, we have

<sup>1</sup> ( )

$$\mathcal{L}\_{\mathbf{f}}h\_{2}(\mathbf{x}) = \frac{2\mathcal{L}\_{m}}{T\_{r}} \left(\phi\_{r\alpha}\dot{\mathbf{i}}\_{s\alpha} + \phi\_{r\beta}\dot{\mathbf{i}}\_{s\beta}\right) - \frac{2}{T\_{r}} \left(\phi\_{r\alpha}^{2} + \phi\_{r\beta}^{2}\right) \tag{A7}$$

 *<sup>m</sup> <sup>m</sup> m m rs rs rs rs r r rr r r r r r <sup>L</sup> pL L K <sup>L</sup> L h i i i i i i T T T T T* 2 2 2 2 22 2 2 2 <sup>2</sup> <sup>3</sup> <sup>2</sup> 4 2 <sup>2</sup> ( ) **<sup>f</sup> <sup>x</sup>** (A8)

$$L\_{\mathcal{G}\_{11}}L\_{\mathbf{f}}h\_2(\mathbf{x}) = \frac{2L\_m}{\sigma L\_s T\_r} \phi\_{r\alpha} \tag{A9}$$

$$L\_{\mathcal{g}\_{\Omega}}L\_{\mathbf{f}}h\_2(\mathbf{x}) = \frac{2L\_m}{\sigma L\_s T\_r} \phi\_{r\beta} \tag{A10}$$

$$L\_{\llcorner\_{\mathfrak{Z}\mathfrak{z}}}h\_1(\mathbf{x}) = -\frac{1}{J} \tag{A11}$$

$$L\_{\ll\_{21}}L\_{\mathbf{f}}h\_1(\mathbf{x}) = \frac{f\_r}{f^2} \tag{A12}$$

#### **8.2 Simplification of Lie derivatives according l(x)**

Using the Lie notations (A1, A2) and output differentiations, in (4) and (6), with **l**(**x**), defined by (22), we have

$$L\_{g\_{11}}L\_f h\_1(\mathbf{x}) = \frac{\partial L\_f h\_1(\mathbf{x})}{\partial \mathbf{x}} g\_{11}(\mathbf{x}) = \frac{1}{p\_0} l(\mathbf{x}) g\_{11}(\mathbf{x}) \tag{B1}$$

$$\mathcal{L}\_{\mathcal{G}\_{12}} L\_f h\_1(\mathbf{x}) = \frac{\partial L\_f h\_1(\mathbf{x})}{\partial \mathbf{x}} g\_{12}(\mathbf{x}) = \frac{1}{p\_0} l(\mathbf{x}) g\_{12}(\mathbf{x}) \tag{B2}$$

$$\mathcal{L}\_{\mathcal{G}\_{21}} L\_f h\_1(\mathbf{x}) = \frac{\partial L\_f h\_1(\mathbf{x})}{\partial \mathbf{x}} g\_{21}(\mathbf{x}) = \frac{1}{p\_0} l(\mathbf{x}) g\_{21}(\mathbf{x}) - K\_1 L\_{\mathcal{G}\_{21}} h\_1(\mathbf{x}) \tag{\mathbb{B}3}$$

$$L\_f^2 h\_1(\mathbf{x}) = \frac{\partial L\_f h\_1(\mathbf{x})}{\partial \mathbf{x}} f(\mathbf{x}) = \frac{1}{p\_0} l(\mathbf{x}) f(\mathbf{x}) - K\_1 L\_f h\_1(\mathbf{x}) \tag{B4}$$

$$\begin{split} l(\mathbf{x})\dot{\mathbf{x}} &= p\_0 \left( \frac{\partial L\_f h\_1(\mathbf{x})}{\partial \mathbf{x}} \frac{\partial \mathbf{x}}{\partial t} + K\_1 \frac{\partial h\_1}{\partial \mathbf{x}} \frac{\partial \mathbf{x}}{\partial t} \right) \\ &= p\_0 \left( \dot{\alpha}(t) + K\_1 \dot{\alpha}(t) \right) \end{split} \tag{B5}$$

$$\mathbf{J(x)g\_2(x)} = p\_0 \left( \frac{\partial L\_1 h\_1(\mathbf{x})}{\partial \mathbf{x}} g\_{21} + K\_1 \frac{\partial h\_1}{\partial x} g\_{21} \right) = p\_0 \left( L\_{g\_{21}} L\_1 h\_1(\mathbf{x}) + K\_1 L\_{g\_{21}} h\_1(\mathbf{x}) \right) = p\_0 \left( \frac{f\_r}{f^2} - K\_1 \frac{1}{f} \right) = c \tag{\text{B6}}$$

Nonlinear Model Predictive Control for Induction Motor Drive 129

Chiasson, J. (1996). Nonlinear controllers for an induction motor. *Control Engineering* 

Correa, P.; Pacas, M.; Rodriguez, J. (2007). Predictive Torque Control for Inverter Fed

Du, T.; Brdys, M.A. (1993). Shaft speed, load torque and rotor flux estimation of induction

Feng, W.; O'Reilly, J.; Balance D.J. (2002). MIMO nonlinear PID predictive controller. *IEE* 

Garcia, C. E.; Prett, D.M., Morari, M. (1989). Model predictive control: theory and practice- a

Hedjar, R.; Toumi, R.; Boucher, P.; Dumur D. (2003). Two cascaded nonlinear predictive

Hedjar, R.; Toumi, R.; Boucher, P.; Dumur, D. (2000). Cascaded nonlinear predictive control

Hong, K.; Nam, K. (1998). A load torque compensation scheme under the speed measurement delay. *IEEE Transactions on Industrial Electronics*, 45 (2), 283-290. Jansen, L.P.; Lorenz, D.W. Novotny (1994). Observer-based direct field orientation: analysis

Marino, R.; Peresada, S.; Tomei, P. (1998). Adaptive output feedback control of current-feed

Marino, R.; Peresada, S.; Valigi, P. (1993). Adaptive input-output linearizing control of induction motors. *IEEE Transactions on Automatic Control*, 38 (2), pp. 208-221. Marino, R.; Tomei, P.; Verrelli, C.M. (2002). An adaptive controller for speed-sensorless

Merabet, A.; Ouhrouche, M.; Bui, R.T. (2006). Nonlinear predictive control with disturbance

Nemec, M.; Nedeljkovic D.; Ambrozic; V. (2007). Predictive Torque Control of Induction

Ping L. (1996). Optimal predictive control of continuous nonlinear systems. *International* 

Leonhard, W. (2001). Control of Electrical Drives. 3rd Edition, Spinger-Verlag: Berlin. Maaziz, M.K.; Boucher, P.; Dumur, D. (2000). A new control strategy for induction motor

*Journal of Adaptive Control and Signal Processing*, 14, pp. 313-329.

Conference on Electrical Machines and Drives, pp. 179-184.

*Proceedings Control Theory Application*, 149 (3), pp. 203-208.

*15* (2), pp. 235-243.

*Practice*, 4 (7), pp. 977-990.

survey. *Automatica*, 3, pp. 335-348.

Application, Istanbul, Turkey; 1, pp. 458-463.

on Industrial Electronics, Montreal, Canada.

*Journal of Control*; 63 (1), pp. 633-649.

Anchorage, Alaska, USA, pp. 698-703.

30 (4), pp. 945-953.

(5), pp. 617-624.

pp. 1658-1663.

54 (4), pp. 2009-2017.

induction motor. *International Journal of Applied Mathematics and Computer Sciences*,

Induction Machines. *IEEE Transactions on Industrial Electronics*, 45 (2), pp. 1073-1079.

motor drive using an extended Luenberger observer. 6th IEEE International

control of induction motor. Proceedings of the IEEE Conference on Control

of induction motor. Proceedings of the IEEE Conference on Control Applications,

and comparison of alternatives methods. *IEEE Transactions on Industry Applications*,

based on non-linear predictive control and feedback linearization. *International* 

induction motors with uncertain rotor resistance and load torque. *Automatica*, 34

current-feed induction motors with unkown load torque. Proceedings of the 7th International Conference on control, Automation, Robotics and Vision, Singapore,

observer for induction motor drive. Proceedings of IEEE International Symposium

Machines Using Immediate Flux Control. *IEEE Transactions on Industrial Electronics*,

#### **8.3 Lie derivatives of the auxiliary outputs**

$$
\hat{M}\_{11} = \frac{pL\_m}{\mathcal{J}L\_r} (\hat{\phi}\_{r\alpha}\hat{i}\_{s\beta} - \hat{\phi}\_{r\beta}\hat{i}\_{s\alpha}) \tag{C1}
$$

$$\begin{split} \mathbf{L}\_{1}\hat{h}\_{11} &= \frac{p\mathbf{L}\_{m}}{\|\mathbf{L}\_{r}} (\mathbf{y} + \frac{\mathbf{1}}{T\_{r}} + k\_{1})(\hat{\mathbf{i}}\_{s\alpha}\hat{\boldsymbol{\phi}}\_{r\boldsymbol{\beta}} - \hat{\mathbf{i}}\_{s\boldsymbol{\beta}}\hat{\boldsymbol{\phi}}\_{r\alpha}) - p\hat{\boldsymbol{\phi}}(\hat{\mathbf{i}}\_{s\alpha}\hat{\boldsymbol{\phi}}\_{r\alpha} + \hat{\mathbf{i}}\_{s\boldsymbol{\beta}}\hat{\boldsymbol{\phi}}\_{r\boldsymbol{\beta}}) - pK\hat{\boldsymbol{\phi}}(\hat{\mathbf{i}}\_{r\alpha}^{2} + \hat{\boldsymbol{\phi}}\_{r\boldsymbol{\beta}}^{2}) \\ &- k\_{1}(\mathbf{i}\_{s\alpha}\hat{\boldsymbol{\phi}}\_{r\boldsymbol{\beta}} - \mathbf{i}\_{s\boldsymbol{\beta}}\hat{\boldsymbol{\phi}}\_{r\alpha}) + \frac{k\_{2}}{T\_{r}}(\mathbf{i}\_{s\alpha}\hat{\mathbf{i}}\_{s\boldsymbol{\beta}} - \mathbf{i}\_{s\boldsymbol{\beta}}\hat{\mathbf{i}}\_{s\alpha}) - pk\_{2}\hat{\boldsymbol{\phi}}(\mathbf{i}\_{s\alpha}\hat{\mathbf{i}}\_{s\alpha} - \mathbf{i}\_{s\boldsymbol{\beta}}\hat{\mathbf{i}}\_{s\boldsymbol{\beta}}) + pk\_{2}\hat{\boldsymbol{\phi}}(\hat{\mathbf{i}}\_{s\alpha}^{2} + \hat{\mathbf{i}}\_{s\boldsymbol{\beta}}^{2}) - \hat{\boldsymbol{\phi}}\_{r\boldsymbol{\beta}}f\_{i\boldsymbol{\alpha}} + \hat{\boldsymbol{\phi}}\_{r\boldsymbol{\alpha}}f\_{i\boldsymbol{\beta}}) \end{split} \tag{C2}$$

$$\hat{\mathbf{h}}\_{21} = \frac{2\mathcal{L}\_m}{T\_r} \left( \hat{\phi}\_{r\alpha}\hat{\mathbf{i}}\_{s\alpha} + \hat{\phi}\_{r\beta}\hat{\mathbf{i}}\_{s\beta} \right) \tag{C3}$$

$$\begin{split} \mathbf{L}\_{1}\hat{h}\_{21} &= \frac{2\mathbf{L}\_{m}}{T\_{r}} \mathbf{I} (\frac{\mathbf{L}\_{m}}{T\_{r}} - \frac{\mathbf{k}\_{2}}{T\_{r}}) (\hat{i}\_{s\alpha}^{2} + \hat{i}\_{s\beta}^{2}) - (\mathbf{y} + \frac{\mathbf{1}}{T\_{r}} + \mathbf{k}\_{1}) (\hat{i}\_{s\alpha}\hat{\phi}\_{r\beta} + \hat{i}\_{s\beta}\hat{\phi}\_{r\alpha}) - p\hat{\phi} (\hat{i}\_{s\alpha}\hat{\phi}\_{r\alpha} - \hat{i}\_{s\beta}\hat{\phi}\_{r\beta}) + \frac{\mathbf{k}\_{2}}{T\_{r}} (\hat{i}\_{s\alpha}\hat{i}\_{s\alpha} + \hat{i}\_{s\beta}\hat{\phi}\_{r\beta}) \\ &+ p\mathbf{K}\hat{\phi} (\hat{i}\_{s\alpha}\hat{i}\_{s\beta} - \hat{i}\_{s\beta}\hat{\phi}\_{r\alpha}) + \frac{\mathbf{K}}{T\_{r}} (\hat{\phi}\_{r\alpha}^{2} + \hat{\phi}\_{r\beta}^{2}) + \mathbf{k}\_{1} (\hat{i}\_{s\alpha}\hat{\phi}\_{r\alpha} + \hat{i}\_{s\beta}\hat{\phi}\_{r\beta}) + \hat{\phi}\_{r\alpha} f\_{i\alpha} + \hat{\phi}\_{r\beta} f\_{i\alpha} \end{split} \tag{C4}$$

#### **8.4 Induction machine characteristics**

The plant under control is a small induction motor 1.1 kW, with the following parameters

*ωnom* = 73.3 rad/s,*r* = 1.14 Wb, *T nom* = 7 Nm, *Rs* = 8.0 Ω, *Rr* = 3.6 Ω, *Ls* = 0.47 H, *Lr* = 0.47 H, *Lm* = 0.44 H, *p* = 2, *fr* = 0.04 Nms, *J* = 0.06 kgm2

#### **9. References**


128 Frontiers of Model Predictive Control

*<sup>m</sup> rs rs*

 

> 

 

 

*<sup>m</sup> rs rs*

 

 

 

 

(C1)

 

> 

 

(C3)

 

> 

(C2)

(C4)

 

> 

 

 

 

 

 

= 1.14 Wb, *T nom* = 7 Nm, *Rs* = 8.0 Ω, *Rr* = 3.6 Ω, *Ls* = 0.47 H, *Lr* = 0.47 H,

 

 

ˆ ˆ ˆ ˆ ˆ ( ) 

*s r s r ss ss ss ss s s r ia r ib*

 

<sup>2</sup> <sup>ˆ</sup> ˆ ˆ ˆ ˆ 

<sup>2</sup> <sup>1</sup> <sup>ˆ</sup> ˆ ˆ ˆ ˆ ˆ ˆ ˆˆ ˆˆ ˆˆ [( )( ) ( )( ) (ˆ )( )

 

The plant under control is a small induction motor 1.1 kW, with the following parameters

Barut, M.; Bogosyan, S.; Gokasan, M. (2005). Speed sensorless direct torque control of IM's

Bemporad, A.; Morari, M.; Dua, V.; Pistikopoulous, E.N. (2002). The explicit linear quadratic

Blaschke, F. (1972). The principle of field orientation as applied to the new transvector closed loop system for rotating field machines. *Siemens Rev.*, 39 (5), pp. 217-220. Bordons, C.; Camacho, E.F. (1998). A generalized predictive controller for a wide class of

Chen, F.; Dunnigan, M.W. (2003). A new non-linear sliding-mode for an induction motor

Chen, W.H.; Balance, D.J.; Gawthrop P.J. (2003). Optimal control of nonlinear systems: a

Chen, W.H.; Balance, D.J.; Gawthrop, P.J.; Gribble, J.J.; O'Reilly J. (1999). Nonlinear PID

Chenafa, M.; Mansouri, A.; Bouhenna, A.; Etien, E.; Belaidi, A. & Denai, M.A. (2005). Global

regulator for constrained systems *Automatica*, 38 (1), pp. 3-20.

Camacho, E.F.; Bordons, C. (2004). Model Predictive Control, 2nd edition, Springer.

predictive control approach. *Automatica*, 39 (4), pp. 633-641.

with rotor resistance estimation. *Energy Conversion and Management*, 46, pp. 335-349.

industrial processes. *IEEE Transactions on Control Systems Technology*, 6 (3), pp. 372-

machine incorporating a sliding-mode flux observer. *International Journal of Robust* 

predictive controller. *IEE Proceedings Control Theory Application*; 146 (6), pp. 603-611.

stability of linearizing control with a new robust nonlinear observer of the

 

*m m s s s r s r s r s r ss ss*

2 2 2

ˆ ˆ ˆ ˆ ˆ ˆ ˆˆ ˆ ˆ ( )( ) ( ) ( ) ] ˆ ˆ

 

*<sup>k</sup> ki i ii ii pk ii ii pki i f f <sup>T</sup>*

  

*r pL h ii*

*<sup>m</sup> sr sr sr sr r r*

*r <sup>L</sup> h ii*

*r rr r r*

*L L k k L h i i k i i p i i ii ii T TT <sup>T</sup> <sup>T</sup>*

 

 

*T* <sup>21</sup>

<sup>2</sup> 2 2 <sup>2</sup> <sup>ˆ</sup> <sup>21</sup> <sup>1</sup>

 

 

*ss ss r r s r s r r ia r ib*

ˆ ˆ ˆˆ ˆ ˆ ˆ ˆ ˆ( ) ( )( ) ]

1

*K pK i i i i ki i f f <sup>T</sup>*

2 2

*and Nonlinear Control*, 14, pp. 463-486.

   

*JL* <sup>11</sup>

<sup>1</sup> <sup>ˆ</sup> ˆˆ ˆˆ ˆ ˆ ˆ ˆ ˆˆ [( )( ) (ˆ ˆ )( )

2 2 <sup>ˆ</sup> <sup>11</sup> <sup>1</sup>

*pL L h k i i p i i pK JL T*

 

 

1 2 2

 

**8.3 Lie derivatives of the auxiliary outputs** 

*r*

*r*

*Lm* = 0.44 H, *p* = 2, *fr* = 0.04 Nms, *J* = 0.06 kgm2

**8.4 Induction machine characteristics** 

*r*  

 

*r r*

 

 

**f**

**f**

*ωnom* = 73.3 rad/s,

**9. References** 

387.

  induction motor. *International Journal of Applied Mathematics and Computer Sciences*, *15* (2), pp. 235-243.


**7** 

*Malaysia* 

**Development of Real-Time Hardware in the** 

Azeddein Kinsheel1 and Raja Ariffin Bin Raja Ghazilla1

Zahari Taha2, Abdelhakim Deboucha1,

*2Department of Manufacturing Engineering, University Malaysia Pahang, Gambang, Pahang,* 

**Loop Based MPC for Small-Scale Helicopter** 

*1Centre for Product Design and Manufacturing Department of Engineering Design,* 

In recent years, unmanned aerial vehicles (UAVs) have been shown a rapid development equipped with intelligent flight control devices. Many advantages could be offered by

Flight control is the principle unit for UAVs to perform a full autonomous mission without or with less interference of a human pilot. Numerous types of control have been developed

The most conventional and common control methods that have been used by many researchers are the SISO controls, i.e., PI or PID control because their requirements are not highly dependent on the accuracy of the plant model. Two control approaches are proposed by Kim and Shim (2003), a multi-loop PID controller and a nonlinear model predictive control for the purpose of trajectory tracking. This strategy shows satisfactory results when applied to the Yamaha R-50. However, if large perturbations need to be compensated, or

Wenbing, et al (2007) presented a multiple-input-multiple-output (MIMO) neural network controller which has a structure of two inputs and two outputs to control a small-scale helicopter. The neural network controller is used with a simple adaptive PID configuration. The PID gains *ki, kp* and *kd* are tuned online via the training of the proposed neural networks

Srikanth, James and Gaurav (2003) combined vision with low-level control to perform the landing operation of the helicopter. The vision control navigates the commands to a lowlevel controller to achieve a robust landing. In their experiments, state initializations were set in the hover condition arbitrarily. The idea was to find the helipad, then align with it, and land on it. The low-level (roll, pitch lateral and heading) controls were implemented with a proportional controller. The altitude behaviour was implemented with a PI controller. To make altitude control easier, the PI controller was split into three: sub-hover

UAVs, due to their widely applications (Garcia and Valavanis, 2009).

for small-scale helicopters including classical, intelligent and vision controls.

significant tracking abilities are required, this strategy may not be adequate.

**1. Introduction** 

during the flight.

control, velocity and sonar control.

*Manufacture Faculty of Engineering- University of Malaya, Kuala Lumpur,* 

