**1. Introduction**

20 Will-be-set-by-IN-TECH

28 Frontiers of Model Predictive Control

Primbs, J. (1999). *Nonlinear Optimal Control: A Receding Horizon Approach*, PhD thesis,

Rawlings, J. & Mayne, D. (2009). *Model Predictive Control: Theory and Design*, Nob Hill

Scokaert, P., Mayne, D. & Rawlings, J. (1999). Suboptimal model predictive control (feasibility implies stability), *IEEE Transactions on Automatic Control* 44(3): 648–654. Steinböck, A., Graichen, K. & Kugi, A. (2011). Dynamic optimization of a slab reheating

furnace with consistent approximation of control variables, *IEEE Transactions on*

California Institute of Technology, Pasadena, CA.

*Control Systems Technology* 16(6): 1444–1456.

Publishing, Madison, WI.

Feedback linearization is a powerful technique that allows to obtain linear model with exact dynamics (Isidori,1985), (Slotine & Li, 1991). Linear quadratic control is well known optimal control method and with its dynamic programming properties can be also easily calculated (Anderson & Moore, 1990). The combination of feedback linearization and LQ control has been used in many algorithms in Model Predictive Control applications for many years and it is used also in the current papers (He De-Feng et al.,2011), (Margellos & Lygeros, 2010). Another problem apart from finding the optimal solution on a given horizon (finite or infinite) is the constrained control. A method which uses the advantages of feedback linearization, LQ control and applying signals constraints was proposed in (Poulsen et al., 2001b). In every step it is based on interpolation between the LQ optimal control and a feasible solution – the solution that fulfils given constraints. A feasible solution is obtained by taking calculated from LQ method optimal gain for a perturbed reference signal. The compromise between the feasible and optimal solution is calculating by minimization of one variable – the number of degrees of freedom in prediction is reduced to one variable.

Feedback linearization relies on choosing new state input and variables and then compensating nonlinearities in state equations by nonlinear feedback. The signals from nonlinear system are constrained, they are accessible from linear model through nonlinear equations. Therefore in the interpolation a nonlinear numerical method has to be used. The whole algorithm is operating in a discretized system.

There are several problems while using the method. One of them is that signals from nonlinear system can change its values within given one discrete time interval, while we assume that variables of linear model are unchanged. Those values should be considered as constrained. Another problem is finding the basic feasible perturbed reference signal which will provide well control performance. Method proposed in (Poulsen et. al, 2001b) gives good results if the weight matrices in cost function and the sampling interval are well chosen. Often it is difficult to choose these parameters and in general the solution may provide not only unfeasible signals (violating constraints), but also signals which violate assumption for system equations (like assumption of nonzero values in a denominator of a fraction).

Feedback Linearization and LQ Based Constrained Predictive Control 31

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

*y L hx LL hxu f x gxu dx dx*

The linear system (5) describes the dependence between the new input *v* and the output *y*. These equations can be used to design appropriate input *v* in order to receive desirable output *y.* If relative degree *r* is smaller than the order of original nonlinear system *n*, then to

> <sup>1</sup> ( ) *<sup>T</sup> r n*

> > ( ) 0. *L x <sup>g</sup>*

In that case the system has internal dynamics which has to be taken into consideration in stability analysis. The convenient way to consider the stability of *n-r* variables which after linearization are unobservable from output *y* is the analysis the zero dynamic. The zero dynamics is the internal dynamics of the system when the output is kept at zero by input. By using appropriate input and state and then checking the stability of obtained equations it is possible to find out if the system is minimum phase and the unobservable from *y*

Feedback linearization method (Isidori,1985), (Slotine & Li, 1991) in the basic version is restricted to the class of nonlinear models which are affine in the input and have smooth functions *f(x)*, *g(x)*, definite relative degree and stable zero dynamics. Therefore algorithms

> *k dk dk* 1 *k dk z Az Bv y Cz*

obtained by feedback linearization of (1) and by discretization of (2) with sampling interval *Ts*. In order to track the nonzero reference signal *wt* we augment the state space system by

 

*td t*

*yC z*

*d d t t tt*

*A B z z vw*

*d*

*C*

0 0 101 0

*r r r f f*

*f gf*

the variables from vector (6) should satisfy condition

track all state variables *x* we need additional *n-r* variables *z*. For

variables will converge to a certain value when time tends to infinity.

which uses feedback linearization are limited by above conditions.

Unconstrained LQ control will be applied to discrete system

adding new variable *zint* with integral action

The cost function can be written by

the equation (8) with augmented state vector takes form

1

**3. Unconstrained control** 

1 1

*xz z* (6)

(7)

(8)

(10)

int\_ 1 int\_ *t t tt z zw y* (9)

*r r*

*dL h x dL h x*

Other method of finding feasible solution proposed in the chapter provides better results of feasibility. The presented method also takes into consideration important feature, that input of nonlinear system changes its value in the sampling interval, while the control value of linearized model is unchanged. The algorithm is applied to the two tanks model and also to the continuous stirred tank reactor model, which operates in an area of unstable equilibrium point. The influence of well chosen perturbed reference signal is presented on charts for those two systems. The chapter is closed by concluding remarks.

#### **2. Input–output feedback linearization**

The main idea in feedback linearization is the assumption that the object described by nonlinear equations is not intrinsically nonlinear but may have wrongly chosen state variables or input. By nonlinear compensation in feedback and new variables one can obtain linear model with embedded original model and its dynamics. A nonlinear SISO model

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

has a linear equivalent

$$\begin{aligned} \dot{z} &= Az + Bv\\ y &= Cz \end{aligned} \tag{2}$$

if there exists a diffeomorphism

$$z = \varphi(\mathbf{x})\tag{3}$$

and a feedback law

$$
\mu = \psi \left( \upsilon, \propto \right). \tag{4}
$$

Important factor in feedback linearization is a relative degree. This value represents of how many times the output signal has to be differentiated as to obtain direct dependence on input signal. If relative degree *r* is definite for the system then there is a simple method of obtaining linear system (2) with order *r*. It can be developed by differentiating *r* times the output variable *y* and by choosing new state variables and input as

$$\begin{aligned} y &= z\_1 \\ \dot{y} &= z\_2 \\ y^{(r-1)} &= z\_r \\ y^{(r)} &= v \end{aligned} \tag{5}$$

where the derivatives can also be expressed by Lee derivatives

$$\begin{aligned} \dot{\mathbf{y}} &= L\_f h(\mathbf{x}) = \frac{d h(\mathbf{x})}{d \mathbf{x}} f(\mathbf{x}), \\\\ \mathbf{y}^{(r-1)} &= L\_f^{-r-1} h(\mathbf{x}) = \frac{d L\_f^{-r-1} h(\mathbf{x})}{d \mathbf{x}} f(\mathbf{x}). \end{aligned}$$

30 Frontiers of Model Predictive Control

Other method of finding feasible solution proposed in the chapter provides better results of feasibility. The presented method also takes into consideration important feature, that input of nonlinear system changes its value in the sampling interval, while the control value of linearized model is unchanged. The algorithm is applied to the two tanks model and also to the continuous stirred tank reactor model, which operates in an area of unstable equilibrium point. The influence of well chosen perturbed reference signal is presented on charts for

The main idea in feedback linearization is the assumption that the object described by nonlinear equations is not intrinsically nonlinear but may have wrongly chosen state variables or input. By nonlinear compensation in feedback and new variables one can obtain linear model with embedded original model and its dynamics. A nonlinear SISO model

> () () ( ) *x f x gxu y hx*

> > *z Az Bv y Cz*

> > > *z x*

*u vx* 

output variable *y* and by choosing new state variables and input as

where the derivatives can also be expressed by Lee derivatives

Important factor in feedback linearization is a relative degree. This value represents of how many times the output signal has to be differentiated as to obtain direct dependence on input signal. If relative degree *r* is definite for the system then there is a simple method of obtaining linear system (2) with order *r*. It can be developed by differentiating *r* times the

> 1 2 ( 1) ( ) *r*

 

( ) ( ) ( ), *<sup>f</sup> dh x <sup>y</sup> Lhx f x dx*

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

*<sup>y</sup> L hx f x dx*

*r r f f*

1

*r*

*dL h x*

*r*

*y z y z y z y v*

 

*r*

(1)

(2)

( ) (3)

( , ). (4)

(5)

those two systems. The chapter is closed by concluding remarks.

**2. Input–output feedback linearization** 

has a linear equivalent

and a feedback law

if there exists a diffeomorphism

$$y^{(r)} = L\_f{}^r h(\mathbf{x}) + L\_g L\_f{}^{r-1} h(\mathbf{x}) \mu = \frac{dL\_f{}^{r-1} h(\mathbf{x})}{d\mathbf{x}} f(\mathbf{x}) + \frac{dL\_f{}^{r-1} h(\mathbf{x})}{d\mathbf{x}} g(\mathbf{x}) \mu.$$

The linear system (5) describes the dependence between the new input *v* and the output *y*. These equations can be used to design appropriate input *v* in order to receive desirable output *y.* If relative degree *r* is smaller than the order of original nonlinear system *n*, then to track all state variables *x* we need additional *n-r* variables *z*. For

$$\boldsymbol{\eta}(\mathbf{x}) = \begin{bmatrix} z\_{r+1} & \cdots & z\_n \end{bmatrix}^T \tag{6}$$

the variables from vector (6) should satisfy condition

$$L\_{\mathcal{J}}\eta(\mathbf{x}) = 0.\tag{7}$$

In that case the system has internal dynamics which has to be taken into consideration in stability analysis. The convenient way to consider the stability of *n-r* variables which after linearization are unobservable from output *y* is the analysis the zero dynamic. The zero dynamics is the internal dynamics of the system when the output is kept at zero by input. By using appropriate input and state and then checking the stability of obtained equations it is possible to find out if the system is minimum phase and the unobservable from *y* variables will converge to a certain value when time tends to infinity.

Feedback linearization method (Isidori,1985), (Slotine & Li, 1991) in the basic version is restricted to the class of nonlinear models which are affine in the input and have smooth functions *f(x)*, *g(x)*, definite relative degree and stable zero dynamics. Therefore algorithms which uses feedback linearization are limited by above conditions.

#### **3. Unconstrained control**

Unconstrained LQ control will be applied to discrete system

$$\begin{aligned} z\_{k+1} &= A\_d z\_k + B\_d v\_k \\ y\_k &= \mathbb{C}\_d z\_k \end{aligned} \tag{8}$$

obtained by feedback linearization of (1) and by discretization of (2) with sampling interval *Ts*.

In order to track the nonzero reference signal *wt* we augment the state space system by adding new variable *zint* with integral action

$$z\_{\text{int\\_}t+1} = z\_{\text{int\\_}t} + w\_t - y\_t \tag{9}$$

the equation (8) with augmented state vector takes form

$$\begin{aligned} z\_{t+1} &= \begin{bmatrix} A\_d & 0 \\ -C\_d & 1 \end{bmatrix} z\_t + \begin{bmatrix} B\_d \\ 0 \end{bmatrix} v\_t + \begin{bmatrix} 0 \\ 1 \end{bmatrix} w\_t \\ y\_t &= \begin{bmatrix} C\_d & 0 \end{bmatrix} z\_t \end{aligned} \tag{10}$$

The cost function can be written by

Feedback Linearization and LQ Based Constrained Predictive Control 33

<sup>1</sup> ( ), *t t t tt z zwp*

*d d d d*

> . <sup>1</sup> *B Ld y*

At the beginning of the algorithm (*t*=0) we have to find *pt* in other way – we do not have *pt-1*. Several ways of choosing this initial perturbation *p*0 will be presented with analysis of its

> 1 1 2 12

1 12 12 2 00 2 2

presents action of the system. The variables *h1* and *h2* represent levels of a fluid in the first and the second tank. *h*2 is also the output of the system. The control input is the inflow *q* to the first tank and the output is the level in the second tank. More details about this system

After replacing the state by vector *x* and the input by *u* after some calculation we obtain

*l l*

*c c*

*g x*

*<sup>c</sup> f x a a*

*a*

*l l q a g h h for h h q a gh for h*

 

2 0

1 2

2( )

*gx x*

*gx x gx*

 

2( ) 2

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

System inflow and the two levels are constrained in this system owing to its structure.

3 3

0cm /s 96.3cm /s 0cm 60cm 0cm 60cm.

*u x x*

 

1 2

0 0 1 2 2

2

() .

*hx x*

*c*

2( )

*l l*

*ch q q ch q q* 

*C* 

*A B L L BL*

where

performance in the section 7.1.

Equations describing dynamics of two tanks system

( )

**5. Two coupled tanks** 

with Bernoulli equations

system (1) with

can be find in (Poulsen et al.2001b).

Constrains are given by equations:

12 3 , <sup>1</sup>

(17)

(18)

(21)

(22)

(23)

(19)

(20)

$$J\_t = \sum\_{k=t}^{\infty} z\_k \, ^T Q z\_k + R v\_k \, ^2 \prime \tag{11}$$

then the control law which minimize the cost function (11)

, *<sup>t</sup> <sup>y</sup> t t v L w Lz* (12)

where *L* is the optimal gain and 0 . *<sup>T</sup> L LC y d*

If the system (11) is complete controllable and the weight matrices *Q* and *R* are positive definite, then the cost function *Jt* is finite and the control law (12) guarantee stability of the control system (Anderson & Moore 1990).

### **4. Constrained predictive control**

Constrained variables of nonlinear system (1) can be expressed by equation

$$\mathbf{x}\_k = \mathbf{P}\mathbf{x}\_k + \mathbf{H}\mathbf{u}\_k \tag{13}$$

with constraints vectors LB and UB

$$LB \le \mathcal{c}\_k \le \mathsf{LIB}.\tag{14}$$

Constraints will be included into control law by interpolation method in every step *t*. It operates by using optimal control law (12) to


then using *ww p t t tt* one has to minimize in every step *αt* with constraints (14) while using (10) and (12) to predict future values on prediction horizon. For nonlinear system constrained values depend on signals from linear model through nonlinear functions (3,4) therefore to minimize *αt* the bisection method was used in simulations.

The *αt* can take values between 0 (this represents unconstrained control) and 1 (feasible but not optimal solution). If changing control *vt* have the effect in changing *u* and every constrained values in monotonic way then the dependence of *αt* on constrained values is also monotonic and there exists one minimum of *αt*.

Note that *pt* is a vector of the size of reference signal *wt* calculated in the time instant *t*. The perturbation *pt* which provide feasible solution can be obtained from previous step by

$$p\_t = \alpha\_{t-1} p\_{t-1.} \tag{15}$$

With optimal *αt* we can rewrite control law from (12):

$$w\_t = L\_y(w\_t + \alpha\_t p\_t) - Lz\_t \tag{16}$$

and the state equation (10) with used (16):

$$z\_{t+1} = \Phi z\_t + \Gamma \left( w\_t + \alpha\_t p\_t \right), \tag{17}$$

where

32 Frontiers of Model Predictive Control

*t kk k*

If the system (11) is complete controllable and the weight matrices *Q* and *R* are positive definite, then the cost function *Jt* is finite and the control law (12) guarantee stability of the

Constraints will be included into control law by interpolation method in every step *t*. It

changed reference signal *wwp t tt* with *pt* called perturbation so chosen, that all

using (10) and (12) to predict future values on prediction horizon. For nonlinear system constrained values depend on signals from linear model through nonlinear functions (3,4)

The *αt* can take values between 0 (this represents unconstrained control) and 1 (feasible but not optimal solution). If changing control *vt* have the effect in changing *u* and every constrained values in monotonic way then the dependence of *αt* on constrained values is

Note that *pt* is a vector of the size of reference signal *wt* calculated in the time instant *t*. The perturbation *pt* which provide feasible solution can be obtained from previous step by

> *t tt* 1 1. *p*

*k t J z Qz Rv* 

Constrained variables of nonlinear system (1) can be expressed by equation

then the control law which minimize the cost function (11)

where *L* is the optimal gain and 0 . *<sup>T</sup> L LC y d*

control system (Anderson & Moore 1990).

**4. Constrained predictive control** 

with constraints vectors LB and UB

then using *ww p t t tt*

operates by using optimal control law (12) to

also monotonic and there exists one minimum of *αt*.

With optimal *αt* we can rewrite control law from (12):

and the state equation (10) with used (16):

() *<sup>t</sup> <sup>y</sup> t tt t v Lw*

original reference signal *wt* (unconstrained optimal control),

signals after using control law will satisfy constraints,

therefore to minimize *αt* the bisection method was used in simulations.

<sup>2</sup> , *<sup>T</sup>*

(11)

, *<sup>t</sup> <sup>y</sup> t t v L w Lz* (12)

*kk k c Px Hu* (13)

. *LB c UB <sup>k</sup>* (14)

*p* (15)

*p Lz* (16)

one has to minimize in every step *αt* with constraints (14) while

$$
\Phi = \begin{bmatrix} A\_d - B\_d \begin{bmatrix} L\_1 & L\_2 \end{bmatrix} & -B\_d L\_3 \\ -C\_d & 1 \end{bmatrix} \tag{18}
$$

$$
\Gamma = \begin{bmatrix} B\_d L\_y \\ \mathbf{1} \end{bmatrix}. \tag{19}
$$

At the beginning of the algorithm (*t*=0) we have to find *pt* in other way – we do not have *pt-1*. Several ways of choosing this initial perturbation *p*0 will be presented with analysis of its performance in the section 7.1.

#### **5. Two coupled tanks**

Equations describing dynamics of two tanks system

$$\begin{aligned} c\dot{h}\_1 &= q - q\_1\\ c\dot{h}\_2 &= q\_1 - q\_2 \end{aligned} \tag{20}$$

with Bernoulli equations

$$\begin{aligned} q\_1 &= \sigma\_l a\_l \sqrt{2g(h\_1 - h\_2)} & \text{for} \quad h\_1 \ge h\_2\\ q\_2 &= \sigma\_0 a\_0 \sqrt{2gh\_2} & \text{for} \quad h\_2 \ge 0 \end{aligned} \tag{21}$$

presents action of the system. The variables *h1* and *h2* represent levels of a fluid in the first and the second tank. *h*2 is also the output of the system. The control input is the inflow *q* to the first tank and the output is the level in the second tank. More details about this system can be find in (Poulsen et al.2001b).

After replacing the state by vector *x* and the input by *u* after some calculation we obtain system (1) with

$$f(\mathbf{x}) = \begin{bmatrix} \frac{-\sigma\_l a\_l}{c} \sqrt{2g(\mathbf{x}\_1 - \mathbf{x}\_2)}\\ \frac{\sigma\_l a\_l}{c} \sqrt{2g(\mathbf{x}\_1 - \mathbf{x}\_2)} - \frac{\sigma\_0 a\_0}{c} \sqrt{2g\mathbf{x}\_2} \end{bmatrix}$$

$$g(\mathbf{x}) = \begin{bmatrix} 1/c\\ 0 \end{bmatrix} \tag{22}$$

$$h(\mathbf{x}) = \mathbf{x}\_2.$$

System inflow and the two levels are constrained in this system owing to its structure. Constrains are given by equations:

$$\begin{aligned} 0 \text{cm}^3 \text{/s} & \le u \le 96.3 \text{cm}^3 \text{/s} \\ 0 \text{cm} & \le x\_1 \le 60 \text{cm} \\ 0 \text{cm} & \le x\_2 \le 60 \text{cm} \end{aligned} \tag{23}$$

Feedback Linearization and LQ Based Constrained Predictive Control 35

with *T*(*t*) - temperature inside the reactor and *Tj*(*t*) – temperature in the cooling jacket, both

Thermal energy in the process of cooling and the velocity of reaction are described by

*Q t UA T t T t* () () (), *c j*

<sup>0</sup> () () . *E RT t Rt Ctke*

 *t* represents cooling flow through the reactor jacket expressed in [m3 /h] and is the input of the system. The output variable is the temperature *T*(*t*). More detailed explanation

/ ()

2

/ 0 1

*E Rx*

0 3

*T x v hx x*

*j j*

() ,

*UA <sup>b</sup> v c* ,

 

0

 

2

*j j pj*

*c*

1 2 13 10 22 3

( )

() 0

*p*

, 2 *<sup>c</sup>*

Constrained value in this system is the inflow of the cooling water to the reactor jacket –the

The system has an interesting property – three equilibrium points, two stable and one

The system has order *n*=3 relative degree *r*=2. Therefore we obtain two linear equations (two

*yz x y z Lhx*

 

2 2

1 2

*f f gf*

*v L hx LLhxu*

( ) () ()

*UA <sup>b</sup> V c* 

unstable. In normal work the system is operating in the unstable area.

*y* 

( )

*aC a k e x*

*bx x*

2

*p*

*c* 

3 3 0m / h 2.5m / h *u* (29)

. (28)

/

*E Rx*

measured in Kelvin.

additional equations:

of this system can be found in (Zietkiewicz, 2010).

*a V* , 1 *<sup>c</sup>*

Equations (27) can be rearranged to the simplified form (1) with

() ( )

*i*

*i*

*f x aT a b x b x cx k e*

*g x*

( ) *<sup>j</sup>* 

where

input of the system

**6.1 Feedback linearization** 

states) differentiating the output

#### **5.1 Feedback linearization**

By differentiating the output signal and choosing the consequent elements of vector *z*:

$$\begin{aligned} \dot{y} &= z\_1 = x\_2\\ \dot{y} &= z\_2 = L\_f h(\mathbf{x})\\ \ddot{y} &= \beta v = L\_f \,^2 h(\mathbf{x}) + L\_{\mathcal{g}} L\_f h(\mathbf{x}) \boldsymbol{\mu} \end{aligned}$$

we obtain linear system

$$
\dot{z} = \begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix} z + \begin{bmatrix} 0 \\ \beta \end{bmatrix} v \tag{24}
$$

Where <sup>5</sup> 5 10 is chosen to ensure balanced relation of components in LQ cost equation.

While operating on linear model we need to have access to state variables the diffeomorphism (3). We also need equation to calculate the control signal from original system (4).

This can be done via the following equations (calculated as a result of (24) and above):

$$\mathbf{x} = \rho(z) = \left[ z\_1 + \frac{\left(cz\_2 + \sigma\_0 a\_0 \sqrt{2gz\_1}\right)^2}{2g\sigma\_1^2 a\_l^2} \right] \tag{25}$$

$$\mu = \wp(\upsilon, \mathbf{x}) = \frac{\beta \upsilon - L\_f^{-2} h(\mathbf{x})}{L\_\chi L\_f h(\mathbf{x})} \tag{26}$$

#### **6. Continuous stirred tank reactor**

The operation of reactor (CSTR) is described by 3 differential equations (27). First equation illustrates the mass balance,

$$V\frac{dC(t)}{dt} = \phi(C\_i - C(t)) - VR(t),\tag{27a}$$

where *C*(*t*) is the concentration (molar mass) of reaction product measured in [kmol/m3]. The second equation represents the balance of energy in the reactor

$$V\rho c c\_p \frac{dT(t)}{dt} = \phi \rho c c\_p (T\_i - T(t)) - Q(t) + \delta V R(t),\tag{27b}$$

the balance of energy in the reactor cooling jacked is described by third equation

$$
\rho v\_j \rho\_j c\_{p\dagger} \frac{dT\_j(\mathbf{t})}{d\mathbf{t}} = \phi\_j(\mathbf{t}) \rho\_j c\_{p\dagger} \left( T\_{j0} - T\_j(\mathbf{t}) \right) + Q(\mathbf{t})\_{\prime} \tag{27c}
$$

with *T*(*t*) - temperature inside the reactor and *Tj*(*t*) – temperature in the cooling jacket, both measured in Kelvin.

Thermal energy in the process of cooling and the velocity of reaction are described by additional equations:

$$Q(t) = UA\_c \left( T(t) - T\_j(t) \right).$$

$$R(t) = C(t)k\_0 e^{-E/RT(t)}.$$

( ) *<sup>j</sup> t* represents cooling flow through the reactor jacket expressed in [m3 /h] and is the input of the system. The output variable is the temperature *T*(*t*). More detailed explanation of this system can be found in (Zietkiewicz, 2010).

Equations (27) can be rearranged to the simplified form (1) with

$$f(\mathbf{x}) = \begin{bmatrix} a\mathbf{C}\_i - (a + b\_0 e^{-E/R\mathbf{x}\_2})\mathbf{x}\_1\\ aT\_i - (a + b\_1)\mathbf{x}\_2 + b\_1 \mathbf{x}\_3 + c\mathbf{x}\_1 k\_0 e^{-E/R\mathbf{x}\_2} \\\ b\_2(\mathbf{x}\_2 - \mathbf{x}\_3) \end{bmatrix}$$

$$\mathbf{g}(\mathbf{x}) = \begin{bmatrix} 0\\0\\0\\\ \frac{T\_{j0} - \mathbf{x}\_3}{v\_j} \end{bmatrix} \tag{28}$$

$$h(\mathbf{x}) = \mathbf{x}\_2$$

where

34 Frontiers of Model Predictive Control

1 2

*f f gf*

*v L hx LLhxu*

01 0

While operating on linear model we need to have access to state variables the diffeomorphism (3). We also need equation to calculate the control signal from original

 

0 0 *z zv*

This can be done via the following equations (calculated as a result of (24) and above):

( ) () ()

 <sup>2</sup> 2 00 1

*v L hx*

*LLhx*

*cz a gz*

2

1

*z*

1 2 2

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

The operation of reactor (CSTR) is described by 3 differential equations (27). First equation

where *C*(*t*) is the concentration (molar mass) of reaction product measured in [kmol/m3].

( ) ( ( )) ( ), *<sup>i</sup> dC t V C C t VR t dt* 

( ) ( ( )) ( ) ( ), *<sup>p</sup> p i dT t V c c T T t Q t VR t dt*

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

*<sup>z</sup> x z g a*

*u vx*

5 10 is chosen to ensure balanced relation of components in LQ cost equation.

(24)

(26)

(27c)

 <sup>0</sup> ( ) ( ) ( ) ( ), *<sup>j</sup>*

(25)

(27a)

(27b)

By differentiating the output signal and choosing the consequent elements of vector *z*:

2 2

*y* 

The second equation represents the balance of energy in the reactor

*dT t*

 

the balance of energy in the reactor cooling jacked is described by third equation

*j j pj j j pj j j*

 

*v c t c T T t Qt dt*

**6. Continuous stirred tank reactor** 

illustrates the mass balance,

*yz x y z Lhx*

 

**5.1 Feedback linearization** 

we obtain linear system

Where <sup>5</sup> 

system (4).

$$a = \frac{\phi}{V} \; , \; b\_1 = \frac{\mathcal{U}A\_c}{V\rho c\_p} \; , \; b\_2 = \frac{\mathcal{U}A\_c}{v\_j \rho\_j c\_{pj}} \; , \; c = \frac{\delta}{\rho c\_p} \; .$$

Constrained value in this system is the inflow of the cooling water to the reactor jacket –the input of the system

$$0\text{m}^3 \text{ / h} \le \mu \le 2.5\text{m}^3 \text{ / h} \tag{29}$$

The system has an interesting property – three equilibrium points, two stable and one unstable. In normal work the system is operating in the unstable area.

#### **6.1 Feedback linearization**

The system has order *n*=3 relative degree *r*=2. Therefore we obtain two linear equations (two states) differentiating the output

$$\begin{aligned} \dot{y} &= z\_1 = x\_2\\ \dot{y} &= z\_2 = L\_f h(\mathbf{x})\\ \ddot{y} &= \beta v = L\_f \,^2 h(\mathbf{x}) + L\_{\mathcal{g}} L\_f h(\mathbf{x}) \boldsymbol{\mu} \end{aligned}$$

Feedback Linearization and LQ Based Constrained Predictive Control 37

In fig.(1) charts with dashed lines presents signals without perturbation and with zero reference signal, whereas solid lines represent signals with used perturbation obtained from (34). Minimization of the first element in (33) approaches output and input *v* to zero, minimization of the second element approaches signals to that without using perturbation. Problem appears with the input *v* which approaches to zero by minimization of the first element of (33) but by minimization of the second element approaches to high negative value. This is visible in the first steps. This value also depends on *Qp* and *Rp* nonetheless it cannot be chosen arbitrarily close to zero. Too high modulus of *v* causes signals of nonlinear system to be more didstant from zero, and that can violate constraints. Another way of calculating initial perturbation can be find in (Poulsen et al.2001a) but that method is limited

To remedy this difficulty we can try to use as the initial perturbation signal which makes *wt* and automatically other signals unchanged. This however causes problems in working algorithm in next steps and provides week tracking of original reference signal (this will be

*J z Qz Rv*

*T* 2 *t k p k p k*

<sup>2</sup> 2 *T T t k j k p k k j k*

*J z Qz Rp z Np*

(35)

*t t <sup>y</sup> <sup>t</sup> v Lz L p* (36)

(37)

. *t t p Kz* (34)

and finding optimal gain *K* by LQ method we have

to linear (or Jacobian linearized) models.

shown in fig.(11)).

then after some calculations

when

Fig. 1. First method of finding the initial perturbation trajectory

Other way of calculating initial perturbation is to take minimum of

*k t*

*k t*

We obtain linear system with order=2 similar to (24). The calibrating parameter in this system <sup>4</sup> 5 10 . The system has internal dynamic described by equation

$$\dot{\mathbf{x}}\_1 = a\mathbf{C}\_i - (a + k\_0 e^{-E/R y})\mathbf{x}\_1$$

The zero dynamics are given by

$$
\dot{\mathbf{x}}\_1 = a\mathbf{C}\_i - a\mathbf{x}\_1
$$

The eigenvalue is then equal to *a*. As <sup>3</sup> 1.13m /*h* and <sup>3</sup> *V* 1.36m the modulus of *a* is less than 1 therefore the system is minimum phase.

The third state variable satisfying condition (7) will be chosen as

$$z\_3 = x\_{1'},$$

then

$$\mathbf{x} = \rho(\mathbf{z}) = \begin{bmatrix} \mathbf{z}\_3 \\ \mathbf{z}\_1 \\ \frac{(a+b\_1)\mathbf{z}\_1 + \mathbf{z}\_2 - c\mathbf{z}\_3\mathbf{k}\_0 e^{-E/R\mathbf{z}\_1} - a\mathbf{T}\_i}{b\_1} \end{bmatrix}^{\prime} \tag{30}$$

$$\boldsymbol{\mu} = \boldsymbol{\nu}(\mathbf{v}, \mathbf{x}) = \frac{\beta \mathbf{v} - \boldsymbol{L}\_f^{-2} \boldsymbol{h}(\mathbf{x})}{\mathbf{L}\_\chi L\_f \mathbf{h}(\mathbf{x})} \,. \tag{31}$$

### **7. Operating of the algorithm**

The control strategy described in sections 2-4 will be developed in this point showing advantages of the algorithm while using it to the two nonlinear systems with constraints.

#### **7.1 Initial perturbation**

Problem with finding initial perturbation signalized at the end of the section 4, arise because the solution must guarantee constraints, and the constrained values in spite of linearization are not accessible in a linear way. On the other hand this solution should not be too simple and only feasible as it will be shown on charts.

The first way of calculating initial perturbation is the method proposed in (Poulsen et al.2001b). It is based on using zero as the reference signal and the initial state corresponding to the step of original reference signal. We obtain state equation

$$
\Delta z\_{t+1} = \Phi z\_t + \Gamma p\_t. \tag{32}
$$

After minimization of the cost function

$$J\_t = \sum\_{k=t}^{\infty} z\_k \, ^T Q\_p z\_k + R\_p p\_k \, ^2 \tag{33}$$

and finding optimal gain *K* by LQ method we have

$$p\_t = -Kz\_t.\tag{34}$$

In fig.(1) charts with dashed lines presents signals without perturbation and with zero reference signal, whereas solid lines represent signals with used perturbation obtained from (34). Minimization of the first element in (33) approaches output and input *v* to zero, minimization of the second element approaches signals to that without using perturbation. Problem appears with the input *v* which approaches to zero by minimization of the first element of (33) but by minimization of the second element approaches to high negative value. This is visible in the first steps. This value also depends on *Qp* and *Rp* nonetheless it cannot be chosen arbitrarily close to zero. Too high modulus of *v* causes signals of nonlinear system to be more didstant from zero, and that can violate constraints. Another way of calculating initial perturbation can be find in (Poulsen et al.2001a) but that method is limited to linear (or Jacobian linearized) models.

Fig. 1. First method of finding the initial perturbation trajectory

To remedy this difficulty we can try to use as the initial perturbation signal which makes *wt* and automatically other signals unchanged. This however causes problems in working algorithm in next steps and provides week tracking of original reference signal (this will be shown in fig.(11)).

Other way of calculating initial perturbation is to take minimum of

$$J\_t = \sum\_{k=t}^{\mathcal{O}} \mathbf{z}\_k \, ^T \mathbf{Q}\_p \mathbf{z}\_k + R\_p \mathbf{v}\_k \, ^2 \tag{35}$$

when

36 Frontiers of Model Predictive Control

We obtain linear system with order=2 similar to (24). The calibrating parameter in this

1 01 ( ) *E Ry <sup>i</sup> x aC a k e x*

1 1 *<sup>i</sup> x aC ax*

3 1 *z x* ,

1 1 2 30

( ) *E Rz*

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

The control strategy described in sections 2-4 will be developed in this point showing advantages of the algorithm while using it to the two nonlinear systems with constraints.

Problem with finding initial perturbation signalized at the end of the section 4, arise because the solution must guarantee constraints, and the constrained values in spite of linearization are not accessible in a linear way. On the other hand this solution should not be too simple

The first way of calculating initial perturbation is the method proposed in (Poulsen et al.2001b). It is based on using zero as the reference signal and the initial state corresponding

> *T* 2 *t k p k p k*

*J z Qz Rp*

*k t*

3 1

*z*

1

*v L hx*

*LLhx*

*a b z z cz k e aT b*

/

1.13m /*h* and <sup>3</sup> *V* 1.36m the modulus of *a* is less

1

*i*

. (31)

<sup>1</sup> . *t tt z zp* (32)

(33)

, (30)

/

5 10 . The system has internal dynamic described by equation

*x z z*

*u vx*

The third state variable satisfying condition (7) will be chosen as

( )

system <sup>4</sup> 

then

The zero dynamics are given by

**7. Operating of the algorithm** 

and only feasible as it will be shown on charts.

After minimization of the cost function

to the step of original reference signal. We obtain state equation

**7.1 Initial perturbation** 

The eigenvalue is then equal to *a*. As <sup>3</sup>

than 1 therefore the system is minimum phase.

$$
\Delta \upsilon\_t = -Lz\_t + L\_y p\_t \tag{36}
$$

then after some calculations

$$J\_t = \sum\_{k=t}^{\infty} z\_k \, ^T \mathbf{Q}\_j z\_k + \mathbf{R}\_p p\_k \, ^2 + 2 z\_k \, ^T \mathbf{N}\_j p\_k \tag{37}$$

Feedback Linearization and LQ Based Constrained Predictive Control 39

Fig. 3. Input *u*[cm3/s] as a dependence on *α*

Fig. 4. Level in the first tank *x*1[cm] as a dependence on *α*

with

$$Q\_j = Q\_p + L^T R L\_\prime \quad R\_j = L\_y R L\_{y\prime} \quad N\_j = -L^T R L\_1 \tag{38}$$

After using this cost function (37) with the same *Qp* and *Rp* as was used in the first method of calculating initial perturbation we obtain signals presented in fig.(2).

Fig. 2. Second method of finding the initial perturbation trajectory

It can be seen from figures (1) and (2) that in the second variant the two input values have smaller absolute values which can have an influence on fulfilling constraints. The second solution is not provide feasible signals for every *Q, R, Qp Rp, Ts* but it simplify choosing those parameters.

#### **7.2 Constrained values as a dependence of** *α*

After using the third method of obtaining initial perturbation for model of two tanks and reactor we will see how the constrained values are dependent on *αt* in the first step. Important feature of nonlinear system is that in a sampling interval *Ts* in given step *t* when *vt* is constant, *u* is changing because *u* is a function of *vt* and *x*, which is also changing from *xt* to *xt*+1. We have to monitor this control value as it may violate constraints. We can calculate *x* in every step from the inversion of (3) but (4) gives as only initial *ut* at the beginning of *Ts*. Therefore *u* has to be calculated by integration. However when *Ts* is not to high and *u* changes monotonically in *Ts* we can use its approximated value at the end of *Ts* calculated from (4) by

$$
\mu\_{t\_{-}end} = \psi(v\_{t'}\mathfrak{x}\_{t+1}).\tag{39}
$$

That value has to be taken in consideration in the algorithm while minimizing *αt* with constraints.

For the two tanks system we have constrained *u*, *x1* and *x2*. Constraints are given in (23).

Figures represent how the input and the two variables change for various *αt*. The system was sampled with *Ts*=5, weight matrices for LQ regulator are given *Q*=diag(1 1 1), *R*=0.01 and the weight matrices used to calculate initial perturbation are *Qp*=0.01\* diag(1 1 1), *Rp*=1. Reference signal was changed from 20cm to 40cm.

38 Frontiers of Model Predictive Control

After using this cost function (37) with the same *Qp* and *Rp* as was used in the first method of

It can be seen from figures (1) and (2) that in the second variant the two input values have smaller absolute values which can have an influence on fulfilling constraints. The second solution is not provide feasible signals for every *Q, R, Qp Rp, Ts* but it simplify choosing

After using the third method of obtaining initial perturbation for model of two tanks and reactor we will see how the constrained values are dependent on *αt* in the first step. Important feature of nonlinear system is that in a sampling interval *Ts* in given step *t* when *vt* is constant, *u* is changing because *u* is a function of *vt* and *x*, which is also changing from *xt* to *xt*+1. We have to monitor this control value as it may violate constraints. We can calculate *x* in every step from the inversion of (3) but (4) gives as only initial *ut* at the beginning of *Ts*. Therefore *u* has to be calculated by integration. However when *Ts* is not to high and *u* changes monotonically in *Ts* we can use its approximated value at the end of *Ts*

> \_ 1 ( , ). *u vx t end t t*

That value has to be taken in consideration in the algorithm while minimizing *αt* with

Figures represent how the input and the two variables change for various *αt*. The system was sampled with *Ts*=5, weight matrices for LQ regulator are given *Q*=diag(1 1 1), *R*=0.01 and the weight matrices used to calculate initial perturbation are *Qp*=0.01\* diag(1 1 1), *Rp*=1.

For the two tanks system we have constrained *u*, *x1* and *x2*. Constraints are given in (23).

(39)

*<sup>T</sup> N L RL <sup>j</sup>* (38)

, *<sup>T</sup> Q Q L RL j p* , *R L RL j yy* <sup>1</sup>

calculating initial perturbation we obtain signals presented in fig.(2).

Fig. 2. Second method of finding the initial perturbation trajectory

**7.2 Constrained values as a dependence of** *α*

Reference signal was changed from 20cm to 40cm.

with

those parameters.

calculated from (4) by

constraints.

Fig. 3. Input *u*[cm3/s] as a dependence on *α*

Fig. 4. Level in the first tank *x*1[cm] as a dependence on *α*

Feedback Linearization and LQ Based Constrained Predictive Control 41

The CSTR system has one constrained value - control input *u*, the constraints are given in equation (29). For simulations the sampling interval was chosen as *Ts*=5s, weight matrices for LQ regulator: Q=diag(1 1 1), R=10 and weight matrices for LQ regulator in first perturbation calculations: *Qp*=0.1\*diag(1 1 1), *Rp*=10. Reference values was changed from

333K to 338K.


Fig. 7. Input *u*[m3/h] as a dependence on *α*


Fig. 8. Input *u*[m3/h] calculated at the end of every *Ts* as a dependence on *α*

Fig. 5. Level in the second tank *x*2[cm] as a dependence on *α*

Fig. 6. Input *u*[cm3/s] calculated at the end of every *Ts* as a dependence on *α*

On above figures it can be seen that the dependence of *x* and *u* on *αt* is monotonic and for small values *αt* the variables are close to zero end fulfils constraints. We can see that input values at the end of every period *Ts* is very important because it can takes higher values than *ut* calculated from (4).

40 Frontiers of Model Predictive Control

Fig. 5. Level in the second tank *x*2[cm] as a dependence on *α*

Fig. 6. Input *u*[cm3/s] calculated at the end of every *Ts* as a dependence on *α*

than *ut* calculated from (4).

On above figures it can be seen that the dependence of *x* and *u* on *αt* is monotonic and for small values *αt* the variables are close to zero end fulfils constraints. We can see that input values at the end of every period *Ts* is very important because it can takes higher values The CSTR system has one constrained value - control input *u*, the constraints are given in equation (29). For simulations the sampling interval was chosen as *Ts*=5s, weight matrices for LQ regulator: Q=diag(1 1 1), R=10 and weight matrices for LQ regulator in first perturbation calculations: *Qp*=0.1\*diag(1 1 1), *Rp*=10. Reference values was changed from 333K to 338K.

Fig. 7. Input *u*[m3/h] as a dependence on *α*

Fig. 8. Input *u*[m3/h] calculated at the end of every *Ts* as a dependence on *α*

Feedback Linearization and LQ Based Constrained Predictive Control 43

In this section the final algorithm is used for two tanks system and then for CSTR system. On every figure time is expressed in seconds. For the two tanks system reference signal was changed from 20cm to 40cm in time 160s, other adjustments were chosen as: *Ts*=8s, *Q*=diag(1

In the first experiment the initial perturbation was chosen so that reference signal and

therefore every signals in the system was unchanged. The result is given in fig.(11).

Fig. 11. First experiment for two tanks system, output *y*[cm] and input *u*[cm3/s] values

In this case if we use perturbed reference trajectory obtained in the described way, in every time instant *t* changing *αt* means that the perturbed reference signal is a step in this time instant and it is not changing from time *t*+1 to the end of original reference signal. In the upper chart the output is represented by solid line, whereas dotted line means perturbed reference signal (the first value of the perturbed reference signal is taken in every step *t*). There is visible that from about 250s to 300s the perturbation is the same, in those instants *α* has to be equal 1. That is a consequence of too low perturbed reference signal which results in too low value of input, which has to be placed by appropriate *α* at the constraint, in this case zero. In normal work of this algorithm if the active constraint is the constraint of input it should concern values in the first steps distant from the

In the second experiment we will use initial perturbation calculated with cost function (37)

In the second experiment the active constraint is the input and from time 270s the level in the first tank. The regulation time is shorter than in the first experiment, constraints are fulfilled. The fast changes of input value visible from time 150s are the changes within

**7.3 Simulations of the algorithm** 

1 1), *R*=0.1.

current *t*.

intervals *Ts*.

and weight matrices *Qp*=0.1\*diag(1 1 1), *Rp*=0.1.

In figures (7-8) we can see as for the two tank system that constrained values are monotonically dependent on *α*. Moreover the two unconstrained variables x1 and x2 which charts are presented in fig.(9,10) are also monotonically dependent on *α* therefore those variables could be taken into consideration as constrained variables in the algorithm.

Fig. 9. Product concentration *x*1[kmol/m3] as a dependence on *α*

Fig. 10. Temperature in the jacket *x2*[K] as a dependence on *α*

## **7.3 Simulations of the algorithm**

42 Frontiers of Model Predictive Control

In figures (7-8) we can see as for the two tank system that constrained values are monotonically dependent on *α*. Moreover the two unconstrained variables x1 and x2 which charts are presented in fig.(9,10) are also monotonically dependent on *α* therefore those

variables could be taken into consideration as constrained variables in the algorithm.

Fig. 9. Product concentration *x*1[kmol/m3] as a dependence on *α*

Fig. 10. Temperature in the jacket *x2*[K] as a dependence on *α*

In this section the final algorithm is used for two tanks system and then for CSTR system. On every figure time is expressed in seconds. For the two tanks system reference signal was changed from 20cm to 40cm in time 160s, other adjustments were chosen as: *Ts*=8s, *Q*=diag(1 1 1), *R*=0.1.

In the first experiment the initial perturbation was chosen so that reference signal and therefore every signals in the system was unchanged. The result is given in fig.(11).

Fig. 11. First experiment for two tanks system, output *y*[cm] and input *u*[cm3/s] values

In this case if we use perturbed reference trajectory obtained in the described way, in every time instant *t* changing *αt* means that the perturbed reference signal is a step in this time instant and it is not changing from time *t*+1 to the end of original reference signal. In the upper chart the output is represented by solid line, whereas dotted line means perturbed reference signal (the first value of the perturbed reference signal is taken in every step *t*). There is visible that from about 250s to 300s the perturbation is the same, in those instants *α* has to be equal 1. That is a consequence of too low perturbed reference signal which results in too low value of input, which has to be placed by appropriate *α* at the constraint, in this case zero. In normal work of this algorithm if the active constraint is the constraint of input it should concern values in the first steps distant from the current *t*.

In the second experiment we will use initial perturbation calculated with cost function (37) and weight matrices *Qp*=0.1\*diag(1 1 1), *Rp*=0.1.

In the second experiment the active constraint is the input and from time 270s the level in the first tank. The regulation time is shorter than in the first experiment, constraints are fulfilled. The fast changes of input value visible from time 150s are the changes within intervals *Ts*.

Feedback Linearization and LQ Based Constrained Predictive Control 45

Fig. 15. The experiment for the CSTR system, product concentration *x*1[kmol/m3] and the

The experiment for Continuous Stirred Tank Reactor was performed for changing reference signal from 333K to 338K, adjustments takes given values: *Ts*=10, *Q*=diag(1 1 1), *R*=10

Model based predictive control attracts interest of researchers for many years as the method which is intuitive and allows to include constraints in the control design. Quadratic cost function in various types are used in MPC. Application of feedback linearization in MPC is also interested issue. Proposed interpolation method allows to reducing the number of degrees of freedom in the prediction. horizon. In the chapter the algorithm which combine interpolation and LQ regulator for feedback linearized system was tested for a CSTR model which is nonlinear and works in unstable area. It has been developed by using new initial perturbation calculating and by taking into consideration input values of unconstrained

Further research in this area could concern developing a method of finding adjustments for initial perturbation and for the LQ regulator used in the algorithm. Interesting issue is to apply the method for more complicated system. The multi-input and multi-output systems can be interesting class because feedback linearization rearranges those systems to *m* linear

Anderson, B. D.O.; Moore J. B. Optimal control. Linear quadratic methods (1990), Prentice-

He De-Feng, Song Xiu-Lan, Yang Ma-Ying, (2011), *Proceedings of 30th Chinese Control* 

*Conference*, ISBN: 978-1-4577-0677-6, pp. 3368 – 3371, Yantai, China

temperature in the jacket *x*2[K]

model which changes within sampling intervals.

Hall, ISBN 0-13-638560-5, New Jersey, USA

single-input, single output systems.

*Qp*=0.1\*diag(1 1 1), *Rp*=10.

**8. Conclusion** 

**9. References** 

Fig. 12. Second experiment for two tanks system, output *y*[cm] and input *u*[cm3/s] values

Fig. 13. The level in the first tank *x*1[cm] in the second experiment for two tanks system

Fig. 14. The experiment for the CSTR system, output *y*[K] and input *u*[m3/h] values

Fig. 15. The experiment for the CSTR system, product concentration *x*1[kmol/m3] and the temperature in the jacket *x*2[K]

The experiment for Continuous Stirred Tank Reactor was performed for changing reference signal from 333K to 338K, adjustments takes given values: *Ts*=10, *Q*=diag(1 1 1), *R*=10 *Qp*=0.1\*diag(1 1 1), *Rp*=10.

#### **8. Conclusion**

44 Frontiers of Model Predictive Control

Fig. 12. Second experiment for two tanks system, output *y*[cm] and input *u*[cm3/s] values

Fig. 13. The level in the first tank *x*1[cm] in the second experiment for two tanks system

Fig. 14. The experiment for the CSTR system, output *y*[K] and input *u*[m3/h] values

Model based predictive control attracts interest of researchers for many years as the method which is intuitive and allows to include constraints in the control design. Quadratic cost function in various types are used in MPC. Application of feedback linearization in MPC is also interested issue. Proposed interpolation method allows to reducing the number of degrees of freedom in the prediction. horizon. In the chapter the algorithm which combine interpolation and LQ regulator for feedback linearized system was tested for a CSTR model which is nonlinear and works in unstable area. It has been developed by using new initial perturbation calculating and by taking into consideration input values of unconstrained model which changes within sampling intervals.

Further research in this area could concern developing a method of finding adjustments for initial perturbation and for the LQ regulator used in the algorithm. Interesting issue is to apply the method for more complicated system. The multi-input and multi-output systems can be interesting class because feedback linearization rearranges those systems to *m* linear single-input, single output systems.

#### **9. References**

Anderson, B. D.O.; Moore J. B. Optimal control. Linear quadratic methods (1990), Prentice-Hall, ISBN 0-13-638560-5, New Jersey, USA

He De-Feng, Song Xiu-Lan, Yang Ma-Ying, (2011), *Proceedings of 30th Chinese Control Conference*, ISBN: 978-1-4577-0677-6, pp. 3368 – 3371, Yantai, China

**0**

**3**

*Brazil*

**Infeasibility Handling in Constrained MPC**

Predictive Control optimization problems may be rendered infeasible in the presence of constraints due to model-plant mismatches, external perturbations, noise or faults. This may cause the optimizer to issue a control sequence which is impossible to implement, leading to prediction errors, as well as loss of stability of the control loop. Such a problem motivates the development of techniques aimed at recovering feasibility without violating hard physical constraints imposed by the nature of the plant. Currently, setpoint management approaches and techniques dealing with changes in the constraints are two of the most effective solutions to recover feasibility with low computational demand. In this chapter a review of techniques that can be understood as one of the aforementioned is presented along with some illustrative

One of the main advantages of Predictive Control is the ability to deal with constraints over the inputs and states of the plant in an explicit manner, which brings better performance and more safety to the operation of the plant (Maciejowski, 2002), (Rossiter, 2003). Constraints over the excursion of the control signals are particularly common in processes that operate near optimal conditions (Rodrigues & Odloak, 2005). However, if the optimization becomes infeasible, possibly due to model-plant mismatches, external perturbations, noise or faults, a control sequence which is impossible to implement may be issued, leading to prediction errors, as well as loss of stability of the control loop (Maciejowski, 2002). Such a problem motivates the development of techniques aimed at recovering feasibility without violating

The MPC formulation itself allows for a simple solution, which consists of enlarging the horizons, as means to allow for more degrees of freedom in the optimization. On the other hand, an increase in the computational burden associated to the solution of the optimization problem results, since there are more decision variables as well as constraints. Moreover,

Constraint relaxation is one alternative which involves less decision variables and is usually effective. Nevertheless, it is often not obvious which constraints to relax and the amount by which they should be relaxed in order to attain a feasible optimization problem. There are

**1. Introduction**

**1.1 Aim of the chapter**

simulation examples.

**1.2 Concepts and literature review**

hard physical constraints imposed by the nature of the plant.

enlarging the horizons cannot solve all sorts of infeasibilities.

Rubens Junqueira Magalhães Afonso and

Roberto Kawakami Harrop Galvão *Instituto Tecnológico de Aeronáutica*

