**v Jh** *i ii* (12)

1 2 ' ... ... *nnn n n i n* (see

**vvv v v ccc c c** *i n* for all

(11)

*T*

*T*

 min 1 min 2 **<sup>r</sup> <sup>δ</sup>**

Hence, with *t* **<sup>r</sup> δ 0** , the formation error **r***t* is ultimately bounded by (11).

*T ddd di dn* **xhh h h** and 12

**6.2 Kinematic controller** 


with

*Remark 2*).

<sup>12</sup>

mobile manipulators can be represented by,

where, <sup>1</sup> # 1 *iT T i ii ii i* **J W J JW J** , being **W***i* a definite positive matrix that weighs the control actions of the system,

$$\mathbf{v}\_i = \mathbf{W}\_i^{-i} \mathbf{J}\_i^T \left(\mathbf{J}\_i \mathbf{W}\_i^{-1} \mathbf{J}\_i^T\right)^{-1} \dot{\mathbf{h}}\_i \dots$$

The following control law is proposed for the *i-*th mobile manipulator. It is based on a minimal norm solution, which means that, at any time, the mobile manipulator will attain its navigation target with the smallest number of possible movements,

$$\mathbf{v}\_{\rm ci} = \mathbf{J}\_i^{\#} \left( \dot{\mathbf{h}}\_{\mathbf{d}\_i} + \mathbf{L}\_{\mathbf{K}\_i} \tanh \left( \mathbf{L}\_{\mathbf{K}\_i}^{\mathbf{1}} \mathbf{K}\_i \, \tilde{\mathbf{h}}\_i \right) \right) + \left( \mathbf{I}\_i - \mathbf{J}\_i^{\#} \mathbf{J}\_i \right) \mathbf{L}\_{\mathbf{D}\_i} \tanh \left( \mathbf{L}\_{\mathbf{D}\_i}^{\mathbf{1}} \mathbf{D}\_i \, \Lambda\_i \right) \tag{13}$$

where, *<sup>i</sup> T xd yd zd hhh* **<sup>d</sup> <sup>h</sup>** is the desired velocities vector of the end-effector, **h***<sup>i</sup>* is the control errors vector defined by **hhh** *i di i* , **K***<sup>i</sup>* , **D***<sup>i</sup>* , **<sup>K</sup>***<sup>i</sup>* **<sup>L</sup>** and **<sup>D</sup>***<sup>i</sup>* **<sup>L</sup>** are positive definite diagonal gain matrices that weigh the error vector **h***<sup>i</sup>* and vector *<sup>i</sup>* . The first term of the right hand side in (13) describes the primary task of the end effector which minimizes # **v Jh** *i ii* . The second term defines self motion of the mobile manipulator in which the matrix # *<sup>i</sup>* **I JJ** *i i* projects an arbitrary vector *i* onto the null space of the manipulator Jacobian N **J***i* such that the secondary control objectives not affect the primary task of the end-effector. Therefore, any value given to *i* will have effects on the internal structure of the manipulator only, and will not affect the final control of the end-effector at all. By using this term, different secondary control objectives can be achieved effectively, as described in the next subsection.

In order to include an analytical saturation of velocities in the *i-*th mobile manipulator, the tanh . function, which limits the error in **h***<sup>i</sup>* and the magnitude of the vector *<sup>i</sup>* , is proposed. The expressions tanh *<sup>i</sup> i i* **-1 L Kh <sup>K</sup>** and tanh *<sup>i</sup> i i* **-1 L DD** denote a component by component operation.

On the other hand, the behaviour of the control error of the *i-*th end-effector **h***<sup>i</sup>* is now analysed assuming -by now- perfect velocity tracking **v v** *i i* **<sup>c</sup>** . By substituting (13) in (12) it is obtained

$$
\dot{\tilde{\mathbf{h}}}\_i + \mathbf{L}\_{\mathbf{K}\_i} \tanh \left( \mathbf{L}\_{\mathbf{K}\_i}^{-1} \mathbf{K}\_i \, \tilde{\mathbf{h}}\_i \right) = \mathbf{0} \tag{14}
$$

For the stability analysis the following Lyapunov candidate function is considered <sup>1</sup> <sup>2</sup> <sup>0</sup> *<sup>V</sup> i ii* **<sup>T</sup> h hh** . Its time derivative on the trajectories of the system is

$$\dot{V}\left(\tilde{\mathbf{h}}\_i\right) = -\tilde{\mathbf{h}}\_i^T \mathbf{L}\_{\mathbf{K}\_i} \tanh\left(\mathbf{L}\_{\mathbf{K}\_i}^{-1} \mathbf{K}\_i \,\tilde{\mathbf{h}}\_i\right) < 0$$

which implies that the equilibrium point of the closed-loop (14) is asymptotically stable, thus the position error of the *i-*th end-effector verifies **h 0** *<sup>i</sup> t* asymptotically with *t* .

#### **6.2.1 Secondary control objectives**

A mobile manipulator is defined as redundant because it has more degrees of freedom than required to achieve the desired end-effector motion. The redundancy of such mobile manipulators can be effectively used for the achievement of additional performances such as: avoiding obstacles in the workspace and singular configuration, or to optimize various performance criteria. In this Chapter two different secondary objectives are considered: the avoidance of obstacles by the mobile platform and the singular configuration prevention through the system's manipulability control.

#### *Manipulability*

One of the main requirements for an accurate task execution by the robot is a good manipulability, defined as the robot configuration that maximizes its ability to manipulate a target object. Therefore, one of the secondary objectives of the control is to maintain maximum manipulability of the mobile manipulator during task execution. Manipulability is a concept introduced by Yoshikawa (1985) to measure the ability of a fixed manipulator to move in certain directions. Bayle and Fourquet (2001) present a similar analysis for the manipulability of mobile manipulators and extend the concept of manipulability ellipsoid as the set of all end-effector velocities reachable by robot velocities **v***i* satisfying 1 **v***<sup>i</sup>* in the

Euclidean space. A global representative measure of manipulation ability can be obtained by considering the volume of this ellipsoid which is proportional to the quantity *w* called the *manipulability measure,*

$$w = \sqrt{\det\left(\mathbf{J}\_i(\mathbf{q}\_i)\mathbf{J}\_i^T(\mathbf{q}\_i)\right)}\tag{15}$$

Therefore, the mobile manipulator will have maximum manipulability if its internal configuration is such that maximizes the manipulability measure *w* .

#### *Obstacle Avoidance*

The main idea is to avoid obstacles which maximum height does not interfere with the robotic arm. Therefore the arm can follow the desired path while the mobile platform avoids the obstacle by resourcing to the null space configuration. The angular velocity and the longitudinal velocity of the mobile platform will be affected by a fictitious repulsion force. This force depends on the incidence angle on the obstacle , and the distance *d* to the obstacle*.* This way, the following control velocities are proposed:

$$\mu\_{\rm obs} = Z^{-1} \left( k\_{\rm nobs} \left( d\_o - d \right) \left\lceil \pi f \mathcal{2} - \left| a \right| \right\rceil \right) \tag{16}$$

$$
\rho\_{\rm obs} = \mathbb{Z}^{-1} \left( k\_{\rm absbs} \left( d\_o - d \right) \text{sign} \left( \alpha \right) \left[ \pi / 2 - \left| \alpha \right| \right] \right) \tag{17}
$$

178 Frontiers in Advanced Control Systems

which implies that the equilibrium point of the closed-loop (14) is asymptotically stable,

A mobile manipulator is defined as redundant because it has more degrees of freedom than required to achieve the desired end-effector motion. The redundancy of such mobile manipulators can be effectively used for the achievement of additional performances such as: avoiding obstacles in the workspace and singular configuration, or to optimize various performance criteria. In this Chapter two different secondary objectives are considered: the avoidance of obstacles by the mobile platform and the singular configuration prevention

One of the main requirements for an accurate task execution by the robot is a good manipulability, defined as the robot configuration that maximizes its ability to manipulate a target object. Therefore, one of the secondary objectives of the control is to maintain maximum manipulability of the mobile manipulator during task execution. Manipulability is a concept introduced by Yoshikawa (1985) to measure the ability of a fixed manipulator to move in certain directions. Bayle and Fourquet (2001) present a similar analysis for the manipulability of mobile manipulators and extend the concept of manipulability ellipsoid as the set of all end-effector velocities reachable by robot velocities **v***i* satisfying 1 **v***<sup>i</sup>* in the Euclidean space. A global representative measure of manipulation ability can be obtained by considering the volume of this ellipsoid which is proportional to the quantity *w* called the

Therefore, the mobile manipulator will have maximum manipulability if its internal

The main idea is to avoid obstacles which maximum height does not interfere with the robotic arm. Therefore the arm can follow the desired path while the mobile platform avoids the obstacle by resourcing to the null space configuration. The angular velocity and the longitudinal velocity of the mobile platform will be affected by a fictitious repulsion force.

<sup>1</sup> 2 *u Zk dd obs uobs o*

*obs Z k d d sign obs o*

<sup>1</sup> 2

 (16)

configuration is such that maximizes the manipulability measure *w* .

This force depends on the incidence angle on the obstacle

obstacle*.* This way, the following control velocities are proposed:

det *<sup>T</sup> w i ii i* **JqJ q** (15)

 (17)

, and the distance *d* to the

*<sup>i</sup> t* asymptotically with *t* .

thus the position error of the *i-*th end-effector verifies **h 0**

**6.2.1 Secondary control objectives** 

through the system's manipulability control.

*Manipulability* 

*manipulability measure,*

*Obstacle Avoidance* 

where, *<sup>o</sup> d* is the radius which determines the distance at which the obstacle starts to be avoided, *uobs k* and *obs k* are positive adjustment gains, the sign function allows defining to which side the obstacle is to be avoided being *sign(0)=1*. represents the mechanical impedance characterizing the robot-environment interaction, which is calculated as <sup>2</sup> *Is Bs K* with *I*, *B* and *K* being positive constants representing, respectively, the effect of the inertia, the damping and the elasticity. The closer the platform is to the obstacle, the bigger the values of *obs* and *uobs* .

Taking into account the maximum manipulability (15) and the obstacle avoidance (16) and (17), the vector *i* is now defined as,

$$\boldsymbol{\Lambda}\_{i} = \begin{bmatrix} -\boldsymbol{\mu}\_{\rm iobs} & \boldsymbol{\alpha}\_{\rm iobs} & k\_{\rm ri1} \left(\boldsymbol{\theta}\_{i1d} - \boldsymbol{\theta}\_{i1}\right) & k\_{\rm ri2} \left(\boldsymbol{\theta}\_{i2d} - \boldsymbol{\theta}\_{i2}\right) & \dots & k\_{\rm vin} \left(\boldsymbol{\theta}\_{imd} - \boldsymbol{\theta}\_{imd}\right) \end{bmatrix}^{\rm T} \tag{18}$$

where *kvi id i* – being 1,2,.., *<sup>a</sup> i n* and > 0 *vi k* – are joint velocities proportional to the configuration errors of the mobile robotic arm, in such a way that the manipulator joints will be pulled to the desired *id* values that maximize manipulability.

#### **6.3 Adaptive dynamic compensation controller**

The objective of the Adaptive Dynamic Compensation layer is to compensate for the dynamics of each mobile manipulator, thus reducing the velocity tracking error. This layer receives the desired velocities **vc** 1 2 [ ]*<sup>T</sup>* **vv v v cc c c** *i n* for all robots, and generates velocity references 12 [ ]*<sup>T</sup>* **vvv v v** *ref ref ref ref i ref n* to be sent to the mobile manipulators.

The adaptive dynamic compensation is performed separately for each robot. Each one of the controllers receive the velocities references **vc***<sup>i</sup> t* from the Kinemtic Control layer, and generates another velocities commands **vref** *<sup>i</sup> t* for the servos of the *i-*th mobile manipulator.

Thus, if there is no perfect velocity tracking of the *i-*th mobile manipulator, as assumed in Subsection 6.2, the will be a velocity error **v***it* defined as, **v =v -v** *i ii* **<sup>c</sup>** this velocity error motivates to design an adaptive dynamic compensation controller with a robust parameter updating law. It is consider the exact model of the *i-th* mobile manipulator without including disturbances (3),

$$\mathbf{M}\_i \dot{\mathbf{v}}\_i + \mathbf{C}\_i \mathbf{v}\_i + \mathbf{G}\_i = \mathbf{v}\_{\text{reff}} \tag{19}$$

Hence, the following control law is proposed for the *i-*th mobile manipulator is,

$$\mathbf{v}\_{\text{ref }i} = \mathbf{o}\mathbf{b}\_{i}\hat{\mathbf{x}}\_{i} = \mathbf{o}\mathbf{b}\_{i}\mathbf{\tilde{x}}\_{i} + \mathbf{o}\mathbf{b}\_{i}\tilde{\mathbf{x}}\_{i} = \mathbf{M}\_{i}\mathbf{o}\_{i} + \mathbf{C}\_{i}\mathbf{v}\_{\text{ci}} + \mathbf{G}\_{i} + \mathbf{Q}\_{i}\tilde{\mathbf{x}}\_{i} \tag{20}$$

where **Φq, v,σ** <sup>x</sup> *ni <sup>l</sup>* , **χ***i l* 1 2 ... and 1 2 ˆ ˆˆ ˆ ... **χ***i l* are respectively the unknown vector, real parameters vector and estimated parameters vector of the i-th mobile manipulator, whereas ˆ **χ***i ii* **= χ - χ** represents the vector of parameter errors and *i i i i ii* tanh **-1 σ v L LKv c v vv** .

In order to obtain the closed-loop equation for the inverse dynamics with uncertain model (19) is equated to (20),

$$\mathbf{M}\_i \mathbf{\dot{v}}\_i + \mathbf{C}\_i \mathbf{v}\_i + \mathbf{G}\_i = \mathbf{M}\_i \mathbf{o}\_i + \mathbf{C}\_i \mathbf{v}\_{ci} + \mathbf{G}\_i + \mathbf{O}\_i \mathbf{\dot{X}}\_i$$

$$\mathbf{M}\_i (\mathbf{o}\_i - \mathbf{\dot{v}}\_i) = -\mathbf{C}\_i \mathbf{\tilde{v}}\_i - \mathbf{O}\_i \mathbf{\tilde{X}}\_i \tag{21}$$

and next, **σ***i* is introduced in (21)

$$\dot{\tilde{\mathbf{v}}}\_{i} = \mathbf{-M}\_{i}^{-1} \boldsymbol{\Phi}\_{i} \tilde{\mathbf{x}}\_{i} \mathbf{-M}\_{i}^{-1} \mathbf{C}\_{i} \tilde{\mathbf{v}}\_{i} \cdot \mathbf{L}\_{\mathbf{v}i} \tanh\left(\mathbf{L}\_{\mathbf{v}i}^{-1} \mathbf{K}\_{\mathbf{v}i} \tilde{\mathbf{v}}\_{i}\right) \tag{22}$$

A Lyapunov candidate function is proposed as

$$V\left(\tilde{\mathbf{v}}\_{i}, \tilde{\mathbf{x}}\_{i}\right) = \frac{1}{2} \tilde{\mathbf{v}}\_{i}^{\mathrm{T}} \mathbf{H}\_{i} \mathbf{M}\_{i} \tilde{\mathbf{v}}\_{i} + \frac{1}{2} \tilde{\mathbf{x}}\_{i}^{\mathrm{T}} \mathbf{Y}\_{i} \tilde{\mathbf{x}}\_{i} \tag{23}$$

where *lxl* **γ***<sup>i</sup>* is a positive definite diagonal matrix and **H M***i i* is a symmetric and positive definite matrix. The time derivative of the Lyapunov candidate function on the system's trajectories is,

$$\nabla \left( \tilde{\mathbf{v}}\_{i'} \tilde{\chi}\_i \right) = -\tilde{\mathbf{v}}\_i^T \mathbf{H}\_i \mathbf{M}\_i \mathbf{L}\_{vi} \tanh \left( \mathbf{L}\_{vi}^\mathbf{L} \mathbf{K}\_{vi} \tilde{\mathbf{v}}\_i \right) - \tilde{\mathbf{v}}\_i^T \mathbf{H}\_i \mathbf{C}\_i \tilde{\mathbf{v}}\_i - \tilde{\mathbf{v}}\_i^T \mathbf{H}\_i \mathbf{Q}\_i \tilde{\chi}\_i + \tilde{\chi}\_i^T \mathbf{v}\_i \dot{\tilde{\chi}}\_i + \frac{1}{2} \tilde{\mathbf{v}}\_i^T \mathbf{H}\_i \dot{\mathbf{M}}\_i \tilde{\mathbf{v}}\_i$$

Now, recalling that <sup>1</sup> *ii i i i* **M q H M +D** and <sup>1</sup> *i ii i i i* **C q ,v =H C +P** ,

$$\dot{V}\left(\tilde{\mathbf{v}}\_{i\prime}\tilde{\chi}\_{i}\right) = -\tilde{\mathbf{v}}\_{i}^{\mathrm{T}}\mathbf{H}\_{i}\mathbf{M}\_{i}\mathbf{L}\_{\mathrm{vi}}\tanh\Bigl(\mathbf{L}\_{\mathrm{vi}}^{-1}\mathbf{K}\_{\mathrm{vi}}\tilde{\mathbf{v}}\_{i}\Big) - \tilde{\mathbf{v}}\_{i}^{\mathrm{T}}\left(\overline{\mathbf{C}}\_{i} + \mathbf{P}\_{i}\right)\tilde{\mathbf{v}}\_{i} - \tilde{\mathbf{v}}\_{i}^{\mathrm{T}}\mathbf{H}\_{i}\boldsymbol{\varPhi}\_{i}\tilde{\chi}\_{i} + \tilde{\chi}\_{i}^{\mathrm{T}}\mathbf{v}\_{i}\dot{\tilde{\chi}}\_{i} + \frac{1}{2}\tilde{\mathbf{v}}\_{i}^{\mathrm{T}}\tilde{\mathbf{M}}\_{i}\tilde{\mathbf{v}}\_{i}$$

Due to the well known skew-symmetric property of **M C** *i i* <sup>2</sup> , *<sup>V</sup>* **v***i i* ,**<sup>χ</sup>** reduces to,

$$\dot{V}\left(\tilde{\mathbf{v}}\_{i},\tilde{\mathbf{x}}\_{i}\right) = -\tilde{\mathbf{v}}\_{i}^{\mathrm{T}}\mathbf{H}\_{i}\mathbf{M}\_{i}\mathbf{L}\_{\mathrm{vi}}\tanh\left(\mathbf{L}\_{\mathrm{vi}}^{\mathrm{T}}\mathbf{K}\_{\mathrm{vi}}\tilde{\mathbf{v}}\_{i}\right) - \tilde{\mathbf{v}}\_{i}^{\mathrm{T}}\mathbf{P}\_{i}\tilde{\mathbf{v}}\_{i} - \tilde{\mathbf{v}}\_{i}^{\mathrm{T}}\mathbf{H}\_{i}\mathbf{D}\_{i}\tilde{\mathbf{x}}\_{i} + \tilde{\mathbf{X}}\_{i}^{\mathrm{T}}\mathbf{y}\_{i}\dot{\tilde{\mathbf{x}}}\_{i}\tag{24}$$

The following parameter-updating law is proposed for the adaptive dynamic compensation controller. It is based on a leakage term, or - modification (Kaufman et al., 1998; Sastry and Bodson, 1989). Reference (Nasisi and Carelli, 2003) presented an adaptive visual servo controller with -modification applied to a robot manipulator. By including such term, the robust updating law is obtained

$$\dot{\hat{\mathbf{x}}}\_{i} = \mathbf{y}\_{i}^{\text{-1}} \boldsymbol{\Phi}\_{i}^{\text{T}} \mathbf{H}\_{i} \tilde{\mathbf{v}}\_{i} - \mathbf{y}\_{i}^{\text{-1}} \boldsymbol{\Gamma}\_{i} \hat{\mathbf{x}}\_{i} \tag{25}$$

where *l l* <sup>x</sup> **<sup>Γ</sup>***<sup>i</sup>* is a diagonal positive gain matrix. Equation (25) is rewritten as

$$\dot{\tilde{\chi}}\_i = \mathbf{y}\_i^{-1} \mathbf{Q}\_i^T \mathbf{H}\_i \tilde{\mathbf{v}}\_i - \mathbf{y}\_i^{-1} \Gamma\_i \tilde{\mathbf{x}}\_i - \mathbf{y}\_i^{-1} \Gamma\_i \chi\_i \tag{26}$$

Let us consider that the dynamic parameters can vary, *i.e*., *i i t* and ˆ *i ii* **<sup>χ</sup> <sup>=</sup> <sup>χ</sup> - <sup>χ</sup>** . Substituting (23) in (24),

$$\dot{V}\left(\tilde{\mathbf{v}}\_{i},\tilde{\chi}\_{i}\right) = -\tilde{\mathbf{v}}\_{i}^{\mathrm{T}}\mathbf{H}\_{i}\mathbf{M}\_{i}\mathbf{L}\_{\mathrm{vi}}\tanh\left(\mathbf{L}\_{\mathrm{vi}}^{\mathrm{T}}\mathbf{K}\_{\mathrm{vi}}\tilde{\mathbf{v}}\_{i}\right) - \tilde{\mathbf{v}}\_{i}^{\mathrm{T}}\mathbf{P}\_{i}\tilde{\mathbf{v}}\_{i} - \tilde{\chi}\_{i}^{\mathrm{T}}\mathbf{T}\_{i}\tilde{\chi}\_{i} - \tilde{\chi}\_{i}^{\mathrm{T}}\mathbf{T}\_{i}\chi\_{i} - \tilde{\chi}\_{i}^{\mathrm{T}}\mathbf{v}\_{i}\dot{\chi}\_{i}\,. \tag{27}$$

Considering small values of **v***<sup>i</sup>* , then *i i ii ii* tanh **-1 L LKv Kv v vv v** . The following constants are defined: *k*max **Γ***i* , *k*max **γ***i* , **Γ***i* , *MKP i i i i i i <sup>v</sup>* **HMK P <sup>v</sup>** , where min **<sup>T</sup> Z ZZ** is the minimum singular value to **Z** , *k*max max **<sup>T</sup> Z ZZ** denotes the maximum singular value of **Z** , and min . and max . represent the smallest and the biggest eigenvalues of a matrix, respectively. Then, *V* can be rewritten as,

$$\dot{V}\left(\tilde{\mathbf{v}}\_{i},\tilde{\mathbf{\chi}}\_{i}\right) = -\mu\_{\text{MK}\_{v}P} \left\|\tilde{\mathbf{v}}\_{i}\right\|^{2} - \mu\_{\Gamma} \left\|\tilde{\mathbf{\chi}}\_{i}\right\|^{2} + \nu\_{\Gamma} \left\|\tilde{\mathbf{\chi}}\_{i}\right\| \left\|\mathbf{\chi}\_{i}\right\| + \nu\_{\gamma} \left\|\tilde{\mathbf{\chi}}\_{i}\right\| \left\|\dot{\mathbf{\chi}}\_{i}\right\|.\tag{28}$$

Considering in the difference square,

$$\left(\frac{1}{\zeta} \left\| \tilde{\mathbf{x}}\_i \right\| - \zeta \left\| \mathbf{x}\_i \right\| \right)^2 = \frac{1}{\zeta^2} \left\| \tilde{\mathbf{x}}\_i \right\|^2 - 2 \left\| \tilde{\mathbf{x}}\_i \right\| \left\| \mathbf{x}\_i \right\| + \zeta^2 \left\| \mathbf{x}\_i \right\|^2$$

can be written as,

180 Frontiers in Advanced Control Systems

mobile manipulator, whereas ˆ **χ***i ii* **= χ - χ** represents the vector of parameter errors and

In order to obtain the closed-loop equation for the inverse dynamics with uncertain model

**M v +C v +G =M** *ii ii i ii i i i ii* **σ +C v +G + <sup>c</sup> Φ χ**

1 1

 <sup>1</sup> <sup>2</sup> *<sup>V</sup> i i i i i i i ii i i ii i i ii i ii i i ii* , tanh **<sup>T</sup> -1 <sup>T</sup> <sup>T</sup> <sup>T</sup> <sup>T</sup> <sup>v</sup> <sup>χ</sup> v HML L K v v v vv <sup>Η</sup> Cv v H Φχ χ γχ v HMv**

 <sup>1</sup> <sup>2</sup> *<sup>V</sup> i i i i i i i ii i i i i i i ii i ii i ii* , tanh **<sup>T</sup> -1 <sup>T</sup> <sup>T</sup> <sup>T</sup> <sup>T</sup> <sup>v</sup> <sup>χ</sup> v HML L K v v C P v v H v vv Φχ χ γχ v Mv**

Due to the well known skew-symmetric property of **M C** *i i* <sup>2</sup> , *<sup>V</sup>* **v***i i* ,**<sup>χ</sup>** reduces to,

where *lxl* **γ***<sup>i</sup>* is a positive definite diagonal matrix and **H M***i i* is a symmetric and positive definite matrix. The time derivative of the Lyapunov candidate function on the system's

**M q H M +D** and <sup>1</sup>

The following parameter-updating law is proposed for the adaptive dynamic compensation

and Bodson, 1989). Reference (Nasisi and Carelli, 2003) presented an adaptive visual servo

ˆ ˆ *<sup>i</sup> ii ii ii i*

ˆ*i i i ii i ii i ii*

where *l l* <sup>x</sup> **<sup>Γ</sup>***<sup>i</sup>* is a diagonal positive gain matrix. Equation (25) is rewritten as

*<sup>V</sup> i i i i i i i ii i ii i i ii i ii* , tanh **<sup>T</sup> -1 T T <sup>T</sup> <sup>v</sup> <sup>χ</sup> v HML L K v v Pv v H v vv Φχ χ γχ** (24)


1 1

**M***i i i ii ii* **σ v = Cv Φ χ** (21)

*i i ii i ii i i ii* tanh **-1 v = -M Φ χ v vv -M Cv -L L K v** (22)

2 2 , *<sup>V</sup> i i i i ii i ii* **T T <sup>v</sup> <sup>χ</sup> v HMv χ γχ** (23)

*i ii i i i* **C q ,v =H C +P** ,


**-1 T -1 χ = γ Φ Hv - γ Γχ** (25)

**-1 T -1 -1 <sup>χ</sup> <sup>=</sup> γ Φ Hv - γ Γχ - γ Γχ** (26)

*i i i i ii* tanh **-1 σ v L LKv c v vv** .

and next, **σ***i* is introduced in (21)

A Lyapunov candidate function is proposed as

Now, recalling that <sup>1</sup>

controller. It is based on a leakage term, or

robust updating law is obtained

*ii i i i*

(19) is equated to (20),

trajectories is,

controller with

$$\left\|\tilde{\mathbf{x}}\_{i}\right\| \left\|\mathbf{x}\_{i}\right\| \leq \frac{1}{2\zeta^{2}} \left\|\tilde{\mathbf{x}}\_{i}\right\|^{2} + \frac{\zeta^{2}}{2} \left\|\mathbf{x}\_{i}\right\|^{2}.\tag{29}$$

By applying a similar reasoning with , it can be obtained

$$\left\|\tilde{\mathbf{x}}\_{i}\right\|\left\|\dot{\mathbf{x}}\_{i}\right\| \leq \frac{1}{2\eta^{2}} \left\|\tilde{\mathbf{x}}\_{i}\right\|^{2} + \frac{\eta^{2}}{2} \left\|\dot{\mathbf{x}}\_{i}\right\|^{2}.\tag{30}$$

Substituting (30) and (29) in (28)

$$\dot{V}(\tilde{\mathbf{v}}\_{i},\tilde{\mathbf{y}}\_{i}) \leq -\mu\_{\text{MK}\_{v}P} \left\lVert \tilde{\mathbf{v}}\_{i} \right\rVert^{2} - \mu\_{\Gamma} \left\lVert \tilde{\mathbf{y}}\_{i} \right\rVert^{2} + \nu\_{\Gamma} \left(\frac{1}{2\zeta^{2}} \left\lVert \tilde{\mathbf{y}}\_{i} \right\rVert^{2} + \frac{\zeta^{2}}{2} \left\lVert \mathbf{x}\_{i} \right\rVert^{2}\right) + \nu\_{\gamma} \left(\frac{1}{2\eta^{2}} \left\lVert \tilde{\mathbf{x}}\_{i} \right\rVert^{2} + \frac{\eta^{2}}{2} \left\lVert \dot{\mathbf{x}}\_{i} \right\rVert^{2}\right) \tag{31}$$

Equation (31) can be written in compact form as

$$\dot{V}\left(\tilde{\mathbf{v}}\_{i},\tilde{\mathbf{x}}\_{i}\right)\leq -\varepsilon\_{1}\left\|\tilde{\mathbf{v}}\_{i}\right\|^{2} - \varepsilon\_{2}\left\|\tilde{\mathbf{x}}\_{i}\right\|^{2} + \delta\tag{32}$$

where, 1 0 *MK Pv* , 2 2 2 2 2 0 and 2 2 2 2 2 2 *i i* **χ χ** , with and conveniently selected. Now, from the Lyapunov candidate function 1 1 2 2 , *<sup>V</sup> i i i i ii i ii* **T T <sup>v</sup> <sup>χ</sup> v HMv χ γχ** it can be stated that

$$V \le \beta\_1 \left\| \tilde{\mathbf{v}}\_i \right\|^2 + \beta\_2 \left\| \tilde{\mathbf{y}}\_i \right\|^2 \tag{33}$$

where <sup>1</sup> 1 2 *M* , <sup>1</sup> <sup>2</sup> <sup>2</sup> , *<sup>M</sup>* max *i i k* **H M** , *k*max **γ***i* . Then,

$$
\dot{V} \le -\Lambda V + \delta \tag{34}
$$

with 1 2 1 2 , . Since is bounded, (34) implies that **v***<sup>i</sup> t* and **χ***<sup>i</sup> t* are finally bounded. Therefore, the -modification term makes the adaptation law more robust at the expense of increasing the error bound. As is a function of the minimum singular value of the gain matrix **Γ***i* of the -modification term, and its values are arbitrary, then the error bound can be made small. Note that the proposed adaptive dynamic controller does not guarantee that **χ***<sup>i</sup> t* **0** as *t* . In other words, estimated parameters might converge to values that are different from their true values. Actually, it is not required that **χ***<sup>i</sup> t* **0** in order to make **v***<sup>i</sup> t* converge to a bounded value.

*Remark 8:* Note that the updating law (25) needs the **H***<sup>i</sup>* matrix. This matrix includes parameters of the actuators, which can be easily known and remain constant. Therefore, this is not a relevant constraint within the adaptive control design.

### **6.4 Stability analysis considering h***<sup>i</sup> t*  **and v***<sup>i</sup> t*

The behaviour of the tracking error of the end-effector **h***<sup>i</sup> t* of the *i-*th mobile manipulator is now analysed relaxing the assumption of perfect velocity tracking. Therefore, the (14) is now written as,

$$\dot{\tilde{\mathbf{h}}}\_i + \mathbf{L}\_{\mathbf{K}i} \tanh \left( \mathbf{L}\_{\mathbf{K}i}^{-1} \mathbf{K}\_i \, \tilde{\mathbf{h}}\_i \right) = \mathbf{J}\_i \tilde{\mathbf{v}}\_i \tag{35}$$

where, **v***<sup>i</sup>* is the velocity error of the *i-*th mobile manipulator and *<sup>i</sup>* **J** the Jacobian matrix. It is considered a Lyapunov candidate function <sup>1</sup> *i ii* <sup>2</sup> *<sup>V</sup>* **<sup>T</sup> h hh** and its time derivative,

$$
\hat{V}\left(\tilde{\mathbf{h}}\_i\right) = \tilde{\mathbf{h}}\_i^{\mathrm{T}} \mathbf{J}\_i \tilde{\mathbf{v}}\_i - \tilde{\mathbf{h}}\_i^{\mathrm{T}} \mathbf{L}\_{\mathbf{K}i} \tanh\left(\mathbf{L}\_{\mathbf{K}i}^{\mathrm{-1}} \mathbf{K}\_i \,\tilde{\mathbf{h}}\_i\right) .
$$

A sufficient condition for *<sup>V</sup>* **h***i* to be negative definite is

$$\left| \tilde{\mathbf{h}}\_i^T \mathbf{L}\_{\mathbf{K}i} \tanh \left( \mathbf{L}\_{\mathbf{K}i}^1 \mathbf{K}\_i \, \tilde{\mathbf{h}}\_i \right) \right| > \left| \tilde{\mathbf{h}}\_i^T \mathbf{J}\_i \tilde{\mathbf{v}}\_i \right|. \tag{36}$$

Following a similar analysis to the one in Section 6.1, it can be concluded that, if *i ii* **L Jv <sup>K</sup>** thus implying that the error *<sup>i</sup>* **h** is bounded by,

182 Frontiers in Advanced Control Systems

 

*V V*

bound can be made small. Note that the proposed adaptive dynamic controller does not guarantee that **χ***<sup>i</sup> t* **0** as *t* . In other words, estimated parameters might converge to values that are different from their true values. Actually, it is not required that **χ***<sup>i</sup> t* **0** in

*Remark 8:* Note that the updating law (25) needs the **H***<sup>i</sup>* matrix. This matrix includes parameters of the actuators, which can be easily known and remain constant. Therefore, this

The behaviour of the tracking error of the end-effector **h***<sup>i</sup> t* of the *i-*th mobile manipulator is now analysed relaxing the assumption of perfect velocity tracking. Therefore, the (14) is

*i i i i i ii* tanh **-1 h L L K h Jv K K**

where, **v***<sup>i</sup>* is the velocity error of the *i-*th mobile manipulator and *<sup>i</sup>* **J** the Jacobian matrix. It

*<sup>V</sup> i i ii i i i i i* **T T -1 h h J v h L tanh L K h K K** .

Following a similar analysis to the one in Section 6.1, it can be concluded that, if

*i ii* <sup>2</sup> *<sup>V</sup>* **<sup>T</sup> h hh**

is bounded by,

1 2 **v***i i* **χ** (33)

(34)

is a function of the minimum singular value of

*k*max **γ***i* . Then,

is bounded, (34) implies that **v***<sup>i</sup> t* and **χ***<sup>i</sup> t* are finally



(35)

*i i i i i i ii* **<sup>T</sup> -1 <sup>T</sup> h L tanh L K h h J v K K** . (36)

and its time derivative,

, *<sup>M</sup>* max *i i*

*k* **H M** ,

2 2 *<sup>V</sup>*

order to make **v***<sup>i</sup> t* converge to a bounded value.

**6.4 Stability analysis considering h***<sup>i</sup> t*  **and v***<sup>i</sup> t*

is considered a Lyapunov candidate function <sup>1</sup>

A sufficient condition for *<sup>V</sup>* **h***i* to be negative definite is

*i ii* **L Jv <sup>K</sup>** thus implying that the error *<sup>i</sup>* **h**

is not a relevant constraint within the adaptive control design.

expense of increasing the error bound. As

where <sup>1</sup>

with 1 2

now written as,

1 2 *M* 

 , <sup>1</sup> <sup>2</sup> <sup>2</sup>

1 2 , 

 . Since

bounded. Therefore, the

the gain matrix **Γ***i* of the

$$\left\|\tilde{\mathbf{h}}\_{i}\right\| \leq \frac{\left\|\mathbf{J}\_{i}\tilde{\mathbf{v}}\_{i}\right\|}{\varphi\_{\min}^{2}\left(\mathbf{K}\_{i}\right)} \; ; \qquad \text{with} \; 0 \leq \zeta \leq 1 \tag{37}$$

Hence, if **v v** *i i* **<sup>c</sup>** it is concluded that **h***<sup>i</sup> t* is ultimately bounded by (37).

Now finally, generalizing (35) for whole multi-layer control scheme, it is obtained

$$\dot{\tilde{\mathbf{x}}} + \mathbf{L\_{K}} \tanh \left( \mathbf{L\_{K}^{1}K} \tilde{\mathbf{x}} \right) = \mathbf{J} \,\tilde{\mathbf{v}} \tag{38}$$

where 1 2 *T i n* **xhh h h** represents the position error vector of all mobile manipulators, **K** and **LK** are positive definite diagonal matrices defined as **K KK K K** *diag* 1 2 , .., .., *i n* and **L LL L L K KK K K** *diag* 1 2 , .., .., *i n* , respectively, while the function tanh . denote a component by component operation. By applying a similar reasoning as in (35), it is can concluded that **x** *t* is bounded by,

$$\|\tilde{\mathbf{x}}\| \le \frac{\|\mathbf{J}\tilde{\mathbf{v}}\|}{\varphi \lambda\_{\min}(\mathbf{K})}; \qquad \text{with } 0 \le \zeta \le 1 \tag{39}$$

For the case of perfect velocity tracking **v v <sup>c</sup>** , *i.e*., **v 0** , it is concluded that **x 0** *t* , which implies that **r 0** *t* asymptotically with *t* , thus accomplishing the control objective. Nevertheless, this is not always possible in real contexts, therefore if it is considered the velocity error **v 0** *t* , consequently it has that **x 0** *t* . This implies that the formation error is nonzero *t* **<sup>r</sup> δ 0** , *i.e.*, the formation error *t* **<sup>r</sup> δ** is related with the errors **x** *t* and **v** *t* . Therefore from (4), (5), (7) and (38) it is obtained the following error expression,

$$\mathbf{\dot{\delta}}\_{\tilde{\mathbf{r}}}(t) = \mathbf{J}\_{\mathbf{F}}(\mathbf{x}) \big[ \mathbf{J}(\mathbf{q}) \tilde{\mathbf{v}} - \mathbf{L}\_{\mathbf{K}} \tanh(\tilde{\mathbf{x}}) \big] \tag{40}$$

Thus, it is concluded that the adaptive dynamic compensation reduces the velocity error **v** *t* and consequently the error **x** *t* , hence formation error *t* **<sup>r</sup>** is also reduced. Finally, with this results and the conclusion previously obtained from (11), the adaptive dynamic compensation controller reduces the height limit of the formation error **r***t* .

#### **7. Simulation result and discussion**

In order to assess and discuss the performance of the proposed coordinated cooperative controller, it was developed a simulation platform for multi-mobile manipulators with Matlab interface, see the Figure 5. It is important mention that the developed simulator has incorporated the dynamic model of the robot. This is an online simulator, which allows users to view three-dimensional environment navigation of mobile manipulators. Ours simulation platform is based on the MRSiM platform presented by Brandao et al., 2008.

The *i-*th 6 DOF mobile manipulator used in the simulation is shown in Figure 5, which is composed by a non holonomic mobile platform, a laser rangefinder mounted on it, and a 3 DOF robotic arm. In order to illustrate the performance of the proposed multi-layer control scheme, several simulations were carried out for coordinated cooperative control of mobile manipulators. Most representative results are presented in this section.

Fig. 5. Mobile manipulator robot used by the simulation platform

The simulation experiments consist of a team of three or more mobile mamipulator tracking a desired trajectory while carrying a payload cooperatively. Also, the obstacle avoidance and the singular configuration prevention through the system's manipulability control are considered in the simulations. It is assumed the existence of several obstacles, which have a maximum height that does not interfere with the robotic arms. That is, the obstacles only affect the platform navigation. Hence, the task for each mobile manipulator is divided into two subtasks. The first subtask: *to carry a payload cooperatively*; and the second subtask: *obstacle avoi*d*ance and the singular configuration prevention.* 

It is important to remark that for all experiments in this section it was considered that there is an error of 30% in dynamic model parameters of each one mobile manipulator robot.

In the first one it is considered both the position and orientacion of the virtual structure. For this case, the desired positions of the arm joints are, Robot\_1: 1 0[rad] *<sup>d</sup>* , <sup>2</sup> 0.6065[rad] *<sup>d</sup>* , 3 1.2346[rad] *<sup>d</sup>* . Robot\_2 and Robot\_3: 1 0[rad] *<sup>d</sup>* , 2 0.6065[rad] *<sup>d</sup>* , and 3 1.2346[rad] *<sup>d</sup>* . Also, the desired virtual structure is selected as, 1.75 [m] *Fd p* , 1.2 [m] *Fd q* and 1.4 [rad] *Fd* , 1 0.4 *Fd z* [m] and 2 3 0.3 *F F d d z z* [m]; while the desired trajectory for the prism centroid is described by:

$$\begin{aligned} \mathbf{x}\_{F\_d} &= \mathbf{0}.\mathbf{2} \ t + \mathbf{3}.56 \ \text{ \textdegree } \\\\ y\_{F\_d} &= \mathbf{3} \cos \left( \mathbf{0}.\mathbf{1} \ t \right) + \mathbf{3} \ \text{ and \textdegree } \\\\ \boldsymbol{\nu}\_{F\_d} &= \frac{\pi}{2} + \boldsymbol{\gamma} \ \text{\textdegree } \end{aligned}$$

*Fd* 2

where arctan *Fd Fd dy dx dt dt* . It is worth noting that this trajectory was chosen in order to excite the dynamics of the robots by changing their acceleration. The values of the gains matrices were adjusted considering the system performance with the dynamic compensation deactivated. After this gain setting, the values obtained were used in all simulations.

184 Frontiers in Advanced Control Systems

scheme, several simulations were carried out for coordinated cooperative control of mobile

The simulation experiments consist of a team of three or more mobile mamipulator tracking a desired trajectory while carrying a payload cooperatively. Also, the obstacle avoidance and the singular configuration prevention through the system's manipulability control are considered in the simulations. It is assumed the existence of several obstacles, which have a maximum height that does not interfere with the robotic arms. That is, the obstacles only affect the platform navigation. Hence, the task for each mobile manipulator is divided into two subtasks. The first subtask: *to carry a payload cooperatively*; and the second subtask:

It is important to remark that for all experiments in this section it was considered that there is an error of 30% in dynamic model parameters of each one mobile manipulator robot.

In the first one it is considered both the position and orientacion of the virtual structure. For this case, the desired positions of the arm joints are, Robot\_1: 1 0[rad]

*<sup>d</sup>* . Robot\_2 and Robot\_3: 1 0[rad]

0.2 3.56 *Fd x t* ,

3cos 0.1 3 *Fd y t* and

,

. It is worth noting that this trajectory was chosen in order to

*Fd* 2 

excite the dynamics of the robots by changing their acceleration. The values of the gains matrices were adjusted considering the system performance with the dynamic compensation deactivated. After this gain setting, the values obtained were used in all

*<sup>d</sup>* . Also, the desired virtual structure is selected as, 1.75 [m] *Fd p* ,

, 1 0.4 *Fd z* [m] and 2 3 0.3 *F F d d z z* [m]; while the desired

 *<sup>d</sup>* , 2 0.6065[rad] 

*<sup>d</sup>* ,

*<sup>d</sup>* ,

manipulators. Most representative results are presented in this section.

Fig. 5. Mobile manipulator robot used by the simulation platform

*obstacle avoi*d*ance and the singular configuration prevention.* 

<sup>2</sup> 0.6065[rad]

and 3 1.2346[rad]

 *<sup>d</sup>* , 3 1.2346[rad] 

trajectory for the prism centroid is described by:

*dt dt*

1.2 [m] *Fd q* and 1.4 [rad] *Fd* 

where arctan *Fd Fd dy dx*

simulations.

Figures 6 - 9 show the results of the simulation experiment. Figure 6 shows the stroboscopic movement on the X-Y-Z space. It can be seen that the proposed controller works correctly, where three mobile manipulators work in coordinated and cooperative form while transporting a common object. It can be noticed in Figure 6 that there are three triangles of different colours representing the upper side of a virtual structure. The yellow triangle represents the shape-position of the virtual structure that describes the end-effector of the mobile manipulator robots, while the pink triangle represents the location and shape of the upper side of the desired virtual structure, and the orange triangle indicates that both previously mentioned position-shapes are equal. While, figures 7 - 9 show that the control errors **r***t* achieve values close to zero. Figure 7 shows the errors of position and orientation of the virtual structure and in Figures 8 and 9 illustrate the errors of the virtual structure shape.

Fig. 6. Cooperative Coordinated Control of Mobile Manipulators

In order to show the scalability of the control structure for 3 *n* mobile manipulators, the following simulations were carried out for coordinated cooperative control of multi-mobile manipulators.

In this context, the second simulation experiment shows a coordinated and cooperative control between four mobile manipulators. In this simulation the robots should navigate while carrying a payload, following a desired previously defined trajectory. It is considered a partially structured environment containing several obstacles in the trajectory.

Fig. 7. Position and orientation errors

Fig. 8. Structure shape errors

Fig. 9. Structure shape errors (heights)

Figures 10 show the stroboscopic movement on the X-Y-Z space, where it can be seen not only the good performance of the proposed cooperative control, but also the scalability of the proposal for multi-mobile manipulators. The pose and shape errors of the simulation experiments are shown in Figures 11 – 14.

186 Frontiers in Advanced Control Systems

Xf Yf <sup>f</sup>

pf qf <sup>f</sup>

z1f z2f z3f

<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> <sup>25</sup> <sup>30</sup> <sup>35</sup> <sup>40</sup> <sup>45</sup> <sup>50</sup> -1

Time [s]

<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> <sup>25</sup> <sup>30</sup> <sup>35</sup> <sup>40</sup> <sup>45</sup> <sup>50</sup> -1

Time [s]

<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> <sup>25</sup> <sup>30</sup> <sup>35</sup> <sup>40</sup> <sup>45</sup> <sup>50</sup> -0.2

Figures 10 show the stroboscopic movement on the X-Y-Z space, where it can be seen not only the good performance of the proposed cooperative control, but also the scalability of the proposal for multi-mobile manipulators. The pose and shape errors of the simulation

Time [s]

0

Fig. 7. Position and orientation errors





[m]

Fig. 9. Structure shape errors (heights)

experiments are shown in Figures 11 – 14.

0

0.05

Fig. 8. Structure shape errors

1

2

3

4

5

Fig. 10. Cooperative Coordinated Control of Mobile Manipulators

Fig. 11. Position and orientation errors of the triangle 1

Fig. 12. Structure shape errors of the triangle 1

Fig. 13. Position and orientation errors of the triangle 2

Fig. 14. Structure shape errors of the triangle 2

#### **8. Conclusion**

A multi-layer control scheme for adaptive cooperative coordinated control of 3 *n* mobile manipulators, for transporting a common object was presented in this Chapter. Each control layer works as an independent module, dealing with a specific part of the problem of the adaptive coordinated cooperative control. On the other hand, the i-th mobile manipulator redundancy is used for the achievement of secondary objectives such as: the singular configuration prevention through the control of the system's manipulability and the avoidance of obstacles by the mobile platforms. Stability of the system has been analytically proved, concluding that the formation errors are ultimately bounded. The results, which were obtained by simulation, show a good performance of the proposed multi-layer control scheme.

#### **9. References**

188 Frontiers in Advanced Control Systems

Xf Yf <sup>f</sup>

pf qf <sup>f</sup> z1f z2f z3f

<sup>0</sup> <sup>10</sup> <sup>20</sup> <sup>30</sup> <sup>40</sup> <sup>50</sup> <sup>60</sup> -0.5

<sup>0</sup> <sup>10</sup> <sup>20</sup> <sup>30</sup> <sup>40</sup> <sup>50</sup> <sup>60</sup> -0.25

Time [s]

A multi-layer control scheme for adaptive cooperative coordinated control of 3 *n* mobile manipulators, for transporting a common object was presented in this Chapter. Each control layer works as an independent module, dealing with a specific part of the problem of the adaptive coordinated cooperative control. On the other hand, the i-th mobile manipulator redundancy is used for the achievement of secondary objectives such as: the singular configuration prevention through the control of the system's manipulability and the avoidance of obstacles by the mobile platforms. Stability of the system has been analytically proved, concluding that the formation errors are ultimately bounded. The results, which were obtained by simulation, show a good performance of the proposed multi-layer control

Time [s]

0


**8. Conclusion** 

scheme.

Fig. 14. Structure shape errors of the triangle 2

Fig. 13. Position and orientation errors of the triangle 2

0.5

1

1.5

2

2.5


### **Iterative Learning - MPC: An Alternative Strategy**

Eduardo J. Adam1 and Alejandro H. González2 *1Chemical Engineering Department - Universidad Nacional del Litoral 2INTEC (CONICET and Universidad Nacional del Litoral) Argentina* 

#### **1. Introduction**

190 Frontiers in Advanced Control Systems

Nasisi O. and Carelli R. (2003). Adaptive servo visual robot control. *Robotics and Autonomous* 

Sastry S., and Bodson M. (1989). *Adaptive control-stability, convergence and robustness.*

Sciavicco, L. and Siciliano, B. (2000). *Modeling and Control of Robot Manipulators.* Great

Stouten B. and De Graaf A. (2004). Cooperative transportation of a large object-development

Tanner H. G., Loizou S., and Kyriakopoulos K. J. (2003). Nonholonomic navigation and

Thomas G. Sugar and Vijay Kumar. (2002). Control of Cooperating Mobile Manipulators. *IEEE Transactions on Robotics and Automation*. Vol. 18, no. 1, pp. 94-103. Xin Chen and Yangmin Li. (2006). Cooperative Transportation by Multiple Mobile

Yamamoto Y., Hiyama Y., and Fujita A. (2004). Semi-autonomous reconfiguration of

Yasuhisa Hirata, Youhei Kume, Zhi-Dong Wang, Kszuhiro Kosiige. (2003). Coordinated

Yoshikawa T. (1985). Dynamic manipulability of robot manipulators. *International Journal of* 

Yoshikawa T., (1990). *Foundations of Robotics: Analysis and Control.* The MIT Press,

Zhijun Lia, b, Shuzhi Sam Gea, , and Zhuping Wanga. (2008). Robust adaptive control of coordinated multiple mobile manipulators. *Mechatronics*. Vol. 18, pp. 239-250. Zhijun Li, Pey Y. Tao, Shuzhi S. Ge, Martin Adams, and Wijerupage S. W. (2009). Robust

control of cooperating mobile manipulators. *IEEE Trans. Robot. Autom.* Vol.19, no. 1,

Manipulators Using Adaptive NN Control. *International Joint Conference on Neural* 

wheeled mobile robots in coordination. *IEEE Int. Conf. Robot. Autom.*, pp. 3456–

Motion Control of Multiple Mobile Manipulators based on Virtual 3-D Caster. *International Conference on Robotics,Intelligent Systcms and Signal Processing*. pp. 19-

Adaptive Control of Cooperating Mobile Manipulators With Relative Motion. *IEEE Transactions on Systems, Man, and Cybernetics.* Part B: Cybernetics, Vol. 39, no. 1,

of an industrial application. *IEEE - ICRA*, vol. 3, pp. 2450-2455.

*Systems*, 43 (1), pp. 51-78.

*Networks.* pp. 4193-4200.

*Robotic Systems*, pp. 113-124.

Cambridge, MA.

pp. 103-116.

pp. 53–64.

3461.

24.

Englewood Cliffs, NJ, USA: Prentice-Hall.

Britain: Springer-Verlag London Limited.

Spong M. and Vidyasagar M., (1989). Robot Dynamics and Control.

A repetitive system is one that continuously repeats a finite-duration procedure (operation) along the time. This kind of systems can be found in several industrial fields such as robot manipulation (Tan, Huang, Lee & Tay, 2003), injection molding (Yao, Gao & Allgöwer, 2008), batch processes (Bonvin et al., 2006; Lee & Lee, 1999; 2003) and semiconductor processes (Moyne, Castillo, & Hurwitz, 2003). Because of the repetitive characteristic, these systems have two count indexes or time scales: one for the time running within the interval each operation lasts, and the other for the number of operations or repetitions in the continuous sequence. Consequently, it can be said that a control strategy for repetitive systems requires accounting for two different objectives: a short-term disturbance rejection during a finite-duration single operation in the continuous sequence (this frequently means the tracking of a predetermined optimal trajectory) and the long-term disturbance rejection from operation to operation (i.e., considering each operation as a single point of a continuous process1). Since in essence, the continuous process basically repeats the operations (assuming that long-term disturbances are negligible), the key point to develop a control strategy that accounts for the second objective is to use the information from previous operations to improve the tracking performance of the future sequence.

Despite the finite-time nature of every individual operation, the within-operation control is usually handled by strategies typically used on continuous process systems, such as PID ((Adam, 2007)) or more sophisticated alternatives as Model Predictive Control (MPC) (González et al., 2009a;b). The main difficulty arising in these applications is associated to the stability analysis, since the distinctive finite-time characteristic requires an approach different from the traditional one; this was clearly established in (Srinivasan & Bonvin, 2007). The operations sequence control can be handled by strategies similar to the standard Iterative Learning Control (ILC), which uses information from previous operations. However, the ILC exhibits the limitation of running open-loop with respect to the current operation, since no feedback corrections are made during the time interval the operation lasts.

In order to handle batch processes (Lee et al., 2000) proposed the Q-ILC, which considers a model-based controller in the iterative learning control framework. As usual in the ILC literature, only the iteration-to-iteration convergence is analyzed, as the complete input and

<sup>1</sup> In this context, continuous process means one that has not an end time.

output profiles of a given operation are considered as fix vectors (open-loop control with respect to the current operation). Another example is an MPC with learning properties presented in (Tan, Huang, Lee & Tay, 2003), where a predictive controller that iteratively improves the disturbance estimation is proposed. Form the point of view of the learning procedure, any detected state or output disturbance is taken like parameters that are updated iteration to iteration. Then, in (Lee & Lee, 1997; 1999) and (Lee et al., 2000), a real-time feedback control is incorporated into the Q-ILC (BMPC). As the authors declare, some cares must be taken when combining ILC with MPC. In fact, as read in Lee and Lee 2003, a simple-minded combination of ILC updating the nominal input trajectory for MPC before each operation does not work.

The MPC proposed in this Chapter is formulated under a closed-loop paradigm (Rossiter, 2003). The basic idea of a closed-loop paradigm is to choose a stabilizing control law and assume that this law (underlying input sequence) is present throughout the predictions. More precisely, the MPC propose here is an Infinite Horizon MPC (IHMPC) that includes an underlying control sequence as a (deficient) reference candidate to be improved for the tracking control. Then, by solving on line a constrained optimization problem, the input sequence is corrected, and so the learning updating is performed.

#### **1.1 ILC overview**

Iterative Learning Control (ILC) associates three main concepts. The concept *Iterative* refers to a process that executes the same operation over and over again. The concept *Learning* refers to the idea that by repeating the same thing, the system should be able to improve the performance. Finally, the concept *control* emphasizes that the result of the learning procedure is used to control the plant.

The ILC scheme was initially developed as a feedforward action applied directly to the open-loop system ( (Arimoto et al., 1984) ; (Kurek & Zaremba, 1993); among others). However, if the system is integrator or unstable to open loop, or well, it has wrong initial condition, the ILC scheme to open loop can be inappropriate. Thus, the feedback-based ILC has been suggested in the literature as a more adequate structure ((Roover, 1996); (Moon et al., 1998); (Doh et al., 1999); (Tayebi & Zaremba, 2003)). The basic idea is shown in Fig. 1.

This scheme, in its discrete version time, operates as follows. Consider a plant which is operated iteratively with the same set-point trajectory, *yr*(*k*), with *k* going from 0 to a final finite value *Tf* , over and over again, as a robot or an industrial batch process. During the *i*-th trail an input sequence *u<sup>i</sup>* (*k*), with *k* going from 0 to a final finite value *Tf* , is applied to the plant, producing the output sequence *y<sup>i</sup>* (*k*). Both sequences, that we will call **u***<sup>i</sup>* and **y***<sup>i</sup>* , respectively, are stored in the memory devise. Thus, two vectors with length *Tf* are available for the next iteration. If the system of Fig. 1 operates in open loop, using **u***<sup>i</sup>* in the (*i* + 1)-th trail, it is possible to obtain the same output again and again. But, if at the *i* + 1 iteration information about both, **<sup>u</sup>***<sup>i</sup>* and **<sup>e</sup>***<sup>i</sup>* <sup>=</sup> **<sup>y</sup>***<sup>i</sup>* <sup>−</sup> **<sup>y</sup>***r*, where **<sup>y</sup>***<sup>r</sup>* <sup>=</sup> *<sup>y</sup>r*(0), ··· , *<sup>y</sup>r*(*Tf*) , is considered, then new sequences **u***i*+<sup>1</sup> and **y***i*<sup>+</sup>1, can be obtained. The key point of the input sequence modification is to reduce the tracking error as the iterations are progressively increased. The 2 Will-be-set-by-IN-TECH

output profiles of a given operation are considered as fix vectors (open-loop control with respect to the current operation). Another example is an MPC with learning properties presented in (Tan, Huang, Lee & Tay, 2003), where a predictive controller that iteratively improves the disturbance estimation is proposed. Form the point of view of the learning procedure, any detected state or output disturbance is taken like parameters that are updated iteration to iteration. Then, in (Lee & Lee, 1997; 1999) and (Lee et al., 2000), a real-time feedback control is incorporated into the Q-ILC (BMPC). As the authors declare, some cares must be taken when combining ILC with MPC. In fact, as read in Lee and Lee 2003, a simple-minded combination of ILC updating the nominal input trajectory for MPC before each operation does

The MPC proposed in this Chapter is formulated under a closed-loop paradigm (Rossiter, 2003). The basic idea of a closed-loop paradigm is to choose a stabilizing control law and assume that this law (underlying input sequence) is present throughout the predictions. More precisely, the MPC propose here is an Infinite Horizon MPC (IHMPC) that includes an underlying control sequence as a (deficient) reference candidate to be improved for the tracking control. Then, by solving on line a constrained optimization problem, the input

Iterative Learning Control (ILC) associates three main concepts. The concept *Iterative* refers to a process that executes the same operation over and over again. The concept *Learning* refers to the idea that by repeating the same thing, the system should be able to improve the performance. Finally, the concept *control* emphasizes that the result of the learning procedure

The ILC scheme was initially developed as a feedforward action applied directly to the open-loop system ( (Arimoto et al., 1984) ; (Kurek & Zaremba, 1993); among others). However, if the system is integrator or unstable to open loop, or well, it has wrong initial condition, the ILC scheme to open loop can be inappropriate. Thus, the feedback-based ILC has been suggested in the literature as a more adequate structure ((Roover, 1996); (Moon et al., 1998);

This scheme, in its discrete version time, operates as follows. Consider a plant which is operated iteratively with the same set-point trajectory, *yr*(*k*), with *k* going from 0 to a final finite value *Tf* , over and over again, as a robot or an industrial batch process. During the

respectively, are stored in the memory devise. Thus, two vectors with length *Tf* are available for the next iteration. If the system of Fig. 1 operates in open loop, using **u***<sup>i</sup>* in the (*i* + 1)-th trail, it is possible to obtain the same output again and again. But, if at the *i* + 1 iteration

then new sequences **u***i*+<sup>1</sup> and **y***i*<sup>+</sup>1, can be obtained. The key point of the input sequence modification is to reduce the tracking error as the iterations are progressively increased. The

(*k*), with *k* going from 0 to a final finite value *Tf* , is applied to

(*k*). Both sequences, that we will call **u***<sup>i</sup>* and **y***<sup>i</sup>*

*<sup>y</sup>r*(0), ··· , *<sup>y</sup>r*(*Tf*)

, is considered,

,

(Doh et al., 1999); (Tayebi & Zaremba, 2003)). The basic idea is shown in Fig. 1.

sequence is corrected, and so the learning updating is performed.

not work.

**1.1 ILC overview**

is used to control the plant.

*i*-th trail an input sequence *u<sup>i</sup>*

the plant, producing the output sequence *y<sup>i</sup>*

information about both, **<sup>u</sup>***<sup>i</sup>* and **<sup>e</sup>***<sup>i</sup>* <sup>=</sup> **<sup>y</sup>***<sup>i</sup>* <sup>−</sup> **<sup>y</sup>***r*, where **<sup>y</sup>***<sup>r</sup>* <sup>=</sup>

Fig. 1. Feedback-based ILC diagram. Here, continuous lines denote the sequence used during the *i*-th trail and dashed lines denote sequence that will be used in the next iteration.

purpose of an ILC algorithm is then to find a unique input sequence **u**<sup>∞</sup> which minimizes the tracking error.

The ILC formulation uses an iterative updating formula for the control sequence, given by

$$\mathbf{u}^{i+1} = f(\mathbf{y}^r, \mathbf{y}^i, \dots, \mathbf{y}^{i-l}, \mathbf{u}^i, \mathbf{u}^{i-1}, \dots, \mathbf{u}^{i-l}), \qquad i, l \ge 0. \tag{1}$$

This formula can be categorized according to how the information from previous iteration is used. Thus, (Norrlöf, 2000) among other authors define,

DEFINITION 0.1. *An ILC updating formula that only uses measurements from previous iteration is called* first order ILC*. On the other hand, when the ILC updating formula uses measurements from more than previous iteration, it is called a* high order ILC*.*

The most common algorithm suggested by several authors ((Arimoto et al., 1984); (Horowitz, 1993); (Bien & Xu, 1998); (Tayebi & Zaremba, 2003); among others), is that whose structure is given by

$$V^{i+1} = Q(z)(V^i + \mathbb{C}(z)E^i),\tag{2}$$

where *V*<sup>1</sup> = 0, *C*(*z*) denotes the controller transfer function and *Q*(*z*) is a linear filter.

Six postulates were originally formulated by different authors ((Chen & Wen, 1999); (Norrlöf, 2000); (Scholten, 2000), among others).


Regarding the last postulate, we present now the key concept of *perfect control*.

DEFINITION 0.2. *The perfect control input trajectory,*

$$\mathfrak{u}^{perf} = \left[ \mathfrak{u}\_0^{perf^T} \dots \mathfrak{u}\_{T\_f-1}^{perf^T} \right]^T$$

*is one that, if injected into the system, produces a null output error trajectory*

$$\mathbf{e}^{\dot{i}} = \begin{bmatrix} e\_1^{\dot{\boldsymbol{T}}} \dots e\_{T\_f}^{\dot{\boldsymbol{T}}} \end{bmatrix}^T = [\mathbf{0} \dots \mathbf{0}]^T.$$

It is interesting to note that the impossibility of achieving discrete perfect control, at least for discrete nominal non-delayed linear models, is exclusively related to the input and/or states limits, which are always present in real systems and should be consistent with the control problem constraints. In this regard, a system with slow dynamic might require high input values and input increments to track an abrupt output reference change, producing in this way the constraint activation. If we assume a non-delayed linear model without model mismatch, the perfect control sequence can be found as the solution of the following (unconstrained) open-loop optimization problem

$$\mathbf{u}^{perf} = \arg\min\_{\mathbf{u}^i} \sum\_{k=1}^{T\_f} \left\| e\_k^i \right\|^2.$$

On the other hand, for the constrained case, the best possible input sequence, i.e., **u**∞, is obtained from:

$$\mathbf{u}^{\infty} = \arg\{ \min\_{\mathbf{u}^i} \sum\_{k=1}^{T\_f} \left\| \boldsymbol{\varepsilon}\_k^i \right\|^2 \text{ s.t. } \mathbf{u} \in \mathbf{U} \} \mathbf{y}$$

where **U** represents the input sequence limits, and will be discussed later.

A no evident consequence of the theoretical concept of perfect control is that only a controller that takes into account the input constraints could be capable of actually approach the perfect control, i.e. to approximate the perfect control up to the point where some of the constraints become active. A controller which does not account for constraints can maintain the system apart from those limits by means of a conservative tuning only. This fact open the possibility to apply a constrained Model Predictive Control (MPC) strategy to account for this kind of problems.

#### **1.2 MPC overview**

As was already said, a promising strategy to be used to approach good performances in an iterative learning scheme is the constrained model predictive control, or receding horizon control. This strategy solves, at each time step, an optimization problem to obtain the control action to be applied to the system at the next time. The optimization attempt to minimizes the difference between the desired variable trajectories and a forecast of the system variables, which is made based on a model, subject to the variable constraints (Camacho & Bordons, 2009). So, the first stage to design an MPC is to choose a model. Here, the linear model will be given by:

$$\mathbf{x}\_{k+1} = A\mathbf{x}\_k + Bu\_k \tag{3}$$

$$d\_{k+1} = d\_k \tag{4}$$

$$y\_k = \mathbb{C}x\_k + d\_k \tag{5}$$

where *xk* <sup>∈</sup> **<sup>R</sup>***<sup>n</sup>* is the state at time *<sup>k</sup>*, *uk* <sup>∈</sup> **<sup>R</sup>***<sup>m</sup>* is the manipulated input, *yk* <sup>∈</sup> **<sup>R</sup>***<sup>l</sup>* is the controlled output, *<sup>A</sup>*, *<sup>B</sup>* and *<sup>C</sup>* are matrices of appropriate dimension, and *dk* <sup>∈</sup> **<sup>R</sup>***<sup>l</sup>* is an integrating output disturbance (González, Adam & Marchetti, 2008).

Furthermore, and as a part of the system description, input (and possibly input increment) constraints are considered in the following inclusion:

$$
u \in \mathcal{U}\_{\prime} \tag{6}$$

where *U* is given by:

$$\mathcal{U} = \left\{ \boldsymbol{\mu} \in \mathbb{R}^m : \boldsymbol{\mu}\_{\min} \le \boldsymbol{\mu} \le \boldsymbol{\mu}\_{\max} \right\}.$$

A simplified version of the optimization problem that solves on-line (at each time *k*) a typical stable MPC is as follows:

*Problem P0*

4 Will-be-set-by-IN-TECH

It is interesting to note that the impossibility of achieving discrete perfect control, at least for discrete nominal non-delayed linear models, is exclusively related to the input and/or states limits, which are always present in real systems and should be consistent with the control problem constraints. In this regard, a system with slow dynamic might require high input values and input increments to track an abrupt output reference change, producing in this way the constraint activation. If we assume a non-delayed linear model without model mismatch, the perfect control sequence can be found as the solution of the following (unconstrained)

> *Tf* ∑ *k*=1

On the other hand, for the constrained case, the best possible input sequence, i.e., **u**∞, is

 *e i k* 2

A no evident consequence of the theoretical concept of perfect control is that only a controller that takes into account the input constraints could be capable of actually approach the perfect control, i.e. to approximate the perfect control up to the point where some of the constraints become active. A controller which does not account for constraints can maintain the system apart from those limits by means of a conservative tuning only. This fact open the possibility to apply a constrained Model Predictive Control (MPC) strategy to account for this kind of

As was already said, a promising strategy to be used to approach good performances in an iterative learning scheme is the constrained model predictive control, or receding horizon control. This strategy solves, at each time step, an optimization problem to obtain the control action to be applied to the system at the next time. The optimization attempt to minimizes the difference between the desired variable trajectories and a forecast of the system variables, which is made based on a model, subject to the variable constraints (Camacho & Bordons, 2009). So, the first stage to design an MPC is to choose a model. Here, the linear model will

*Tf* ∑ *k*=1  *e i k* 2 .

, *s*.*t*. **u** ∈ **U**},

*xk*<sup>+</sup><sup>1</sup> = *Axk* + *Buk* (3)

<sup>0</sup> ... *<sup>u</sup>per f <sup>T</sup>*

*Tf* −1

= [0...0]

*T* ,

*T*.

DEFINITION 0.2. *The perfect control input trajectory,*

open-loop optimization problem

obtained from:

problems.

be given by:

**1.2 MPC overview**

*uper f* =

*is one that, if injected into the system, produces a null output error trajectory*

*e<sup>i</sup>* = *e i T* <sup>1</sup> ...*e i T Tf T*

 *<sup>u</sup>per f <sup>T</sup>*

**<sup>u</sup>***per f* <sup>=</sup> arg min**u***<sup>i</sup>*

**u***i*

**<sup>u</sup>**<sup>∞</sup> <sup>=</sup> arg{min

where **U** represents the input sequence limits, and will be discussed later.

$$\min\_{\{\mu\_{k|k},\dots,\mu\_{k+N-1|k}\}} V\_k = \sum\_{j=0}^{N-1} \ell \left( e\_{k+j|k'} u\_{k+j|k} \right) + F \left( e\_{k+N|k} \right)^2$$

subjet to:

$$\begin{aligned} e\_{k+j|k} &= \mathbb{C} \mathbf{x}\_{k+j|k} + d\_{k+j} - y\_{k+j'}^r & \quad j &= 0, \dots, N, \\ \mathbf{x}\_{k+j+1|k} &= A \mathbf{x}\_{k+j|k} + B \mathbf{u}\_{k+j|k'} & \quad j &= 0, \dots, N - 1, \\ \mathbf{u}\_{k+j|k} &\in \mathcal{U}\_{\mathbf{t}} & \quad j &= 0, 1, \dots, N - 1, \end{aligned}$$

where �(*e*, *<sup>u</sup>*) :<sup>=</sup> ||*e*||<sup>2</sup> *<sup>Q</sup>* <sup>+</sup> ||*u*||<sup>2</sup> *<sup>R</sup>*, *<sup>F</sup>*(*e*) :<sup>=</sup> ||*e*||<sup>2</sup> *<sup>P</sup>*. Matrices *Q* and *R* are such that *Q* > 0 and *<sup>R</sup>* ≥ 0. Furthermore, a terminal constraint of the form *xk*<sup>+</sup>*N*|*<sup>k</sup>* ∈ <sup>Ω</sup>, where <sup>Ω</sup> is a specific set, is usually included to assure stability. In this general context, some conditions should be fulfilled by the different "*components*" of the formulation (i.e., the terminal matrix penalization *P*, the terminal set, Ω, etc) to achieve the closed loop stability and the recursive feasibility <sup>2</sup> ((Rawlings and Mayne, 2009)). In the next sections, this basic formulation will be modified to account for learning properties in the context of repetitive systems.

#### **2. Preliminaries**

#### **2.1 Problem index definition**

As was previously stated, the control strategy proposed in this chapter consists of a basic MPC with learning properties. Then, to clarify the notation to be used along the chapter (that comes form the ILC and the MPC literature), we start by defining the following index variables:

• *i*: is the iteration or run index, where *i* = 0 is the first run. It goes from 0 to ∞.

<sup>2</sup> Recursive feasibility refers to the guarantee that once a feasible initial condition is provided, the controller will guide the system trough a feasible path


The control objective for an individual run *i* is to find an input sequence defined by

$$\mathbf{u}^{i} := \begin{bmatrix} u\_0^{i^T} \dots u\_{T\_f-1}^{i^T} \end{bmatrix}^T \tag{7}$$

which derives in an output sequence

$$\mathbf{y}^{i} = \begin{bmatrix} y\_0^{i^T} \dots y\_{T\_f}^{i^T} \end{bmatrix}^T \tag{8}$$

as close as possible to a output reference trajectory

$$\mathbf{y}^r := \begin{bmatrix} y\_0^{r \cdot T} \dots y\_{T\_f}^{r \cdot T} \end{bmatrix}^T. \tag{9}$$

Furthermore, assume that for a given run *i* there exists an input reference sequence (an input candidate) given by

$$\mathbf{u}^{\dot{\mathbf{y}}^{\dot{\mathbf{y}}}} := \begin{bmatrix} u\_0^{\dot{\mathbf{y}}^T} \dots \ u\_{T\_f-1}^{\dot{\mathbf{y}}^\prime} \end{bmatrix}^T \tag{10}$$

and that the output disturbance profile,

$$\mathbf{d}^{\dot{i}} = \begin{bmatrix} d\_0^{\dot{i}^\top} \dots \, d\_{T\_f}^{\dot{i}^\top} \end{bmatrix}^T \, \prime$$

is known. During the learning process the disturbance profile is assumed to remain unchanged for several operations. Furthermore, the value *u<sup>i</sup> r Tf* <sup>−</sup><sup>1</sup> represents a stationary input value, satisfying *u<sup>r</sup> Tf* <sup>−</sup><sup>1</sup> <sup>=</sup> *<sup>G</sup>*−1(*y<sup>r</sup> Tf* <sup>−</sup> *dTf* )*<sup>i</sup>* , for every *<sup>i</sup>*, with *<sup>G</sup>* = [*C*(*<sup>I</sup>* <sup>−</sup> *<sup>A</sup>*)−1*B*].

#### **2.2 Convergence analysis**

In the context of repetitive systems, we will consider two convergence analyses:

DEFINITION 0.3 (Intra-run convergence). *It concerns the decreasing of a Lyapunov function (associated to the output error) along the run time k, that is, V yi <sup>k</sup>*+<sup>1</sup> <sup>−</sup> *<sup>y</sup><sup>r</sup> k*+1 ≤ *V yi <sup>k</sup>*+<sup>1</sup> <sup>−</sup> *<sup>y</sup><sup>r</sup> k for k* = 1, . . . , *Tf*−<sup>1</sup>*, for every single run. If the execution of the control algorithm goes beyond Tf , with k* <sup>→</sup> <sup>∞</sup>*, and the output reference remains constant at the final reference value (y<sup>r</sup> <sup>k</sup>* <sup>=</sup> *<sup>y</sup><sup>r</sup> Tt for Tf* ≤ *k* < ∞*) then the intra-run convergence concerns the convergence of the output to the final value of the output reference trajectory yi <sup>k</sup>*+<sup>1</sup> <sup>→</sup> *<sup>y</sup><sup>r</sup> <sup>k</sup> as k* → ∞)*. This convergence was proved in (González et al., 2009a) and presented in this chapter.*

DEFINITION 0.4 (Inter-run convergence). *It concerns the convergence of the output trajectory to the complete reference trajectory from one run to the next one, that is, considering the output of a given run as a vector of Tf components (y<sup>i</sup>* <sup>→</sup> *<sup>y</sup><sup>r</sup> as i* <sup>→</sup> <sup>∞</sup>*).*

#### **3. Basic formulation**

In this subsection, a first approach to a new MPC design, which includes learning properties, is presented. It will be assumed that an appropriate input reference sequence **u***<sup>i</sup> r* is available (otherwise, it is possible to use a null constant value), and the disturbance *d<sup>i</sup> <sup>k</sup>* as well as the states *x<sup>i</sup> <sup>k</sup>*|*<sup>k</sup>* are estimated. Given that the operation lasts *Tf* time instants, it is assumed here a *shrinking output horizon* defined as the distance between the current time *k* and the final time *Tf* , that is, *H* := *Tf* − *k* (See Figure 2). Under these assumptions the optimization problem to be solved at time *k*, as part of the single run *i*, is described as follows:

*Problem P1*

(7)

(8)

(10)

. (9)

*Tf* <sup>−</sup><sup>1</sup> represents a stationary input

*<sup>k</sup>* <sup>=</sup> *<sup>y</sup><sup>r</sup>*

*Tt for*

*k*+1 ≤ *V yi <sup>k</sup>*+<sup>1</sup> <sup>−</sup> *<sup>y</sup><sup>r</sup> k* 

*<sup>k</sup> as k* → ∞)*. This convergence was proved in (González*

6 Will-be-set-by-IN-TECH

• *<sup>k</sup>*: is the discrete time into a single run. For a given run, it goes from 0 to *Tf*−<sup>1</sup> (that is, *Tf*

• *j*: is the discrete time for the MPC predictions. For a given run *i*, and a given time instant *k*, it goes from 0 to *H* = *Tf* − *k*. To clearly state that *j* represents the time of a prediction made at a given time instant *k*, the notation *k* + *j*|*k*, wich is usual in MPC literature, will be

The control objective for an individual run *i* is to find an input sequence defined by

**u***<sup>i</sup>* := *ui T* <sup>0</sup> ... *<sup>u</sup><sup>i</sup> T Tf* −1 *T*

**y***<sup>i</sup>* = *yi T* <sup>0</sup> ... *<sup>y</sup><sup>i</sup> T Tf T*

**y***<sup>r</sup>* := *yr* 0 *<sup>T</sup>* ... *y<sup>r</sup> Tf T T*

**d***<sup>i</sup>* = *di T* <sup>0</sup> ... *<sup>d</sup><sup>i</sup> T Tf T* ,

*Tf* <sup>−</sup> *dTf* )*<sup>i</sup>*

In the context of repetitive systems, we will consider two convergence analyses:

*with k* <sup>→</sup> <sup>∞</sup>*, and the output reference remains constant at the final reference value (y<sup>r</sup>*

*<sup>k</sup>*+<sup>1</sup> <sup>→</sup> *<sup>y</sup><sup>r</sup>*

**u***i r* := *ui r* 0 *<sup>T</sup>* ... *<sup>u</sup><sup>i</sup> r Tf* −1

unchanged for several operations. Furthermore, the value *u<sup>i</sup>*

*(associated to the output error) along the run time k, that is, V*

 *yi*

*Tf* <sup>−</sup><sup>1</sup> <sup>=</sup> *<sup>G</sup>*−1(*y<sup>r</sup>*

Furthermore, assume that for a given run *i* there exists an input reference sequence (an input

is known. During the learning process the disturbance profile is assumed to remain

DEFINITION 0.3 (Intra-run convergence). *It concerns the decreasing of a Lyapunov function*

*for k* = 1, . . . , *Tf*−<sup>1</sup>*, for every single run. If the execution of the control algorithm goes beyond Tf ,*

*Tf* ≤ *k* < ∞*) then the intra-run convergence concerns the convergence of the output to the final value*

DEFINITION 0.4 (Inter-run convergence). *It concerns the convergence of the output trajectory to the complete reference trajectory from one run to the next one, that is, considering the output of a given*

*<sup>T</sup><sup>T</sup>*

*r*

, for every *<sup>i</sup>*, with *<sup>G</sup>* = [*C*(*<sup>I</sup>* <sup>−</sup> *<sup>A</sup>*)−1*B*].

 *yi <sup>k</sup>*+<sup>1</sup> <sup>−</sup> *<sup>y</sup><sup>r</sup>*

time instants).

candidate) given by

value, satisfying *u<sup>r</sup>*

**2.2 Convergence analysis**

*of the output reference trajectory*

*et al., 2009a) and presented in this chapter.*

*run as a vector of Tf components (y<sup>i</sup>* <sup>→</sup> *<sup>y</sup><sup>r</sup> as i* <sup>→</sup> <sup>∞</sup>*).*

which derives in an output sequence

and that the output disturbance profile,

as close as possible to a output reference trajectory

used.

$$\min\_{\{\overline{\mathbf{u}}\_{k|k'}^{i},...,\overline{\mathbf{u}}\_{k+N\_{k}-1|k}^{i}\}} V\_{k}^{i} = \sum\_{j=0}^{H-1} \ell\left(e\_{k+j|k'}^{i}\overline{u}\_{k+j|k}^{i}\right) + F\left(e\_{k+H|k}^{i}\right),$$

subjet to:

$$\mathbf{e}\_{k+j|k}^{l} = \mathbf{C} \mathbf{x}\_{k+j|k}^{l} + d\_{k+j}^{l} - y\_{k+j}^{l} \qquad \qquad j = 0, \ldots, H,$$

$$\mathbf{x}\_{k+j+1|k}^{i} = A \mathbf{x}\_{k+j|k}^{i} + B \mathbf{u}\_{k+j|k'}^{i} \qquad \qquad j = 0, \ldots, H - 1,$$

$$\mathbf{u}\_{k+j|k}^{i} \in \mathcal{U}, \qquad j = 0, 1, \ldots, H - 1,\tag{11}$$

$$u\_{k+j|k}^i = u\_{k+j}^{i'} + \overline{u}\_{k+j|k'}^i \qquad \qquad j = 0, 1, \dots, H - 1,\tag{12}$$

$$
\overline{u}\_{k+j|k}^{i} = 0, \qquad \qquad j \ge N\_{\text{s}\_{\text{\prime}}} \tag{13}
$$

where the (also shrinking) control horizon *Ns* is given by *Ns* = min(*H*, *N*) and *N* is the fixed control horizon introduced before (it is in fact a controller parameter). Notice that predictions with indexes given by *k* + *H*|*k*, which are equivalent to *Tf* |*k*, are in fact prediction for a fixed future time (in the sense that the horizon does not recedes). Because this formulation contains some new concepts, a few remarks are needed to clarify the key points:

**Remark 0.1.** *In the ith-operation, Tf optimization problems P1 must be solved (from k* = 0 *to k* = *Tf* <sup>−</sup> <sup>1</sup>*). Each problem gives an optimal input sequence u<sup>i</sup> opt <sup>k</sup>*+*j*|*k, for j* <sup>=</sup> 0, ··· , *<sup>H</sup>* <sup>−</sup> <sup>1</sup>*, and following the typical MPC policy, only the first input of the sequence, u<sup>i</sup> opt <sup>k</sup>*|*<sup>k</sup> , is applied to the system.*

**Remark 0.2.** *The decision variables u<sup>i</sup> <sup>k</sup>*+*j*|*k, are a correction to the input reference sequence u<sup>i</sup> r k*+*j (see Equation (12)), attempting to improve the closed loop predicted performance. u<sup>i</sup> r <sup>k</sup>*+*<sup>j</sup> can be seen as the control action of an* underlying stabilizing controller *acting along the whole output horizon, which could be corrected, if necessary, by the control actions u<sup>i</sup> <sup>k</sup>*+*j*|*k. Besides, because of constraints (13), ui <sup>k</sup>*+*j*|*<sup>k</sup> is different from zero only in the first Ns steps (or predictions) and so, the optimization problem P1 has Ns decision variables (See Figure 2). All along every single run, the input and output references, ui r <sup>k</sup>*+*<sup>j</sup> and y<sup>r</sup> <sup>k</sup>*+*<sup>j</sup> , as well as the disturbance d<sup>i</sup> <sup>k</sup>*+*<sup>j</sup> may be interpreted as a set of fixed parameters.*

**Remark 0.3.** *The convergence analysis for the operation sequence assumes that once the disturbance appears it remains unchanged for the operations that follow. In this way the cost remains bounded despite it represents an infinite summation; this happens because the model used to compute the predictions leads to a final input (and state) that matches* (*y<sup>r</sup> Tf* <sup>−</sup> *<sup>d</sup><sup>i</sup> Tf* )*. Thus, the model output is guided to* (*y<sup>r</sup> Tf* <sup>−</sup> *<sup>d</sup><sup>i</sup> Tf* )*, and the system output is guided to y<sup>r</sup> Tf .*

Fig. 2. Diagram representing the MPC optimization problem at a given time *k*.

#### **3.1 Decreasing properties of the closed-loop cost for a single run**

The concept of stability for a finite-duration process is different from the traditional one since, except for some special cases such finite-time escape, boundless of the disturbance effect is trivially guaranteed. In (Srinivasan & Bonvin, 2007), the authors define a quantitative concept of stability by defining a variability index as the induced norm of the variation around a reference (state) trajectory, caused by a variation in the initial condition. Here, we will show two controller properties (Theorem 0.1). 1) The optimal IHMPC cost monotonically decreases w.r.t time *k*, and 2) if the control algorithm execution goes beyond *Tf* with *k* → ∞ , and the output reference remains constant at the final reference value (*y<sup>r</sup> <sup>k</sup>* <sup>=</sup> *<sup>y</sup><sup>r</sup> Tf* for *k* ≥ *Tf* ) then, the IHMPC cost goes to zero as *<sup>k</sup>* <sup>→</sup> <sup>∞</sup> , which implies that *<sup>y</sup><sup>i</sup> <sup>k</sup>* <sup>→</sup> *<sup>y</sup><sup>r</sup> Tf* as *k* → ∞.

**Theorem 0.1** (intra-run convergence)**.** *Let assume that the disturbance remains constant from one run to the next. Then, for the system (3-5), and the constraint (6), by using the control law derived from the on-line execution of problem P1 in a shrinking horizon manner, the cost is decreasing, that is, Vi opt <sup>k</sup>* <sup>−</sup> *<sup>V</sup><sup>i</sup> opt <sup>k</sup>*−<sup>1</sup> <sup>+</sup> (*e<sup>i</sup> <sup>k</sup>*−1, *<sup>u</sup><sup>i</sup> <sup>k</sup>*−1) <sup>≤</sup> <sup>0</sup>*, for* <sup>0</sup> <sup>≤</sup> *<sup>k</sup>* <sup>≤</sup> *Tf* <sup>−</sup> <sup>1</sup>*.*

*Furthermore, the last cost of a given operation "i" is given by:*

$$V\_{T\_f-1}^{\bar{\mathbf{r}}^{\text{opt}}} = \ell(\mathbf{e}\_{T\_f-1|T\_f-1}^{\bar{\mathbf{r}}^{\text{opt}}} \overline{\mathbf{n}}\_{T\_f-1|T\_f-1}^{\bar{\mathbf{r}}^{\text{opt}}}) + F(\mathbf{e}\_{T\_f|T\_f-1})\_{\mathbf{r}}$$

*and since current and one steps predictions are coincident with the actual values, it follows that:*

$$V\_{T\_f-1}^{l^{\varphi pt}} = \ell(e\_{T\_f-1}^{l^{\varphi pt}}, \overline{u}\_{T\_f-1}^{l^{\varphi pt}}) + F(e\_{T\_f}).\tag{14}$$

#### **Proof** See the Appendix.

8 Will-be-set-by-IN-TECH

Fig. 2. Diagram representing the MPC optimization problem at a given time *k*.

The concept of stability for a finite-duration process is different from the traditional one since, except for some special cases such finite-time escape, boundless of the disturbance effect is trivially guaranteed. In (Srinivasan & Bonvin, 2007), the authors define a quantitative concept of stability by defining a variability index as the induced norm of the variation around a reference (state) trajectory, caused by a variation in the initial condition. Here, we will show two controller properties (Theorem 0.1). 1) The optimal IHMPC cost monotonically decreases w.r.t time *k*, and 2) if the control algorithm execution goes beyond *Tf* with *k* → ∞ , and the

**Theorem 0.1** (intra-run convergence)**.** *Let assume that the disturbance remains constant from one run to the next. Then, for the system (3-5), and the constraint (6), by using the control law derived from the on-line execution of problem P1 in a shrinking horizon manner, the cost is decreasing, that is,*

*<sup>k</sup>* <sup>=</sup> *<sup>y</sup><sup>r</sup> Tf*

as *k* → ∞.

*<sup>k</sup>* <sup>→</sup> *<sup>y</sup><sup>r</sup> Tf* for *k* ≥ *Tf* ) then, the

**3.1 Decreasing properties of the closed-loop cost for a single run**

output reference remains constant at the final reference value (*y<sup>r</sup>*

*<sup>k</sup>*−1) <sup>≤</sup> <sup>0</sup>*, for* <sup>0</sup> <sup>≤</sup> *<sup>k</sup>* <sup>≤</sup> *Tf* <sup>−</sup> <sup>1</sup>*.*

IHMPC cost goes to zero as *<sup>k</sup>* <sup>→</sup> <sup>∞</sup> , which implies that *<sup>y</sup><sup>i</sup>*

*Vi opt <sup>k</sup>* <sup>−</sup> *<sup>V</sup><sup>i</sup>*

*opt <sup>k</sup>*−<sup>1</sup> <sup>+</sup> (*e<sup>i</sup>*

*<sup>k</sup>*−1, *<sup>u</sup><sup>i</sup>*

**Remark 0.4.** *The cost V<sup>i</sup> opt <sup>k</sup> of Problem P1 is not a strict Lyapunov function, because the output horizon is not fixed and then, V<sup>i</sup> opt <sup>k</sup>* (*e<sup>i</sup> <sup>k</sup>*) *changes as k increases (in fact, as k increases the cost becomes less demanding because the output horizon is smaller). However, if a* virtual infinite output horizon for predictions *is defined, and stationary values of output and input references are assumed for Tf* < ∞ *(i.e. u<sup>i</sup> r ss* = (*C*(*<sup>I</sup>* <sup>−</sup> *<sup>A</sup>*)−1*B*)−1(*y<sup>r</sup> ss* <sup>−</sup> *<sup>d</sup><sup>i</sup> ss*)*, where d<sup>i</sup> ss is the output disturbance at Tf ), then by selecting the terminal cost F*(*e<sup>i</sup> Tf* <sup>|</sup>*k*) *to be the sum of the stage penalization* �(·, ·) *from Tf to* <sup>∞</sup>*, it is possible to associate V<sup>i</sup> opt <sup>k</sup>* (*e<sup>i</sup> <sup>k</sup>*) *with a fixed (infinite) output horizon. In this way V<sup>i</sup> opt <sup>k</sup>* (*e<sup>i</sup> <sup>k</sup>*) *becomes a Lyapunov function since it is an implicit function of the actual output error e<sup>i</sup> <sup>k</sup>. To make the terminal cost the infinite tail of the output predictions, it must be defined as*

$$F(\mathbf{c}\_{T\_{f}|k}^{i}|k) = \left\| \mathbb{C} \mathbf{x}\_{T\_{f}|k}^{i} + d\_{\mathrm{ss}}^{i} - \mathbf{y}\_{\mathrm{ss}}^{r} \right\|\_{P}^{2} = \left\| \mathbf{x}\_{T\_{f}|k}^{i} + \mathbf{x}\_{\mathrm{ss}}^{r} \right\|\_{\mathbb{C}^{T} \mathbf{PC}}^{2} = \sum\_{j=T\_{f}}^{\infty} \left\| \mathbf{x}\_{j|k}^{i} + \mathbf{x}\_{\mathrm{ss}}^{r} \right\|\_{\mathbb{C}^{T} \mathbf{QC}}^{2}$$
 
$$\mathbf{i} = \mathbf{0}, \mathbf{1}, \dots, T\_{f} - \mathbf{1}\_{N}$$

*where x<sup>i</sup> r ss* = (*<sup>I</sup>* <sup>−</sup> *<sup>A</sup>*)−1*Bu<sup>i</sup> r ss and CTPC is the solution of the following Lyapunov equation: <sup>A</sup>TCTPCA* <sup>=</sup> *<sup>C</sup>TPC* <sup>−</sup> *<sup>C</sup>TQC. With this choice of the terminal matrix P, the stability results of Theorem 0.1 is stronger since the closed loop becomes Lyapunov stable.*

#### **3.2 Discussion about the stability of the closed-loop cost for a single run**

Theorem 0.1, together with the assumptions of Remark 0.4, shows convergence characteristics of the Lyapunov function defined by the IHMPC strategy. These concepts can be extended to determine a variability index in order to establish a quantitative concept of stability (*β*-stability), as it was highlighted by (Srinivasan & Bonvin, 2007). To formulate this extension, the MPC stability conditions (rather than convergence conditions) must be defined, following the stability results presented in ((Scokaert et al., 1997)). An extension of this remark is shown below.

First, we will recall the following exponential stability results.

**Theorem 0.2** ((Scokaert et al., 1997))**.** *Let assume for simplicity that state reference x<sup>r</sup> <sup>k</sup> is provided, such that y<sup>r</sup> <sup>k</sup>* <sup>=</sup> *Cx<sup>r</sup> <sup>k</sup>, for k* = 0, . . . , *Tf* − 1*, and no disturbance is present. If there exist constants ax, au, bu, cx, cu and dx such that the stage cost* �(*x*, *u*)*, the terminal cost F*(*x*)*, and the model matrices A, B and C, in Problem P1, fulfill the following conditions:*

$$\left\|\underline{\gamma}.\right\|\mathbf{x}\left\|\right\|^{\sigma} \le \ell(\mathbf{x},\boldsymbol{\upmu}) = \left\|\mathbf{x}\right\|\_{\underline{Q}}^{2} + \left\|\boldsymbol{\upmu}\right\|\_{\underline{R}}^{2} \le c\_{\mathbf{x}\cdot\boldsymbol{\upmu}}\left\|\mathbf{x}\right\|^{\sigma} + c\_{\mathbf{u}\cdot\boldsymbol{\upmu}}\left\|\boldsymbol{u}\right\|^{\sigma} \tag{15}$$

$$\|\|u\_{k+j|k}^{\dot{\rho}\mu}\|\le b\_{\mu} \|\|\mathbf{x}\_k\|\|\_{\prime} \text{ for } j=0,\dots,H-1\tag{16}$$

$$\|\|Ax + Bu\|\| \le a\_X \|\|x\|\| + a\_{\mathcal{U}} \|\|u\|\|\tag{17}$$

$$F(\mathbf{x}) \le d\_{\mathbf{x}} \|\mathbf{x}\|^{\sigma} \tag{18}$$

*then, the optimal cost V<sup>i</sup> opt <sup>k</sup>* (*xk*) *satisfies*

$$\underline{\gamma}. \|\boldsymbol{\chi}\_{k}\|^{\sigma} \leq \boldsymbol{V}\_{k}^{\mathrm{ppt}}(\boldsymbol{\chi}\_{k}) \leq \overline{\gamma}. \|\boldsymbol{\chi}\_{k}\|^{\sigma} \tag{19}$$

$$\|V\_k^{j\text{opt}}(\mathbf{x}\_k) \le -\underline{\gamma}.\|\mathbf{x}\_k\|^\sigma \tag{20}$$

*with γ* = � *cx*. ∑*N*−<sup>1</sup> *<sup>i</sup>*=<sup>0</sup> *<sup>α</sup><sup>σ</sup> <sup>i</sup>* <sup>+</sup> *<sup>N</sup>*.*cu*.*b<sup>σ</sup> <sup>u</sup>* + *dx*.*α<sup>σ</sup> N* � *, <sup>α</sup><sup>j</sup>* = *ax*.*αj*−<sup>1</sup> + *au*.*bu and <sup>α</sup>*<sup>0</sup> = *ax* + *au*.*bu.*

**Proof** The proof of this theorem can be seen in (Scokaert et al., 1997).

Condition (15) is easy to determine in terms of the eigenvalues of matrices *Q* and *R*. Condition (16), which are related to the Lipschitz continuity of the input, holds true under certain regularity conditions of the optimization problem.

Now, we define the following *variability index*, which is an induced norm, similar to the one presented in (Srinivasan & Bonvin, 2007):

$$\xi = \max\_{V\_0^{\rho \circ t} = \delta} \left( \frac{\sum\_{k=0}^{T\_f - 1} V\_k^{i^{\rho \circ t}}}{V\_0^{i^{\rho \circ t}}} \right)$$

for a small value of *δ* > 0. With the last definition, the concept of *β* -stability for finite-duration systems is as follows.

DEFINITION 0.5 ((Scokaert et al., 1997)). *The closed-loop system obtained with the proposed IHMPC controller is intra-run β-stable around the state trajectory x<sup>r</sup> <sup>k</sup> if there exists δ* > 0 *such that ξ* ≤ *β.*

**Theorem 0.3** (quantitative *β* -stability)**.** *Let assume for simplicity that a state reference, x<sup>r</sup> <sup>k</sup> , is provided, such that y<sup>r</sup> <sup>k</sup>* <sup>=</sup> *Cx<sup>r</sup> <sup>k</sup>, k* = 0, . . . , *Tf* − 1*, and no disturbance is present. If there exist constants ax, au, bu, cx, cu and dx as in Theorem 0.2, then, the closed-loop system obtained with system(3) -(5) and the proposed IHMPC controller law is intra-run β-stable around the state trajectory x<sup>r</sup> <sup>k</sup> , with*

$$\beta = \frac{\left[\overline{\gamma} + \sum\_{n=1}^{T\_f - 1} \left(\overline{\gamma} - \underline{\gamma}\right)^n\right]}{\underline{\gamma}}.$$

**Proof** See the Appendix.

#### **4. IHMPC with learning properties**

In the last section we studied the single-operation control problem, where we have assumed that an input reference is available and the output disturbance is known. However, one alternative is defining the input reference and disturbance as the input and disturbance obtained during the last operation (i.e. the last implemented input and the last estimated disturbance, beginning with a constant sequence and a zero value, respectively). In this way, 10 Will-be-set-by-IN-TECH

*opt*

Condition (15) is easy to determine in terms of the eigenvalues of matrices *Q* and *R*. Condition (16), which are related to the Lipschitz continuity of the input, holds true under certain

Now, we define the following *variability index*, which is an induced norm, similar to the one

⎛ ⎝

for a small value of *δ* > 0. With the last definition, the concept of *β* -stability for finite-duration

DEFINITION 0.5 ((Scokaert et al., 1997)). *The closed-loop system obtained with the proposed IHMPC*

*ax, au, bu, cx, cu and dx as in Theorem 0.2, then, the closed-loop system obtained with system(3) -(5)*

In the last section we studied the single-operation control problem, where we have assumed that an input reference is available and the output disturbance is known. However, one alternative is defining the input reference and disturbance as the input and disturbance obtained during the last operation (i.e. the last implemented input and the last estimated disturbance, beginning with a constant sequence and a zero value, respectively). In this way,

**Theorem 0.3** (quantitative *β* -stability)**.** *Let assume for simplicity that a state reference, x<sup>r</sup>*

*and the proposed IHMPC controller law is intra-run β-stable around the state trajectory x<sup>r</sup>*

*<sup>γ</sup>* <sup>+</sup> <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup> *n*=1 � *γ* − *γ*

*β* =

�

<sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup> *<sup>k</sup>*=<sup>0</sup> *<sup>V</sup><sup>i</sup> opt k Viopt* 0

⎞ ⎠

*<sup>k</sup>, k* = 0, . . . , *Tf* − 1*, and no disturbance is present. If there exist constants*

�*n*�

*<sup>γ</sup>* .

*<sup>k</sup>*+*j*|*k*� ≤ *bu*�*xk*�, *for j* <sup>=</sup> 0, . . . , *<sup>H</sup>* <sup>−</sup> <sup>1</sup> (16) �*Ax* + *Bu*� ≤ *ax*�*x*� + *au*�*u*� (17)

*<sup>F</sup>*(*x*) <sup>≤</sup> *dx*�*x*�*<sup>σ</sup>* (18)

*<sup>k</sup>* (*xk*) ≤ −*γ*.�*xk*�*<sup>σ</sup>* (20)

*, <sup>α</sup><sup>j</sup>* = *ax*.*αj*−<sup>1</sup> + *au*.*bu and <sup>α</sup>*<sup>0</sup> = *ax* + *au*.*bu.*

*<sup>k</sup>* (*xk*) <sup>≤</sup> *<sup>γ</sup>*.�*xk*�*<sup>σ</sup>* (19)

*<sup>k</sup> if there exists δ* > 0 *such that ξ* ≤ *β.*

*<sup>k</sup> , is*

*<sup>k</sup> , with*

�*ui opt*

*<sup>k</sup>* (*xk*) *satisfies*

*<sup>i</sup>* <sup>+</sup> *<sup>N</sup>*.*cu*.*b<sup>σ</sup>*

regularity conditions of the optimization problem.

*controller is intra-run β-stable around the state trajectory x<sup>r</sup>*

*<sup>k</sup>* <sup>=</sup> *Cx<sup>r</sup>*

presented in (Srinivasan & Bonvin, 2007):

*<sup>γ</sup>*.�*xk*�*<sup>σ</sup>* <sup>≤</sup> *<sup>V</sup><sup>i</sup>*

*Vi opt*

*<sup>u</sup>* + *dx*.*α<sup>σ</sup> N* �

**Proof** The proof of this theorem can be seen in (Scokaert et al., 1997).

*ξ* = max *Vi opt* <sup>0</sup> =*δ*

*opt*

*then, the optimal cost V<sup>i</sup>*

�

systems is as follows.

*provided, such that y<sup>r</sup>*

**Proof** See the Appendix.

**4. IHMPC with learning properties**

*cx*. ∑*N*−<sup>1</sup> *<sup>i</sup>*=<sup>0</sup> *<sup>α</sup><sup>σ</sup>*

*with γ* =

a dual MPC with learning properties accounting for the operations sequence control can be derived. The details of this development are presented next.

#### **4.1 Additional MPC constraints to induce learning properties**

For a given operation *i*, consider the problem P1 with the following additional constraints:

$$\begin{aligned} u\_{k+j}^{j'} &= u\_{k+j|k+j'}^{j-1} & k &= 0, \dots, T\_f - 1, & j &= 0, \dots, H - 1 \\ d\_{k+j}^{i} &= d\_{k+j'}^{i-1} & k &= 1, \dots, T\_{f'} & j &= 0, \dots, H \end{aligned} \tag{21}$$

where ˆ*di*−<sup>1</sup> *<sup>k</sup>*+*<sup>j</sup>* represents the disturbance estimation. The first constraint requires updating the input reference for operation *i* with the last optimal sequence executed in operation *i* − 1 (i.e. **u***i r* <sup>=</sup> **<sup>u</sup>***i*−1, for *<sup>i</sup>* <sup>=</sup> 1, 2, ··· , with an initial value given by **<sup>u</sup>**<sup>0</sup> := [*G*−1*y<sup>r</sup> Tf* ··· *<sup>G</sup>*−1*y<sup>r</sup> Tf* ]). The second one updates the disturbance profile for operation *i* with the last estimated sequence in operation *<sup>i</sup>* <sup>−</sup> 1 (i.e. **<sup>d</sup>***<sup>i</sup>* <sup>=</sup> **<sup>d</sup>**ˆ*i*−<sup>1</sup> , for *<sup>i</sup>* <sup>=</sup> 1, 2, ··· , with an initial value given by **<sup>d</sup>**<sup>0</sup> = [<sup>0</sup> ··· <sup>0</sup>]). Besides, notice that the vector of differences between two consecutive control trajectories, <sup>δ</sup>*<sup>i</sup>* :<sup>=</sup> **<sup>u</sup>***<sup>i</sup>* <sup>−</sup> **<sup>u</sup>***i*−1, is given by <sup>δ</sup>*<sup>i</sup>* <sup>=</sup> *ui optT* <sup>0</sup>|<sup>0</sup> ··· *<sup>u</sup><sup>i</sup> optT Tf* −1|*Tf* −1 , i.e., the elements of this vector are

the collection of first control movements of the solutions of each optimization problem P1, for *k* = 0, ··· , *Tf* − 1.

**Remark 0.5.** *The input reference update, together with the correction presented in Remark 0.2, has the following consequence: the learning procedure is not achieved by correcting the implemented input action with past information but, by correcting the predicted input sequence with the past input profile , which represents here the learning parameter. In this way better output forecast will be made because the optimization cost has predetermined input information. Figure 3 shows the difference between these two learning procedures.*

(a) Proposed learning procedures. (b) Typical learning procedures.

Fig. 3. Learning procedures.

**Remark 0.6.** *The proposed disturbance update implies that the profile estimated by the observer at operation i* − 1 *is not used at operation i* − 1*, but at operation i. This disturbance update works properly when the disturbance remains unmodified for several operations, i.e., when permanent disturbances, or model mismatch, are considered. If the disturbance substantially changes from one operation to next (that is, the disturbance magnitude or the time instant in which the disturbance enter the system change), it is possible to use an additional "current" disturbance correction given by . This correction is then added to permanent disturbance profile at each time k of the operation i.*

#### **4.2 MPC formulation and proposed run cost**

Let us consider the following optimization problem:

Problem P2

$$\min\_{\{\mathfrak{m}^i\_{k|k},...,\mathfrak{m}^i\_{k+\mathcal{T}\_f-1|k}\}} V^i\_k$$

subject to (3 - 13) and (21): Run to run convergence means that both, the output error trajectory **<sup>e</sup>***<sup>i</sup>* and the input difference between two consecutive implemented inputs, <sup>δ</sup>*<sup>i</sup>* <sup>=</sup> **<sup>u</sup>***<sup>i</sup>* <sup>−</sup> **<sup>u</sup>***i*−1, converges to zero as *i* → ∞. Following an Iterative Learning Control nomenclature, this means that the implemented input, **u***<sup>i</sup>* , converges to the perfect control input **u***per f* .

To show this convergence, we will define a cost associated to each run, which penalizes the output error. As it was said, *Tf* MPC optimization problems are solved at each run *i*, that is, from *k* = 0 to *k* = *Tf* − 1. So, a candidate to describe the run cost is as follows:

$$J\_{\dot{l}} := \sum\_{k=0}^{T\_f - 1} V\_k^{\dot{r}^{opt}} \, , \tag{22}$$

where *V<sup>i</sup> opt <sup>k</sup>* represents the optimal cost of the on-line MPC optimization problem at time *k*, corresponding to the run *i*.

Notice that, once the optimization problem P2 is solved and an optimal input sequence is obtained, this MPC cost is a function of only *e<sup>i</sup> opt <sup>k</sup>*|*<sup>k</sup>* <sup>=</sup> *yi opt <sup>k</sup>*|*<sup>k</sup>* <sup>−</sup> *<sup>y</sup><sup>r</sup> k* = *e<sup>i</sup> <sup>k</sup>*. Therefore, it makes sense using (22) to define a run cost, since it represents a (finite) sum of positive penalizations of the current output error, i.e., a positive function of *e<sup>i</sup>* . However, since the new run index is made of outputs predictions rather than of actual errors, some cares must be taken into consideration. Firstly, as occurs with usual indexes, we should demonstrate that null output error vectors produce null costs (which is not trivial because of predictions). Then, we should demonstrate that the perfect control input corresponds to a null cost. These two properties, together with an additional one, are presented in the next subsection.

#### **4.3 Some properties of the formulation**

One interesting point is to answer what happens if the MPC controller receives as input reference trajectory the *perfect control sequence* presented in the first section. The simplest answer is to associate this situation with a null MPC cost. However, since the proposed MPC controller does not add the input reference (given by the past control profile) to the implemented inputs but to the predicted ones, some care must be taken. Property 0.1, below, assures that for this input reference the MPC cost is null. Without loss of generality we consider in what follows that no disturbances enter the system.

**Property 0.1.** *If the MPC cost penalization matrices, Q and R, are definite positive (Q* � 0 *and <sup>R</sup>* � <sup>0</sup>*) and the perfect control input trajectory is a feasible trajectory, then <sup>u</sup><sup>i</sup> r* <sup>=</sup> *<sup>u</sup>per f* <sup>⇔</sup> *<sup>V</sup><sup>i</sup> opt <sup>k</sup>* = 0 *for k* = 0, . . . , *Tf* − 1*; where*

$$V\_k^{\dot{\mathbf{r}}^{\dot{\mathbf{p}}^{\mathbf{p}t}}} = \sum\_{j=0}^{H-1} l\left(e\_{k+j|k'}^{\dot{\mathbf{r}}^{\mathbf{p}t}}, \overline{u}\_{k+j|k}^{\dot{\mathbf{r}}^{\mathbf{p}t}}\right) + F\left(x\_{k+H|k}^{\dot{\mathbf{r}}^{\mathbf{p}t}}\right).$$

#### **Proof** See the Appendix.

12 Will-be-set-by-IN-TECH

min

subject to (3 - 13) and (21): Run to run convergence means that both, the output error trajectory **<sup>e</sup>***<sup>i</sup>* and the input difference between two consecutive implemented inputs, <sup>δ</sup>*<sup>i</sup>* <sup>=</sup> **<sup>u</sup>***<sup>i</sup>* <sup>−</sup> **<sup>u</sup>***i*−1, converges to zero as *i* → ∞. Following an Iterative Learning Control nomenclature, this

To show this convergence, we will define a cost associated to each run, which penalizes the output error. As it was said, *Tf* MPC optimization problems are solved at each run *i*, that is,

> *Tf* −1 ∑ *k*=0 *Vi opt*

Notice that, once the optimization problem P2 is solved and an optimal input sequence is

sense using (22) to define a run cost, since it represents a (finite) sum of positive penalizations

is made of outputs predictions rather than of actual errors, some cares must be taken into consideration. Firstly, as occurs with usual indexes, we should demonstrate that null output error vectors produce null costs (which is not trivial because of predictions). Then, we should demonstrate that the perfect control input corresponds to a null cost. These two properties,

One interesting point is to answer what happens if the MPC controller receives as input reference trajectory the *perfect control sequence* presented in the first section. The simplest answer is to associate this situation with a null MPC cost. However, since the proposed MPC controller does not add the input reference (given by the past control profile) to the implemented inputs but to the predicted ones, some care must be taken. Property 0.1, below, assures that for this input reference the MPC cost is null. Without loss of generality we

**Property 0.1.** *If the MPC cost penalization matrices, Q and R, are definite positive (Q* � 0 *and*

*opt k*+*j*|*k* + *F xi opt k*+*H*|*k* .

*opt <sup>k</sup>*|*<sup>k</sup>* <sup>=</sup>  *yi opt <sup>k</sup>*|*<sup>k</sup>* <sup>−</sup> *<sup>y</sup><sup>r</sup> k* = *e<sup>i</sup>*

*<sup>k</sup>* represents the optimal cost of the on-line MPC optimization problem at time *k*,

*<sup>k</sup>*+*Tf* <sup>−</sup>1|*<sup>k</sup>*}

*Vi k*

, converges to the perfect control input **u***per f* .

*<sup>k</sup>* , (22)

. However, since the new run index

*r*

<sup>=</sup> *<sup>u</sup>per f* <sup>⇔</sup> *<sup>V</sup><sup>i</sup>*

*opt <sup>k</sup>* = 0

*<sup>k</sup>*. Therefore, it makes

{*ui <sup>k</sup>*|*<sup>k</sup>* ,...,*u<sup>i</sup>*

from *k* = 0 to *k* = *Tf* − 1. So, a candidate to describe the run cost is as follows:

*Ji* :=

**4.2 MPC formulation and proposed run cost**

means that the implemented input, **u***<sup>i</sup>*

Problem P2

where *V<sup>i</sup>*

*opt*

corresponding to the run *i*.

obtained, this MPC cost is a function of only *e<sup>i</sup>*

**4.3 Some properties of the formulation**

*for k* = 0, . . . , *Tf* − 1*; where*

of the current output error, i.e., a positive function of *e<sup>i</sup>*

together with an additional one, are presented in the next subsection.

consider in what follows that no disturbances enter the system.

*Vi opt <sup>k</sup>* =

*<sup>R</sup>* � <sup>0</sup>*) and the perfect control input trajectory is a feasible trajectory, then <sup>u</sup><sup>i</sup>*

*H*−1 ∑ *j*=0 *l e i opt <sup>k</sup>*+*j*|*k*, *<sup>u</sup><sup>i</sup>*

Let us consider the following optimization problem:

This property allow as to formulate the following one:

**Property 0.2.** *If the MPC cost penalization matrices, Q and R, are definite positive (Q* � 0 *and R* � 0*) and perfect control input trajectory is a feasible trajectory, cost (12), which is an implicit function of e<sup>i</sup> , is such that, e<sup>i</sup>* <sup>=</sup> <sup>0</sup> <sup>⇔</sup> *Ji* <sup>=</sup> <sup>0</sup>*.*

#### **Proof** See the Appendix.

Finally, as trivial corollary of the last two properties, it follows that:

**Property 0.3.** *If the MPC cost penalization matrices, Q and R, are definite positive, then u<sup>i</sup> r* = *<sup>u</sup>per f* <sup>⇔</sup> *<sup>J</sup><sup>i</sup>* <sup>=</sup> <sup>0</sup>*. Otherwise, u<sup>i</sup> r* �<sup>=</sup> *<sup>u</sup>per f* <sup>⇒</sup> *<sup>J</sup><sup>i</sup>* �<sup>=</sup> <sup>0</sup>*.*

**Proof** It follows from Property 0.1 and Property 0.2.

#### **4.4 Main convergence result**

Now, we are ready to establish the run to run convergence with the following theorem.

**Theorem 0.4.** *For the system (3)-(5), by using the control law derived from the on-line execution of problem P2 in a shrinking horizon manner, together with the learning updating (21), and assuming that a feasible perfect control input trajectory there exists, the output error trajectory e<sup>i</sup> converges to zero as i* <sup>→</sup> <sup>∞</sup>*. In addition,* <sup>δ</sup>*<sup>i</sup> converges to zero as i* <sup>→</sup> <sup>∞</sup> *which means that the reference trajectory ui r converges to uper f .*

**Remark 0.7.** *In most real systems a perfect control input trajectory is not possible to reach (which represents a system limitation rather than a controller limitation). In this case, the costs V<sup>i</sup> opt <sup>k</sup> will converge to a non-null finite value as i* <sup>→</sup> <sup>∞</sup> *,and then, since the operation cost J<sup>i</sup> is decreasing (see previous proof), it will converge to the smallest possible value. Given that, as was already said, the impossibility to reach perfect control is exclusively related to the input and/or states limits (which should be consistent with the control problem constraints), the proposed strategy will find the best approximation to the perfect control, which constitutes an important advantage of the method.*

**Remark 0.8.** *In the same way that the intra-run convergence can be extended to determine a* variability index *in order to establish a quantitative concept of stability (β-stability), for finiteduration systems (Theroem 0.3); the inter-run convergence can be extended to establish stability conditions similar to the ones presented in (Srinivasan & Bonvin, 2007).*

#### **5. Ilustrative examples**

**Example 1.** In order to evaluate the proposed controller performance, we consider first a linear system (Lee & Lee, 1997) given by *G*(*s*) = 1/15*s*<sup>2</sup> + 8*s* + 1. The MPC parameters were tuned as *Q* = 1500 , *R* = 0.5 and *T* = 1. Figure 4 shows the obtained performance in the controlled variable where the difference with the reference is undistinguished. Given that the problem assumes that no information about the input reference is available, the input sequence *u* and *u* are equals.

Fig. 4. Reference, output response according to the input variables *u* and *u*

Fig. 5. Normalized MPC cost function. Here, the normalized cost function is obtained as *Vk*/*Vk* max.

The MPC cost function is showed in Fig. 5. According to the proof of Theorem 0.1 (nominal case), this cost function is monotonically decreasing.

**Example 2.** Consider now a nonlinear-batch reactor where an exothermic and irreversible chemical reaction takes place, (Lee & Lee, 1997). The idea is to control the reactor temperature 14 Will-be-set-by-IN-TECH

Fig. 4. Reference, output response according to the input variables *u* and *u*

Fig. 5. Normalized MPC cost function. Here, the normalized cost function is obtained as

case), this cost function is monotonically decreasing.

The MPC cost function is showed in Fig. 5. According to the proof of Theorem 0.1 (nominal

**Example 2.** Consider now a nonlinear-batch reactor where an exothermic and irreversible chemical reaction takes place, (Lee & Lee, 1997). The idea is to control the reactor temperature

*Vk*/*Vk* max.

by manipulating the inlet coolant temperature. Furthermore, the manipulated variable has minimum and maximum constrains given by: *Tc*min ≤ *Tc* ≤ *Tc*max, where *Tc*min = −25[ ◦*C*], *Tc*max = 25[ ◦*C*] and, *Tc* is written in deviation variable. In addition, to show how the MPC controller works, it is assumed that a previous information about the cooling jacked temperature (*u* = *Tc*) is available.

Here the proposed MPC was implemented and the MPC parameters were tuned as, *Q* = 1000 , *R* = 5 and *T* = 1[min]. The nominal linear model used for predictions is the same proposed by (Adam, 2007).

Figure 6 shows both the reference and the temperature of the batch reactor are expressed in deviation variable. Furthermore, the manipulated variable and the correction made by the MPC, *u* are shown.

Notice that, 1) the cooling jacked temperature reaches the maximum value and as a consequence the input constraints becomes active in the time interval from 41 minutes to 46 minutes; 2) similarly, when the cooling jacked temperature reaches the minimum value, the other constraint becomes active in the time interval from 72 minutes to 73 minutes; 3) the performance is quite satisfactory in spite of the problem is considerably nonlinear and, 4) given that it is assumed that a previous information about the cooling jacked temperature is available, the correction *u* is somewhat smaller than *u* (Fig. 6).

Fig. 6. Temperature reference and controlled temperature of the batch reactor. Also, the cooling jacked temperature (u) and the correction (*u*) are showed.

**Example 3.** In order to evaluate the proposed controller performance we assume a true and nominal process given by (Lee et al., 2000; Lee & Lee, 1997) *G*(*s*) = 1/15*s*<sup>2</sup> + 8*s* + 1 and *G*(*s*) = 0.8/12*s*<sup>2</sup> + 7*s* + 1, respectively. The sampling time adopted to develop the discrete state space model is *T* = 1 and the final batch time is given by *Tf* = 90*T*. The proposed strategy achieves a good control performance in the first two or three iterations, with a rather

Fig. 7. Output and input responses.

reduced control horizon. The controller parameters are as follows: *Q* = 1500, *R* = 0.05, *N* = 5. Figure 7 shows the output response together with the output reference, and the inputs *u<sup>i</sup>* and *ui* , for the first and third iteration. At the first iteration, since the input reference is a constant value (*u<sup>i</sup> r Tf* <sup>−</sup><sup>1</sup> <sup>=</sup> 0), *<sup>u</sup><sup>i</sup>* and *<sup>u</sup><sup>i</sup>* are the same, and the output performance is quite poor (mainly because of the model mismatch). At the third iteration, however, given that a disturbance state is estimated from the previous run, the output response and the output reference are undistinguishable. As expected, the batch error is reduced drastically from run 1 to run 3, while the MPC cost is decreasing (as was established in Theorem 0.1) for each run (Fig. 8a). Notice that the MPC cost is normalized taking into account the maximal value *Vi k*/*V<sup>i</sup>* max ,

Fig. 8. Error and MPC cost, and Norm of the iteration error for the example 3.

where *V*<sup>1</sup> max <sup>≈</sup> 1.106 and *<sup>V</sup>*<sup>1</sup> max <sup>≈</sup> 286.5. This shows that the MPC cost *<sup>J</sup><sup>i</sup>* decrease from one run to the next, as was stated in Theorem 0.4. Finally, Fig. 8b shows the normalized norm of the error corresponding to each run.

#### **6. Conclusion**

16 Will-be-set-by-IN-TECH

reduced control horizon. The controller parameters are as follows: *Q* = 1500, *R* = 0.05, *N* = 5. Figure 7 shows the output response together with the output reference, and the inputs *u<sup>i</sup>* and

, for the first and third iteration. At the first iteration, since the input reference is a constant

because of the model mismatch). At the third iteration, however, given that a disturbance state is estimated from the previous run, the output response and the output reference are undistinguishable. As expected, the batch error is reduced drastically from run 1 to run 3, while the MPC cost is decreasing (as was established in Theorem 0.1) for each run (Fig. 8a).

(a) Error and MPC cost. (b) Norm of the iteration error.

Fig. 8. Error and MPC cost, and Norm of the iteration error for the example 3.

Notice that the MPC cost is normalized taking into account the maximal value

*Tf* <sup>−</sup><sup>1</sup> <sup>=</sup> 0), *<sup>u</sup><sup>i</sup>* and *<sup>u</sup><sup>i</sup>* are the same, and the output performance is quite poor (mainly

 *Vi k*/*V<sup>i</sup>* max ,

Fig. 7. Output and input responses.

*ui*

value (*u<sup>i</sup> r* In this paper a different formulation of a stable IHMPC with learning properties applied to batch processes is presented. For the case in which the process parameters remain unmodified for several batch runs, the formulation allows a repetitive learning algorithm, which updates the control variable sequence to achieve nominal perfect control performance. Two extension of the present work can be considered. The easier one is the extension to linear-time- variant (LTV) models, which would allow representing the non-linear behavior of the batch processes better. A second extension is to consider the robust case (e.g. by incorporating multi model uncertainty into the MPC formulation). These two issues will be studied in future works.

#### **7. Appendix**

#### **Proof of Theorem 0.1**

**Proof** Let **u***<sup>i</sup> opt <sup>k</sup>*−<sup>1</sup> :<sup>=</sup> *uopt <sup>k</sup>*−1|*k*−1,..., *<sup>u</sup><sup>i</sup> opt <sup>k</sup>*+*Ns*−2|*k*−1, 0, . . . , 0 and **x***<sup>i</sup> opt <sup>k</sup>*−<sup>1</sup> :<sup>=</sup> *xi opt <sup>k</sup>*−1|*k*−1,..., *<sup>x</sup><sup>i</sup> opt k*+*Tf* |*k*−1 be the optimal input and state sequence that are the solution to problem P1 at time *k* − 1, with *k* = 1, ··· , *Tf* − *N* (that means that the last *N* optimization problem of a given run *i* are not considered). The cost corresponding to these variables are

$$\begin{split} \boldsymbol{V}\_{k-1}^{\boldsymbol{i}^{\text{ppt}}} &= \sum\_{j=0}^{N\_{k}-1} \ell \left( \boldsymbol{e}\_{k+j-1|k-1}^{\boldsymbol{i}^{\text{ppt}}}, \overline{\boldsymbol{u}}\_{k+j-1|k-1}^{\boldsymbol{i}^{\text{ppt}}} \right) + \sum\_{j=N\_{k}}^{H-1} \ell \left( \boldsymbol{e}\_{k+j-1|k-1}^{\boldsymbol{i}^{\text{ppt}}}, 0 \right) + F \left( \boldsymbol{x}\_{k+H-1|k-1}^{\boldsymbol{i}^{\text{ppt}}} \right) \\ &= \sum\_{j=0}^{H-1} \ell \left( \boldsymbol{e}\_{k+j-1|k-1}^{\boldsymbol{i}^{\text{ppt}}}, \overline{\boldsymbol{u}}\_{k+j-1|k-1}^{\boldsymbol{i}^{\text{ppt}}} \right) + F \left( \boldsymbol{x}\_{T\_{\boldsymbol{f}}|k-1}^{\boldsymbol{i}^{\text{ppt}}} \right) . \end{split} \tag{23}$$

Notice that at time *<sup>k</sup>* <sup>−</sup> 1, *<sup>H</sup>* <sup>=</sup> *Tf* <sup>−</sup> *<sup>k</sup>* <sup>+</sup> 1, since *<sup>H</sup>* is a shrinking horizon. Now, let **<sup>u</sup>***if eas <sup>k</sup>* :<sup>=</sup> *ui opt <sup>k</sup>*|*k*−1,..., *<sup>u</sup>opt <sup>k</sup>*+*Ns*−2|*k*−1, 0, . . . , 0 be a feasible solution to problem P1 at time *k*. Since no new input is injected to the system from time *k* − 1 to time *k*, and no unknown disturbance is considered, the predicted state at time *k*, using the feasible input sequence, will be given by **x***if eas <sup>k</sup>* := *xi opt <sup>k</sup>*|*k*−1,..., *<sup>x</sup><sup>i</sup> opt <sup>k</sup>*+*H*−1|*k*−1, *<sup>x</sup><sup>i</sup> opt k*+*H*|*k*−1 = *xi opt <sup>k</sup>*|*k*−1,..., *<sup>x</sup><sup>i</sup> opt <sup>k</sup>*+*Tf* <sup>|</sup>*k*−1, *<sup>x</sup><sup>i</sup> opt k*+*Tf* +1|*k*−1 . Then, the cost at time *k* corresponding to the feasible solution **u***if eas* is as follows:

$$\begin{split} \boldsymbol{V}\_{k}^{j^{\text{fus}}} &= \sum\_{j=0}^{\text{N}-1} \ell \left( \boldsymbol{e}\_{k+j|\mathbf{k}-1}^{\text{pyt}}, \overline{\boldsymbol{\mu}}\_{k+j|\mathbf{k}-1}^{\text{pyt}} \right) + \boldsymbol{\Sigma}\_{j=\text{N}\_{\text{s}}}^{\text{H}-1} \ell \left( \boldsymbol{e}\_{k+j|\mathbf{k}-1}^{\text{pyt}}, \mathbf{0} \right) + \boldsymbol{F} \left( \boldsymbol{e}\_{k+H|\mathbf{k}-1}^{\text{pyt}} \right) \\ &= \boldsymbol{\Sigma}\_{j=0}^{\text{H}-1} \ell \left( \boldsymbol{e}\_{k+j|\mathbf{k}-1}^{\text{pyt}}, \overline{\boldsymbol{\mu}}\_{k+j|\mathbf{k}-1}^{\text{pyt}} \right) + \boldsymbol{F} \left( \boldsymbol{e}\_{T\_{f}|\mathbf{k}-1}^{\text{pyt}} \right) . \end{split} \tag{24}$$

Notice that now *H* = *Tf* − *k*, because predictions are referred to time *k*. Now, subtracting (23) from (24) we have

$$V\_k^{j^{\ell \text{as}}} - V\_{k-1}^{j^{\lnot}} = -\ell \left( \varepsilon\_{k-1|k-1}^{i^{\lnot}} \overline{u}\_{k-1|k-1}^{i^{\lnot}} \right) \cdot \varepsilon$$

This means that the optimal cost at time *k*, which is not grater than the feasible one at the same time, satisfies

$$\left(V\_k^{j^{\text{opt}}} - V\_{k-1}^{j^{\text{opt}}} + \ell \left(\varepsilon\_{k-1|k-1}^{i^{\text{opt}}}, \overline{u}\_{k-1|k-1}^{i^{\text{opt}}}\right) \le 0.4\right)$$

Finally, notice that *e<sup>i</sup> opt <sup>k</sup>*−1|*k*−<sup>1</sup> and *<sup>u</sup><sup>i</sup> opt <sup>k</sup>*−1|*k*−<sup>1</sup> represent actual (not only predicted) variables. Thus, we can write

$$\left(V\_{k}^{\dot{\imath}^{\text{opt}}} - V\_{k-1}^{\dot{\imath}^{\text{opt}}} + \ell \left(e\_{k-1}^{\dot{\imath}^{\text{opt}}}, \overline{u}\_{k-1}^{\dot{\imath}^{\text{opt}}}\right) \le 0. \tag{25}$$

This shows that, whatever the output error is different from zero, the cost decreases when time *k* increases.

Finally, the decreasing property for *k* = *Tf* − *N* + 1, ··· , *Tf* − 1, and the last part of the theorem, can be proved following similar steps as before (i.e., finding a feasible solution). 

#### **Proof of Theorem 0.3**

**Proof** From the recursive use of (25), together with (15), (19) and (20), we have

$$V\_{k+1}^{j^{opt}} \le V\_k^{j^{opt}} - l \left( \overline{\mathbf{x}}\_{k'}^i \overline{u}\_k^i \right) \le \overline{\gamma} . \|\overline{\mathbf{x}}\_k^i\|^\sigma - \underline{\gamma} . \|\overline{\mathbf{x}}\_k^i\|^\sigma = (\overline{\gamma} - \underline{\gamma}) \|\overline{\mathbf{x}}\_k^i\|^\sigma \text{ (}$$

for *k* = 0, . . . , *Tf* − 2. So we can write:

$$\sum\_{k=0}^{T\_f - 1} V\_k^{I^{\mathcal{P}pt}} \le \left[ r + \sum\_{n=1}^{T\_f - 1} (\overline{\gamma} - \underline{\gamma})^n \right] . \|\overline{x}\_0^i\|^\sigma.$$

Therefore,

$$\frac{\sum\_{k=0}^{T\_f-1} V\_k^{j\vartheta t}}{V\_0^{j\vartheta t}} \le \frac{\left[\overline{\gamma} + \sum\_{n=1}^{T\_f-1} (\overline{\gamma} - \underline{\gamma})^n\right]}{\underline{\gamma}} \nu$$

since *<sup>γ</sup>*.�*x*0�*<sup>σ</sup>* is a lower bound of *<sup>V</sup><sup>i</sup> opt* <sup>0</sup> (that is, *<sup>γ</sup>*.�*x*0�*<sup>σ</sup>* <sup>≤</sup> *<sup>V</sup><sup>i</sup> opt* <sup>0</sup> ). Finally,

$$\beta = \frac{\left[\overline{\gamma} + \sum\_{n=1}^{T\_f - 1} \left(\overline{\gamma} - \underline{\gamma}\right)^n\right]}{\underline{\gamma}}.$$

#### **Proof of Property 0.1**

**Proof** ⇐) Let us assume that *<sup>V</sup><sup>i</sup> opt <sup>k</sup>* = 0 , for *k* = 0, ..., *Tf* − 1. Then, the optimal predicted output error and input will be given by *e<sup>i</sup> opt <sup>k</sup>*+*j*|*<sup>k</sup>* <sup>=</sup> 0, *<sup>j</sup>* <sup>=</sup> 0, ..., *Tf* and *<sup>u</sup><sup>i</sup> opt <sup>k</sup>*+*j*|*<sup>k</sup>* <sup>=</sup> 0, for *<sup>j</sup>* <sup>=</sup> 0, ..., *Tf* <sup>−</sup> 1, respectively. If *<sup>e</sup><sup>i</sup> opt <sup>k</sup>*+*j*|*<sup>k</sup>* adn *<sup>u</sup><sup>i</sup> opt <sup>k</sup>*+*j*|*<sup>k</sup>* <sup>=</sup> 0 simultaneously, it follows that *<sup>u</sup><sup>i</sup> r <sup>k</sup>* <sup>=</sup> *<sup>u</sup>per f <sup>k</sup>* for *k* = 0, . . . , *Tf* − 1, since it is the only input sequence that produces null predicted output error 18 Will-be-set-by-IN-TECH

This means that the optimal cost at time *k*, which is not grater than the feasible one at the same

� *e i opt <sup>k</sup>*−1, *<sup>u</sup><sup>i</sup> opt k*−1 �

This shows that, whatever the output error is different from zero, the cost decreases when

Finally, the decreasing property for *k* = *Tf* − *N* + 1, ··· , *Tf* − 1, and the last part of the theorem, can be proved following similar steps as before (i.e., finding a feasible solution).

*opt k*−1|*k*−1 � ≤ 0.

*<sup>k</sup>*−1|*k*−<sup>1</sup> represent actual (not only predicted) variables. Thus,

*<sup>k</sup>*�*<sup>σ</sup>* = (*<sup>γ</sup>* <sup>−</sup> *<sup>γ</sup>*)�*x<sup>i</sup>*

�

≤ 0. (25)

*<sup>k</sup>*�*σ*,

� *e i opt <sup>k</sup>*−1|*k*−1, *<sup>u</sup><sup>i</sup>*

*opt <sup>k</sup>*−<sup>1</sup> <sup>+</sup>

**Proof** From the recursive use of (25), together with (15), (19) and (20), we have

⎡ ⎣*r* +

≤

*opt*

�

*β* =

*opt*

*opt <sup>k</sup>*+*j*|*<sup>k</sup>* adn *<sup>u</sup><sup>i</sup>* �

*<sup>γ</sup>* <sup>+</sup> <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup> *n*=1 � *γ* − *γ*

*opt*

*k* = 0, . . . , *Tf* − 1, since it is the only input sequence that produces null predicted output error

*opt*

<sup>≤</sup> *<sup>γ</sup>*.�*x<sup>i</sup>*

*Tf* −1 ∑ *n*=1

*<sup>γ</sup>* <sup>+</sup> <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup>

<sup>0</sup> (that is, *<sup>γ</sup>*.�*x*0�*<sup>σ</sup>* <sup>≤</sup> *<sup>V</sup><sup>i</sup>*

*<sup>k</sup>*�*<sup>σ</sup>* <sup>−</sup> *<sup>γ</sup>*.�*x<sup>i</sup>*

(*<sup>γ</sup>* <sup>−</sup> *<sup>γ</sup>*)*<sup>n</sup>*

⎤ <sup>⎦</sup> .�*x<sup>i</sup>* <sup>0</sup>�*σ*.

*<sup>n</sup>*=<sup>1</sup> (*<sup>γ</sup>* <sup>−</sup> *<sup>γ</sup>*)*<sup>n</sup>*

*<sup>γ</sup>* ,

�*n*�

*<sup>γ</sup>* .

*opt* <sup>0</sup> ).

*<sup>k</sup>* = 0 , for *k* = 0, ..., *Tf* − 1. Then, the optimal predicted

*opt*

*<sup>k</sup>*+*j*|*<sup>k</sup>* <sup>=</sup> 0, for *<sup>j</sup>* <sup>=</sup>

*<sup>k</sup>* for

*r <sup>k</sup>* <sup>=</sup> *<sup>u</sup>per f*

*<sup>k</sup>*+*j*|*<sup>k</sup>* <sup>=</sup> 0, *<sup>j</sup>* <sup>=</sup> 0, ..., *Tf* and *<sup>u</sup><sup>i</sup>*

*<sup>k</sup>*+*j*|*<sup>k</sup>* <sup>=</sup> 0 simultaneously, it follows that *<sup>u</sup><sup>i</sup>*

*Vi opt <sup>k</sup>* <sup>−</sup> *<sup>V</sup><sup>i</sup>*

*<sup>k</sup>*−1|*k*−<sup>1</sup> and *<sup>u</sup><sup>i</sup>*

*opt <sup>k</sup>* − *l* � *xi <sup>k</sup>*, *<sup>u</sup><sup>i</sup> k* �

> *Tf* −1 ∑ *k*=0 *Vi opt k* ≤

> > <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup> *<sup>k</sup>*=<sup>0</sup> *<sup>V</sup><sup>i</sup> opt k Viopt* 0

*opt*

*opt <sup>k</sup>*−<sup>1</sup> <sup>+</sup>

*opt*

*Vi opt <sup>k</sup>* <sup>−</sup> *<sup>V</sup><sup>i</sup>*

time, satisfies

we can write

time *k* increases.

**Proof of Theorem 0.3**

Therefore,

Finally,

**Proof of Property 0.1**

*Vi opt <sup>k</sup>*+<sup>1</sup> <sup>≤</sup> *<sup>V</sup><sup>i</sup>*

for *k* = 0, . . . , *Tf* − 2. So we can write:

since *<sup>γ</sup>*.�*x*0�*<sup>σ</sup>* is a lower bound of *<sup>V</sup><sup>i</sup>*

**Proof** ⇐) Let us assume that *<sup>V</sup><sup>i</sup>*

0, ..., *Tf* <sup>−</sup> 1, respectively. If *<sup>e</sup><sup>i</sup>*

output error and input will be given by *e<sup>i</sup>*

Finally, notice that *e<sup>i</sup>*

(otherwise, the optimization will necessarily find an equilibrium such that *ei opt k*+1|*k* <sup>&</sup>gt; 0 and *ui opt k*|*k* <sup>&</sup>gt; 0, provided that *<sup>Q</sup>* � 0 and *<sup>R</sup>* � 0 by hypothesis). Consequently, **<sup>u</sup>***<sup>i</sup> r* = **u***per f* .

<sup>⇒</sup>) Let us assume that **<sup>u</sup>***<sup>i</sup> r <sup>k</sup>* <sup>=</sup> **<sup>u</sup>***per f <sup>k</sup>* . Because of the definition of the perfect control input, the optimization problem without any input correction will produce a sequence of null output error predictions given by

$$\begin{aligned} \boldsymbol{e}\_{k|k}^{\dot{i}} &= 0\\ \boldsymbol{e}\_{k+1|k}^{\dot{i}} = \mathbb{C}\boldsymbol{x}\_{k+1|k}^{\dot{i}} - \boldsymbol{y}\_{k+1}^{\prime} &= \mathbb{C}\left[A\boldsymbol{x}\_{k|k}^{\dot{i}} + B\boldsymbol{u}\_{k}^{\prime\prime rf}\right] - \boldsymbol{y}\_{k+1}^{r} = 0\\ \vdots\\ \boldsymbol{e}\_{k+T\_f|k}^{\dot{i}} = \mathbb{C}\boldsymbol{x}\_{k+T\_f|k}^{\dot{i}} - \boldsymbol{y}\_{k+T\_f}^{r} &= \mathbb{C}\left[A^{T\_f}\boldsymbol{x}\_{k|k}^{\dot{i}} + AB\boldsymbol{u}\_k^{\prime\prime rf} \cdot \cdots \cdot Bu\_{k+T\_f-1}^{\prime\prime rf}\right] - \boldsymbol{y}\_{k+T\_f}^{r} = 0. \end{aligned}$$

Consequently, the optimal sequence of decision variables (predicted inputs) will be *u i <sup>o</sup> pt <sup>k</sup>*+*j*|*<sup>k</sup>* <sup>=</sup> <sup>0</sup> for *k* = 0, . . . , *Tf* − 1 and *j* = 0, . . . , *Tf* − 1, since no correction is needed to achieve null predicted output error. This means that *V<sup>i</sup> opt <sup>k</sup>* = 0 for *k* = 0, . . . , *Tf* − 1.

#### **Proof of Property 0.2**

*e i*

**Proof** <sup>⇒</sup>) Let us assume that **<sup>e</sup>***<sup>i</sup>* <sup>=</sup> 0. This means that *<sup>e</sup><sup>i</sup> opt <sup>k</sup>*|*<sup>k</sup>* <sup>=</sup> 0, for *<sup>k</sup>* <sup>=</sup> 0, . . . , *Tf* . Now, assume that the input reference vector is different from the perfect control input, **<sup>u</sup>***ir* �<sup>=</sup> **<sup>u</sup>***per f* , and consider the output error predictions necessary to compute the MPC cost *V<sup>i</sup> k* :

$$e\_{k|k}^i = 0$$

$$e\_{k+1|k}^i = \mathbb{C}x\_{k+1|k}^i - y\_{k+1}^r = \mathbb{C}\left[Ax\_{k|k}^i + Bu\_k^{i'} + B\overline{u}\_{k|k}^i\right] - y\_{k+1}^r$$

$$\vdots$$

Since *u<sup>i</sup> r* is not an element of the perfect control input, then *Ax<sup>i</sup> <sup>k</sup>*|*<sup>k</sup>* <sup>+</sup> *Bu<sup>i</sup> r k* �= 0. Consequently, (assuming that *CB* is invertible) the input *u<sup>i</sup>* ∗ *<sup>k</sup>*|*<sup>k</sup>* necessary to make *<sup>e</sup><sup>i</sup> opt <sup>k</sup>*+1|*<sup>k</sup>* <sup>=</sup> 0, will be given by:

$$\overline{u}\_{k|k}^{i^\*} = (\mathsf{C}B)^{-1} \left( y\_{k+1}^r - \mathsf{C} \left[ A \mathfrak{x}\_{k|k}^i + B u\_k^{i^r} \right] \right) \rho$$

which is a non null value. However, the optimization will necessary find an equilibrium solution such that �*e<sup>i</sup> opt <sup>k</sup>*+1|*k*� <sup>&</sup>gt; 0 and *ui opt k*|*k* <sup>&</sup>lt; *ui* ∗ *k*|*k* , since *<sup>Q</sup>* � 0 and *<sup>R</sup>* � 0 by hypothesis. This implies that <sup>3</sup> *e<sup>i</sup> opt <sup>k</sup>*+1|*<sup>k</sup>* <sup>=</sup> *<sup>e</sup><sup>i</sup> opt <sup>k</sup>*+1|*k*+<sup>1</sup> �<sup>=</sup> 0, contradicting the initial assumption of null output error.

From this reasoning for subsequent output errors, it follows that the only possible input reference to achieve *e<sup>i</sup>* = 0 will be the perfect control input (**u***<sup>i</sup> r* = **u***per f* ). If this is the case, it follows that *V<sup>i</sup> opt <sup>k</sup>* <sup>=</sup> 0 , for *<sup>k</sup>* <sup>=</sup> 0, ..., *Tf* (Property 0.1), and so, *<sup>J</sup><sup>i</sup>* <sup>=</sup> <sup>0</sup>

<sup>3</sup> Note that for the nominal case is *e<sup>i</sup> <sup>k</sup>*+1|*k*+<sup>1</sup> <sup>=</sup> *<sup>e</sup><sup>i</sup> k*+1|*k*

⇐) Let us assume that *<sup>J</sup><sup>i</sup>* <sup>=</sup> 0. Then, *<sup>V</sup><sup>i</sup> opt <sup>k</sup>* <sup>=</sup> 0, which implies that *<sup>e</sup><sup>i</sup> opt <sup>k</sup>*+*j*|*<sup>k</sup>* <sup>=</sup> 0, for *<sup>k</sup>* <sup>=</sup> 0, ..., *Tf* and for *j* = 0, ..., *Tf* . Particularly, *e<sup>i</sup> opt <sup>k</sup>*|*<sup>k</sup>* <sup>=</sup> 0, for *<sup>k</sup>* <sup>=</sup> 0, ..., *Tf* , which implies **<sup>e</sup>***<sup>i</sup>* <sup>=</sup> 0.

#### **Proof of Theorem 0.4**

**Proof** The idea here is to show that *V<sup>i</sup> opt <sup>k</sup>* <sup>≤</sup> *<sup>V</sup>i*−1*opt <sup>k</sup>* for *<sup>k</sup>* = 0, . . . , *Tf* − 1 and so, *Ji* ≤ *Ji*−1. First, let us consider the case in which the sequence of *Tf* optimization problems P2 *do nothing* at a given run *i*. That is, we will consider the case in which

$$\mathfrak{G}^i = \left[ \overline{\mathfrak{u}}\_{0|0}^{\mathfrak{i}^{\mathfrak{p}\mathfrak{i}^T}} \dots \overline{\mathfrak{u}}\_{T\_f-1|T\_f-1}^{\mathfrak{i}^{\mathfrak{p}\mathfrak{i}^T}} \right] = [\mathbf{0} \dots \mathbf{0}]^T.$$

for a given run *i*. So, for the nominal case, the total actual input will be given by

$$\mathbf{u}^{i} = \mathbf{u}^{i-1} = \begin{bmatrix} u\_0^{i-1} \ \dots \ u\_{T\_f-1}^{i-1} \end{bmatrix}^T = \begin{bmatrix} u\_{0|0}^{i-1} \ \dots \ u\_{T\_f-1|T\_f-1}^{i-1} \end{bmatrix}^T$$

and the run cost corresponding to this (fictitious) input sequence will be given by

$$
\tilde{J}\_i = \sum\_{k=1}^{T\_f} \tilde{V}\_{k'}^i
$$

where

$$\bar{\mathbf{v}}\_{k}^{i} \coloneqq \sum\_{j=0}^{N\_{i}-1} \ell \left( \mathbf{e}\_{k+j|k+j'}^{i-1^{opt}} \overbrace{\overline{\mathbf{u}}\_{k+j|k+j}^{i}}^{\mathbf{0}} \right) + \sum\_{j=N\_{k}}^{H-1} \ell \left( \mathbf{e}\_{k+j|k+j'}^{i-1^{opt}} \mathbf{0} \right) + F \left( \mathbf{x}\_{k+H|k+H-1}^{i-1^{opt}} \right)$$

$$= \sum\_{j=0}^{H-1} \ell \left( \mathbf{e}\_{k+j}^{i-1} \right) + F \left( \mathbf{x}\_{k+H}^{i-1} \right) \tag{26}$$

Since the input reference, *u<sup>i</sup> r k*+*j* , that uses each optimization problems is given by *u<sup>i</sup> r <sup>k</sup>*+*<sup>j</sup>* = *ui*−1*opt k*+*j*|*k*+*j* , then the resulting output error will be given by *e<sup>i</sup> opt <sup>k</sup>*+*j*|*k*+*<sup>j</sup>* <sup>=</sup> *<sup>e</sup> i*−1 *<sup>k</sup>*+*<sup>j</sup>* for *j* = 0, ..., *H*. In other words, the open loop output error predictions made by the MPC optimization at each time *k*, for a given run *i*, will be the actual (implemented) output error of the past run *i* − 1. Here it must be noticed that *e i*−1 *<sup>k</sup>*+*<sup>j</sup>* refers to the actual error of the system, that is, the error produced by the implemented input *ui*−<sup>1</sup> *<sup>k</sup>*+*j*−<sup>1</sup> <sup>=</sup> *<sup>u</sup>i*−1*opt <sup>k</sup>*+*j*−1|*k*+*j*−1. Moreover, because of the proposed inter run convergence constraint, the implemented input will be *ui*−*<sup>V</sup> Tf* <sup>−</sup>1, for *<sup>j</sup>* <sup>≥</sup> *<sup>H</sup>*.

Let now consider the optimal MPC costs corresponding to *k* = 0, ..., *Tf* − 1, of a given run *i* − 1. From the recursive use of (12) we have

$$\left(V\_1^{i-1^{\text{opt}}} + \ell \left(e\_0^{i-1}, \overline{u}\_0^{i-1}\right) \le V\_0^{i-1^{\text{opt}}}\right)$$

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

let us consider the case in which the sequence of *Tf* optimization problems P2 *do nothing* at a

*optT Tf* −1|*Tf* −1

*<sup>k</sup>* <sup>=</sup> 0, which implies that *<sup>e</sup><sup>i</sup>*

�

*<sup>k</sup>*|*<sup>k</sup>* <sup>=</sup> 0, for *<sup>k</sup>* <sup>=</sup> 0, ..., *Tf* , which implies **<sup>e</sup>***<sup>i</sup>* <sup>=</sup> 0.

= [0...0]

<sup>0</sup>|<sup>0</sup> ... *<sup>u</sup>i*−1*optT*

, that uses each optimization problems is given by *u<sup>i</sup>*

<sup>≤</sup> *<sup>V</sup>i*−1*opt* 0

*opt*

*<sup>k</sup>*+*j*|*k*+*<sup>j</sup>* <sup>=</sup> *<sup>e</sup>*

*<sup>k</sup>*+*<sup>j</sup>* refers to the actual error of the system, that is, the

*i*−1

*<sup>k</sup>*+*j*−1|*k*+*j*−1. Moreover, because of the

*T*,

*opt*

*<sup>k</sup>* for *<sup>k</sup>* = 0, . . . , *Tf* − 1 and so, *Ji* ≤ *Ji*−1. First,

*Tf* −1|*Tf* −1

�*T*

�

*<sup>k</sup>*+*<sup>j</sup>* for *j* = 0, ..., *H*.

*Tf* <sup>−</sup>1, for *<sup>j</sup>* <sup>≥</sup> *<sup>H</sup>*.

(26)

*r <sup>k</sup>*+*<sup>j</sup>* =

*<sup>k</sup>*+*j*|*<sup>k</sup>* <sup>=</sup> 0, for *<sup>k</sup>* <sup>=</sup> 0, ..., *Tf*

*opt*

*opt*

*opt <sup>k</sup>* <sup>≤</sup> *<sup>V</sup>i*−1*opt*

for a given run *i*. So, for the nominal case, the total actual input will be given by

<sup>0</sup> ... *<sup>u</sup>i*−1*<sup>T</sup>*

=0 � �� � *ui k*+*j*|*k*+*j*

= *H*−1 ∑ *j*=0 *l* � *e i*−1 *k*+*j* � + *F* � *xi*−<sup>1</sup> *k*+*H* �

, then the resulting output error will be given by *e<sup>i</sup>*

*Vi*−1*opt* <sup>1</sup> +

*i*−1

proposed inter run convergence constraint, the implemented input will be *ui*−*<sup>V</sup>*

� *e i*−1 <sup>0</sup> , *<sup>u</sup>i*−<sup>1</sup> 0 �

*r k*+*j*

and the run cost corresponding to this (fictitious) input sequence will be given by

*Tf* −1 �*T* = � *ui*−1*optT*

˜*Ji* =

⎞

⎟⎟⎠ + *H*−1 ∑ *j*=*Ns* � *e <sup>i</sup>*−1*opt k*+*j*|*k*+*j* , 0 � + *F* � *xi*−1*opt k*+*H*|*k*+*H*−1

*Tf* ∑ *k*=1 *V*˜ *i k* ,

In other words, the open loop output error predictions made by the MPC optimization at each time *k*, for a given run *i*, will be the actual (implemented) output error of the past run

Let now consider the optimal MPC costs corresponding to *k* = 0, ..., *Tf* − 1, of a given run

*<sup>k</sup>*+*j*−<sup>1</sup> <sup>=</sup> *<sup>u</sup>i*−1*opt*

⇐) Let us assume that *<sup>J</sup><sup>i</sup>* <sup>=</sup> 0. Then, *<sup>V</sup><sup>i</sup>*

and for *j* = 0, ..., *Tf* . Particularly, *e<sup>i</sup>*

**Proof** The idea here is to show that *V<sup>i</sup>*

given run *i*. That is, we will consider the case in which

**u***<sup>i</sup>* = **u***i*−<sup>1</sup> =

δ*<sup>i</sup>* = � *ui optT* <sup>0</sup>|<sup>0</sup> ... *<sup>u</sup><sup>i</sup>*

> � *ui*−1*<sup>T</sup>*

**Proof of Theorem 0.4**

where

*ui*−1*opt k*+*j*|*k*+*j* *V*˜ *i <sup>k</sup>* :=

Since the input reference, *u<sup>i</sup>*

*i* − 1. Here it must be noticed that *e*

error produced by the implemented input *ui*−<sup>1</sup>

*i* − 1. From the recursive use of (12) we have

*Ns*−1 ∑ *j*=0  ⎛

⎜⎜⎝ *e <sup>i</sup>*−1*opt k*+*j*|*k*+*j* ,

$$\begin{aligned} \vdots \\ V\_{T\_f-1}^{i-1^{opt}} + \ell \left( e\_{T\_f-2}^{i-1}, \overline{u}\_{T\_f-2}^{i-1} \right) \le V\_{T\_f-2}^{i-1^{opt}} \end{aligned}$$

Then, adding the second term of the left hand side of each inequality to both sides of the next one, and rearranging the terms, we can write

$$\left(V\_{T\_f-1}^{i-1^{opt}} + \ell \left(\mathfrak{e}\_{T\_f-2'}^{i-1}, \overline{\mathfrak{u}}\_{T\_f-2}^{i-1}\right) + \dots + \ell \left(\mathfrak{e}\_0^{i-1}, \overline{\mathfrak{u}}\_0^{i-1}\right) \le V\_0^{i-1^{opt}}\tag{27}$$

From (14), the cost *<sup>V</sup>i*−1*opt Tf* <sup>−</sup><sup>1</sup> , which is the cost at the end of the run *<sup>i</sup>* <sup>−</sup> 1, will be given by,

$$V\_{T\_{f}-1}^{i-1^{\eta\mu}} = \ell \left( e\_{T\_{f}-1'}^{i-1} \overline{u}\_{T\_{f}-1}^{i-1} \right) + F \left( \mathbf{x}\_{T\_{f}}^{i-1} \right). \tag{28}$$

Therefore, by substituting (28) in (27), we have

$$F\left(\mathbf{x}\_{T\_f}^{i-1}\right) + \ell \left(\mathbf{e}\_{T\_f-1}^{i-1}, \overline{\mathbf{u}}\_{T\_f-1}^{i-1}\right) + \dots + \ell \left(\mathbf{e}\_0^{i-1}, \overline{\mathbf{u}}\_0^{i-1}\right) \le V\_1^{i-1^{\text{opt}}} \tag{29}$$

Now, the pseudo cost (26) at time *k* = 0, *V*˜ *<sup>i</sup>* <sup>0</sup>, can be written as

$$\begin{aligned} \tilde{V}\_0^i &= \sum\_{j=0}^{T\_f - 1} l\left(e\_j^{i-1}, 0\right) + F\left(x\_{T\_f}^{i-1}\right) \\ &= \sum\_{j=0}^{T\_f - 1} l\left(e\_j^{i-1}, \overline{u}\_j^{i-1}\right) + F\left(x\_{T\_f}^{i-1}\right) - \sum\_{j=0}^{T\_f - 1} \left\|\overline{u}\_j^{i-1}\right\| \end{aligned} \tag{30}$$

and from the comparison of the left hand side of inequality (29) with (30), it follows that

$$\tilde{V}\_0^i = V\_0^{i-1^{opt}} - \sum\_{j=0}^{T\_f - 1} \left\| \overline{u}\_j^{i-1} \right\|\_2$$

Repeating now this reasoning for *k* = 1, ..., *Tf* − 1 we conclude that

$$\tilde{V}\_k^i = V\_k^{i-1^{opt}} - \sum\_{j=k}^{T\_f - 1} \left\| \overline{u}\_j^{i-1} \right\| , \qquad k = 0, \dots, T\_f - 1$$

Therefore, from the definition of the run cost J i we have4

$$\tilde{f}\_i \le f\_{i-1} - \sum\_{k=0}^{T\_f - 1} \sum\_{j=k}^{T\_f - 1} \left\| \overline{u}\_j^{i-1} \right\|. \tag{31}$$

<sup>4</sup> Notice that, if the run i implements the manipulated variable *u<sup>i</sup> <sup>j</sup>* <sup>=</sup> *<sup>u</sup>i*−<sup>1</sup> *<sup>j</sup>* <sup>+</sup> *<sup>u</sup>i*−<sup>1</sup> *<sup>j</sup>* , *j* = 0, 1, . . . , *Tf* − 1 and *ui*−<sup>1</sup> *<sup>j</sup>* �<sup>=</sup> 0 for some *<sup>j</sup>*; then, according to 31 ˜*Ji* <sup>&</sup>lt; *Ji*−1. Unnaturally, to have found a non null optimal solution in the run *i* − 1 is sufficient to have a strictly smaller cost for the run *i*.

The MPC costs *V<sup>i</sup> <sup>k</sup>* is such that *<sup>V</sup><sup>i</sup> opt <sup>k</sup>* <sup>≤</sup> *<sup>V</sup>*˜ *<sup>i</sup> <sup>k</sup>* , since the solution *<sup>u</sup><sup>i</sup> <sup>k</sup>*+*j*|*<sup>k</sup>* <sup>=</sup> 0, for *<sup>j</sup>* <sup>=</sup> 0, . . . , *<sup>H</sup>* is a feasible solution for problem P2 at each time *k*. This implies that

$$J\_i \le \tilde{I}^i. \tag{32}$$

From (31) and (32) we have

$$J\_i \le J\_i \le J\_{i-1} - \sum\_{k=0}^{T\_f - 1} \sum\_{j=k}^{T\_f - 1} \left\| \overline{u}\_j^{i-1} \right\|\,. \tag{33}$$

which means that the run costs are strictly decreasing if at least one of the optimization problems corresponding to the run *<sup>i</sup>* <sup>−</sup> 1 find a solution *<sup>u</sup>i*−<sup>1</sup> *<sup>k</sup>*+*j*|*<sup>k</sup>* �<sup>=</sup> 0. As a result, two options arise:

I) Let us assume that **u***<sup>i</sup> r* �<sup>=</sup> **<sup>u</sup>***per f* . Then, by property 0.3, *<sup>J</sup><sup>i</sup>* �<sup>=</sup> 0 and following the reasoning used in the proof of Property 0.2, *u<sup>i</sup> <sup>j</sup>* �= 0, for some 1 ≤ *j* ≤ *Tf* . Then, according to 33, *Ji*<sup>+</sup><sup>1</sup> <sup>≤</sup> ˜*Ji*<sup>+</sup><sup>1</sup> <sup>≤</sup> *Ji* <sup>−</sup> <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup> *<sup>k</sup>*=<sup>0</sup> <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup> *j*=*k ui*−<sup>1</sup> *j* with *ui j* <sup>&</sup>gt; 0 for some 1 <sup>≤</sup> *<sup>j</sup>* <sup>≤</sup> *Tf* <sup>−</sup> 1.

The sequence *<sup>J</sup><sup>i</sup>* will stop decreasing only if <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup> *j*=0 *ui j* <sup>=</sup> 0. In addiction, if <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup> *j*=0 *ui j* <sup>=</sup> 0, then **u***<sup>i</sup> r* <sup>=</sup> **<sup>u</sup>***per f* , which implies that *Ji* <sup>=</sup> 0. Therefore: lim*i*→<sup>∞</sup> *Ji* <sup>=</sup> 0, which, by Property 0.2 implies that lim*i*→<sup>∞</sup> **<sup>e</sup>***<sup>i</sup>* = 0.

Notice that the last limit implies that lim*i*→<sup>∞</sup> <sup>δ</sup>*<sup>i</sup>* <sup>=</sup> 0 and consequently, lim*i*→<sup>∞</sup> **<sup>u</sup>***<sup>i</sup> r* = **u***per f* .

II) Let us assume that **u***<sup>i</sup> r* = **u***per f* . Then, by Corollary 0.3, *Ji* = 0, and according to (33), *Ji*<sup>+</sup><sup>1</sup> = ˜*Ji*<sup>+</sup><sup>1</sup> = *Ji* = 0. Consequently, by Property 0.2, **e***<sup>i</sup>* = 0.

#### **8. References**


22 Will-be-set-by-IN-TECH

*Ji* <sup>≤</sup> ˜*<sup>J</sup> i*

> *Tf* −1 ∑ *k*=0

which means that the run costs are strictly decreasing if at least one of the optimization

*j*=0 *ui j* 

Adam, E. J. (2007). Adaptive iterative learning control applied to nonlinear batch reactor,

Arimoto, S., Kawamura, S. & Miyazaki, F. (1984). Bettering operation of robots by learning,

Bien, Z. & Xu, J.-X. (1998). *Iterative Learning Control: Analysis, Design, Iteration and Application*,

Bonvin, D., Srinivasan, B. & Hunkeler, D. (2006). Control and optimization of bath processes

Camacho E. F. & Bordons C. (2009). *Model Predictive Control*, 2nd Edition, Springer-Verlag.

Cueli, J. R. & Bordons, C. (2008). Iterative nonlinear model predictive control. stability, robustness and applications, *Control Engineering Practice* 16: 1023–1034. Doh, T. Y., J. H. moon, K. B. J. & Chung, M. J. (1999). Robust ilc with current feedback for

*XII Reunión de Trabajo en Procesamiento de la Información y Control (RPIC 2007)*, Río


Notice that the last limit implies that lim*i*→<sup>∞</sup> <sup>δ</sup>*<sup>i</sup>* <sup>=</sup> 0 and consequently, lim*i*→<sup>∞</sup> **<sup>u</sup>***<sup>i</sup>*

<sup>=</sup> **<sup>u</sup>***per f* , which implies that *Ji* <sup>=</sup> 0. Therefore: lim*i*→<sup>∞</sup> *Ji* <sup>=</sup> 0, which, by Property 0.2

*Tf* −1 ∑ *j*=*k*

 *ui*−<sup>1</sup> *j* 

�<sup>=</sup> **<sup>u</sup>***per f* . Then, by property 0.3, *<sup>J</sup><sup>i</sup>* �<sup>=</sup> 0 and following the reasoning

*<sup>j</sup>* �= 0, for some 1 ≤ *j* ≤ *Tf* . Then, according to 33,

<sup>=</sup> 0. In addiction, if <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup>

<sup>&</sup>gt; 0 for some 1 <sup>≤</sup> *<sup>j</sup>* <sup>≤</sup> *Tf* <sup>−</sup> 1.

= **u***per f* . Then, by Corollary 0.3, *Ji* = 0, and according to (33),

*<sup>k</sup>* , since the solution *<sup>u</sup><sup>i</sup>*

*<sup>k</sup>*+*j*|*<sup>k</sup>* <sup>=</sup> 0, for *<sup>j</sup>* <sup>=</sup> 0, . . . , *<sup>H</sup>* is a

. (33)

*<sup>k</sup>*+*j*|*<sup>k</sup>* �<sup>=</sup> 0. As a result, two options

*j*=0 *ui j* <sup>=</sup> 0,

*r*

= **u***per f* .

. (32)

The MPC costs *V<sup>i</sup>*

arise:

then **u***<sup>i</sup> r*

From (31) and (32) we have

I) Let us assume that **u***<sup>i</sup>*

*Ji*<sup>+</sup><sup>1</sup> <sup>≤</sup> ˜*Ji*<sup>+</sup><sup>1</sup> <sup>≤</sup> *Ji* <sup>−</sup> <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup>

implies that lim*i*→<sup>∞</sup> **<sup>e</sup>***<sup>i</sup>* = 0.

II) Let us assume that **u***<sup>i</sup>*

**8. References**

*<sup>k</sup>* is such that *<sup>V</sup><sup>i</sup>*

*opt <sup>k</sup>* <sup>≤</sup> *<sup>V</sup>*˜ *<sup>i</sup>*

*Ji* <sup>≤</sup> ˜*Ji* <sup>≤</sup> *Ji*−<sup>1</sup> <sup>−</sup>

feasible solution for problem P2 at each time *k*. This implies that

problems corresponding to the run *<sup>i</sup>* <sup>−</sup> 1 find a solution *<sup>u</sup>i*−<sup>1</sup>

*r*

*<sup>k</sup>*=<sup>0</sup> <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup> *j*=*k ui*−<sup>1</sup> *j* with *ui j* 

The sequence *<sup>J</sup><sup>i</sup>* will stop decreasing only if <sup>∑</sup>*Tf* <sup>−</sup><sup>1</sup>

*r*

*Ji*<sup>+</sup><sup>1</sup> = ˜*Ji*<sup>+</sup><sup>1</sup> = *Ji* = 0. Consequently, by Property 0.2, **e***<sup>i</sup>* = 0.

Gallegos, Santa Cruz, Argentina, (CD version).

Chen, Y. & Wen, C. (1999). *Iterative Learning Control*, Springer Verlag.

uncertain linear system, *Int. J. Syst. Sci* 30(1): 39–47.

*Journal of Robotic System* 1(2): 123–140.

*Trans. Control Syst. Mag.* 26(2): 34–45.

Kluwer Academic Publishers.

used in the proof of Property 0.2, *u<sup>i</sup>*


Srinivasan, B. & Bonvin, D. (2007) Controllability and stability of repetitive batch processes, *Journal of Process Control* 17: 285–295.

Tan, K.K., Huang S.N., Lee T.H. & Tay, A. (2007). Disturbance compensation incorporated in predictive control system using a repetitive learning approach, *System and Control Letters* 56: 75–82.


## **FPGA Implementation of PID Controller for the Stabilization of a DC-DC "Buck" Converter**

Eric William Zurita-Bustamante1, Jesús Linares-Flores2, Enrique Guzmán-Ramírez2 and Hebertt Sira-Ramírez2 *1Universidad del Istmo 2Universidad Tecnológica de la Mixteca México* 

#### **1. Introduction**

24 Will-be-set-by-IN-TECH

214 Frontiers in Advanced Control Systems

Tayebi, A. & Zaremba, M. B. (2003). Robust iterative learning control design is straightforward

Yao, K., Gao F., & Allgöwer, F. (2007). Barrel temperature control during operation transition

in injection molding, *Control Engineering Practice* 16(11): 1259-1264.

*Automat. Contr.* 48(1): 101–106.

for uncertain lti system satisfying the robust performance condition, *IEEE Trans.*

Actually the development of control systems in embedded systems presents a great advantage in terms of easy design, immunity to analog variations, possibility and implement complex control laws and design a short time (Mingyao Ma et al., 2010). One of the devices that allows embedded systems arrangements are field-programmable gate array (FPGA). Several advantages of using FPGAs in industrial applications can be seen in (Joost & Salomon, 2005).

The use of FPGAs to implement control laws of various systems can be observed in different articles. In (Hwu, 2010) performance a technique based on a field programmable gate array to design PID controller applied to the forward converter to reduce the effect of input voltage variations on the transient load response of the output converter. The main characteristic of this technique is the on-line tuned parameters of the PID controller. To validate the topology implemented, they designed a forward converter with an input voltage of 12V, and output dc voltage of 5.12V with a rated output DC current of 10A and a switching frequency at rated load of 195 kHz. The results show than the measured transient load response has no oscillation with on-line tuning applied to the controller.

In the work of LI et al. (Bo Li et al., 2011) presents a digital pulse-width-modulator based sliding-mode controller and FPGA for boost converter. The proposed model they used was higher order delta-sigma modulator. The problem with this modulator is the stability problem. To resolve this problem they implemented a Multi-stage-noise shaping delta-sigma DPWM (MASH sigma-delta DPWM). To verify the function of the proposed controller they implemented a boost converter connected to a Virtex-II Pro XC2VP30 FPGA with and Analog to digital converter as interface. The experimental results show than the MASH sigma-delta DPWM has a faster recovery time in load changes, compared with a PID controller.

In (Mingyao Ma et al., 2010) proposed a FPGA-based mixed-signal voltage-mode controller for switching mode converters. The architecture of the scheme consists of a DPWM generation with a PID controller implemented on FPGA, a DAC and a comparator. The switching mode converters state variables are digitalized via an ADC to the PID controller. The control signal goes to the DPWM module to generate the PWM waveforms. They implemented the PID and the DPWM on a Cyclone II series EP2C25, in other hand; they implemented a single phase full-bridge inverter like the switching mode converter to test the architecture of the controller. Their architecture allows integration of a control system in FPGA.

An implementation of PID controller on FPGA for low voltage synchronous buck converter is presented in (Chander et al., 2010). They use MATlab/Simulink for the PID controller design to generate the coefficients of the controller. They did a comparison between different coefficients to obtain a reasonable controller for the converter. The architecture was implemented in FPGA Virtex-5 XC5VLX50T.

In this article, we will focus on the PID average output feedback controller, implemented in an FPGA, to stabilize the output voltage of a "buck" power converter around a desired constant output reference voltage. The average control inputs are used as a duty ratio generator in a PWM control actuator. The architecture control, used for the classical PID control, has the following features:


The rest of the document is organized as follows: section 2 presents the mathematical model of the "buck" converter. The design of the PID control is shown in the section 3, while the simulation of the PID control design is presented in section 4. The architecture of the implemented control is found in section 5. The experimental results of the implementation of the FPGA based controller, are found in section 6. Finally, the conclusions of this work are given section 7.

#### **2. The "buck" converter model**

Consider the "buck" converter circuit, shown in Fig. 1. The system is described by the following set of differential equations:

$$\begin{aligned} L\frac{di\_L}{dt} &= -v\_0 + Eu\\ C\frac{dv\_0}{dt} &= i\_L - \frac{v\_0}{R} \\ y &= v\_0 \end{aligned} \tag{1}$$

where *iL* represents the inductor current and *v*<sup>0</sup> is the output capacitor voltage. The control input *u*, representing the switch position function, takes values in the discrete set 0, 1. The system parameters are constituted by: *L* and *C* which are, respectively, the input circuit inductance and the capacitance of the output filter, while *R* is the load resistance. The external voltage source exhibits the constant value *E*. The average state model of the "buck" converter circuit, extensively used in the literature (a) Linares & Sira, 2004; b) Linares & Sira, 2004; Linares et al., 2011; Sira & Agrawal, 2004) may be directly obtained from the original switched model, (1), by simply identifying the switch position function, *u*, with the average control, denoted by *uav*. Such an average control input is frequently identified with the duty ratio function in a Pulse Width Modulation implementation. The control input *uav* is restricted to take values in the closed interval [0, 1]. From (1), the "buck" converter system is clearly a second order linear system of the typical form: *x*˙ = *Ax* + *bu* and *y* = *cTx*.

Fig. 1. The electrical circuit of the "buck" converter.

$$\begin{aligned} A &= \begin{bmatrix} 0 & -\frac{1}{L} \\ \frac{1}{C} & -\frac{1}{\mathcal{RC}} \end{bmatrix} \\ b &= \begin{bmatrix} \frac{E}{L} \\ 0 \end{bmatrix} \\ c^T &= \begin{bmatrix} 0 \ 1 \end{bmatrix} \end{aligned} \tag{2}$$

Hence, the Kalman controllability matrix of the system C = [*b*, *Ab*], is given by:

$$\mathcal{C} = \begin{bmatrix} \frac{E}{L} & 0\\ 0 & \frac{E}{LC} \end{bmatrix} \tag{3}$$

The determinant of the controllability matrix is ( *<sup>E</sup>*<sup>2</sup> *<sup>L</sup>*2*<sup>C</sup>* �= 0). Therefore, the system is controllable (Dorf & Bishop, 2011), now we design a classic PID control in the following section.

#### **3. PID controller design**

2 Will-be-set-by-IN-TECH

full-bridge inverter like the switching mode converter to test the architecture of the controller.

An implementation of PID controller on FPGA for low voltage synchronous buck converter is presented in (Chander et al., 2010). They use MATlab/Simulink for the PID controller design to generate the coefficients of the controller. They did a comparison between different coefficients to obtain a reasonable controller for the converter. The architecture was

In this article, we will focus on the PID average output feedback controller, implemented in an FPGA, to stabilize the output voltage of a "buck" power converter around a desired constant output reference voltage. The average control inputs are used as a duty ratio generator in a PWM control actuator. The architecture control, used for the classical PID control, has the

• The PWM actuator is implemented through a triangular carrier signal and a comparator. The main function of this modulator is the average signal conversion to a pulsing signal that activates and deactivates the converter power transistor, at a switching frequency of

• The processing time control for the PID is 20.54*μ*s. This processing time were achieved thanks to the parallel execution of units modeled within a FPGA Monmasson & Cirstea

• The output voltage is obtained through an Analog to Digital Converter (ADC), which is the only additional hardware needed to operate to the controllers. The used ADC is the

The rest of the document is organized as follows: section 2 presents the mathematical model of the "buck" converter. The design of the PID control is shown in the section 3, while the simulation of the PID control design is presented in section 4. The architecture of the implemented control is found in section 5. The experimental results of the implementation of the FPGA based controller, are found in section 6. Finally, the conclusions of this work are

Consider the "buck" converter circuit, shown in Fig. 1. The system is described by the

*dt* <sup>=</sup> <sup>−</sup>*v*<sup>0</sup> <sup>+</sup> *Eu*

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

*dt* <sup>=</sup> *iL* <sup>−</sup> *<sup>v</sup>*<sup>0</sup>

where *iL* represents the inductor current and *v*<sup>0</sup> is the output capacitor voltage. The control input *u*, representing the switch position function, takes values in the discrete set 0, 1. The system parameters are constituted by: *L* and *C* which are, respectively, the input circuit inductance and the capacitance of the output filter, while *R* is the load resistance. The external voltage source exhibits the constant value *E*. The average state model of the "buck" converter circuit, extensively used in the literature (a) Linares & Sira, 2004; b) Linares & Sira, 2004;

*y* = *v*<sup>0</sup>

*<sup>L</sup> diL*

*<sup>C</sup> dv*<sup>0</sup>

Their architecture allows integration of a control system in FPGA.

implemented in FPGA Virtex-5 XC5VLX50T.

(2007)-Rogriguez-Andina et al. (2007).

ADC0820, which is an 8 bits converter.

**2. The "buck" converter model**

following set of differential equations:

following features:

48kHz.

given section 7.

The FPGA implementation of a classical Proportional Integral Derivative (PID) controller was designed based on the corresponding transfer function of the converter (Ogata, 2010), obtained from the average model given in (1), is

$$\frac{V\_0(s)}{\underline{U}\_{av}(s)} = \frac{\frac{E}{\underline{LC}}}{s^2 + \frac{1}{\underline{RC}}s + \frac{1}{\underline{LC}}}\tag{4}$$

While the transfer function of the PID controller, is:

$$F\_{PID}(\mathbf{s}) = K\_p(1 + \frac{1}{T\_i s} + T\_d \mathbf{s}) \tag{5}$$

The block diagram of the PID controlled system is shown in Fig. 2.

The closed loop transfer function is readily found to be

$$H(s) = \frac{(K\_p T\_d T\_i s^2 + K\_p T\_i s + K\_p) \left(\frac{E}{LC}\right)}{s^3 + \left(\frac{1}{RC} + \frac{E k\_p T\_d}{LC}\right) s^2 + \frac{(1 + E k\_p)}{LC} s + \frac{E K\_p}{L C T\_i}}\tag{6}$$

Fig. 2. PID control in closed loop.

The closed loop characteristic polynomial of the PID controlled system is then given by

$$s^3 + (\frac{1}{RC} + \frac{EK\_pT\_d}{LC})s^2 + \frac{(1 + EK\_p)}{LC}s + \frac{EK\_p}{LCT\_l} = 0\tag{7}$$

The coefficients *Kp*, *Ti* and *Td* are chosen so that (7) becomes a third order Hurwitz polynomial of the form (Dorf & Bishop, 2011; Ogata, 2010):

$$p(s) = (s^2 + 2\zeta\omega\_{\hbar}s + \omega\_{\hbar}^{\prime 2})(s + \mathfrak{a})\tag{8}$$

Equating the characteristic polynomial coefficients (7) with those of the desired Hurwitz polynomial (8), we obtain the following values of the parameters for the PID controller,

$$\begin{aligned} K\_p &= \frac{2\zeta\omega\_n\alpha L\mathcal{C} + \omega\_n{}^2L\mathcal{C} - 1}{E} \\ T\_i &= \frac{EK\_p}{L\mathcal{C}\alpha\omega\_n{}^2} \\ T\_d &= \frac{LC}{EK\_p}(\alpha + 2\zeta\omega\_{ll} - \frac{1}{RC}) \end{aligned} \tag{9}$$

#### **4. PID controller cosimulation**

In this section, we develop the simulation of the PID controller. This simulation is performed using Matlab/Simulink, ModelSim and PSim Software.

The cosimulation in Matlab/Simulink creates an interface between Matlab and Matlab external program, i.e., the cosimulation allows the interaction of an external simulator with Matlab tools. The cosimulation provides a fast bidirectional link between the hardware description language (HDL) simulator, and Matlab/Simulink for direct hardware design verification Matlab (2008).

Figure 3 shows the scenario between ModelSim and Matlab to obtain the cosimulation. The block that allows interaction with the HDL simulator is called "*EDA Simulator Link MQ*".

The PSIM software includes an application called *SimCoupler* that presents an interface between PSIM and Matlab Simulink for cosimulation. With the module *SimCoupler* part of the system can be implemented and simulated in PSIM, and the rest of the system in Simulink. With this tool we can access to the broad features of Psim simulation, and the capabilities of Simulink simulation in a complementary way Psim (2006).

The module *SimCoupler* consist of two parts: the link nodes in PSim, and the SimCoupler model block in Simulink. In this work we use the module *SimCoupler* to simulate the buck converter in Psim, while in matlab and through another cosimulation part of the PID control. Figure 4 shows the buck converter circuit in Psim, in this figure one can observe that the circuit

Fig. 3. Cosimulation between Matlab and ModelSim.

input is the signal coming from the PWM control in Simulink, this input signal is connected using the *In link node*. Because the system is feedback, and the feedback signal is the output voltage of the buck converter (*Vo*), we use the *Out link node* to send the output voltage to Simulink.

4 Will-be-set-by-IN-TECH

E(s) U(s) Vo(s)

<sup>2</sup> <sup>+</sup> (<sup>1</sup> <sup>+</sup> *EKp*)

The coefficients *Kp*, *Ti* and *Td* are chosen so that (7) becomes a third order Hurwitz polynomial

<sup>2</sup> + 2*ζωns* + *ω<sup>n</sup>*

Equating the characteristic polynomial coefficients (7) with those of the desired Hurwitz polynomial (8), we obtain the following values of the parameters for the PID controller,

*E*

(*<sup>α</sup>* <sup>+</sup> <sup>2</sup>*ζω<sup>n</sup>* <sup>−</sup> <sup>1</sup>

In this section, we develop the simulation of the PID controller. This simulation is performed

The cosimulation in Matlab/Simulink creates an interface between Matlab and Matlab external program, i.e., the cosimulation allows the interaction of an external simulator with Matlab tools. The cosimulation provides a fast bidirectional link between the hardware description language (HDL) simulator, and Matlab/Simulink for direct hardware design

Figure 3 shows the scenario between ModelSim and Matlab to obtain the cosimulation. The block that allows interaction with the HDL simulator is called "*EDA Simulator Link MQ*".

The PSIM software includes an application called *SimCoupler* that presents an interface between PSIM and Matlab Simulink for cosimulation. With the module *SimCoupler* part of the system can be implemented and simulated in PSIM, and the rest of the system in Simulink. With this tool we can access to the broad features of Psim simulation, and the capabilities of

The module *SimCoupler* consist of two parts: the link nodes in PSim, and the SimCoupler model block in Simulink. In this work we use the module *SimCoupler* to simulate the buck converter in Psim, while in matlab and through another cosimulation part of the PID control. Figure 4 shows the buck converter circuit in Psim, in this figure one can observe that the circuit

*Kp* <sup>=</sup> <sup>2</sup>*ζωnαLC* <sup>+</sup> *<sup>ω</sup><sup>n</sup>*

*Ti* <sup>=</sup> *EKp*

*Td* <sup>=</sup> *LC EKp*

Buck Converter

*LC <sup>s</sup>* <sup>+</sup>

<sup>2</sup>*LC* <sup>−</sup> <sup>1</sup>

*RC* )

*EKp LCTi*

*LCαωn*<sup>2</sup> (9)

= 0 (7)

<sup>2</sup>)(*s* + *α*) (8)

Controller

The closed loop characteristic polynomial of the PID controlled system is then given by

+- <sup>F</sup> PID

*EKpTd LC* )*<sup>s</sup>*

*p*(*s*)=(*s*

F

Fig. 2. PID control in closed loop.

**4. PID controller cosimulation**

verification Matlab (2008).

using Matlab/Simulink, ModelSim and PSim Software.

Simulink simulation in a complementary way Psim (2006).

*s* <sup>3</sup> + ( <sup>1</sup> *RC* <sup>+</sup>

of the form (Dorf & Bishop, 2011; Ogata, 2010):

Fig. 4. Buck converter circuit for cosimulation with Simulink.

In Simulink we choose the S-function SimCoupler library and the SimCoupler block are added to the design. After adding the block, in its properties is chosen the file path for cosimulation in Psim, a window will automatically appear as shown in Fig. 5 showing all inputs and outputs of the circuit in PSIM, in this case, according to the diagram there are one input and one output on the circuit, the output voltage of the buck converter *Vo*. While that the input is the PWM signal.

Once set the block are automatically displayed input and output signals in the block for subsequent cosimulation, as shown in Fig. 6.

Before simulating the final system, we proceed to simulate the performance of open-loop buck converter, for this, we just simulate the circuit in Psim. Figure 7 shows the output voltage in simulation for open-loop. The response presents a overshoot of 100% however are able to stabilize around 45ms.

On the other hand, we simulate the PID control with the tools of differentiation and integration of Simulink. Figure 8 shows the performance of the PID controller with

Fig. 5. Inputs and Outputs of the PSIM circuit.

Fig. 6. Simulink block with the inputs and outputs of the PSIM circuit.

Fig. 7. Output voltage of buck converter in open-loop.

cosimulation between Matlab/Simulink and Psim. The PID control stabilizes the output voltage signal in a time of approximately 18ms, greatly decreasing the overshoot presented at the open-loop response.

Figure 9 shows a cosimulation for the final system with a desired output voltage of 4V, and shows that in the transient response has not overshoot, however, the settling time is about 23 ms, what is intended to improve with the experimental results. Also the Fig. 10 shows the output voltage for a desired voltage of 18 V, which shows that it has a maximum overshoot 6 Will-be-set-by-IN-TECH

Fig. 5. Inputs and Outputs of the PSIM circuit.

Fig. 6. Simulink block with the inputs and outputs of the PSIM circuit.

Fig. 7. Output voltage of buck converter in open-loop.

at the open-loop response.

cosimulation between Matlab/Simulink and Psim. The PID control stabilizes the output voltage signal in a time of approximately 18ms, greatly decreasing the overshoot presented

Figure 9 shows a cosimulation for the final system with a desired output voltage of 4V, and shows that in the transient response has not overshoot, however, the settling time is about 23 ms, what is intended to improve with the experimental results. Also the Fig. 10 shows the output voltage for a desired voltage of 18 V, which shows that it has a maximum overshoot

Fig. 8. Output voltage of buck converter with PID controller in cosimulation.

of 7.6 %, and a maximum error of 0.15 V. According to these simulations, we proceed to implement the system on a FPGA NEXYS2 board.

Fig. 9. Output voltage of buck converted with a desired voltage of 4 V in cosimulation.

#### **5. Discrete PID controller implemented on the FPGA**

In this section, we explain the hardware implementation of the discrete PID controller. For this purpose, we used the Xilinx ISE Design Suite 12.2 EDA (electronic design automation) -software tool and the Spartan 3E board EDA-hardware tool, it includes a Xilinx Spartan-3E1600 FPGA.

Fig. 10. Output voltage of buck converted with a desired voltage of 4 V in cosimulation.

Now, we must define an efficient design methodology and the abstraction level to model the system, and choose an appropriate sampling period and the suitable format for coefficients and variables.

The PID controller design is based on a hierarchical and modular approach using Top-Down methodology (Palnitkar, 2003), where the modules can be defined with diverse levels of abstraction. Thus, for this design the schematic description was chosen as top level and the controller components were modeled with the VHDL hardware description language (using a behavior level modeling). Previous analysis and simulations showed that due to the range of results generated by the operations involved in the discrete controller is necessary to use a floating point format; for this intention, the IEEE Standard for Binary Floating-Point Arithmetic, IEEE Std 754-1985 (IEEE, 1985) was chosen. Now, based on top-down methodology, an initial modular partitioning step is applied on the FPGA-based PID controller, this process generate four components, Clock manager, ADC control, Control law and PWM generator (see Fig. 11).

The PID controller work with a frequency of 50 MHz (Clk\_PID). The Clk\_main signal is generated from Clk\_main signal by the Clock manager component. The principal element of this component is the Digital Clock Manager (DCM). The DCM is embedded on the Spartan3E FPGA's families and it provides flexible complete control over clock frequency, maintaining its characteristics with a high degree of precision despite normal variations in operating temperature and voltage. The DCM provides a correction clock feature, ensuring a clean Clk\_PID output clock with a 50% duty cycle.

Fig. 11. Block diagram of FPGA-based PID controller.

8 Will-be-set-by-IN-TECH

Fig. 10. Output voltage of buck converted with a desired voltage of 4 V in cosimulation.

and variables.

law and PWM generator (see Fig. 11).

Clk\_PID output clock with a 50% duty cycle.

Now, we must define an efficient design methodology and the abstraction level to model the system, and choose an appropriate sampling period and the suitable format for coefficients

The PID controller design is based on a hierarchical and modular approach using Top-Down methodology (Palnitkar, 2003), where the modules can be defined with diverse levels of abstraction. Thus, for this design the schematic description was chosen as top level and the controller components were modeled with the VHDL hardware description language (using a behavior level modeling). Previous analysis and simulations showed that due to the range of results generated by the operations involved in the discrete controller is necessary to use a floating point format; for this intention, the IEEE Standard for Binary Floating-Point Arithmetic, IEEE Std 754-1985 (IEEE, 1985) was chosen. Now, based on top-down methodology, an initial modular partitioning step is applied on the FPGA-based PID controller, this process generate four components, Clock manager, ADC control, Control

The PID controller work with a frequency of 50 MHz (Clk\_PID). The Clk\_main signal is generated from Clk\_main signal by the Clock manager component. The principal element of this component is the Digital Clock Manager (DCM). The DCM is embedded on the Spartan3E FPGA's families and it provides flexible complete control over clock frequency, maintaining its characteristics with a high degree of precision despite normal variations in operating temperature and voltage. The DCM provides a correction clock feature, ensuring a clean In order to increase the performance of the control system, we proposed pipeline architecture for the PID controller. Therefore, enable signals of pipeline registers (Stage\_enable0..9) are required. These signals are also generated by the Clock manager component.

In addition, the clock manager component generates the frequency required by the PWM for its operation (Clk\_PWM). The Clk\_PWM signal is derived from the Clk\_main by a Digital Frequency Synthesizer (DFS) included in the DCM. The frequency of the Clk\_PWM is 25 MHz and has a 50% duty cycle correction too.

The Information from the sensor is analog source, so it must be discretized for that the FPGA can process. For this purpose we have chosen the Analog-Digital Converter (ADC) ADC0820. The ADC0820 is an 8 bits resolution converter, it offers a 2*μ*s conversion time and it has a 0 to 5 Volts analog input voltage range. The element responsible for this task is the ADC control component.

The ADC control component is composed of two modules, the ADC interface module, which is a simple finite-state machine (FSM) that implements the communications protocol to acquire data of the ADC0820, and the float-point encoder module, which converts the integer value into single-precision floating-point format. A block diagram of ADC interface module is shown in Fig. 12.

Fig. 12. Block Diagram of the ADC control component.

Now, the information generated by the ADC control component should be processed by the corresponding control law.

The discrete PID controller was synthesized on a FPGA based on equations for the continuous PID controller (Ogata, 2010), defined as

$$u\_{av} = K\_p(\overline{F}(t) - F(t)) + K\_i \int\_0^t (\overline{F}(t) - F(t))dt + K\_d \frac{d(\overline{F}(t) - F(t))}{dt} \tag{10}$$

where *Ki* <sup>=</sup> *Kp Ti* and *Kd* = *KpTd*.

An important aspect in the discretization of (10) is the obtaining of a discrete approximation of the continuous integral and a discrete approximation of the continuous derivative.

For discrete approximation of the continuous integral we have used the Adams-Bashforth method of the second order (Ascher & Petzold, 1998). This method is defined as

$$y[n+1] = y[n] + \frac{1}{2}\Delta t(3\dot{y}[n] - \dot{y}[n-1])\tag{11}$$

Then, if the continuous integral is defined as *<sup>t</sup>* <sup>0</sup> (*F*(*t*) − *F*(*t*))*dt*, using the Adams-Bashforth method, its discrete approximation is defined as

$$F[n+1] = F[n] + \frac{1}{2} \Delta t (\Im(\overline{F}[n] - F[n]) - (\overline{F}[n-1] - F[n-1]))\tag{12}$$

The Fig. 13 shows the proposed architecture for discrete approximation of a continuous integral given by (12).

Fig. 13. Block diagram of the discrete approximation of a continuous integral.

On the other hand, the discrete approximation of the continuous derivative is obtained based on finite differences method of the first order (Burden & Douglas, 2000), using the backward difference. This method is defined as

$$(\frac{\partial y}{\partial t})\_n \approx \frac{y[n] - y[n-1]}{\Delta t} \tag{13}$$

Then, if the continuous derivative is defined as *<sup>∂</sup>*(*F*(*t*)−*F*(*t*)) *<sup>∂</sup><sup>t</sup>* , using the finite differences method, its discrete approximation is defined as

$$F'[n] = \frac{(\overline{F}[n] - F[n]) - (\overline{F}[n-1] - F[n-1])}{\Delta t} \tag{14}$$

The Fig. 14 shows the proposed architecture for discrete approximation of a continuous derivative given by (14).

The architecture consists of six multipliers and six adders. Then, it is necessary to implement single-precision floating point custom-adder and custom-multiplier.

10 Will-be-set-by-IN-TECH

An important aspect in the discretization of (10) is the obtaining of a discrete approximation

For discrete approximation of the continuous integral we have used the Adams-Bashforth

2

The Fig. 13 shows the proposed architecture for discrete approximation of a continuous

*nFnF nF* <sup>1</sup>

On the other hand, the discrete approximation of the continuous derivative is obtained based on finite differences method of the first order (Burden & Douglas, 2000), using the backward

)*<sup>n</sup>* <sup>≈</sup> *<sup>y</sup>*[*n*] <sup>−</sup> *<sup>y</sup>*[*<sup>n</sup>* <sup>−</sup> <sup>1</sup>]

[*n*] = (*F*[*n*] <sup>−</sup> *<sup>F</sup>*[*n*]) <sup>−</sup> (*F*[*<sup>n</sup>* <sup>−</sup> <sup>1</sup>] <sup>−</sup> *<sup>F</sup>*[*<sup>n</sup>* <sup>−</sup> <sup>1</sup>])

The Fig. 14 shows the proposed architecture for discrete approximation of a continuous

The architecture consists of six multipliers and six adders. Then, it is necessary to implement

*t/2*

**Stage 3 Stage 4 Stage 5 Stage 6 Stage 7 Stage 8**

Δ*t*(3*y*˙[*n*] − *y*˙[*n* − 1]) (11)

<sup>0</sup> (*F*(*t*) − *F*(*t*))*dt*, using the Adams-Bashforth

<sup>Δ</sup>*<sup>t</sup>* (13)

<sup>Δ</sup>*<sup>t</sup>* (14)

*<sup>∂</sup><sup>t</sup>* , using the finite differences

Δ*t*(3(*F*[*n*] − *F*[*n*]) − (*F*[*n* − 1] − *F*[*n* − 1])) (12)

of the continuous integral and a discrete approximation of the continuous derivative.

method of the second order (Ascher & Petzold, 1998). This method is defined as

*<sup>y</sup>*[*<sup>n</sup>* <sup>+</sup> <sup>1</sup>] = *<sup>y</sup>*[*n*] + <sup>1</sup>

2

**O(31:0)**

Fig. 13. Block diagram of the discrete approximation of a continuous integral.

( *∂y ∂t*

single-precision floating point custom-adder and custom-multiplier.

Then, if the continuous derivative is defined as *<sup>∂</sup>*(*F*(*t*)−*F*(*t*))

method, its discrete approximation is defined as

*F*�

where *Ki* <sup>=</sup> *Kp*

integral given by (12).

*Ti* and *Kd* = *KpTd*.

Then, if the continuous integral is defined as *<sup>t</sup>*

method, its discrete approximation is defined as

**Cte=3**

**I(31:0)**

difference. This method is defined as

derivative given by (14).

**I(31) O(31)**

**I(30:0)**

*<sup>F</sup>*[*<sup>n</sup>* <sup>+</sup> <sup>1</sup>] = *<sup>F</sup>*[*n*] + <sup>1</sup>

Fig. 14. Block diagram of the discrete approximation of a continuous derivative.

The Xilinx ISE Design Suite 12.2 includes the CORE Generator tool, which allows generating pre-optimized elements for Xilinx's FPGA. Our controller architecture uses multipliers and adders of single-precision floating-point, standard Std-754, generated by this tool. The symbols of the multiplier and adder generated by the CORE Generator tool are showed in the Fig. 15.


Fig. 15. Adder and Multiplier modules generated for Xilinx CORE Generator tool.

The proposed PID controller architecture is composed of 10 pipeline stages (see Fig. 16) and each of them needs 100 cycles to fulfill its function (2 *μ*s), this indicates that the processing time of one data is 20 *μ*s (time between 2 consecutive data delivered by the controller to the next component, the PWM). The enable signals (Stage\_enable0..9) have the control each one of the pipeline registers that composed the proposed architecture.

Fig. 16. Architecture proposed for the discrete PID controller implemented into the Spartan-3E1600 FPGA.

In the last stage the PID controller output must be adequacy for the PWM module. This adequation consists of Float-point to 8 bit unsigned binary conversion.

The last component of the proposed architecture is the PWM. The PWM component consists of single up-down counter unit and one magnitude comparator unit (see Fig. 17(a)).

Fig. 17. (a) PWM component; (b) PWM outputs.

The PWM output frequency depends of the maximum count value of the counter and the Clk\_PWM frequency (see figure 17(b)). Then, the PWM output frequency is defined as

$$PWMfrequency = \frac{\text{CLK\\_PWM}}{2(maximum + 1)} = \frac{25MHz}{512} = 48.828KHz \tag{15}$$

The implementation result of the complete architecture for discrete PID controller are reported in Table 1.


Table 1. Discrete PID controller implementation results.

#### **6. Experimental results**

The PID control and the Pulse Width Modulator (PWM) actuator for the regulation of output voltage of the buck converter were implemented in a Spartan 3E board. The only external hardware connected to the FPGA for measuring the "buck" converter output voltage was the analog digital converter ADC0820. Figure 18 illustrates the block diagram of the FPGA-based control system based on PID controller.

#### **6.1 Requirements of the PID controller**

Figure 19 shows the open-loop response of the "buck" converter with the following specifications: *L* = 1*mH*, *C* = 100*μF*, *R* = 100Ω, *E* = 24*V*, *f* = 48.828*KHz*, Δ*v*0/*v*<sup>0</sup> = 0.013%, Δ*iL* = 0.092 and a duty cycle *D* = 0.75. The output voltage response is a steady-state error of 5.56% and has a settling time of 15ms. On the other hand, we get that the diagram bode of the transfer function given by (4) with the same parameters, has a gain margin *Gm* = *Inf*(at Inf rad/sec) and a phase margin *Pm* <sup>=</sup> 0.377deg (at 1.58 <sup>×</sup> 104 rad/sec). Given that the buck converter system has infinite gain margin, it can withstand greater changes in system parameters before becoming unstable in closed loop. Since the system has this characteristic, we will design our controllers in closed loop with the following requirements: Overshoot 12 Will-be-set-by-IN-TECH

The last component of the proposed architecture is the PWM. The PWM component consists

**B A**< **PWM period PWM period**

**Time**


1 DCM (12 %)

<sup>512</sup> <sup>=</sup> 48.828*KHz* (15)

(MHz)

60.37

**PWM Top PWM Bottom GPI controller output value**

**Count value**

**(a) (b)**

<sup>2</sup>(*maximuncount* <sup>+</sup> <sup>1</sup>) <sup>=</sup> <sup>25</sup>*MHz*

The PWM output frequency depends of the maximum count value of the counter and the Clk\_PWM frequency (see figure 17(b)). Then, the PWM output frequency is defined as

The implementation result of the complete architecture for discrete PID controller are reported

The PID control and the Pulse Width Modulator (PWM) actuator for the regulation of output voltage of the buck converter were implemented in a Spartan 3E board. The only external hardware connected to the FPGA for measuring the "buck" converter output voltage was the analog digital converter ADC0820. Figure 18 illustrates the block diagram of the FPGA-based

Figure 19 shows the open-loop response of the "buck" converter with the following specifications: *L* = 1*mH*, *C* = 100*μF*, *R* = 100Ω, *E* = 24*V*, *f* = 48.828*KHz*, Δ*v*0/*v*<sup>0</sup> = 0.013%, Δ*iL* = 0.092 and a duty cycle *D* = 0.75. The output voltage response is a steady-state error of 5.56% and has a settling time of 15ms. On the other hand, we get that the diagram bode of the transfer function given by (4) with the same parameters, has a gain margin *Gm* = *Inf*(at Inf rad/sec) and a phase margin *Pm* <sup>=</sup> 0.377deg (at 1.58 <sup>×</sup> 104 rad/sec). Given that the buck converter system has infinite gain margin, it can withstand greater changes in system parameters before becoming unstable in closed loop. Since the system has this characteristic, we will design our controllers in closed loop with the following requirements: Overshoot

<sup>1</sup> 5668 (38%) 8722 (29%) 8737 (29%) 1 BRAM (2 %)

of single up-down counter unit and one magnitude comparator unit (see Fig. 17(a)).

**PWM signals**

**A B A**

**PWM component**

**B**

*PWM f requency* <sup>=</sup> *CLK*\_*PWM*

Mod. Slices Flip-Flops 4-input's

Table 1. Discrete PID controller implementation results.

**Up-down counter**

Fig. 17. (a) PWM component; (b) PWM outputs.

**From GPI controller**

**Clk\_PWM**

in Table 1.

**6. Experimental results**

control system based on PID controller.

**6.1 Requirements of the PID controller**

Fig. 18. Block diagram of the FPGA-based control system for PID controller.

less than 4.32%, Setting time less than 5 milliseconds, Steady-state error less than 1%, and Maximum sampling time 40*μs*.

Fig. 19. Output voltage transient response of the "buck" converter with the PID control scheme.

The PID controller gains obtained by the design requirements were:

$$K\_p = 0.15; \quad T\_i = 1.2 \times 10^{-3}; \quad T\_d = 5.9 \times 10^{-4} \tag{16}$$

#### **6.2 PID controller into the FPGA**

Figure 20 shows the performance of the PID control law, in the stabilization task for the "buck" converter output voltage. As before, we used a constant reference of 18 V. The continuous line corresponds to the PID controlled response. The settling time of the response of the "buck" converter output voltage through the PID controller, is 13.64 ms. The PID controller tuning was done through a third order Hurwitz polynomial.

Table 2 exhibits the performance of the synthesized controller. The main specifications of the transient response, the bandwidth of the PID controller (see Table 2), these frequencies are calculated in the closed-loop through the damping ratio and settling time (Messner & Tilbury, 1999). The damping coefficient value is 0.707, while the value of settling time is: 13.64 ms.

Fig. 20. Output voltage transient response of the "buck" converter with the PID control scheme.


Table 2. Specifications of the Controller transient response PID.

To illustrate the robustness of the PID controller, we made a test with the "buck" converter system by suddenly connecting a dynamic load (DC motor) at the output of the "buck" converter. Figure 21(a) shows the behavior of the perturbed converter's output voltage and the recovery of the output voltage to the desired reference signal when the converter is controlled with the PID controller scheme. Also, in Figure 21(b) is shown the *uav* control signal, from the PID scheme implemented in the FPGA.

Fig. 21. Output voltage response of the "buck" converter with sudden connection of a DC motor.

#### **7. Conclusions**

14 Will-be-set-by-IN-TECH

Figure 20 shows the performance of the PID control law, in the stabilization task for the "buck" converter output voltage. As before, we used a constant reference of 18 V. The continuous line corresponds to the PID controlled response. The settling time of the response of the "buck" converter output voltage through the PID controller, is 13.64 ms. The PID controller tuning

Table 2 exhibits the performance of the synthesized controller. The main specifications of the transient response, the bandwidth of the PID controller (see Table 2), these frequencies are calculated in the closed-loop through the damping ratio and settling time (Messner & Tilbury, 1999). The damping coefficient value is 0.707, while the value of settling time is: 13.64 ms.

ts(PID)=13.6ms

Mp(%)=2.2% (PID)

**−0.01 −0.005 <sup>0</sup> 0.005 0.01 0.015 0.02 0.025 0.03 <sup>0</sup>**

Fig. 20. Output voltage transient response of the "buck" converter with the PID control

tr(PID)=4.00ms

Table 2. Specifications of the Controller transient response PID.

signal, from the PID scheme implemented in the FPGA.

**Time [s]**

Delay time *td* 2.52 ms Rise time *tr* 4 ms Time of peak *tp* 6.24 ms Percentage of overshoot *Mp* 2.2 % Settling time *ts* 13.64 ms Bandwith *B<sup>ω</sup>* 414.85 Hz

To illustrate the robustness of the PID controller, we made a test with the "buck" converter system by suddenly connecting a dynamic load (DC motor) at the output of the "buck" converter. Figure 21(a) shows the behavior of the perturbed converter's output voltage and the recovery of the output voltage to the desired reference signal when the converter is controlled with the PID controller scheme. Also, in Figure 21(b) is shown the *uav* control

**6.2 PID controller into the FPGA**

scheme.

**Voltage [V]**

was done through a third order Hurwitz polynomial.

td(PID)=2.52ms

In this work, we have applied the Proportional Integral Derivative control scheme, synthesized via a Field Programmable Gate Array implementation, for the output voltage regulation in a DC/DC power converter of the "buck" type. The performance of the PID control action was synthesized via a FPGA. The results obtained by cosimulation allowed to study each of the units designed and modeled in VHDL, correcting some errors and, in addition, the cosimulation was a perfect tool allowing faster design process to get a full system simulation before implement the system in the FPGA board. Also we conclude that the PID controller has a good transient response. When we connect a static and a dynamic load to the "buck" converter output, we observed that the PID control results in a significantly faster response, regarding the output voltage recovery time to the desired reference. Finally, the experimental results show the effectiveness of the FPGA realization of both the PID controller, in this case, programmed into the FPGA. This methodology of design can be used to design switched mode power supplies with efficiency greater than 95%.

#### **8. References**


## **Model Predictive Control Relevant Identification**

Rodrigo Alvite Romano1, Alain Segundo Potts2 and Claudio Garcia2

<sup>1</sup>*Instituto Mauá de Tecnologia - IMT* <sup>2</sup>*Escola Politécnica da Universidade de São Paulo - EPUSP Brazil*

#### **1. Introduction**

16 Will-be-set-by-IN-TECH

230 Frontiers in Advanced Control Systems

Hwu, K. I. (2010). Forward Converter with FPGA-Based Selft-Tuning PID Controller. *Tamkang Journal of Science and Engineering*, Vol. 13, No. 2, June 2010, 173-180, ISSN:1560-6686 IEEE Computer Society. (1985). IEEE Standard for Binary Floating-Point Arithmetic, IEEE Std

Joost, R. & Salomon, R., (2005). Advantages of FPGA-based multiprocessor systems in

Linares-Flores, J. & Sira-Ramírez, H. (2004). DC motor velocity control through a DC-to-DC

Linares-Flores, J. & Sira-Ramírez, H. (2004). Sliding Mode-Delta Modulation GPI Control of

Linares-Flores, J.; Antonio-García, A. & Orantes-Molina, A. (2011). Smooth Starter for a

Messner, W. C. & Tilbury, D. W., (1999). *Control tutorial for matlab and simulink: A web-Based*

Mingyao Ma; Wuhua Li & Xiangning He. (2010), An FPGA-based mixed-signal controller for

Monmasson, E. & Cirstea, M. N., (2007). FPGA design methodology for industrial control

Palnitkar, S. (2003). A guide to digital design and synthesis. 2nd Edition, USA: Printece-Hall. Phillips, C. L. & Nagle, H. T., (1995). *Digital Control Systems Analysis and Design*, Third Edition:

Rodriguez-Andina,J. J.; Moure, M. J. & Valdes, M. D., (2007). Features, design tools, and

Sira-Ramírez, H. & Agrawal, S. K. (2004).*Differentially Flat Systems*,Marcel Dekker, New York.

power converter, *Proc. 43rd IEEE Conf. Dec. Control*, pp. 5297-5302.

*Conference of IEEE*, Nov. 2005, pp. 445-450.

The MathWorks, Inc. (2008). Release Notes for Matlab R2008a.

*Electronics Society*, Nov. 2010, pp.1703-1708.

Ogata, K. (2010). *Modern Control Engineering*. 5th Edition: Prentice-Hall.

industrial applications, *Industrial Electronics Society, 2005. IECON 2005. 31st Annual*

a DC Motor through a Buck Converter,*Proc. 2nd Symposium on System, Structure and*

DC Machine through a DC-to-DC buck converter, *Revista Ingeniería, Investigación y Tecnología*, Universidad Autónoma de México (UNAM), Vol. XII, No. 2, April 2011,

switching mode converters,*IECON 2010 - 36th Annual Conference on IEEE Industrial*

systems-A review, *IEEE Transactions on Industrial Electronics*, vol. 54, no. 4, August

application domains of FPGAs, *IEEE Transactions on Industrial Electronics*, vol. 54, no.

754-1985.

*Control*, México.

ISSN: 1405-7743.

2007, pp. 1824-1842.

Powersim, Inc. (2006). *PSIM User's Guide*

4, August 2007, pp. 1810-1823.

Prentice-Hall.

*Approach*, Addison-Wesley.

Model predictive control (MPC) is a multivariable feedback control technique used in a wide range of practical settings, such as industrial process control, stochastic control in economics, automotive and aerospace applications. As they are able to handle hard input and output constraints, a system can be controlled near its physical limits, which frequently results in performance superior to linear controllers (Maciejowski, 2002), specially for multivariable systems. At each sampling instant, predictive controllers solve an optimization problem to compute the control action over a finite time horizon. Then, the first of the control actions from that horizon is applied to the system. In the next sample time, this policy is repeated, with the time horizon shifted one sample forward. The optimization problem takes into account estimates of the system output, which are computed with the input-output data up to that instant, through a mathematical model. Hence, in MPC applications, a suitable model to generate accurate output predictions in a specific horizon is crucial, so that high performance closed-loop control is achieved. Actually, model development is considered to be, by far, the most expensive and time-consuming task in implementing a model predictive controller (Zhu & Butoyi, 2002).

This chapter aims at discussing parameter estimation techniques to generate suitable models for predictive controllers. Such a discussion is based on the most noticeable approaches in MPC relevant identification literature. The first contribution to be emphasized is that these methods are described in a multivariable context. Furthermore, the comparisons performed between the presented techniques are pointed as another main contribution, since they provide insights into numerical issues and the exactness of each parameter estimation approach for predictive control.

#### **2. System identification for model predictive control**

The dominating approach of the system identification techniques is based on the classical prediction error method (PEM) (Ljung, 1999), which is based on one-step ahead predictors. Predictive control applications demand models that generate reliable predictions over an entire prediction horizon. Therefore, parameters estimated from objective functions based on multi-step ahead predictors, generally result in better models for MPC applications (see Shook et al. (1991) and Gopaluni et al. (2004) for rigorous arguments). Since the last decade, an intense research has been done in order to develop system identification methods focused on providing appropriate models for model predictive control. Such methods are denoted as model relevant identification (MRI) in the literature. Strictly speaking, MRI algorithms deal with the problem of estimating model parameters by minimizing multi-step objective functions.

Theoretically, if the model structure exactly matches the structure of the actual system, then the model estimated from a one-step ahead predictor is equivalent to the maximum likelihood estimate, which also provides optimal multi-step ahead predictions. However, in practice, even around an operating point, it is not possible to propose a linear model structure that exactly matches the system to be identified. Consequently, any estimated model has modeling errors associated with the identification algorithm. In these circumstances, models tuned for multi-step ahead predictions are more adequate for high closed-loop performance when using predictive controllers (Huang & Wang, 1999). In other words, when there is a certain amount of bias due to under-modeling (which is the more typical case), the MRI may be considered a way of distributing this bias in a frequency range that is less important for control purposes (Gopaluni et al., 2003).

Before formulating the parameter estimation problem in the MRI context, the discrete-time linear model structures to be used are specified.

#### **2.1 Model parameterization**

Consider a linear discrete-time system S with *m* inputs and *p* outputs

$$y(t) = G\_0(q)u(t) + H\_0(q)e(t) \, . \tag{1}$$

where *y*(*t*) is the *p*-dimensional output column vector at sampling instant *t*, *u*(*t*) is the *m*-dimensional input column vector and *e*(*t*) is a *p*-dimensional zero-mean white noise column vector with a *p* × *p* diagonal covariance matrix *R*. The system S is characterized by the filter matrices *<sup>G</sup>*0(*q*) and *<sup>H</sup>*0(*q*). The process<sup>1</sup> and the noise models of <sup>S</sup> are denoted by *G*(*q*, *θ*) and *H*(*q*, *θ*), respectively. In this work, the system model is represented using matrix fraction descriptions (MFD) of the form

$$G(q, \theta) = F^{-1}(q)B(q) \tag{2}$$

$$H(q, \theta) = D^{-1}(q)\mathbb{C}(q)\,. \tag{3}$$

where *B*(*q*), *C*(*q*), *D*(*q*) and *F*(*q*) are matrices of polynomials in the shift operator *q* with dimensions *p* × *m*, *p* × *p*, *p* × *p* and *p* × *p*, respectively. The parameter vector *θ* is composed of the coefficients of the polynomials in such matrices. Thus, in order to determine *θ*, one needs to further specify the polynomial matrices in (2) and (3). The matrix *B*(*q*) takes the form

$$B(q) = \begin{bmatrix} B\_{11}(q) \ \cdots \ B\_{1m}(q) \\ \vdots & \ddots \ \vdots \\ B\_{p1}(q) \ \cdots \ B\_{pm}(q) \end{bmatrix} \tag{4}$$

whose entries are *μij* − 1 degree polynomials

$$B\_{ij}(q) = b\_{ij}^{(1)} q^{-1} + \dots + b\_{ij}^{(\mu\_{ij})} q^{-\mu\_{ij}} \dots$$

<sup>1</sup> Sometimes (Ljung, 1999; Zhu, 2001, e.g.), the process model is referred to as transfer function.

2 Frontiers in Advanced Control Systems

as model relevant identification (MRI) in the literature. Strictly speaking, MRI algorithms deal with the problem of estimating model parameters by minimizing multi-step objective

Theoretically, if the model structure exactly matches the structure of the actual system, then the model estimated from a one-step ahead predictor is equivalent to the maximum likelihood estimate, which also provides optimal multi-step ahead predictions. However, in practice, even around an operating point, it is not possible to propose a linear model structure that exactly matches the system to be identified. Consequently, any estimated model has modeling errors associated with the identification algorithm. In these circumstances, models tuned for multi-step ahead predictions are more adequate for high closed-loop performance when using predictive controllers (Huang & Wang, 1999). In other words, when there is a certain amount of bias due to under-modeling (which is the more typical case), the MRI may be considered a way of distributing this bias in a frequency range that is less important for control purposes

Before formulating the parameter estimation problem in the MRI context, the discrete-time

where *y*(*t*) is the *p*-dimensional output column vector at sampling instant *t*, *u*(*t*) is the *m*-dimensional input column vector and *e*(*t*) is a *p*-dimensional zero-mean white noise column vector with a *p* × *p* diagonal covariance matrix *R*. The system S is characterized by the filter matrices *<sup>G</sup>*0(*q*) and *<sup>H</sup>*0(*q*). The process<sup>1</sup> and the noise models of <sup>S</sup> are denoted by *G*(*q*, *θ*) and *H*(*q*, *θ*), respectively. In this work, the system model is represented using matrix

where *B*(*q*), *C*(*q*), *D*(*q*) and *F*(*q*) are matrices of polynomials in the shift operator *q* with dimensions *p* × *m*, *p* × *p*, *p* × *p* and *p* × *p*, respectively. The parameter vector *θ* is composed of the coefficients of the polynomials in such matrices. Thus, in order to determine *θ*, one needs to further specify the polynomial matrices in (2) and (3). The matrix *B*(*q*) takes the form

*B*11(*q*) ··· *B*1*m*(*q*)

. ... .

*Bp*1(*q*) ··· *Bpm*(*q*)

*ij <sup>q</sup>*−<sup>1</sup> <sup>+</sup> ... <sup>+</sup> *<sup>b</sup>*

. .

(*μij*) *ij <sup>q</sup>*−*μij* ,

⎤ ⎥

<sup>⎦</sup> , (4)

*y*(*t*) = *G*0(*q*)*u*(*t*) + *H*0(*q*)*e*(*t*) , (1)

*G*(*q*, *θ*) = *F*−1(*q*)*B*(*q*) (2) *H*(*q*, *θ*) = *D*−1(*q*)*C*(*q*) . (3)

functions.

(Gopaluni et al., 2003).

**2.1 Model parameterization**

linear model structures to be used are specified.

fraction descriptions (MFD) of the form

whose entries are *μij* − 1 degree polynomials

Consider a linear discrete-time system S with *m* inputs and *p* outputs

*B*(*q*) =

*Bij*(*q*) = *b*

⎡ ⎢ ⎣

(1)

<sup>1</sup> Sometimes (Ljung, 1999; Zhu, 2001, e.g.), the process model is referred to as transfer function.

. . for *i* ∈ {1, . . . , *p*} and *j* ∈ {1, . . . , *m*}. One of the simplest choice to parameterize the other matrices is through the diagonal form MFD, in which *C*(*q*), *D*(*q*) and *F*(*q*) are diagonal polynomial matrices and their nonzero polynomials are all monic, e.g.,

$$F(q) = \begin{bmatrix} F\_{11}(q) & 0 & \cdots & 0 \\ 0 & F\_{22}(q) & & \vdots \\ \vdots & & \ddots & 0 \\ 0 & \cdots & 0 & F\_{pp}(q) \end{bmatrix} \tag{5}$$

where the entries of *F*(*q*) are *ν<sup>i</sup>* degree polynomials of the form

$$F\_{\vec{\imath}i}(q) = 1 + f\_{\vec{\imath}i}^{(1)} q^{-1} + \dots + f\_{\vec{\imath}i}^{(\nu\_i)} q^{-\nu\_i} \dots$$

for each *i* ∈ {1, 2, . . . , *p*}. The diagonal matrices *C*(*q*) and *D*(*q*), as well as their respective entries, are defined analogously.

When the diagonal form is adopted, it is possible to decouple the multi-input multi-output model into a set of *p* multi-input single-output (MISO) models in the form

$$\begin{aligned} y\_1(t) &= F\_{11}^{-1}(q) \sum\_{j=1}^{m} B\_{1j}(q) u\_j(t) + \frac{\mathcal{C}\_{11}(q)}{D\_{11}(q)} e\_1(t) \\ &\vdots = \vdots \\ y\_p(t) &= F\_{pp}^{-1}(q) \sum\_{j=1}^{m} B\_{pj}(q) u\_j(t) + \frac{\mathcal{C}\_{pp}(q)}{D\_{pp}(q)} e\_p(t) \end{aligned} \tag{6}$$

in which *yi* and *uj* denote the *i* th output and the *j* th input, respectively.

Unless otherwise stated, it is assumed that all the nonzero polynomials of the matrices have the same degree *n*, that is to say *μij* = *ν<sup>i</sup>* = *n*, for *i* ∈ {1, . . . , *p*} and *j* ∈ {1, . . . , *m*}. Although this degree is in general not the same as the McMillan degree, this choice considerably simplifies the order selection problem and, consequently, makes the model structure more suitable for applications in large scale processes.

Besides being simple to understand, the diagonal form has some relevant properties for applications in system identification (Zhu, 2001). The main of them is that algorithms developed for the SISO (single-input single-output) processes can be directly generalized for the multivariable case. Nevertheless, if there are dynamic iterations between different outputs, the estimated model based on the diagonal form can present a larger bias error (Laurí et al., 2010). Alternatively, one can add elements outside the diagonal of *F*(*q*) , not necessarily monic polynomials, with the purpose of incorporating the dynamic iteration between the process outputs. This approach gives rise to another MFD named "full polynomial form" (Ljung, 1999), in which any *F*(*q*) entry may be nonzero. This parameterization is also employed in one of the identification methods described in Section 3.

Next, the multi-step objective function used as the basis for the development of the MRI algorithms is presented.

#### **2.2 The model relevant identification cost function**

Firstly, let us define the *p* × *p* filter matrix

$$\mathcal{W}\_k(\boldsymbol{q}, \boldsymbol{\theta}) \stackrel{\scriptstyle \Delta}{=} \left( \sum\_{l=0}^{k-1} h(l) \boldsymbol{q}^{-l} \right) H^{-1}(\boldsymbol{q}, \boldsymbol{\theta}) \; , \tag{7}$$

where *h*(*l*) is the *l* th impulse response coefficient of *H*(*q*, *θ*).

Thus, the *k*-step ahead predictor of the output vector (i.e., the output prediction equation at *t* + *k* with data available up to instant *t*) may be expressed as (Ljung, 1999)

$$\hat{y}(t+k|t,\theta) = \mathcal{W}\_k(q\_\prime\theta)G(q\_\prime\theta)u(t+k) + \left(I - \mathcal{W}\_k(q\_\prime\theta)\right)y(t+k)\,. \tag{8}$$

According to (8), the *k*-step ahead prediction error is

$$\begin{split} \varepsilon(t+k|t,\theta) &= y(t+k) - \hat{y}(t+k|t,\theta) \\ &= \mathcal{W}\_k(\eta,\theta) \left( y(t+k) - G(\eta,\theta)u(t+k) \right) \,. \end{split} \tag{9}$$

From (7)-(9), note that the *k*-step prediction error is related to the one-step through the filter matrix

*Lk*(*q*, *θ*) *k*−1 ∑ *i*=0 *h*(*i*)*q*−*<sup>i</sup>* , (10)

such that

$$
\varepsilon(t+k|t) = L\_k(q,\theta)\varepsilon(t+k|t+k-1)\,. \tag{11}
$$

As argued previously, the main objective of the MRI methods is to provide models that are optimized for the generation of predictions over an entire prediction horizon. So, a natural choice for the criterion of the parameter estimation problem is the cost function

$$J\_{\text{multi}}(P,\theta) = \sum\_{k=1}^{P} \sum\_{t=0}^{N-k} ||\varepsilon(t+k|t,\theta)||\_{2}^{2} \,. \tag{12}$$

where �·�<sup>2</sup> denotes the <sup>2</sup> norm. Hence, *J*multi(*P*, *θ*) quantifies the mean-square error, based on predictions ranging from 1 to *P* steps ahead in a dataset of length *N*.

The challenge in estimating the model parameters by minimizing (12) is that such a criterion is highly nonlinear in the model parameters. Therefore, suitable optimization algorithms are necessary, so that local minima or convergence problems are avoided. Strictly speaking, the identification methods to be presented aims at estimating the model parameters based on *J*multi.

#### **3. Model parameter estimation methods**

In recent years, distinct MRI techniques were proposed based on different principles. One of them, conceived by Rossiter & Kouvaritakis (2001), differs from the others since it proposes the use of multiple models to generate the predictions. Thus, an optimized model is estimated for each *k*-step ahead prediction. In spite of providing "optimal" predictions for the entire horizon, the number of parameters involved can be quite large, specially for multi-input and multi-output processes. It is known that the variance of the parameter estimates is 4 Frontiers in Advanced Control Systems

*h*(*l*)*q*−*<sup>l</sup>*

Thus, the *k*-step ahead predictor of the output vector (i.e., the output prediction equation at

From (7)-(9), note that the *k*-step prediction error is related to the one-step through the filter

*k*−1 ∑ *i*=0

As argued previously, the main objective of the MRI methods is to provide models that are optimized for the generation of predictions over an entire prediction horizon. So, a natural

> *N*−*k* ∑ *t*=0

where �·�<sup>2</sup> denotes the <sup>2</sup> norm. Hence, *J*multi(*P*, *θ*) quantifies the mean-square error, based

The challenge in estimating the model parameters by minimizing (12) is that such a criterion is highly nonlinear in the model parameters. Therefore, suitable optimization algorithms are necessary, so that local minima or convergence problems are avoided. Strictly speaking, the identification methods to be presented aims at estimating the model parameters based on

In recent years, distinct MRI techniques were proposed based on different principles. One of them, conceived by Rossiter & Kouvaritakis (2001), differs from the others since it proposes the use of multiple models to generate the predictions. Thus, an optimized model is estimated for each *k*-step ahead prediction. In spite of providing "optimal" predictions for the entire horizon, the number of parameters involved can be quite large, specially for multi-input and multi-output processes. It is known that the variance of the parameter estimates is

*y*ˆ(*t* + *k*|*t*, *θ*) = *Wk*(*q*, *θ*)*G*(*q*, *θ*)*u*(*t* + *k*) + (*I* − *Wk*(*q*, *θ*)) *y*(*t* + *k*) . (8)

= *Wk*(*q*, *θ*)(*y*(*t* + *k*) − *G*(*q*, *θ*)*u*(*t* + *k*)) . (9)

*ε*(*t* + *k*|*t*) = *Lk*(*q*, *θ*)*ε*(*t* + *k*|*t* + *k* − 1) . (11)

�*ε*(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>*|*t*, *<sup>θ</sup>*)�<sup>2</sup>

*h*(*i*)*q*−*<sup>i</sup>* , (10)

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

*H*−1(*q*, *θ*) , (7)

*<sup>k</sup>*−<sup>1</sup> ∑ *l*=0

th impulse response coefficient of *H*(*q*, *θ*).

*t* + *k* with data available up to instant *t*) may be expressed as (Ljung, 1999)

*ε*(*t* + *k*|*t*, *θ*) = *y*(*t* + *k*) − *y*ˆ(*t* + *k*|*t*, *θ*)

*Lk*(*q*, *θ*)

choice for the criterion of the parameter estimation problem is the cost function

*P* ∑ *k*=1

*J*multi(*P*, *θ*) =

on predictions ranging from 1 to *P* steps ahead in a dataset of length *N*.

**3. Model parameter estimation methods**

**2.2 The model relevant identification cost function**

According to (8), the *k*-step ahead prediction error is

*Wk*(*q*, *θ*)

Firstly, let us define the *p* × *p* filter matrix

where *h*(*l*) is the *l*

matrix

such that

*J*multi.

proportional to the ratio between the number of parameters and the dataset length (Ljung, 1999). Hence, the main drawback of the multi-model approach is the amount of data required to estimate a reasonable model set. Such amount of data may be prohibitive in practical situations (Gopaluni et al., 2003). Moreover, most of the MPC algorithms are based on a single model. For these reasons, the multi-model method is not considered in further analysis.

In the pioneering work by Shook et al. (1991), the MRI is performed in the context of data prefiltering using SISO ARX (Auto Regressive with eXternal input) type models. Huang & Wang (1999) extended the previous method, so that a general model structure (e.g., Box-Jenkins) could be employed. Some authors, such as (Gopaluni et al., 2003; Laurí et al., 2010), deal with the parameter estimation problem directly minimizing the MRI cost function, using nonlinear optimization techniques. In another approach, proposed by Gopaluni et al. (2004), the focus is given to the noise model parameter estimation. In this approach, a non-parsimonious process model is estimated, in order to eliminate bias errors (which are caused by under-modeling). Then, with a fixed process model, the parameters of the noise model are obtained by minimizing the cost function (12).

In the following subsections, the main MRI techniques are described in more details.

#### **3.1 The prefiltering approach**

#### **3.1.1 The basic idea**

For the sake of simplicity, the basic idea behind the prefiltering approach is shown using the SISO case (*m* = *p* = 1). Nevertheless, its worth mentioning that the conclusions directly apply to MIMO models represented in the diagonal form MFD.

In this case, based on predictor (9), the MRI cost function (12) can be rewritten as

$$J\_{\text{multi}}(P,\theta) = \sum\_{k=1}^{P} \sum\_{t=0}^{N-k} \left( \frac{L\_k(q,\theta)}{H(q,\theta)} \left( y(t+k) - G(q,\theta)u(t+k) \right) \right)^2. \tag{13}$$

If we introduce an auxiliary variable *G*˜(*q*, *θ*) that takes into account the deterministic model mismatch, that is

$$\tilde{G}(q,\theta) \stackrel{\triangle}{=} G\_0(q) - G(q,\theta) \stackrel{\triangle}{\prec}$$

then, substituting (1) into (13) gives

$$\begin{split} J\_{\text{multi}}(P,\theta) &= \sum\_{k=1}^{P} \sum\_{t=0}^{N-k} \left( \frac{\mathcal{L}\_k(q,\theta)}{H(q,\theta)} \left( \tilde{G}(q,\theta)u(t+k) + H\_0(q)e(t+k) \right) \right)^2 \\ &= \sum\_{k=1}^{P} \sum\_{t=0}^{N-k} \left( \frac{\mathcal{L}\_k(q,\theta)}{H(q,\theta)} \left( \left[ \tilde{G}(q,\theta) \quad H\_0(q) \right] \left[ \frac{u(t+k)}{e(t+k)} \right] \right) \right)^2 . \end{split} \tag{14}$$

Supposing *N* → ∞ and applying Parseval's relationship to (14) yields

$$J\_{\text{multi}}(P,\theta) = \sum\_{k=1}^{P} \frac{1}{2\pi} \int\_{-\pi}^{\pi} \left| \frac{L\_k(e^{j\omega}\,\_{\prime}\theta)}{H(e^{j\omega}\,\_{\prime}\theta)} \right|^2 \left[ \tilde{G}(e^{j\omega}\,\_{\prime}\theta) \quad H\_0(e^{j\omega}) \right] \times \delta$$

$$\begin{bmatrix} \Phi\_{\text{ul}}(\omega) \,\,\Phi\_{\text{eu}}(\omega) \\ \Phi\_{\text{ul}\prime}(\omega) \quad R \end{bmatrix} \begin{bmatrix} \tilde{G}(e^{-j\omega}\,\_{\prime}\theta) \\ H\_0(e^{-j\omega}) \end{bmatrix} d\omega \text{ }\omega$$

where Φ*u*(*ω*) is the power spectrum of *u*(*t*) and Φ*eu*(*ω*) is the cross-spectrum between *e*(*t*) and *u*(*t*). Now, moving the summation to the inside of the integral, it follows that

$$J\_{\text{multi}}(P,\theta) = \frac{1}{2\pi} \int\_{-\pi}^{\pi} \frac{\sum\_{k=1}^{P} \left| L\_k(e^{j\omega}, \theta) \right|^2}{\left| H(e^{j\omega}, \theta) \right|^2} \left[ \tilde{G}(e^{j\omega}, \theta) \quad H\_0(e^{j\omega}) \right] \times$$

$$\begin{bmatrix} \Phi\_{\text{ul}}(\omega) \ \Phi\_{\text{el}}(\omega) \\ \Phi\_{\text{ul}^c}(\omega) \ \ \ \ \ \ \end{bmatrix} \begin{bmatrix} \tilde{G}(e^{-j\omega}, \theta) \\ H\_0(e^{-j\omega}) \end{bmatrix} d\omega \, . \tag{15}$$

From (15) one can see that the deterministic model mismatch is weighted by the input spectrum, while the filter

$$\mathcal{W}\_{\text{multi}}(e^{j\omega}, \theta) = \sum\_{k=1}^{P} \left| \mathcal{W}\_{k}(e^{j\omega}, \theta) \right|^{2} = \frac{\sum\_{k=1}^{P} \left| L\_{k}(e^{j\omega}, \theta) \right|^{2}}{\left| H(e^{j\omega}, \theta) \right|^{2}} \tag{16}$$

weights the whole expression. But, if *P* is limited to 1, which implies considering only one-step ahead predictions, we obtain

$$J\_{\rm multi}(P,\theta)\Big|\_{P=1} = \frac{1}{2\pi} \int\_{-\pi}^{\pi} \frac{1}{\left|H(e^{j\omega}, \theta)\right|^2} \left[\tilde{G}(e^{j\omega}, \theta) \quad H\_0(e^{j\omega})\right] \times$$

$$\begin{bmatrix} \Phi\_{\rm u}(\omega) \ \Phi\_{\rm eil}(\omega) \\ \Phi\_{\rm u\epsilon}(\omega) \ \ \ \ \ \ \ \ \end{bmatrix} \begin{bmatrix} \tilde{G}(e^{-j\omega}, \theta) \\ H\_0(e^{-j\omega}) \end{bmatrix} d\omega \,. \tag{17}$$

Comparing (17) with (15), it is observed that the latter is identical to the first weighted by the frequency function

$$L\_{\text{multi}}(e^{j\omega}, \theta) = \sum\_{k=1}^{P} \left| L\_k(e^{j\omega}, \theta) \right|^2. \tag{18}$$

Hence, the estimation of the model parameters by minimizing the MRI cost function (15) is equivalent to using standard one-step ahead prediction error estimation algorithms (available in software packages, such as Ljung (2007)) after prefiltering the data with (18). As the prefiltering affects the model bias distribution and may also remove disturbances of frequency ranges that one does not want to include in the modeling, the role of the prefilter may be interpreted as a frequency weighting optimized for providing models suitable for multi-step ahead predictions.

#### **3.1.2 Algorithms and implementation issues**

Although the prefiltering artifice is an alternative to solve the problem of parameter estimation in the context of MRI, there is a point to be emphasized: the prefilter *L*multi(*q*, *θ*) in (18) depends on the noise model *H*(*q*, *θ*), which is obviously unknown.

An iterative procedure called LRPI (Long Range Predictive Identification) to deal with the unknown noise model was proposed by (Shook et al., 1991). As mentioned previously, in the original formulation only the SISO case based on the ARX structure was concerned. Next, the LRPI algorithm is extended to the multivariable case. To this end, the following is adopted

$$G(q, \theta) = A^{-1}(q)B(q) \tag{19}$$

$$H(q, \theta) = A^{-1}(q) \, , \tag{20}$$

6 Frontiers in Advanced Control Systems

where Φ*u*(*ω*) is the power spectrum of *u*(*t*) and Φ*eu*(*ω*) is the cross-spectrum between *e*(*t*)

*Lk*(*ejω*, *θ*)

From (15) one can see that the deterministic model mismatch is weighted by the input

*Wk*(*ejω*, *θ*)

weights the whole expression. But, if *P* is limited to 1, which implies considering only one-step

1

Comparing (17) with (15), it is observed that the latter is identical to the first weighted by the

*P* ∑ *k*=1 

Hence, the estimation of the model parameters by minimizing the MRI cost function (15) is equivalent to using standard one-step ahead prediction error estimation algorithms (available in software packages, such as Ljung (2007)) after prefiltering the data with (18). As the prefiltering affects the model bias distribution and may also remove disturbances of frequency ranges that one does not want to include in the modeling, the role of the prefilter may be interpreted as a frequency weighting optimized for providing models suitable for multi-step

Although the prefiltering artifice is an alternative to solve the problem of parameter estimation in the context of MRI, there is a point to be emphasized: the prefilter *L*multi(*q*, *θ*) in (18)

An iterative procedure called LRPI (Long Range Predictive Identification) to deal with the unknown noise model was proposed by (Shook et al., 1991). As mentioned previously, in the original formulation only the SISO case based on the ARX structure was concerned. Next, the LRPI algorithm is extended to the multivariable case. To this end, the following is adopted

 2  2

 *G*˜(*e*−*jω*, *θ*) *H*0(*e*−*jω*)

> 2 <sup>=</sup> <sup>∑</sup>*<sup>P</sup> k*=1

 2 

*G*˜(*ejω*, *θ*) *H*0(*ejω*)

*Lk*(*ejω*, *θ*)

*G*˜(*ejω*, *θ*) *H*0(*ejω*)

*G*(*q*, *θ*) = *A*−1(*q*)*B*(*q*) (19) *H*(*q*, *θ*) = *A*−1(*q*) , (20)

   2

> ×

 *<sup>H</sup>*(*ejω*, *<sup>θ</sup>*)

 *G*˜(*e*−*jω*, *θ*) *H*0(*e*−*jω*)

> 2

*Lk*(*ejω*, *θ*)

 ×

*dω* . (15)

<sup>2</sup> (16)

*dω* . (17)

. (18)

and *u*(*t*). Now, moving the summation to the inside of the integral, it follows that

∑*P k*=1 

 Φ*u*(*ω*) Φ*eu*(*ω*) Φ*ue*(*ω*) *R*

> *P* ∑ *k*=1

> > *π* −*π*

*L*multi(*ejω*, *θ*) =

depends on the noise model *H*(*q*, *θ*), which is obviously unknown.

 *<sup>H</sup>*(*ejω*, *<sup>θ</sup>*)

 Φ*u*(*ω*) Φ*eu*(*ω*) Φ*ue*(*ω*) *R*

 *<sup>H</sup>*(*ejω*, *<sup>θ</sup>*)

*<sup>J</sup>*multi(*P*, *<sup>θ</sup>*) = <sup>1</sup>

spectrum, while the filter

ahead predictions, we obtain

frequency function

ahead predictions.

*J*multi(*P*, *θ*)

**3.1.2 Algorithms and implementation issues**

2*π*

*W*multi(*ejω*, *θ*) =

  *<sup>P</sup>*=<sup>1</sup> <sup>=</sup> <sup>1</sup> 2*π*

 *π* −*π* where the polynomial matrix *A*(*q*), as well as its entries, are defined analogously to (5). According to (19)-(20), the *i* th output equation may be expressed by

$$A\_{il}(q)y\_i(t) = \sum\_{j=1}^{m} B\_{1j}(q)u\_j(t) + e\_i(t)\,. \tag{21}$$

Consider the regression *<sup>ϕ</sup>i*(*t*) <sup>∈</sup> **<sup>R</sup>***n*(*m*+1) and the parameter *<sup>θ</sup><sup>i</sup>* <sup>∈</sup> **<sup>R</sup>***n*(*m*+1), relative to the *<sup>i</sup>* th system output

$$\varphi\_i(t) = \begin{bmatrix} -y\_i(t-1), \dots, -y\_i(t-n), u\_1(t-1), \dots, u\_m(t-1) \end{bmatrix}$$

$$\dots \dots \nu\_1(t-n), \dots, \nu\_m(t-n) \Big|^T \tag{22}$$

$$\theta\_i = \begin{bmatrix} a\_{ii}^{(1)}, \dots, a\_{ii}^{(n)}, b\_{i1}^{(1)}, \dots, b\_{im}^{(1)}, \dots, b\_{i1}^{(n)}, \dots, b\_{im}^{(n)} \end{bmatrix}^T \tag{23}$$

From (22) and (23), the one-step ahead prediction of *yi*(*t*) may be expressed as

$$
\hat{y}\_i(t+1|t,\theta\_i) = \varphi\_i^T(t)\theta\_i \,. \tag{24}
$$

*Algorithm 1: Extension of the LRPI algorithm to the multivariable case*

Step 1. Set *i* = 1 (that is, only the first output is considered).

Step 2. Initialize *L*multi,*i*(*q*) to 1.

Step 3. Filter *yi*(*t*) and each input *uj*(*t*) for *j* ∈ {1, . . . , *m*} with *L*multi,*i*(*q*), i.e.

$$y\_i^f(t) \triangleq L\_{\text{multi},i}(q)y\_i(t) \tag{25}$$

$$u^f(t) \triangleq \begin{bmatrix} L\_{\text{multi},i}(q) & 0 & \cdots & 0 \\ & 0 & L\_{\text{multi},i}(q) & \vdots \\ & \vdots & \ddots & 0 \\ 0 & & \cdots & 0 & L\_{\text{multi},i}(q) \end{bmatrix} u(t) \,. \tag{26}$$

Step 4. Based on (25)-(26), construct the regression vector analogously to (22), so that

$$\boldsymbol{\Psi}\_{i}^{f}(t) = \begin{bmatrix} -y\_{i}^{f}(t-1), \cdots, -y\_{i}^{f}(t-n), \boldsymbol{\mu}^{f\top}(t-1), \cdots, \boldsymbol{\mu}^{f\top}(t-1) \end{bmatrix}^{T} . \tag{27}$$

Step 5. Estimate the parameter vector *θ<sup>i</sup>* by solving the linear least-squares problem

$$\boldsymbol{\theta}\_{i} = \underset{\boldsymbol{\theta}\_{i}}{\text{arg min}} \sum\_{t} \left( y\_{i}(t) - \boldsymbol{\varphi}\_{i}^{f^{\tau}}(t) \boldsymbol{\theta}\_{i} \right)^{2} . \tag{28}$$

Step 6. Update *<sup>L</sup>*multi,*i*(*q*) through (10) and (18), based on the noise model *<sup>A</sup>*−<sup>1</sup> *ii* (*q*) estimated in the previous step.

Step 7. Continue if convergence of *θ<sup>i</sup>* occurs, otherwise go back to Step 3.

Step 8. If *i* � *p*, go back to Step 2, with *i* = *i* + 1. Otherwise, concatenate the estimated models into a MIMO representation.

*Remarks:*


Alternatively, instead of using an iterative procedure as previously, in the method proposed by Huang & Wang (1999) named MPEM (Multi-step Prediction Error Method), a fixed noise model estimate is employed in order to get *L*multi(*q*). In what follows, the multi-step prediction error algorithm is described, based on the MFD parameterized by (2)-(5).

*Algorithm 2: MPEM algorithm based on the diagonal form matrix fraction description*

Step 1. Set *i* = 1.


$$\left(V\_{\text{oe},i}\left(B\_{\text{i}1}(q),\ldots,B\_{\text{im}}(q),F\_{\text{ii}}(q)\right)\right) = \sum\_{t}\left(y\_i^f(t) - F\_{pp}^{-1}(q)\sum\_{j=1}^{m}B\_{1j}(q)u\_j^f(t)\right)^2\,. \tag{29}$$

Step 6. If *i* � *p*, go back to Step 2, with *i* = *i* + 1. Otherwise, concatenate the estimated models into a multi-output representation.

#### *Remarks:*


• The minimization of (12) is replaced by two nonlinear optimization problems in the MPEM algorithm. At first, it might seem that there is no relevant advantage in such an approach. Nevertheless, it is important to say that the MISO Box-Jenkins identification from Step 2, as well as the minimization of the output-error cost function in (29), can be performed using available software packages (Ljung, 2007, e.g.). Moreover, for models parameterized as (2)-(5), the numerical complexity of these problems are considered to be lower than the one of minimizing *J*multi directly.

The LRPI algorithm involves only linear least-squares problems, which have many advantages. The most important one being that (28) can be solved efficiently and unambiguously (Ljung, 1999). The price paid for a simple parameter estimation algorithm is the adoption of a limited noise model structure. Consequently, the estimate of the *H*(*q*, *θ*) entries may be inaccurate, which affects the calculation of each filter *L*multi,*i*(*q*). In turn, MPEM considers a more flexible noise model structure. However, local minima or convergence issues due to nonlinear optimization methods in Steps 2 and 5 may degrade the quality of the estimates. Therefore, the MPEM should outperform the LRPI algorithm, provided that the global minimum is achieved in the estimation steps. Anyway, it is suggested that models are estimated using more than one method and select the one which yields the best multi-step ahead predictions.

#### **3.2 Direct optimization of the cost function**

In the prefilter approach described previously, the filters *L*multi,*i*(*q*) are calculated using any spectral factorization routine. Hence, as these filters are approximations of (18), the identified model ability to generate multi-step ahead predictions depends on the degree of the approximation and on the accuracy of the disturbance model estimate. But there is no need to worry about these aspects if the MRI cost function (12) is minimized directly. On the other hand, the model parameterization should be chosen carefully, to minimize numerical problems in the nonlinear optimization algorithm. In Laurí et al. (2010) a "full-polynomial2 form" ARX model

*A*(*q*)*y*(*t*) = *B*(*q*)*u*(*t*) + *e*(*t*) , (30)

with

8 Frontiers in Advanced Control Systems

Step 8. If *i* � *p*, go back to Step 2, with *i* = *i* + 1. Otherwise, concatenate the estimated models

• For the multi-output case, there are *p* different filters *L*multi(*q*), each one associated with

• With respect to Step 6, as *L*multi(*q*) is a spectral factor of *L*multi(*ejω*), spectral factorization routines, such as the one proposed in Ježek & Kuˇcera (1985), can be used for solving (18). • A natural choice to determine the convergence of the algorithm is to check if the <sup>2</sup> norm of the difference between the parameter estimates in two consecutive iterations is less than

Alternatively, instead of using an iterative procedure as previously, in the method proposed by Huang & Wang (1999) named MPEM (Multi-step Prediction Error Method), a fixed noise model estimate is employed in order to get *L*multi(*q*). In what follows, the multi-step

Step 2. Get initial estimates of *Cii*(*q*), *Dii*(*q*), *Fii*(*q*) and, for *j* ∈ {1, . . . , *m*}, *Bij*(*q*), using standard prediction error methods, namely, based on a one-step ahead cost function

Step 3. Use a spectral factorization routine to solve (18), in which the filters defined in (10) are calculated through the impulse response of the estimated noise model *D*ˆ <sup>−</sup><sup>1</sup>

*t*

Step 6. If *i* � *p*, go back to Step 2, with *i* = *i* + 1. Otherwise, concatenate the estimated models

• Once more the diagonal form MFD property, which allows the independent treatment of each model output, is applied to extend the parameter estimation algorithm to the

• The prefilters of Step 2 differ from the ones used in the LRPI algorithm by the additional

output noise model. Hence, while the filters *L*multi,*i*(*q*) aim at providing optimal weighting for multi-step predictions, the additional terms intend to remove the noise influence for

*ii* (*q*)*D*<sup>ˆ</sup> *ii*(*q*), each one for *<sup>i</sup>* ∈ {1, . . . , *<sup>p</sup>*}, which represents the inverse of the *<sup>i</sup>*

⎛ ⎝*y<sup>f</sup>*

*<sup>i</sup>* (*t*) <sup>−</sup> *<sup>F</sup>*−<sup>1</sup>

*pp* (*q*)

*ii* (*q*)*C*<sup>ˆ</sup>

*Bim*(*q*), *Fii*(*q*) by minimizing the output-error cost function

*ii* (*q*)*C*<sup>ˆ</sup>

2

*ii* (*q*)*D*<sup>ˆ</sup> *ii*(*q*)*L*multi,*i*(*q*).

*<sup>B</sup>*1*j*(*q*)*u<sup>f</sup>*

*<sup>j</sup>* (*t*) ⎞ ⎠

*ii*(*q*), calculated in Step 2, estimate *Bi*1(*q*),. . .,

*m* ∑ *j*=1 *ii*(*q*).

. (29)

th

prediction error algorithm is described, based on the MFD parameterized by (2)-(5).

*Algorithm 2: MPEM algorithm based on the diagonal form matrix fraction description*

into a MIMO representation.

th output and denoted by *L*multi,*i*(*q*).

*δ*. Experience has shown that a reasonable value for *δ* is 10−5.

Step 4. Filter *yi*(*t*) and each input *uj*(*t*), *<sup>j</sup>* ∈ {1, . . . , *<sup>m</sup>*}, with *<sup>C</sup>*ˆ−<sup>1</sup>

*V*oe,*<sup>i</sup>* (*Bi*1(*q*),..., *Bim*(*q*), *Fii*(*q*)) = ∑

into a multi-output representation.

Step 5. With the fixed noise model *D*ˆ <sup>−</sup><sup>1</sup>

multivariable framework.

models represented as (6).

*Remarks:*

the *i*

Step 1. Set *i* = 1.

(17).

*Remarks:*

terms *C*ˆ−<sup>1</sup>

$$A(q) = \begin{bmatrix} A\_{11}(q) \cdots \cdot A\_{1p}(q) \\ \vdots & \ddots & \vdots \\ A\_{p1}(q) \cdots \cdot A\_{pp}(q) \end{bmatrix} = I + A^{(1)}q^{-1} + \dots + A^{(n)}q^{-n},\tag{31}$$

whose entries are

$$A\_{i\bar{j}}(q) = \begin{cases} 1 + a\_{i\bar{j}}^{(1)} q^{-1} + \dots + a\_{i\bar{j}}^{(n)} q^{-n} \text{, for } i = j \\\ a\_{i\bar{j}}^{(1)} q^{-1} + \dots + a\_{i\bar{j}}^{(n)} q^{-n} \quad \text{, otherwise} \end{cases}$$

and the polynomial matrix *B*(*q*) is defined as in (4).

<sup>2</sup> Note that, in order to consider output interaction, the polynomial matrix *A*(*q*) is not restricted to being diagonal, as in the LRPI algorithm.

For this model structure, let us introduce the parameter matrix

$$\Theta = \begin{bmatrix} a\_{11}^{(1)}, \dots, a\_{1p}^{(1)}, \dots, a\_{11}^{(n)}, \dots, a\_{1p}^{(n)}, b\_{11}^{(1)}, \dots, b\_{1m}^{(1)}, \dots, b\_{11}^{(n)}, \dots, b\_{1n}^{(n)}, \dots, b\_{1n}^{(n)} \\ \vdots \\ a\_{p1}^{(1)}, \dots, a\_{pp}^{(1)}, \dots, a\_{p1}^{(n)}, \dots, a\_{pp}^{(n)}, b\_{p1}^{(1)}, \dots, b\_{pm}^{(1)}, \dots, b\_{p1}^{(n)}, \dots, b\_{pn}^{(n)} \\ \end{bmatrix}^T \in \mathbb{R}^{n(m+p)\times p} \tag{32}$$

and a particular regression vector denoted by *<sup>ϕ</sup>*ˇ(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>*|*t*, <sup>Θ</sup>) <sup>∈</sup> **<sup>R</sup>***n*(*m*+*p*), which is composed of inputs up to instant *t* + *k*, output data up to *t* and output estimates from *t* + 1 to *t* + *k* − 1, for instance

$$\boldsymbol{\phi}(t+2|t,\Theta) = \left[ -\boldsymbol{\hat{y}}^T(t+1|t,\Theta), -\boldsymbol{y}^T(t), \dots, -\boldsymbol{y}^T(t-n+2), \boldsymbol{u}^T(t+1), \dots, \boldsymbol{u}^T(t-n+2) \right]^T$$

and for an arbitrary *k*

$$\check{\boldsymbol{\varphi}}(t+k|t,\boldsymbol{\Theta}) = \left[ -\check{\boldsymbol{y}}^{T}(t+k-1|t), \dots, -\check{\boldsymbol{y}}^{T}(t+k-n|t), \boldsymbol{u}^{T}(t+k-1), \dots, \boldsymbol{u}^{T}(t+k-n) \right]^{T} \tag{33}$$

where

$$\mathfrak{Y}^T(s|t) \triangleq \begin{cases} \mathfrak{Y}(s|t, \Theta) \text{ , for } s > t \\ \quad y(s) \quad \text{ , otherwise.} \end{cases}$$

From (32) and (33), the *k*-step ahead prediction of *y*(*t*) is given by

$$
\hat{\varrho}(t+k|t,\Theta) = \Theta^T \hat{\varrho}(t+k|t,\Theta) \,. \tag{34}
$$

Although the predictor *y*ˆ(*t* + *k*|*t*, Θ) is nonlinear in the parameters, it is important to notice that it can be calculated recursively, from *y*ˆ(*t* + 1|*t*) for *k* ∈ {2, . . . , *P*} using (34). This is the main reason why the ARX structure was adopted. For another thing, if a more flexible model structure is adopted, the *k*-step ahead predictor equation would be much more complex.

Thus, based on the MRI cost function (12), the parameter estimation can be stated as a nonlinear least-squares problem

$$\hat{\Theta} = \underset{\Theta}{\text{arg min}} \sum\_{k=1}^{P} \sum\_{t=0}^{N-k} \|y(t) - \Theta^T \check{\varphi}(t + k|t, \Theta)\|\_{2}^{2} \,. \tag{35}$$

which must be solved numerically. The Levenberg-Marquart algorithm is used in Laurí et al. (2010) in order to minimize (35).

#### **3.3 Optimization of the noise model**

In Gopaluni et al. (2004) it is shown that, in the absence of a noise model, there is no significant difference between MRI and one-step ahead prediction error methods. On the other hand, when the signal to noise ratio is small, the one-step ahead predictors yield worse results for *P*-step ahead predictions than MRI methods. Thus, in these circumstances, a suitable disturbance model is crucial to generate accurate multi-step ahead predictions.

Any identified model has bias and variance errors associated with the identification algorithm. While the former is typically associated to model mismatch (such a mismatch can be either in 10 Frontiers in Advanced Control Systems

and a particular regression vector denoted by *<sup>ϕ</sup>*ˇ(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>*|*t*, <sup>Θ</sup>) <sup>∈</sup> **<sup>R</sup>***n*(*m*+*p*), which is composed of inputs up to instant *t* + *k*, output data up to *t* and output estimates from *t* + 1 to *t* + *k* − 1, for

(1) <sup>1</sup>*<sup>m</sup>* , ··· , *b*

(1) *pm*, ··· , *b*

*<sup>T</sup>*(*<sup>t</sup>* <sup>+</sup> <sup>1</sup>|*t*, <sup>Θ</sup>), <sup>−</sup>*yT*(*t*), ··· , <sup>−</sup>*yT*(*<sup>t</sup>* <sup>−</sup> *<sup>n</sup>* <sup>+</sup> <sup>2</sup>), *<sup>u</sup>T*(*<sup>t</sup>* <sup>+</sup> <sup>1</sup>), ··· , *<sup>u</sup>T*(*<sup>t</sup>* <sup>−</sup> *<sup>n</sup>* <sup>+</sup> <sup>2</sup>)

� *<sup>y</sup>*ˆ(*s*|*t*, <sup>Θ</sup>) , for *<sup>s</sup>* <sup>&</sup>gt; *<sup>t</sup> y*(*s*) , otherwise.

Although the predictor *y*ˆ(*t* + *k*|*t*, Θ) is nonlinear in the parameters, it is important to notice that it can be calculated recursively, from *y*ˆ(*t* + 1|*t*) for *k* ∈ {2, . . . , *P*} using (34). This is the main reason why the ARX structure was adopted. For another thing, if a more flexible model structure is adopted, the *k*-step ahead predictor equation would be much more complex.

Thus, based on the MRI cost function (12), the parameter estimation can be stated as a

which must be solved numerically. The Levenberg-Marquart algorithm is used in Laurí et al.

In Gopaluni et al. (2004) it is shown that, in the absence of a noise model, there is no significant difference between MRI and one-step ahead prediction error methods. On the other hand, when the signal to noise ratio is small, the one-step ahead predictors yield worse results for *P*-step ahead predictions than MRI methods. Thus, in these circumstances, a suitable

Any identified model has bias and variance errors associated with the identification algorithm. While the former is typically associated to model mismatch (such a mismatch can be either in

(*n*) <sup>11</sup> , ··· , *b*

(*n*) *<sup>p</sup>*<sup>1</sup> , ··· , *b*

*<sup>T</sup>*(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>* <sup>−</sup> *<sup>n</sup>*|*t*), *<sup>u</sup>T*(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>* <sup>−</sup> <sup>1</sup>), ··· , *<sup>u</sup>T*(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>* <sup>−</sup> *<sup>n</sup>*)

*<sup>y</sup>*ˆ(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>*|*t*, <sup>Θ</sup>) = <sup>Θ</sup>*<sup>T</sup> <sup>ϕ</sup>*ˇ(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>*|*t*, <sup>Θ</sup>) . (34)

�*y*(*t*) <sup>−</sup> <sup>Θ</sup>*<sup>T</sup> <sup>ϕ</sup>*ˇ(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>*|*t*, <sup>Θ</sup>)�<sup>2</sup>

(*n*) 1*m*

⎤ ⎥ ⎥ ⎥ ⎦ *T*

<sup>∈</sup> **<sup>R</sup>***n*(*m*+*p*)×*<sup>p</sup>*

(32)

�*T*

�*T* , (33)

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

(*n*) *pm*

(*n*) <sup>1</sup>*<sup>p</sup>* , *b* (1) <sup>11</sup> , ··· , *b*

(*n*) *pp* , *b* (1) *<sup>p</sup>*<sup>1</sup> , ··· , *b*

. . .

For this model structure, let us introduce the parameter matrix

(*n*) <sup>11</sup> , ··· , *a*

(*n*) *<sup>p</sup>*<sup>1</sup> , ··· , *a*

*<sup>T</sup>*(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>* <sup>−</sup> <sup>1</sup>|*t*), ··· , <sup>−</sup>*y*<sup>ˇ</sup>

*y*ˇ *<sup>T</sup>*(*s*|*t*)

Θˆ = arg min Θ

*P* ∑ *k*=1 *N*−*k* ∑ *t*=0

disturbance model is crucial to generate accurate multi-step ahead predictions.

From (32) and (33), the *k*-step ahead prediction of *y*(*t*) is given by

Θ =

instance

where

*ϕ*ˇ(*t* + 2|*t*, Θ) =

*ϕ*ˇ(*t* + *k*|*t*, Θ) =

and for an arbitrary *k*

⎡ ⎢ ⎢ ⎢ ⎣ *a* (1) <sup>11</sup> , ··· , *a*

*a* (1) *<sup>p</sup>*<sup>1</sup> , ··· , *a*

(1) <sup>1</sup>*<sup>p</sup>* , ··· , *a*

(1) *pp* , ··· , *a*

� −*y*ˆ

� −*y*ˇ

nonlinear least-squares problem

(2010) in order to minimize (35).

**3.3 Optimization of the noise model**

the process model or in the noise model) and the second is due to the effect of unmeasured disturbances. If that there is no significant cross-correlation between the noise and system input (in open-loop, e.g.), the bias errors in the process model may be eliminated by using high order FIR (Finite Impulse Response) models (Zhu, 2001). Under that assumption, the modeling errors are restricted to the noise model.

With this in mind, in Gopaluni et al. (2004) the authors propose a two-step MRI algorithm in which the process is represented by a FIR structure, with sufficiently high order so that bias errors due to the process model can be disregarded. Then, the noise model parameters are estimated using a multi-step cost function.

Consider the multivariable FIR model

$$G\_{\rmFIR}(q,\theta) = B(q) \tag{36}$$

where the polynomial matrix *B*(*q*) is defined as in (4). The noise model *H*(*q*, *η*) is parameterized using diagonal MFD. These choices are equivalent to (6) with *F*(*q*) = *I*. As the estimation of *G*(*q*) and *H*(*q*) are performed separately, in this subsection, the parameter vector is split into two parts, such that the noise model parameter vector is explicitly referred to as *η*. So, the *i* th output noise model structure is

$$H\_{\rm ii}(q, \eta\_i) \triangleq \frac{\mathcal{C}\_{\rm ii}(q)}{D\_{\rm ii}(q)} = \frac{1 + c\_{\rm ii}^{(1)} q^{-1} + \dots + c\_{\rm ii}^{(a\_l)} q^{-a\_l}}{1 + d\_{\rm ii}^{(1)} q^{-1} + \dots + d\_{\rm ii}^{(\mathcal{G}\_l)} q^{-\mathcal{G}\_l}}.\tag{37}$$

Let us introduce the residual of the process model relative to the *i th* output

$$w\_i(t) \triangleq y\_i(t) - \sum\_{j=1}^{m} B\_{ij}(q)u\_j(t) \,. \tag{38}$$

Then, based on (7)-(9), the *k*-step ahead prediction error of the *i* th output3 can be written as

$$e\_i(t+k|t,\theta) = y\_i(t+k) - \hat{y}\_i(t+k|t,\theta)$$

$$= \left(\sum\_{l=0}^{k-1} h\_l(l)q^{-l}\right) \frac{D\_{li}(q)}{\mathbb{C}\_{li}(q)} v\_i(t) \,. \tag{39}$$

As *Cii*(*q*) and *Dii*(*q*) are monic polynomials, the impulse response leading coefficient *hi*(0) is always 1. With this, expanding (39) yields

$$\varepsilon\_{i}(t+k|t,\theta) = \upsilon\_{i}(t+k) + h\_{i}(1)\upsilon\_{i}(t+k-1) + \dots + h\_{i}(k-1)\upsilon\_{i}(t+1)$$

$$-c\_{ii}^{(1)}\varepsilon\_{i}(t+k-1|t,\theta) - \dots - c\_{ii}^{(a\_{i})}\varepsilon\_{i}(t+k-a\_{i}|t,\theta)$$

$$+ d\_{ii}^{(1)}L\_{k,i}(q)\upsilon\_{i}(t+k-1) + \dots + d\_{ii}^{(\beta\_{l})}L\_{k,i}(q)\upsilon\_{i}(t+k-\beta\_{l})\ . \tag{40}$$

<sup>3</sup> Part of the notation introduced in Section 2.2 is particularized here to the single-output context. For instance, *hi*(*l*) and *Lk*,*i*(*q*) are the equivalent to the ones defined in (10), but related to the *i* th output.

For a compact notation, we define

$$\eta\_{k,i} \triangleq \left[ h\_i(1), \dots, h\_i(k-1), 1, c\_{ii}^{(1)}, \dots, c\_{ii}^{(a\_i)}, d\_{ii}^{(1)}, \dots, d\_{ii}^{(\beta\_i)} \right]^T \tag{41}$$

$$\rho\_{k,i}(t,\eta\_{k,i}) \triangleq \left[ -\upsilon\_i(t+k-1), \dots, -\upsilon\_i(t+1), y\_i(t+k) - \upsilon\_i(t+k), \varepsilon\_i(t+k-1|t, \theta) \right]$$

$$\dots, \varepsilon\_i(t+k-a\_i|t, \theta), -\mathfrak{f}\_i(t+k-1), \dots, -\mathfrak{f}\_i(t+k-\beta\_i) \right]^T \tag{42}$$

where

$$
\mathfrak{F}\_i(t+k) \triangleq F\_{k,i}(q)\upsilon\_i(t+k) \text{ .}
$$

Then, we can rewrite (39) as

$$
\varepsilon\_i(t+k|t) = y\_i(t+k|t) - \varphi\_{k,i}^T(t, \eta\_{k,i})\eta\_{k,i} \,. \tag{43}
$$

In light of the aforementioned paragraphs, the MRI algorithm that optimizes the noise model is summarized as follows.

*Algorithm 3: MRI with optimized noise model*

Step 1. Set *i* = 1.

Step 2. Fix an a priori noise model to the *i* th output, for instance

$$\frac{C\_{\vec{\imath}i}(q)}{D\_{\vec{\imath}i}(q)} = 1$$

and estimate a multi-input single-output high order FIR model using standard PEM. Step 3. With the estimate *G*ˆ FIR(*q*), from the previous step, solve the optimization problem

$$\hat{\eta}\_{P,i} = \underset{\eta\_{P,i}}{\text{arg min}} \sum\_{t=1}^{N-P} \sum\_{k=1}^{P} \left( y\_i(t+k|t) - \eta\_{k,i}^T(t, \eta\_{k,i}) \eta\_{k,i} \right)^2 \tag{44}$$

subject to

$$h\_i(l) = \check{h}\_i(l)(\eta\_i) \text{, for any } l = \{1, 2, \dots, P - 1\} \tag{45}$$

where ˘ *hi*(*l*)(*ηi*) indicates the *l* th impulse response coefficient of (37), which is obtained by polynomial long division of *Cii*(*q*) by *Dii*(*q*).

Step 4. If *i* �= *p*, go back to Step 2, with *i* = *i* + 1. Otherwise concatenate the estimated models into a single MIMO representation.

#### *Remarks:*


is the Sequential Quadratic Programming (SQP), which can handle nonlinear constraints such as (45). In Gopaluni et al. (2004) it is shown that if a noise model of the form

$$H\_{ii}(q, \eta\_i) = \frac{1 + c\_{ii}^{(1)} q^{-1} + \dots + c\_{ii}^{(\alpha\_i)} q^{-\alpha\_i}}{1 - q^{-1}}$$

is adopted, then the constraint (45) may be expressed through a linear in the parameters equation. In this case, (44) can be solved using the standard Quadratic Programming (QP) method.

#### **4. Simulations**

12 Frontiers in Advanced Control Systems

...,*εi*(*t* + *k* − *αi*|*t*, *θ*), −*ξi*(*t* + *k* − 1), ··· , −*ξi*(*t* + *k* − *βi*)

*ξi*(*t* + *k*) *Fk*,*i*(*q*)*υi*(*t* + *k*) .

In light of the aforementioned paragraphs, the MRI algorithm that optimizes the noise model

*<sup>ε</sup>i*(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>*|*t*) = *yi*(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>*|*t*) <sup>−</sup> *<sup>ϕ</sup><sup>T</sup>*

*N*−*P* ∑ *t*=1

*P* ∑ *k*=1

Step 4. If *i* �= *p*, go back to Step 2, with *i* = *i* + 1. Otherwise concatenate the estimated models

• Besides providing unbiased estimates under open-loop conditions, FIR models are suitable in this case because the parameters of *G*FIR can be efficiently estimated using linear

• A numerical optimization method is required to solve the parameter estimation problem. Nevertheless, the Levenberg-Marquart algorithm mentioned in the previous subsection can not deal with constraints. One of the nonlinear optimization algorithm possibilities

(*αi*) *ii* , *d* (1) *ii* ,..., *d*

− *υi*(*t* + *k* − 1),..., −*υi*(*t* + 1), *yi*(*t* + *k*) − *υi*(*t* + *k*),*εi*(*t* + *k* − 1|*t*, *θ*),

*k*,*i*

th output, for instance

FIR(*q*), from the previous step, solve the optimization problem

*k*,*i*

*hi*(*l*)(*ηi*) , for any *l* = {1, 2, . . . , *P* − 1} (45)

th impulse response coefficient of (37), which is obtained

(*t*, *ηk*,*i*)*ηk*,*<sup>i</sup>*

2

*yi*(*<sup>t</sup>* <sup>+</sup> *<sup>k</sup>*|*t*) <sup>−</sup> *<sup>ϕ</sup><sup>T</sup>*

*Cii*(*q*) *Dii*(*q*) <sup>=</sup> <sup>1</sup>

and estimate a multi-input single-output high order FIR model using standard PEM.

(*βi*) *ii T*

*T*

(*t*, *ηk*,*i*)*ηk*,*<sup>i</sup>* . (43)

(41)

(42)

(44)

(1) *ii* ,..., *c*

For a compact notation, we define

*hi*(1),..., *hi*(*k* − 1), 1, *c*

*ηk*,*<sup>i</sup>* 

Then, we can rewrite (39) as

is summarized as follows.

Step 3. With the estimate *G*ˆ

subject to

where ˘

least-squares.

*Remarks:*

Step 1. Set *i* = 1.

*Algorithm 3: MRI with optimized noise model*

Step 2. Fix an a priori noise model to the *i*

*η*ˆ*P*,*<sup>i</sup>* = arg min *ηP*,*<sup>i</sup>*

*hi*(*l*) = ˘

by polynomial long division of *Cii*(*q*) by *Dii*(*q*).

*hi*(*l*)(*ηi*) indicates the *l*

into a single MIMO representation.

*ϕk*,*i*(*t*, *ηk*,*i*)

where

The main features of the aforementioned MRI techniques are analyzed using two simulated examples. At first, a SISO process is considered in order to illustrate the influence of the prediction horizon length *P* in the modeling errors presented by the identified models. Moreover, the performance of each technique is evaluated based on datasets with distinct signal-to-noise ratios (SNR). After that, the closed-loop performance provided by the estimated models is assessed. To this end, the Quadratic Dynamic Matrix Controller (QDMC) (Camacho & Bordons, 2004) and a multivariable distillation column benchmark (Cott, 1995a;b) are employed.

#### **4.1 SISO process example**

Consider the third-order overdamped system proposed in Clarke et al. (1987)

$$\mathcal{G}\_0(q) = \frac{0.00768q^{-1} + 0.02123q^{-2} + 0.00357q^{-3}}{1 - 1.9031q^{-1} + 1.1514q^{-2} - 0.2158q^{-3}} \, \text{/} \tag{46}$$

with a random-walk disturbance, that is

$$H\_0(q) = \frac{1}{1 - q^{-1}}\,. \tag{47}$$

The process is excited in open-loop by a Pseudo Random Binary Sequence (PRBS) switching between [−0.1, 0.1] with a clock period of 5 times the sampling interval. The noise variance is adjusted such that the signal-to-noise ratio (SNR) is 3 (in variance). A record of 1200 samples is collected, which is shown in Fig. 1. The dataset is split into two halves: the first is used for estimation and the second one for validation purposes.

The following reduced-complexity model structure is assumed4

$$G(q, \theta) = \frac{b\_1 q^{-1} + b\_2 q^{-2}}{1 + a\_1 q^{-1}} \tag{48}$$

$$H(q, \theta) = \frac{1 + c\_{11}^{(1)} q^{-1}}{1 + d\_{11}^{(1)} q^{-1}}.\tag{49}$$

<sup>4</sup> Except for the noise model optimization method (Subsection 3.3), in which *d* (1) <sup>11</sup> is fixed to −1, so that parameter estimation can be handled using standard quadratic programming.

Fig. 1. The dataset from the third-order process (46)-(47).

Before analyzing the capacity of the estimated models to generate accurate multi-step ahead predictions, it is worth noting the influence of the prediction horizon length. The magnitudes of *<sup>L</sup>*multi(*ejω*), for *<sup>P</sup>* <sup>=</sup> {1, 2, 5, 10, 15}, are shown in Fig. 2. As can be seen, *<sup>L</sup>*multi(*q*) is a low-pass filter, whose cut-off frequency decreases as *P* increases. Such behavior occurs whenever the disturbance spectrum is concentrated on low frequencies (Gopaluni et al., 2003). Hence, according to (15), the higher the prediction horizon length, the narrower the error weighting.

As a consequence, an increase in *P* leads to lower modeling errors in low frequencies, but the frequency response of the estimated models are away from the actual one at high frequencies. This behavior is depicted in Fig. 3, which presents the absolute value of the difference between the actual and the estimated (from models obtained using the MPEM algorithm) frequency responses. One can also notice that the effect of increasing *P* is more prominent in the range [1, 5] than between [5, 15]. Furthermore, as shown in Farina & Piroddi (2011), for sufficiently high values of the prediction horizon length, models estimated based on multi-step prediction errors converge to the output (simulation) error estimate.

The cost function *J*multi, defined in (12), is applied to quantify the model accuracy in terms of multi-step ahead predictions. It is emphasized that such accuracy is quantified using fresh data, that is to say, a distinct dataset from the one used for estimation purposes. In what follows, the performance of the MRI techniques are investigated using two sets of Monte Carlo simulations, each one with 100 distinct white-noise realizations. In order to visualize the SNR effect on different parameter estimation methods, in the first simulation set, the SNR is maintained in 3 and in the other one it is increased to 10. The histograms of *J*multi for the methods described in Section 3 are depicted in the rows of Fig. 4, for *P* = 8. The left and the right columns present the results for the signal-to-noise ratios of 3 and 10, respectively. The main Monte Carlo simulation results are summarized in Table 1, which reports the mean and 14 Frontiers in Advanced Control Systems

0 200 400 600 800 1000 1200

0 200 400 600 800 1000 1200

Samples

Before analyzing the capacity of the estimated models to generate accurate multi-step ahead predictions, it is worth noting the influence of the prediction horizon length. The magnitudes of *<sup>L</sup>*multi(*ejω*), for *<sup>P</sup>* <sup>=</sup> {1, 2, 5, 10, 15}, are shown in Fig. 2. As can be seen, *<sup>L</sup>*multi(*q*) is a low-pass filter, whose cut-off frequency decreases as *P* increases. Such behavior occurs whenever the disturbance spectrum is concentrated on low frequencies (Gopaluni et al., 2003). Hence, according to (15), the higher the prediction horizon length, the narrower the error

As a consequence, an increase in *P* leads to lower modeling errors in low frequencies, but the frequency response of the estimated models are away from the actual one at high frequencies. This behavior is depicted in Fig. 3, which presents the absolute value of the difference between the actual and the estimated (from models obtained using the MPEM algorithm) frequency responses. One can also notice that the effect of increasing *P* is more prominent in the range [1, 5] than between [5, 15]. Furthermore, as shown in Farina & Piroddi (2011), for sufficiently high values of the prediction horizon length, models estimated based on multi-step prediction

The cost function *J*multi, defined in (12), is applied to quantify the model accuracy in terms of multi-step ahead predictions. It is emphasized that such accuracy is quantified using fresh data, that is to say, a distinct dataset from the one used for estimation purposes. In what follows, the performance of the MRI techniques are investigated using two sets of Monte Carlo simulations, each one with 100 distinct white-noise realizations. In order to visualize the SNR effect on different parameter estimation methods, in the first simulation set, the SNR is maintained in 3 and in the other one it is increased to 10. The histograms of *J*multi for the methods described in Section 3 are depicted in the rows of Fig. 4, for *P* = 8. The left and the right columns present the results for the signal-to-noise ratios of 3 and 10, respectively. The main Monte Carlo simulation results are summarized in Table 1, which reports the mean and

−0.15 −0.1 −0.05 0 0.05 0.1

−0.1 −0.05 0 0.05 0.1

Fig. 1. The dataset from the third-order process (46)-(47).

errors converge to the output (simulation) error estimate.

y(t)

u(t)

weighting.

the standard deviation of *J*multi. For comparison, the last column of Table 1 also presents the results produced by the standard (one-step ahead) PEM, based on a Box-Jenkins structure.

The histograms in Fig. 4, as well as Table 1, show that the MPEM and the noise model optimization algorithms presented the smallest *J*multi (that is, the most accurate multi-step

Fig. 2. Magnitude frequency response of *L*multi(*ejω*) for increasing prediction horizon length.

Fig. 3. Absolute value of the modeling error in the frequency domain, for models estimated with *P* = {1, 2, 5, 10, 15}.

Fig. 4. Histograms of *J*multi for each MRI method.

predictions) with the lowest variance, which means that these methods are less sensitive to a particular realization. On the other hand, LRPI and direct optimization showed worse performances because these methods are based on the ARX model structure, which is quite different from the process (46)-(47). Another aspect that may be noticed is that, as expected, a higher SNR leads to a smaller *J*multi mean (more accurate models are expected) and lower deviations of the estimates.

Actually, the performances of the methods based on ARX structure may be interpreted in a broader sense. Although in MRI the effect of bias due to model mismatch is reduced in the


Table 1. Mean and standard deviation of the cost function.

16 Frontiers in Advanced Control Systems

0

0

0

0

predictions) with the lowest variance, which means that these methods are less sensitive to a particular realization. On the other hand, LRPI and direct optimization showed worse performances because these methods are based on the ARX model structure, which is quite different from the process (46)-(47). Another aspect that may be noticed is that, as expected, a higher SNR leads to a smaller *J*multi mean (more accurate models are expected) and lower

Actually, the performances of the methods based on ARX structure may be interpreted in a broader sense. Although in MRI the effect of bias due to model mismatch is reduced in the

mean(*J*multi) <sup>3</sup> 0.1526 0.0111 0.0786 0.0178 0.0209

std(*J*multi) <sup>3</sup> 0.0536 0.0045 0.0239 0.0163 0.0042

Direct optim.

10 0.1218 0.0074 0.0496 0.0056 0.0172

10 0.0668 0.0015 0.0104 0.0049 0.0014

Noise model optimization Standard PEM (Box-Jenkins)

20

40

5

10

0 0.1 0.2 0.3

<sup>50</sup> MPEM

0 0.1 0.2 0.3

Noise model optimization

Direct optim.

PEM (BJ)

0 0.1 0.2 0.3

0 0.1 0.2 0.3

<sup>50</sup> 1−step

0 0.1 0.2 0.3

<sup>J</sup>multi

SNR = 10

LRPI

0 0.1 0.2 0.3

MPEM

Noise model optimization

> Direct optimization

PEM (BJ)

0 0.1 0.2 0.3

0 0.1 0.2 0.3

0 0.1 0.2 0.3

<sup>50</sup> 1−step

0 0.1 0.2 0.3

<sup>J</sup>multi

SNR LRPI MPEM

Table 1. Mean and standard deviation of the cost function.

SNR = 3

0

0 20 40

0

0 5 10

0

Fig. 4. Histograms of *J*multi for each MRI method.

10

Occurrences

Occurrences

Occurrences

deviations of the estimates.

20

Occurrences

Occurrences

5 LRPI

parameter estimation step, the task of selecting a suitable model structure is still crucial to the success of a system identification procedure. This statement is also supported by the fact that, according to Table 1, considering a more favorable structure and the one-step ahead PEM is more effective than an inadequate structure whose parameters are estimated based on a multi-step cost function.

#### **4.2 Multivariable system example**

The Shell benchmark process is a model of a two-input two-output distillation column (Cott, 1995a;b). The inputs are overhead vapour flow and reboiler duty, denoted here as *u*<sup>1</sup> and *u*2, respectively. The outputs are the column pressure

$$
\Delta y\_1(t) = \frac{-0.6096 + 0.4022q^{-1}}{1 - 1.5298q^{-1} + 0.574q^{-2}} \Delta u\_1(t) + \frac{0.1055 - 0.0918q^{-1}}{1 - 1.5298q^{-1} + 0.574q^{-2}} \Delta u\_2(t)
$$

$$
+ \frac{\lambda}{1 - 1.5945q^{-1} + 0.5945q^{-2}} e\_1(t) \tag{50}
$$

and the product impurity

$$y\_2(t) = 0.0765 \frac{5 \times 10^5}{u\_2(t - 7) - 1500} + 0.9235y\_2(t - 1) + \frac{\lambda}{1 - 1.6595q^{-1} + 0.6595q^{-2}}e\_2(t) \tag{51}$$

where Δ*y*1, Δ*u*<sup>1</sup> and Δ*u*<sup>2</sup> are deviation variables around the nominal operating point<sup>5</sup> (specified in Table 2), that is

$$\begin{aligned} \Delta y\_1(t) &= y\_1(t) - \bar{y}\_1 \\ \Delta u\_1(t) &= u\_1(t) - \bar{u}\_1 \\ \Delta u\_2(t) &= u\_2(t) - \bar{u}\_2 \end{aligned}$$


Table 2. Summary of distillation column operating conditions.

The disturbances are generated using uncorrelated zero-mean white noises *e*<sup>1</sup> and *e*2, such that std(*e*1) = 1.231 and std(*e*2) = 0.667. The parameter *λ* is set to 0.2. The Shell benchmark is widely used to evaluate multivariable system identification or model predictive control strategies (Amjad & Al-Duwaish, 2003; Cott, 1995b; Zhu, 1998, e.g.). Besides being multivariable, the model (50)-(51) offers additional complications: as the disturbances are nonstationary, one of the outputs (product impurity) is slightly nonlinear and the overhead flow (*u*1) does not affect the impurity level (*y*2).

<sup>5</sup> For more details about the simulator operating conditions, the reader is referred to (Cott, 1995b).

The process is excited in open-loop using two uncorrelated random binary sequences (RBS), with *u*<sup>1</sup> varying from [15, 25] and *u*<sup>2</sup> from [2400, 2600]. The minimum switching time of *u*<sup>1</sup> and *u*<sup>2</sup> is 12 and 6, respectively. The dataset is comprised of 1600 samples, where the first half is used for estimation (see Fig. 5) and the rest for validation.

The elements of the transfer function matrix *G*(*q*, *θ*) and of the noise models are first order. Initially, the input delay matrix

$$m\_k = \begin{bmatrix} 0 & 0\\ 37 \ 7 \end{bmatrix} \tag{52}$$

was estimated applying the function delayest of the Matlab™System Identification toolbox (Ljung, 2007). Notice that except for the entry in which there is no coupling (*u*<sup>1</sup> → *y*2), the values in *nk* coincide with the actual input delays. Thus, before proceeding to the parameter estimation, the input sequences are shifted according to *nk*.

Fig. 5. Estimation dataset from the Shell benchmark simulation.

The models estimated with *P* = 40 are evaluated based on the multi-step prediction errors (12) using the validation dataset, which are presented in Table 3. The most accurate multi-step predictions are generated by the MPEM and the 1-step ahead PEM. This is because, as in the SISO example, the Box-Jenkins structure employed by both methods best suits the process dynamic behavior. Another relevant point is that the noise model optimization yields unstable


Table 3. Multi-step prediction error.

18 Frontiers in Advanced Control Systems

The process is excited in open-loop using two uncorrelated random binary sequences (RBS), with *u*<sup>1</sup> varying from [15, 25] and *u*<sup>2</sup> from [2400, 2600]. The minimum switching time of *u*<sup>1</sup> and *u*<sup>2</sup> is 12 and 6, respectively. The dataset is comprised of 1600 samples, where the first half

The elements of the transfer function matrix *G*(*q*, *θ*) and of the noise models are first order.

was estimated applying the function delayest of the Matlab™System Identification toolbox (Ljung, 2007). Notice that except for the entry in which there is no coupling (*u*<sup>1</sup> → *y*2), the values in *nk* coincide with the actual input delays. Thus, before proceeding to the parameter

 0 0 37 7 

−50

−100 −50 0 50 100

Δu2

The models estimated with *P* = 40 are evaluated based on the multi-step prediction errors (12) using the validation dataset, which are presented in Table 3. The most accurate multi-step predictions are generated by the MPEM and the 1-step ahead PEM. This is because, as in the SISO example, the Box-Jenkins structure employed by both methods best suits the process dynamic behavior. Another relevant point is that the noise model optimization yields unstable

*<sup>J</sup>*multi <sup>×</sup> <sup>10</sup><sup>4</sup> <sup>1</sup> 0.1154 0.0328 0.1475 <sup>∞</sup> 0.0322

Direct optim.

2 3.2887 2.5072 3.6831 ∞ 2.5294

(t)

0

Δy2

(t)

50

100

0 200 400 600 800

0 200 400 600 800

Samples

Noise model optimization

1-step PEM (Box-Jenkins) (52)

*nk* =

is used for estimation (see Fig. 5) and the rest for validation.

estimation, the input sequences are shifted according to *nk*.

0 200 400 600 800

0 200 400 600 800

Output LRPI MPEM

Samples

Fig. 5. Estimation dataset from the Shell benchmark simulation.

−60 −40 −20 0 20 40 60

−5

0

Δu1

Table 3. Multi-step prediction error.

(t)

5

Δy1

(t)

Initially, the input delay matrix

predictors (due to zeros outside the unitary circle). Consequently, the sum of the prediction errors tends to infinity.

The standard PEM provided multi-step predictions as accurate as the MPEM, even for a sub-parameterized model, which is the case of this example. This result suggests that the under-modeling issue is not the most prominent for this situation. In addition, the fact that the disturbance intensity is very high, besides being concentrated on the low frequencies (the same frequency range that should be weighted to attain improved multi-step ahead predictions) disfavors the MRI approach.

In order to test the robustness of the methods to input-output delay estimation errors, a new estimation is carried out with a modified delay matrix *n*∗ *<sup>k</sup>* , in which the dead-time from *u*<sup>2</sup> to *y*<sup>2</sup> is changed from 7 to 8 samples. As shown in Table 4, the MRI methods are less sensitive to this parameter than the 1-step ahead PEM.


Table 4. Multi-step prediction error of the 2nd output when there is a slight mismatch in one of the input delay matrix element.

At this point, the performance of the estimated models is investigated when they are employed in a QDMC controller (Camacho & Bordons, 2004) with a prediction and control horizons of 40 and 5, respectively. The output Q and the manipulated R weighting matrices are (Amjad & Al-Duwaish, 2003)

$$\mathcal{Q} = \begin{bmatrix} 1 \ 0 \\ 0 \ 2 \end{bmatrix} \text{ and } \mathcal{R} = \begin{bmatrix} 2 \ 0 \\ 0 \ 2 \end{bmatrix}.$$

The closed-loop responses using the QDMC controller when each set-point is excited with a step of amplitude 1% of the nominal output values are presented in Fig. 6 and 7, where the first one is related to the input delay matrix *nk* in (52) and the other refers to *n*<sup>∗</sup> *<sup>k</sup>* . The results of the closed-loop validation are also summarized in Table 5, which shows the integrated square error (ISE) for each controlled variable: *y*<sup>1</sup> and *y*2.

In a general way, the first output is closer to the set-point than *y*2. This may be explained by the intensity of the disturbance introduced in each output, by the fact that the plant is non-linear whereas the identified models are linear and, finally, due to the presence of a zero in the transfer matrix which consequently affects the quality of the estimated model.

From Fig. 6, one can notice that all the controllers achieved similar responses for the column pressure (*y*1). Concerning the other output (product purity), the closed-loop behavior provided by the standard PEM and the MPEM are very close (accordingly to multi-step prediction errors depicted in Table 3). Analogously, the LRPI method yielded a better performance than the direct optimization. Besides, as these two methods showed a worse multi-step prediction accuracy, it reflected in the MPC performance.

As shown in Fig. 7 and according to Table 5, the prediction capacity deterioration of the one-step ahead PEM, due to the delay matrix modification from *nk* to *n*<sup>∗</sup> *<sup>k</sup>* also leads to a worse closed-loop response. On the other hand, the closed-loop performances provided by the models estimated through MRI algorithms are less sensitive to errors in the time delay determination.

Fig. 6. Closed-loop response based on an accurate input delay estimation.

Fig. 7. Closed-loop response for a mismatch in one of the input-output delay matrix entry.


Table 5. Integrated square error (ISE) of the controlled variables.

#### **5. Conclusions**

20 Frontiers in Advanced Control Systems

the models estimated through MRI algorithms are less sensitive to errors in the time delay

50 100 150 200 250 300

50 100 150 200 250 300

Samples

50 100 150 200 250 300

50 100 150 200 250 300

Samples

Fig. 7. Closed-loop response for a mismatch in one of the input-output delay matrix entry.

Fig. 6. Closed-loop response based on an accurate input delay estimation.

LRPI MPEM Direct optim. 1−step PEM Set−point

determination.

2800

500

2800

Product impurity: y

2

(t)

2810

Column pressure: y

1

(t)

2820

2830

502

Product impurity: y

2

(t)

504

506

2810

Column pressure: y

1

(t)

2820

2830

LRPI MPEM Direct optim. 1−step PEM Set−point

> This chapter focused on parameter estimation algorithms to generate suitable models for predictive controllers. The branch of identification known as MRI was studied and several different ways to obtain models were presented. They must be estimated having in mind that they must be accurate to predict multi-step ahead. Some of these techniques were published considering just the single-input single-output case and in this work they were extended to the multivariable framework. In order to compare the different algorithms, they were implemented and tested, employing a SISO and a MIMO plant. In the comparisons, the standard PEM (built to provide optimal one-step ahead predictions) was also included.

> In the analysis with the SISO process, the long range prediction capacity of some of the MRI methods (MPEM and noise model optimization) was superior to the results generated by the standard PEM, based on a Box-Jenkins structure. In addition, the influence of the model structure was also highlighted in a model relevant identification context, since the standard PEM (with a Box-Jenkins) produced more accurate multi-step ahead predictions than the LRPI and the direct optimization algorithms, which are based on a less flexible model structure.

> The tests performed with the multivariable plant were more concerned about the use of the MRI and PEM models, when applied to a predictive controller. The results obtained were not so convincing about the advantages of using multi-step prediction based methods in the predictive controller design, since the one-step PEM (with a Box-Jenkins model), even with structure mismatch, provided results that were comparable to the best ones obtained with the model relevant identification methods. However, it was also shown that when there was a slight error in the evaluation of the time delay of one of the input-output pairs, the advantage of the MRI approach became evident.

> Although the excitation signal design and the model structure selection are beyond the scope of this work, the examples presented the complete system identification procedure, from the input signal generation, going through the use of different algorithms to estimate the model parameters up to the validation of the models through the verification of their prediction capacity. Besides, the obtained models were applied to a predictive controller to evaluate their performance in controlling a multivariable process.

> The system identification for MPC is a subject prone to further research. The effect of multi-step prediction error methods on the closed-loop performance needs to be further investigated. Another important theme to be studied is in which situations the use of MRI methods for developing models for predictive controllers is in fact advantageous as compared to classical prediction error methods.

#### **6. Acknowledgments**

The authors gratefully acknowledge the support of Instituto Mauá de Tecnologia (IMT). They also thank the support provided by Petrobras.

#### **7. References**


## **System Identification Using Orthonormal Basis Filter**

Lemma D. Tufa and M. Ramasamy *Chemical Engineering Department,* 

*Universiti Teknologi PETRONAS, Bandar Seri Iskandar, Perak, Malaysia* 

#### **1. Introduction**

22 Frontiers in Advanced Control Systems

252 Frontiers in Advanced Control Systems

The authors gratefully acknowledge the support of Instituto Mauá de Tecnologia (IMT). They

Amjad, S. & Al-Duwaish, H. N. (2003). Model predictive controle of Shell benchmark process,

Camacho, E. & Bordons, C. (2004). *Model predictive control*, 2nd edn, Springer-Verlag, London. Clarke, D. W., Mohtadi, C. & Tuffs, P. S. (1987). Generalized predictive control - part 1 and 2,

Cott, B. J. (1995a). Introduction to the process identification workshop at the 1992 canadian chemical engineering conference, *Journal of Process Control* 5(2): 67–69. Cott, B. J. (1995b). Summary of the process identification workshop at the 1992 canadian chemical engineering conference, *Journal of Process Control* 5(2): 109–113. Farina, M. & Piroddi, L. (2011). Simulation error minimization identification based on

Gopaluni, R. B., Patwardhan, R. S. & Shah, S. L. (2003). The nature of data pre-filters in MPC relevant identification – open- and closed-loop issues, *Automatica* 39: 1617–1626. Gopaluni, R. B., Patwardhan, R. S. & Shah, S. L. (2004). MPC relevant identification – tuning

Huang, B. & Wang, Z. (1999). The role of data prefiltering for integrated identification and

Ježek, J. & Kuˇcera, V. (1985). Efficient algorithm for matrix spectral factorization, *Automatica*

Laurí, D., Salcedo, J. V., García-Nieto, S. & Martínez, M. (2010). Model predictive control

Ljung, L. (1999). *System Identification: theory for the user*, 2nd edn, Prentice Hall, Upper Saddle

Ljung, L. (2007). *The system identification toolbox: The manual*, 7 edn, The MathWorks, Inc., MA,

Maciejowski, M. (2002). *Predictive Control with Constraints*, Prentice Hall, Englewood Cliffs,

Rossiter, J. A. & Kouvaritakis, B. (2001). Modelling and implicit modelling for predictive

Shook, D. S., Mohtadi, C. & Shah, S. L. (1991). Identification for long-range predictive control,

Zhu, Y. (1998). Multivariable process identification for MPC: the asymptotic method and its

Zhu, Y. (2001). *Multivariable System Identification for Process Control*, Elsevier Science, Oxford. Zhu, Y. & Butoyi, F. (2002). Case studies on closed-loop identification for MPC, *Control*

the noise model, *Journal of Process Control* 14: 699–714.

output, *IET Control Theory and Applications* 4(9): 1756–1766.

control, *International Journal of Control* 74(11): 1085–1095.

applications, *Journal of Process Control* 8(2): 101–115.

*Proceedings of the 10th IEEE International Conference on Electronics, Circuits and Systems*,

multi-stage prediction, *International Journal of Adaptive Control and Signal Processing*

model predictive control, *Proceedings of the 14th IFAC World Congress*, Beijing, China,

relevant identification: multiple input multiple output against multiple input single

**6. Acknowledgments**

**7. References**

also thank the support provided by Petrobras.

Vol. 2, pp. 655–658.

25: 389–406.

pp. 151–156.

21(6): 663–669.

River, NJ.

NJ.

USA: Natick.

*IEE Proceedings-D* 138(1): 75–84.

*Engineering Practice* 10: 403–417.

*Automatica* 23(2): 137–160.

Models are extensively used in the design and implementation of advanced process control systems. In model predictive control (MPC), model of the plant is used to predict the future output of the plant using the current and future optimal inputs and past outputs. Therefore, the design of MPC, essentially, includes the development of an effective plant model that can be used for predicting the future output of the plant with good accuracy (Camacho & Bordon, 2004; Rawlings, 2000). Models can be developed either from purely theoretical analysis (conservation principles, thermodynamics, etc.) or from experimental data or somewhere in between. The process of model development from experimental data is known as system identification. The identification test can be conducted either in open-loop (open-loop identification) or while the plant is under feedback control (closed-loop identification).

The theory of linear system identification is well developed and there are already numerous literatures. The pioneering work in system identification was done by Ljung (1999) and his book provides detailed theoretical foundation for system identification. The book by Nelles (2001) is also a very practical book and highly recommended for practitioners both on linear and non-liear system identification. Heuberger, *et al.*, (2005) authored a very comprehensive book on modeling and identification using rational orthonormal basis functions, though current developments in application of OBF for MPC, closed-loop identification, etc., were not included.

There are several linear dynamic model structures that are commonly used in control relevant problems. They have two general forms, *i.e.*, the state space and input-output forms. In this chapter, we deal with the latter form also called transfer function. The most common linear input-output model structures can be derived from one general structure (1). The general linear structure consists of a deterministic component, *i.e.,* the plant input *, u(k),*  filtered by a linear filter and a noise component, *i.e.,* a white noise, *e*(*k*), filtered by a corresponding linear filter.

$$y(k) = \frac{B(q)}{F(q)A(q)}u(k) + \frac{C(q)}{D(q)A(q)}e(k) \tag{1}$$

The *q* in (1) is the forward shift operator defined as *q u*(*t*) = *u*(*t* + 1) and *q−*1 is the delay (backward shift) operator, *q<sup>−</sup>*1*u*(*t*) = *u*(*t −* 1).

The various commonly used structures can be easily derived from the general model structure by making some assumptions. The ARX model can be derived from (1) by assuming *F*(*q*) = *D*(*q*) = *C*(*q*)= 1. Therefore, the ARX model structure has the form

$$y(k) = \frac{B(q)}{A(q)}u(k) + \frac{1}{A(q)}e(k)\tag{2}$$

The Auto Regressive Moving Average with Exogenous Input (ARMAX) can be derived from (1) by assuming *F*(*q*) = *D*(*q*) = 1.

$$y(k) = \frac{B(q)}{A(q)}u(k) + \frac{C(q)}{A(q)}e(k)\tag{3}$$

Other linear model structures are listed below:

Box Jenkins (BJ):

$$y(k) = \frac{B(q)}{F(q)}u(k) + \frac{C(q)}{D(q)}e(k)\tag{4}$$

Output Error (OE):

$$y(k) = \frac{B(q)}{F(q)}u(k) + e(k)\tag{5}$$

Finite Impulse Response (FIR):

$$
\Box y(k) = B(q)\mu(k) + e(k) \tag{6}
$$

It should be noted that in FIR model structures the filters are simple delays. Equation (6) can be expanded into

$$y(k) = (b\_1q^{-1} + b\_2q^{-2} + \dots + b\_mq^{-m})u(k) + e(k) \tag{7}$$

The selection of the appropriate model structure for a specific purpose, among other factors, depends on the consistency of the model parameters, the number of parameters required to describe a system with acceptable degree of accuracy and the computational load in estimating the model parameters. The optimality of model parameters is generally related to the bias and consistency of the model. Bias is the systematic deviation of the model parameters from their optimal value and inconsistency refers to the fact that the bias does not approach zero as the number of data points approach infinity (Nelles, 2001). The most widely used linear models are Step Response, ARX and FIR models (Ljung, 1999; Nelles, 2001). Their popularity is due to the simplicity in estimating the model parameters using the popular linear least square method. However, it is known that all of these three model structures have serious drawbacks in application. The ARX model structure leads to inconsistent parameters for most open-loop identification problems and the FIR and step 254 Frontiers in Advanced Control Systems

The *q* in (1) is the forward shift operator defined as *q u*(*t*) = *u*(*t* + 1) and *q−*1 is the delay

The various commonly used structures can be easily derived from the general model structure by making some assumptions. The ARX model can be derived from (1) by

> ( ) <sup>1</sup> () () () () () *B q <sup>y</sup> k uk ek Aq Aq*

The Auto Regressive Moving Average with Exogenous Input (ARMAX) can be derived from

() () () () () () () *Bq Cq <sup>y</sup> k uk ek Aq Aq*

() () () () () () () *Bq Cq <sup>y</sup> k uk ek Fq Dq*

( ) () () () ( ) *B q <sup>y</sup> k uk ek F q*

It should be noted that in FIR model structures the filters are simple delays. Equation (6) can

The selection of the appropriate model structure for a specific purpose, among other factors, depends on the consistency of the model parameters, the number of parameters required to describe a system with acceptable degree of accuracy and the computational load in estimating the model parameters. The optimality of model parameters is generally related to the bias and consistency of the model. Bias is the systematic deviation of the model parameters from their optimal value and inconsistency refers to the fact that the bias does not approach zero as the number of data points approach infinity (Nelles, 2001). The most widely used linear models are Step Response, ARX and FIR models (Ljung, 1999; Nelles, 2001). Their popularity is due to the simplicity in estimating the model parameters using the popular linear least square method. However, it is known that all of these three model structures have serious drawbacks in application. The ARX model structure leads to inconsistent parameters for most open-loop identification problems and the FIR and step

1 2

(2)

(3)

(4)

(5)

*y*() ()() () *k B q uk ek* (6)

1 2 () ( ... ) ( ) ( ) *<sup>m</sup> <sup>y</sup> k b <sup>q</sup> <sup>b</sup> <sup>q</sup> bmq uk ek* (7)

assuming *F*(*q*) = *D*(*q*) = *C*(*q*)= 1. Therefore, the ARX model structure has the form

(backward shift) operator, *q<sup>−</sup>*1*u*(*t*) = *u*(*t −* 1).

Other linear model structures are listed below:

(1) by assuming *F*(*q*) = *D*(*q*) = 1.

Box Jenkins (BJ):

Output Error (OE):

be expanded into

Finite Impulse Response (FIR):

response model need very large number of parameters to capture the dynamics of a system with acceptable accuracy. The inconsistency in the ARX and also in ARMAX model parameters is caused by the assumption of common denominator dynamics for both the input and noise transfer functions given by 1/*A*(*q*), which implies that the plant model and the noise model are correlated. In reality, this is rarely the case for open loop identification problems. The output error (OE) and the Box Jenkins (BJ) model structures assume independent transfer function and noise models, and hence they allow consistent parameter estimation. However, determination of the model parameters in both cases involves nonlinear optimization. In addition, in case of BJ, because of the large number of parameters involved in the equation, it is rarely used in practice, especially, in MIMO systems.

Orthonormal Basis Filter (OBF) models have several advantages over the conventional linear models. They are consistent in parameters for most practical open-loop systems and the recently developed ARX-OBF and OBF-ARMAX structures lead to consistent parameters for closed loop identification also. They require relatively a fewer numbers of parameters to capture the dynamics of linear systems (parsimonious in parameters) and the model parameters can be easily estimated using linear least square method (Heuberger, et al., 2005; Heuberger, et al., 1995; Ninness & Gustafsson, 1997; Van den Hof, et al., 1995). MIMO systems can be easily handled using OBF and OBF based structures. In addition, recent works by Lemma and Ramasamy (Lemma & Ramasamy, 2011) prove that OBF based structures show superior performance for multi-step ahead prediction of systems with uncertain time delays compared to most conventional model structures.

Among the earliest works on rational orthonormal bases was contributed by Takenaka (1925) in the 1920's in relation to approximation via interpolation, with the subsequent implications for generalized quadrature formula. In subsequent works, in the 1960s, Walsh (1975) contributed extensively in the applications of orthonormal bases for approximation, both in discrete time and continuous time analysis. In similar periods, Wiener (Wiener, 1949) examined applications of continuous time Laguerre networks for the purpose of building optimal predictor. Van den Hof, *et al.*, (1995) introduced the generalized orthonormal basis filters. They showed that pulse, Laguerre and Kautz filters can be generated from inner functions and their minimal balanced realizations. Ninness and Gustafsson (1997) unified the construction of orthonormal basis filters. Lemma, *et al.*, (2011) proposed an improved method for development of OBF models where the poles and time delays of the system can be estimated and used to develop a parsimonious OBF model. On another work (Lemma, et al., 2010) it was shown that BJ type OBF models can be easily developed by combing structures with AR and ARMA noise model. Some works on closedloop identification using OBF based structures have also been presented (Badwe, et al., 2011; Gáspár, et al., 1999; Lemma, et al., 2009; Lemma & Ramasamy, 2011).

#### **2. Development of conventional OBF models**

Consider a discrete time linear system

$$y(k) = G(q)u(k)\tag{8}$$

where *G*(*q*) = transfer function of the system. A stable system, *G*(*q*), can be approximately represented by a finite–length generalized Fourier series expansion as:

$$G(q) = \sum\_{i=1}^{n} l\_i f\_i(q) \tag{9}$$

where {*li*}*, i* =1, 2, …, *n* are the model parameters, *n* is the number of parameters, and *fi*(*q*) are the orthonormal basis filters for the system *G*(*q*)*.* Orthonormal basis functions can be considered a generalization of the finite length fourier series expansion. Two filters *f*1 and *f*<sup>2</sup> are said to be orthonormal if they satisfy the properties:

$$\left\langle f\_1(q), f\_2(q) \right\rangle = 0 \tag{10}$$

$$\|f\_1(q)\| = \|f\_2(q)\| = 1\tag{11}$$

#### **2.1 Common orthonormal basis filters**

There are several orthonormal basis filters that can be used for development of linear OBF models. The selection of the appropriate type of filter depends on the dynamic behaviour of the system to be modelled.

#### **Laguerre filter**

The Laguerre filters are first-order lag filters with one real pole. They are, therefore, more appropriate for well damped processes. The Laguerre filters are given by

$$f\_i = \sqrt{(1 - p^2)} \frac{(1 - pq)^{i - 1}}{(q - p)^i}, \quad |p| < 1 \tag{12}$$

where *p* is the estimated pole which is related to the time constant, , and the sampling interval *T*s of the system by

$$p = e^{-(T\_\*/\tau)} \tag{13}$$

#### **Kautz filter**

Kautz filters allow the incorporation of a pair of conjugate complex poles. They are, therefore, effective for modeling weakly damped processes. The Kautz filters are defined by

$$f\_{2i-1} = \frac{\sqrt{(1-a^2)(1-b^2)}}{q^2 + a(b-1)q - b} g(a, b, q, i) \tag{14}$$

$$f\_{2i} = \frac{\sqrt{(1-b^2)}(q-a)}{q^2 + a(b-1)q - b} g(a, b, q, i) \tag{15}$$

where

$$\text{sg}(a, b, q, i) = \left(\frac{-bq^2 + a(b-1)q + 1}{q^2 + a(b-1) - b}\right)^{i-1} \tag{16}$$


#### **Generalized orthonormal basis filter**

Van den Hof, *et al.,* (1995) introduced the generalized orthonormal basis filters and showed the existence of orthogonal functions that, in a natural way, are generated by stable linear dynamic systems and that form an orthonormal basis for the linear signal space <sup>n</sup> l2 . Ninness & Gustafsson (1997) unified the construction of orthonormal basis filters. The GOBF filters are formulated as

$$f\_i(q, p) = \frac{\sqrt{1 - \left| p\_i \right|^2}}{(q - p\_i)} \prod\_{j=1}^{i-1} \frac{(1 - p\_j^\* q)}{(q - p\_j)} \tag{17}$$

where *p*  {*pj* : *j* = 1, 2, 3, …} is an arbitrary sequence of poles inside the unit circle appearing in complex conjugate pairs.

#### **Markov-OBF**

256 Frontiers in Advanced Control Systems

where *G*(*q*) = transfer function of the system. A stable system, *G*(*q*), can be approximately

1 () () *n i i i G q l f q* 

where {*li*}*, i* =1, 2, …, *n* are the model parameters, *n* is the number of parameters, and *fi*(*q*) are the orthonormal basis filters for the system *G*(*q*)*.* Orthonormal basis functions can be considered a generalization of the finite length fourier series expansion. Two filters *f*1 and *f*<sup>2</sup>

There are several orthonormal basis filters that can be used for development of linear OBF models. The selection of the appropriate type of filter depends on the dynamic behaviour of

The Laguerre filters are first-order lag filters with one real pole. They are, therefore, more

*q p*

( /) *Ts p e* 

Kautz filters allow the incorporation of a pair of conjugate complex poles. They are, therefore, effective for modeling weakly damped processes. The Kautz filters are defined by

2 2

(1 )(1 ) ( , , ,) ( 1) *<sup>i</sup> a b f g a b <sup>q</sup> <sup>i</sup> q ab q b* 

(1 )( ) ( , , ,) ( 1) *<sup>i</sup> b qa f g a b <sup>q</sup> <sup>i</sup> q ab q b* 

2


*i*

1

appropriate for well damped processes. The Laguerre filters are given by

where *p* is the estimated pole which is related to the time constant,

2 1 2

2 2


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

*i i pq f p*

(9)

1 2 *fqfq* ( ), ( ) 0 (10)

1 2 *fq fq* () () 1 (11)

, *<sup>p</sup>* 1 (12)

(13)

, and the sampling

(14)

(15)

represented by a finite–length generalized Fourier series expansion as:

are said to be orthonormal if they satisfy the properties:

**2.1 Common orthonormal basis filters** 

the system to be modelled.

interval *T*s of the system by

**Laguerre filter** 

**Kautz filter** 

where

When a system involves a time delay and an estimate of the time delay is available, Markov-OBF can be used. The time delay in Markov-OBF is included by placing some of the poles at the origin (Heuberger, et al., 1995). For a SISO system with time delay equal to *d* samples, the basis function can be selected as:

$$f\_i = z^{-i} \text{ for } i = 1, 2, \dots, d \tag{18}$$

$$f\_{i+d}(q,p) = \frac{\sqrt{1-\left|p\_i\right|^2}}{(q-p\_i)}\prod\_{j=1}^{i-1} \frac{(1-p\_j^\*q)}{(q-p\_j)} z^{-d} \text{ for } i = 1,2,\ldots,N\tag{19}$$

Patwardhan and Shah (2005) presented a two-step method for estimating time delays from step response of GOBF models. In the first step, the time delays in all input-output channels are assumed zero and the model is identified with GOBF. In GOBF models, the time delay is approximated by a non-minimum phase zero and the corresponding step response is an inverse response. The time delay is then estimated from a tangent drawn at the point of inflection.

#### **2.2 Estimation of GOBF poles**

Finding an appropriate estimate of the poles for the filters is an important step in estimating the parameters of the OBF models. Arbitrary choice of poles may lead to a nonparsimonious model. Van den Hof, *et al*., (2000) showed that for a SISO system with poles {aj : | aj | < 1 for j =1, 2 , …, n}, the rate of convergence of the model parameters is determined by the magnitude of the slowest Eigen value.

$$\rho = \max\_{j} \prod\_{k=1}^{n} \left| \frac{a\_j - p\_k}{1 - \overline{p}\_k a\_j} \right| \tag{20}$$

where *pk* = arbitrary poles.

Therefore, a good approximation by a small number of parameters can be obtained by choosing a basis for which is small. It is shown that the poles determined by Van den Hof *et al.* method closely match the dominant poles of the system (Heuberger, et al., 2005; Wahlberg, 1991). Lemma, *et al.*, (2011) proposed a systematic way to estimate the dominant poles and time delays of a system from the input-output identification test data. An OBF model is first developed with randomly chosen real poles and generalized orthonormal basis filters with 10- 12 terms. The model is simulated to get a noise free step response of the system. One or two poles of the system are estimated from the resulting noise free step response of the OBF model and it is also observed whether the system is weakly damped or not. This process can be repeated until some convergence criterion is fulfilled. The procedure normally converges after two or three iterations. The procedure is iiterations and is illustrated in Example 1.

#### **2.3 Model parameter estimation**

In OBF models, the output can be expressed as a linear combination of the input sequence filtered by the respective filters. For a finite number of parameters, from (9) we get

$$
\hat{y}(k) = l\_1 f\_1(q)\mu(k) + l\_2 f\_2(q)\mu(k) + \dots + l\_n f\_n(q)\mu(k) \tag{21}
$$

Equation (21) is not linear in its parameters and therefore estimation of parameters using linear least square method is impossible. However, it can be modified such that it is linear in parameters, as

$$
\hat{y}(k) = l\_1 \mu\_{f1}(k) + l\_2 \mu\_{f2}(k) + \dots + l\_n \mu\_{fn}(k) \tag{22}
$$

where ( ) *u k fi* is the filtered input given by

$$
\mu\_{fi}(k) = f\_i(q)\mu(k) \tag{23}
$$

Once the dominant poles of the system and the types of filters are chosen, the filters *f*1, *f*2, …, *f*n are fixed. The filtered inputs, *ufi,* are determined by filtering the input sequence with the corresponding filter. For an OBF model with *n* parameters, the prediction can be started from the *n*th instant in time. Equation (22) can be expanded and written in matrix form as

$$
\begin{bmatrix}
\hat{y}\_{n+1} \\
\hat{y}\_{n+2} \\
\vdots \\
\vdots \\
\vdots \\
\vdots \\
\hat{y}\_{N}
\end{bmatrix} = \begin{bmatrix}
u\_{f1}(n) & u\_{f2}(n-1) & \dots & u\_{fn}(1) \\
u\_{f1}(n+1) & u\_{f2}(n) & \dots & \dots & u\_{fn}(2) \\
\vdots & & \vdots \\
\vdots & & \vdots \\
\vdots & & \vdots \\
u\_{f1}(N-1) & u\_{f2}(N-2) & \dots & \dots & u\_{fn}(N-n)
\end{bmatrix} \begin{bmatrix} l\_1 \\ l\_2 \\ \vdots \\ \vdots \\ \vdots \\ \vdots \\ \vdots \\ \vdots \\ \vdots \end{bmatrix} \tag{24}
$$

where *N* is the future time instant.

258 Frontiers in Advanced Control Systems

1

Therefore, a good approximation by a small number of parameters can be obtained by

*al.* method closely match the dominant poles of the system (Heuberger, et al., 2005; Wahlberg, 1991). Lemma, *et al.*, (2011) proposed a systematic way to estimate the dominant poles and time delays of a system from the input-output identification test data. An OBF model is first developed with randomly chosen real poles and generalized orthonormal basis filters with 10- 12 terms. The model is simulated to get a noise free step response of the system. One or two poles of the system are estimated from the resulting noise free step response of the OBF model and it is also observed whether the system is weakly damped or not. This process can be repeated until some convergence criterion is fulfilled. The procedure normally converges after

In OBF models, the output can be expressed as a linear combination of the input sequence

Equation (21) is not linear in its parameters and therefore estimation of parameters using linear least square method is impossible. However, it can be modified such that it is linear in

Once the dominant poles of the system and the types of filters are chosen, the filters *f*1, *f*2, …, *f*n are fixed. The filtered inputs, *ufi,* are determined by filtering the input sequence with the corresponding filter. For an OBF model with *n* parameters, the prediction can be started from the *n*th instant in time. Equation (22) can be expanded and written in matrix form as

> 1 2 1 1 2 2 1 2

. . ... . . . . . . .. ˆ ( 1) ( 2) . . . ( )

*y un un u l y un un u l*

*N ff fn n*

*y u N u N u Nn l*

( ) ( 1) . . . (1) ˆ ˆ ( 1) ( ) . . . (2)

*ff fn n n ff fn*

1 2

1 *<sup>n</sup> <sup>j</sup> <sup>k</sup> <sup>j</sup> <sup>k</sup> <sup>k</sup> <sup>j</sup>*

*a p p a*

(20)

is small. It is shown that the poles determined by Van den Hof *et* 

1 1 2 2 ˆ( ) ( ) ( ) ( ) ( ) ... ( ) ( ) *n n y k l f quk l f quk l f quk* (21)

11 22 ˆ( ) ( ) ( ) ... ( ) *f f n fn y k lu k lu k lu k* (22)

() ()() *u k fi i f q u k* (23)

(24)

max

two or three iterations. The procedure is iiterations and is illustrated in Example 1.

filtered by the respective filters. For a finite number of parameters, from (9) we get

where *pk* = arbitrary poles.

choosing a basis for which

**2.3 Model parameter estimation** 

where ( ) *u k fi* is the filtered input given by

 

parameters, as

Equation (24) in vector-matrix notation is given by

$$
\hat{y} = X\theta \tag{25}
$$

where*<sup>=</sup>* 1 2 , ,..., *<sup>T</sup> <sup>n</sup> ll l* is the parameter vector, *y*ˆ is the output vector *y*ˆ =[yn+1, yn+2,…, yN] and *X* is the regressor matrix given by

$$X = \begin{bmatrix} u\_{f1}(n) & u\_{f2}(n-1) & \dots & u\_{fm}(1) \\ u\_{f1}(n+1) & u\_{f2}(n) & \dots & \dots & u\_{fm}(2) \\ \vdots & & \ddots & & \vdots \\ \vdots & & \ddots & & \vdots \\ \dots & & & \ddots & \\ \vdots & & & \ddots & \\ u\_{f1}(N-1) & u\_{f2}(N-2) & \dots & \dots & u\_{fm}(N-n) \end{bmatrix} \tag{26}$$

Since (25) is linear in parameters, the model parameters can be estimated using linear least square formula (27).

$$
\hat{\theta} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{y} \tag{27}
$$

Algorithm 1


The Percentage Prediction Error (PPE) can be a good convergence criterion.

#### **Example 1**

An open loop identification test for SISO system is carried out and the input-output data shown in Figure 1 is obtained. A total of 4000 data points are collected at one minute sampling interval with the intention of using 3000 of them for modelling and 1000 for validation. Develop a parsimonious OBF model using the data. No information is available about the pole of the system.

Since there is no information about the poles of the system, two poles: 0.3679 and 0.9672 are arbitrarily chosen for the first iteration of the model. A GOBF model with six terms (you can choose other numbers and compare the accuracy if you need) is first developed with these two poles alternating. Note that, once the poles, type of filter, *i.e.,* GOBF and the number of terms is fixed the filters are fixed and the only remaining value to determine the model is the model parameters.

Fig. 1. Input-output data used for identification

To estimate the model parameters the regressor matrix is developed and used together with the plant measured output *y*(*k*) in the least square formula (27) to find the model parameters:

[-0.2327 0.8733 -0.2521 0.8854 -0.8767 -0.2357]

The percentage prediction error (PPE) is found to be 9.7357. For the second iteration, the poles of the system are estimated from the noise free step-response of the GOBF model shown in Figure 2.

Fig. 2. Step response of the noise free OBF model developed in the first iteration

260 Frontiers in Advanced Control Systems

<sup>0</sup> <sup>500</sup> <sup>1000</sup> <sup>1500</sup> <sup>2000</sup> <sup>2500</sup> <sup>3000</sup> -4

To estimate the model parameters the regressor matrix is developed and used together with the plant measured output *y*(*k*) in the least square formula (27) to find the model

0 500 1000 1500 2000 2500 3000

*k*

The percentage prediction error (PPE) is found to be 9.7357. For the second iteration, the poles of the system are estimated from the noise free step-response of the GOBF model

Fig. 2. Step response of the noise free OBF model developed in the first iteration

20 40 60 80 100 120 140

*k*

Fig. 1. Input-output data used for identification


*u*

*y*

[-0.2327 0.8733 -0.2521 0.8854 -0.8767 -0.2357]

parameters:

shown in Figure 2.


0

2

4

*y*

6

8

10

12


The OBF model parameters, the PPE and poles estimated at each iteration are presented in Table 1.

Table 1. The results of the OBF iterative identification method

Note that the parameters in the last iteration together with the OBF filters determine the model of the plant. The model accuracy is judged by cross validation. Figure 3 shows the measured output data for sampling instants 3001 to 4000 (this data is not used for modelling) and the result of the OBF simulation for the plant input for the instants 3001 to 4000.

#### **3. BJ- Type models by combining OBF with conventional noise model structures**

In Example 1, we developed a GOBF model to capture the deterministic component of the plant. The residual of the model however was just discarded. In reality, this residual may contain useful information about the plant. However, as it is already noted, conventional OBF models do not include noise models. Patwardhan and Shah ( 2005) showed that the regulatory performance of MPC system improves significantly by including a noise model to the OBF simulation model. In their work, the residual of the OBF model is whitened with

Fig. 3. Validation of the final GOBF model with 6 parameters.

Auto Regressive (AR) noise model. The AR noise model is parameterized in terms of OBF parameters and a minimal order state space model was realized. In this section, an integrated approach for developing BJ models with an OBF plant model and AR or ARMA noise model is presented.

#### **3.1 Model structures**

The BJ model structure is known to be the most flexible and comprehensive structure of the conventional linear models(Box & Jenkins, 1970).

$$y(k) = \frac{B(q)}{F(q)}u(k) + \frac{C(q)}{D(q)}e(k)\tag{28}$$

In (28) *B*(*q*)/*F*(*q*) describes the plant model whereas *C*(*q*)/*D*(*q*) describes the noise model. The BJ-type model structure proposed by Lemma, *et al*., (2010) is obtained by replacing the plant model structure with OBF model structure. First, the OBF-AR structure, *i.e.*, with *C*(*q*)=1 is discussed then the OBF-ARMA structure is discussed.

The OBF-AR model structure assumes an OBF and AR structures for the plant and noise transfer functions, respectively.

$$y(k) = G\_{OBF}(q)\mu(k) + \frac{1}{D(q)}e(k)\tag{29}$$

The OBF-ARMA structure has more flexible noise model than the OBF-AR structure as given by (30).

$$y(k) = G\_{OBF}(q)u(k) + \frac{C(q)}{D(q)}e(k)\tag{30}$$

#### **3.2 Estimation of model parameters**

The model parameters of both OBF-AR and OBF-ARMA structures are estimated based on the prediction error method as explained below.

#### **Estimation of parameters of OBF-AR model**

The prediction error *e(*k*)* is defined as

$$e(k) = \mathcal{y}(k) - \hat{\mathcal{y}}(k \mid k-1) \tag{31}$$

Introducing the prediction error (31) in (29) and rearranging leads to

$$\hat{y}(k \mid k-1) = D(q)G\_{OBF}(q)\mu(k) + \left(1 - D(q)\right)y(k) \tag{32}$$

Assuming that the noise sequence is uncorrelated to the input sequence, the parameters of the OBF model can be estimated separately. These parameters can then be used to calculate the OBF simulation model output using (32).

$$\mathcal{Y}\_{obj}(k) = \mathcal{G}\_{OBF}(q)\mu(k) \tag{33}$$

Inserting (33) in (32)

$$
\hat{y}(k \mid k-1) = D(q)y\_{\text{obj}}(k) + \left(1 - D(q)\right)y(k) \tag{34}
$$

Equation (34) is linear in parameters since *yobf* (*k*) is already known. With *D(q)* monic, (34) can be expanded and rearranged to yield

$$\hat{y}(k \mid k-1) = y\_{\text{obj}}(k) - d\_1 r(k-1) - d\_2 r(k-2) - \dots - d\_n r(k-n \mid \tag{35})$$

where

262 Frontiers in Advanced Control Systems

The BJ model structure is known to be the most flexible and comprehensive structure of the

() () () () () () () *Bq Cq <sup>y</sup> k uk ek Fq Dq*

In (28) *B*(*q*)/*F*(*q*) describes the plant model whereas *C*(*q*)/*D*(*q*) describes the noise model. The BJ-type model structure proposed by Lemma, *et al*., (2010) is obtained by replacing the plant model structure with OBF model structure. First, the OBF-AR structure, *i.e.*, with

The OBF-AR model structure assumes an OBF and AR structures for the plant and noise

<sup>1</sup> () ()() () ( ) *OBF <sup>y</sup> k G <sup>q</sup> uk ek*

The OBF-ARMA structure has more flexible noise model than the OBF-AR structure as

( ) () ()() () ( ) *OBF C q <sup>y</sup> k G <sup>q</sup> uk ek*

The model parameters of both OBF-AR and OBF-ARMA structures are estimated based on

Assuming that the noise sequence is uncorrelated to the input sequence, the parameters of the OBF model can be estimated separately. These parameters can then be used to calculate

(28)

*D q* (29)

*D q* (30)

*ek yk yk k* ( ) ( ) ( | 1) ˆ (31)

() ()() *obf OBF y k G q u k* (33)

*y*ˆ( | 1) ( ) ( ) 1 ( ) ( ) *kk D q yobf k D q y k* (34)

*<sup>y</sup>*ˆ( | 1) ( ) ( ) ( ) 1 ( ) ( ) *kk D* - *<sup>q</sup> GOBF <sup>q</sup> uk D q y <sup>k</sup>* (32)

**3.1 Model structures** 

transfer functions, respectively.

**3.2 Estimation of model parameters** 

The prediction error *e(*k*)* is defined as

the prediction error method as explained below. **Estimation of parameters of OBF-AR model** 

the OBF simulation model output using (32).

Inserting (33) in (32)

Introducing the prediction error (31) in (29) and rearranging leads to

given by (30).

conventional linear models(Box & Jenkins, 1970).

*C*(*q*)=1 is discussed then the OBF-ARMA structure is discussed.

*n is*the order of the polynomial *D*(*q*)

() () () *obf ri yi y i*

Note that *r(i)* represents the residual sequence of the output sequence *y(k)* of the system from the OBF model output *yobf*(*k*). The model parameters in (35) can be calculated by the linear least square formula (27) with the regressor matrix given by (36).

$$X = \begin{bmatrix} y\_{obj}(n) & -r(n-1) & -r(n-2) & -\dots & -r(1) \\ y\_{obj}(n+1) & -r(n) & -r(n-1) & -\dots & -r(2) \\ \vdots & \vdots & \vdots & \vdots & & \vdots \\ \vdots & \vdots & \vdots & \vdots & & \vdots \\ \vdots & \vdots & \vdots & \vdots & & \vdots \\ y\_{obj}(N) & -r(N-1) & -r(N-2) & \dots & -r(N-n) \end{bmatrix} \tag{36}$$

where *n* = *nD*.

The step-by-step procedure for estimating the OBF-AR model parameters, explained above, is outlined in Algorithm 2.

#### Algorithm 2


#### **Estimation of parameters of OBF-ARMA model**

The OBF-ARMA structure is given by (28)

$$y(k) = G\_{OBF}(q)u(k) + \frac{C(q)}{D(q)}e(k)\tag{28}$$

Substituting the prediction error (31) in (28) and rearranging yields

$$C(q)\hat{y}(k\mid k-1) = D(q)C\_{\text{OFF}}(q)\mu(k) - D(q)y(k) + C(q)y(k)\tag{37}$$

As in the case of OBF-AR model, if the noise sequence is uncorrelated with the input sequence, the OBF model parameters can be calculated separately and be used to calculate the simulation model output *y*obf(*k*) using (33).

Introducing (33) in (37) results in

$$C(q)\hat{y}(k\mid k-1) = D(q)y\_{obj}(k) - D(q)y(k) + C(q)y(k)\tag{38}$$

Expanding and rearranging (37) we get

$$\begin{aligned} \hat{y}(k \mid k-1) &= y\_{obj}(k) - d\_1 r(k-1) - d\_2 r(k-2) - \dots - d\_m r(k-m) + \\ c\_1 e(k-1) + c\_2 e(k-2) + \dots + c\_n e(k-n) \end{aligned} \tag{39}$$

The parameter vector and the regressor matrix are derived from (39) and are given by (40) and (41)

$$\boldsymbol{\theta} = \begin{bmatrix} d\_1 \ d\_2 \dots d\_m \ c\_1 \ c\_2 \dots c\_n \ \end{bmatrix}^T \tag{40}$$

where *n* = *nC*,the order of the polynomial *C*(*q*)

*m* = *nD*, the order of the polynomial *D*(*q*)

$$\begin{aligned} \max &= \max \begin{pmatrix} m, n \end{pmatrix} + 1 \\\\ \begin{bmatrix} y\_{\text{off}}(\text{rxx}) & -r(\text{mx}-1) & -r(\text{mx}-2) & \dots -r(\text{mx}-n) & e(\text{mx}-1) & e(\text{mx}-2) & \dots e(\text{mx}-m) \\\\ y\_{\text{off}}(\text{rxx}+1) & -r(\text{mx}) & -r(\text{mx}-1) & \dots -r(\text{mx}-n+1) & e(\text{mx}) & e(\text{mx}-1) & \dots e(\text{mx}-m+1) \\\\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots & \vdots \\\\ \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot \\\\ y\_{\text{off}}(\text{N}) & -r(\text{N}-1) & -r(\text{N}-2) & \dots & -r(\text{N}-n+1) & e(\text{N}-1) & e(\text{N}-2) & \dots & e(\text{N}-m+1) \end{bmatrix} \end{aligned} \tag{41}$$

$$y = \begin{bmatrix} y(\text{mx}) & y(\text{mx}+1) & \dots & y(\text{N}) \end{bmatrix}^{T} \tag{42}$$

Equation (39) in the form shown above appears a linear regression. However, since the prediction error sequence, *e*(*k-i*), itself is a function of the model parameters, it is nonlinear in parameters. To emphasize the significance of these two facts such structures are commonly known as pseudo-linear(Ljung, 1999; Nelles, 2001). The model parameters can be estimated by either a nonlinear optimization method or an extended least square method (Nelles, 2001). The extended least square method is an iterative method where the prediction error sequence is estimated and updated at each iteration using the prediction error of OBF-ARMA model. A good initial estimate of the prediction error sequence is obtained from the OBF-AR model. The parameters for the noise model are estimated using the linear least square method with (40) and (41) as parameters vector and regressor matrix, respectively. From the derivation, it should be remembered that all the poles and zeros of the noise models should be inside the unit circle and both the numerator and denominator polynomials should be monic. If an OBF-AR model with a high-order noise model can be developed, the residuals of the OBF-AR model will generally be close to white noise. In such cases, the noise model parameters of the OBF-ARMA model can be estimated using linear least square method in one step. The step-by-step procedure for estimating OBF-ARMA model parameters is outlined in Algorithm 3.

Algorithm 3

264 Frontiers in Advanced Control Systems

As in the case of OBF-AR model, if the noise sequence is uncorrelated with the input sequence, the OBF model parameters can be calculated separately and be used to calculate

1 2

*yk k y k drk drk d rk m cek cek cek n*

ˆ( | 1) ( ) ( 1) ( 2) ... ( ) ( 1) ( 2) . . . ( ) *obf m*

The parameter vector and the regressor matrix are derived from (39) and are given by (40)

12 12 [ ... ... ]*<sup>T</sup> m n*

( ) ( 1) ( 2) ... ( ) ( 1) ( 2) . . . ( ) ( 1) ( ) ( 1) ... ( 1) ( ) ( 1). . . ( 1)

 

*y mx r mx r mx r mx n e mx e mx e mx m y mx r mx r mx r mx n e mx e mx e mx m*

1

( ) ( 1) ( 2) ... ( 1) ( 2). . . ( 1)

*rN n*

[ ( ) ( 1) ... ( )]*<sup>T</sup> y y mx y mx y N* (42)

Equation (39) in the form shown above appears a linear regression. However, since the prediction error sequence, *e*(*k-i*), itself is a function of the model parameters, it is nonlinear in parameters. To emphasize the significance of these two facts such structures are commonly known as pseudo-linear(Ljung, 1999; Nelles, 2001). The model parameters can be estimated by either a nonlinear optimization method or an extended least square method (Nelles, 2001). The extended least square method is an iterative method where the prediction error sequence is estimated and updated at each iteration using the prediction error of OBF-ARMA model. A good initial estimate of the prediction error sequence is obtained from the OBF-AR model. The parameters for the noise model are estimated using the linear least square method with (40) and (41) as parameters vector and regressor matrix, respectively. From the derivation, it should be remembered that all the poles and zeros of the noise models should be inside the unit circle and both the numerator and denominator polynomials should be monic. If an OBF-AR model with a high-order noise model can be developed, the residuals of the OBF-AR model will generally be close to white noise. In such

*y N rN rN eN eN eN m*

 

1 2

. . . .. . . . . . .. . . . . . ... .

( ) ( | 1) ( ) ( ) ( ) ( ) ( ) ( ) ˆ *Cqyk k Dqy k Dqyk Cqyk obf* (38)

*n*

*dd dcc c* (40)

(39)

(41)

the simulation model output *y*obf(*k*) using (33).

where *n* = *nC*,the order of the polynomial *C*(*q*)

*mx=max* (*m, n*)+1

*obf obf*

*obf*

*m* = *nD*, the order of the polynomial *D*(*q*)

Introducing (33) in (37) results in

and (41)

*X*

Expanding and rearranging (37) we get


#### *Convergence criteria*

The percentage prediction error (PPE) can be used as convergence criteria, *i.e.,* stop the iteration when the percentage prediction error improvement is small enough.

$$PPE = \frac{\sum\_{k=1}^{n} \left( y(k) - \hat{y}(k) \right)^2}{\sum\_{k=1}^{n} \left( \left( y(k) - \overline{y}(k) \right)^2 \right)} \times 100$$

where *y* represents the mean value of measurements { *y*( ) *k* } and *y*ˆ( ) *k* predicted value of *y k*( ) .

#### **3.3 Multi-step ahead prediction**

Multi-step ahead predictions are required in several applications such as model predictive control. In this section multi-step ahead prediction equation and related procedures for both OBF-AR and OBF-ARMA are derived.

#### **Multi-step ahead prediction using OBF-AR model**

Using (33) in (29) the OBF-AR equation becomes

$$y(k) = y\_{obj}(k) + \frac{1}{D(q)}e(k)\tag{43}$$

*i*-step ahead prediction is obtained by replacing *k* with *k + i* 

$$y(k+i) = y\_{obj}(k+i) + \frac{1}{D(q)}e(k+i) \tag{44}$$

To calculate the *i*-step ahead prediction, the error term should be divided into current and future parts as shown in (45).

$$y(k+i) = y\_{obj}(k+i) + \frac{F\_i(q)}{D(q)}e(k) + E\_i(q)e(k+i) \tag{45}$$

The last term in (45) contains only the future error sequence which is not known. However, since *e*(*k*) is assumed to be a white noise with mean zero, (45) can be simplified to

$$
\hat{y}(k+i\mid k) = y\_{obj}(k+i) + \frac{F\_i(q)}{D(q)}e(k) \tag{46}
$$

*Fi* and *Ei* are determined by solving the Diophantine equation (47) which is obtained by comparing (44) and (45)

$$\frac{1}{D(q)} = E\_i(q) + \frac{q^{-i} F\_i(q)}{D(q)}\tag{47}$$

Equation (46) could be taken as the final form of the *i*-step ahead prediction equation. However, in application, since *e*(*k*) is not measured the equation cannot be directly used. The next steps are added to solve this problem.

Rearranging (43) to get

$$\frac{1}{D(q)}e(k) = y(k) - y\_{obj}(k)\tag{48}$$

Using (48) in (46) to eliminate *e*(*k*)

$$
\hat{y}(k+i\mid k) = y\_{obj}(k+i) + F\_i(q)(y(k) - y\_{obj}(k))\tag{49}
$$

Rearranging (49)

$$
\hat{y}(k+i\mid k) = y\_{obj}(k+i)(1 - F\_i(q)q^{-i}) + F\_i(q)y(k) \tag{50}
$$

Rearranging the Diophantine equation (47)

$$\left(1 - q^{-i} F\_i(q)\right) = D(q) E\_i\left(q\right) \tag{51}$$

Using (51) in (50)

$$\hat{y}(k+i\mid k) = E\_i(q)D(q)\,y\_{\alpha\mid \hat{\eta}}(k+i) + F\_i(q)y(k) \tag{52}$$

Equation (52) is the usable form of the multi-step ahead prediction equation for the OBF-AR model. Given an OBF-AR model, the solution of the Diophantine equation to get *E*i and *F*<sup>i</sup> and the prediction equation (52) forms the procedure for *i*-step ahead prediction of the OBF-AR model.

266 Frontiers in Advanced Control Systems

To calculate the *i*-step ahead prediction, the error term should be divided into current and

( ) ( ) ( ) ( ) ( )( ) ( ) *i obf i F q <sup>y</sup> k i <sup>y</sup> k i ek E <sup>q</sup> ek i D q*

The last term in (45) contains only the future error sequence which is not known. However,

( ) ˆ( |) ( ) () ( )

*Fi* and *Ei* are determined by solving the Diophantine equation (47) which is obtained by

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

Equation (46) could be taken as the final form of the *i*-step ahead prediction equation. However, in application, since *e*(*k*) is not measured the equation cannot be directly used.

<sup>1</sup> () () () ( ) *obf e k <sup>y</sup> <sup>k</sup> <sup>y</sup> <sup>k</sup>*

ˆ( | ) ( )(1 ( ) ) ( ) ( ) *<sup>i</sup>*

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

Equation (52) is the usable form of the multi-step ahead prediction equation for the OBF-AR model. Given an OBF-AR model, the solution of the Diophantine equation to get *E*i and *F*<sup>i</sup> and the prediction equation (52) forms the procedure for *i*-step ahead prediction of the OBF-

*i q Fq E q Dq Dq*

*i i*

*obf F q <sup>y</sup> k ik <sup>y</sup> k i ek*

*i*

*D q*

since *e*(*k*) is assumed to be a white noise with mean zero, (45) can be simplified to

(45)

(46)

(47)

*D q* (48)

*i i <sup>q</sup> <sup>F</sup> <sup>q</sup> <sup>D</sup> <sup>q</sup> <sup>E</sup> <sup>q</sup>* (51)

ˆ( | ) ( ) ( )( ( ) ( )) *obf <sup>i</sup> obf y k ik y ki F q y k y k* (49)

*obf <sup>i</sup> <sup>i</sup> <sup>y</sup> k i k y k i F qq F qyk* (50)

ˆ( |) () () ( ) ()() *i obf i y k ik E q D q y ki F q y k* (52)

future parts as shown in (45).

comparing (44) and (45)

Rearranging (43) to get

Rearranging (49)

Using (51) in (50)

AR model.

Using (48) in (46) to eliminate *e*(*k*)

Rearranging the Diophantine equation (47)

The next steps are added to solve this problem.

#### **Multi-step ahead prediction using OBF-ARMA model**

Using (33) in (30) the OBF-ARMA equation becomes

$$y(k) = y\_{\alpha \circ f}(k) + \frac{C(q)}{D(q)}e(k)\tag{53}$$

*i*-step ahead prediction is obtained by replacing *k* with *k + i* 

$$y(k+i) = y\_{\alpha bf}(k+i) + \frac{C(q)}{D(q)}e(k+i)\tag{54}$$

To calculate the *i*-step ahead prediction, the error term should be divided into current and future parts.

$$y(k+i) = y\_{obj}(k+i) + \frac{F\_i(q)}{D(q)}e(k) + E\_i(q)e(k+i) \tag{55}$$

Since *e*(*k*) is assumed to be a white noise with mean zero, the mean of *Ei*(*q*) *e*(*k+i*) is equal to zero, and therefore (55) can be simplified to

$$
\hat{y}(k+i\mid k) = y\_{\alpha bf}(k+i) + \frac{F\_i(q)}{D(q)}e(k)\tag{56}
$$

*Fi* and *Ei* are determined by solving the Diophantine equation (57) which is obtained by comparing (54) and (56)

$$\frac{C(q)}{D(q)} = E\_i(q) + \frac{q^{-i}F\_i(q)}{D(q)}\tag{57}$$

Rearranging (57)

$$\frac{1}{D(q)}e(k) = \frac{1}{C(q)} \left( y(k) - y\_{\text{obj}}(k) \right) \tag{58}$$

Using (58) in (56) to eliminate *e(k)*

$$
\hat{y}(k+i\mid k) = y\_{obj}(k+i) + \frac{F\_i(q)}{\mathcal{C}(q)} \Big( y(k) - y\_{obj}(k) \Big) \tag{59}
$$

Rearranging (59)

$$
\hat{y}(k+i\mid k) = y\_{obj}(k+i)\left(1 - \frac{F\_i(q)q^{-i}}{C(q)}\right) + \frac{F\_i(q)}{C(q)}y(k)\tag{60}
$$

Rearranging the Diophantine equation (60)

$$\left(1 - \frac{q^{-i}F\_i(q)}{C(q)}\right) = \frac{D(q)E\_i(q)}{C(q)}\tag{61}$$

Using (61) in (60) results in the final usable form of the *i*-step ahead prediction for OBF-ARMA model.

$$\hat{y}(k+i\mid k) = \frac{E\_i(q)D(q)}{C(q)} y\_{obj}(k+i) + \frac{F\_i(q)}{C(q)} y(k) \tag{62}$$

Since *yobf (k+i)* is the output sequence of the simulation OBF model, if the OBF model parameters are determined its value depends only on the input sequence *u*(*k+i*). Therefore, the *i-*step ahead prediction according to (62) depends on the input sequence up to instant *k+i* and the output sequence up to instant *k*.

#### **Multiple-Input Multiple-Output (MIMO) systems**

The procedures for estimating the model parameters and *i*-step ahead prediction can be easily extended to MIMO systems by using multiple-MISO models. First, a MISO OBF model is developed for each output using the input sequences and the corresponding orthonormal basis filters. Then, AR model is developed using *yobf*(*k*) and the residual of the OBF simulation model. The OBF-ARMA model is developed in a similar manner, with an OBF model relating each output with all the relevant inputs and one ARMA noise model for each output using Algorithm (Lemma, et al., 2010).

#### **Example 2**

In this simulation case study, OBF-AR and OBF-ARMA models are developed for a well damped system that has a Box-Jenkins structure. They are developed with various orders and compared within themselves and with each other. The system is represented by (63). Note that both the numerator and denominator polynomials of the noise model are monic and their roots are located inside the unit circle.

$$y(k) = q^{-6} \frac{1 - 1.3q^{-1} + 0.42q^{-2}}{1 - 2.55q^{-1} + 2.165q^{-2} - 0.612q^{-3}} u(k) + \frac{1 + 0.6q^{-1}}{1 - 1.15q^{-1} + 0.58q^{-2}} e(k) \tag{63}$$

An identification test is simulated on the system using MATLAB and the input–output sequences shown in Figure 4 is obtained.

Fig. 4. Input-output data sequence generated by simulation of (63)

The mean and standard deviations of the white noise, *e*(*k*), added to the system are 0.0123 and 0.4971, respectively, and the signal to noise ratio (SNR) is 6.6323 . The input signal is a pseudo random binary signal (PRBS) of 4000 data points generated using the '*idinput'* function in MATLAB with band [0 0.03] and levels [-0.1 0.1]. Three thousand of the data points are used for model development and the remaining 1000 for validation. The corresponding output sequence of the system is generated using SIMULINK with a sampling interval of 1 time unit.

#### **OBF-AR model**

268 Frontiers in Advanced Control Systems

Using (61) in (60) results in the final usable form of the *i*-step ahead prediction for OBF-

() () ( ) ˆ( |) ( ) () ( ) ( ) *i i obf E qDq F q <sup>y</sup> k i k y k i yk C q C q*

Since *yobf (k+i)* is the output sequence of the simulation OBF model, if the OBF model parameters are determined its value depends only on the input sequence *u*(*k+i*). Therefore, the *i-*step ahead prediction according to (62) depends on the input sequence up to instant *k+i*

The procedures for estimating the model parameters and *i*-step ahead prediction can be easily extended to MIMO systems by using multiple-MISO models. First, a MISO OBF model is developed for each output using the input sequences and the corresponding orthonormal basis filters. Then, AR model is developed using *yobf*(*k*) and the residual of the OBF simulation model. The OBF-ARMA model is developed in a similar manner, with an OBF model relating each output with all the relevant inputs and one ARMA noise model for

In this simulation case study, OBF-AR and OBF-ARMA models are developed for a well damped system that has a Box-Jenkins structure. They are developed with various orders and compared within themselves and with each other. The system is represented by (63). Note that both the numerator and denominator polynomials of the noise model are monic

> 1 1.3 0.42 1 0.6 ( ) ( ) ( ) 1 2.55 2.165 0.612 1 1.15 0.58 *q q <sup>q</sup> yk q u k e k*

An identification test is simulated on the system using MATLAB and the input–output

0 500 1000 1500 2000 2500 3000

*k*

Fig. 4. Input-output data sequence generated by simulation of (63)

1 2 1

1 2 3 12

(63)

*q q q qq*

(62)

ARMA model.

**Example 2** 

and the output sequence up to instant *k*.

**Multiple-Input Multiple-Output (MIMO) systems** 

each output using Algorithm (Lemma, et al., 2010).

and their roots are located inside the unit circle.

6

sequences shown in Figure 4 is obtained.


0.1


0

0

*y*

*u*

10

First a GOBF model with 6 parameters and poles 0.9114 and 0.8465 is developed and the model parameters are estimated to be [3.7273 5.6910 1.0981 -0.9955 0.3692 -0.2252] using Algorithm 1. The AR noise model developed with seven parameters is given by:

$$\frac{1}{D(q)} = \frac{1}{1 \cdot 1.7646q^{1} + 1.6685q^{2} \cdot 1.0119q^{3} + 0.5880q^{4} \cdot 0.3154q^{5} + 0.1435q^{6} \cdot 0.0356q^{7}}\tag{64}$$

The spectrum of the noise model of the system compared to the spectrum of the model for 3, 5 and 7 parameters is shown in Figure 5. The percentage predication errors of the spectrums of the three noise models compared to spectrum of the noise model in the system is given in Table 2.


Table 2. PPE of the three AR noise models of system

Fig. 5. Spectrums of the AR noise models for *nD* = 2, 5 and 7 compared to the noise transfer function of system

It is obvious from both Figure 4 and Table 2 that the noise model with *nD* = 7 is the closest to the noise transfer function of the system. Therefore, this noise model together with the GOBF model described earlier form the OBF-AR model that represent the system.

#### **4. Closed loop identification using OBF-ARX and OBF-ARMAX structures**

When a system identification test is carried out in open loop, in general, the input sequence is not correlated to the noise sequence and OBF model identification is carried out in a straight forward manner. However, when the system identification test is carried out in closed loop the input sequence is correlated to the noise sequence and conventional OBF model development procedures fail to provide consistent model parameters.

The motivation for the structures proposed in this section is the problem of closed-loop identification of open-loop unstable processes. Closed-loop identification of open-loop unstable processes requires that any unstable poles of the plant model should be shared by the noise model *H*(*q*) otherwise the predictor will not be stable. It is indicated by both Ljung (1999) and Nelles (2001) that if this requirement is satisfied closed-loop identification of open-loop unstable processes can be handled without problem. In this section, two different linear structures that satisfy these requirements and which are based on OBF structure are proposed. While the proposed models are, specially, effective for developing prediction model for open-loop unstable process that are stabilized by feedback controller, they can be used for open-loop stable process also. These two linear model structures are OBF-ARX and OBF- ARMAX structures.

#### **4.1 Closed–loop identification using OBF-ARX model**

Consider an OBF model with ARX structure given by (65)

$$y(k) = \frac{G\_{OBF}(q)}{A(q)}u(k) + \frac{1}{A(q)}e(k)\tag{65}$$

Rearranging (65)

$$
\hat{y}(k \mid k-1) = \mathbf{G}\_{\text{OBF}}(q) - (1 - A(q))y(k) \tag{66}
$$

With *A*(*q*) monic (66) can be expanded to

$$
\hat{y}(k \mid k-1) = G\_{\text{OBF}}(q) - a\_1 y(k-1) - a\_2 y(k-2) - a\_m y(k-m) \tag{67}
$$

Note that, (67) can be further expanded to

$$\begin{aligned} \hat{y}(k \mid k-1) &= l\_1 \mu\_{f1}(k) + l\_2 \mu\_{f2}(k) + \dots + l\_m \mu\_{fm}(k) - \\ a\_1 y(k-1) &- a\_2 y(k-2) - \dots - a\_n y(k-n) \end{aligned} \tag{68}$$

Therefore, the regressor matrix for the OBF-ARX structure is given by

$$X = \begin{bmatrix} \boldsymbol{u}\_{f1}(\mathbf{mx}) \ \boldsymbol{u}\_{f2}(\mathbf{mx}-1) \dots \boldsymbol{u}\_{fn}(\mathbf{mx}-m) & -\boldsymbol{y}(\mathbf{mx}-1) - \boldsymbol{y}(\mathbf{mx}-2) \dots -\boldsymbol{y}(\mathbf{mx}-n) \\ \cdot & \cdot & \cdot & \cdot & \cdot & \cdot \\ \cdot & \cdot & \cdot & \cdot & \cdot & \cdot \\ \cdot & \cdot & \cdot & \cdot & \cdot & \cdot \\ \cdot & \cdot & \cdot & \cdot & \cdot & \cdot \\ \boldsymbol{u}\_{f1}(\mathbf{N}) & \boldsymbol{u}\_{f2}(\mathbf{N}-1) \dots \boldsymbol{u}\_{fn}(\mathbf{N}-m) & -\boldsymbol{y}(\mathbf{N}-1) & -\boldsymbol{y}(\mathbf{N}-2) \dots -\boldsymbol{y}(\mathbf{N}-n) \end{bmatrix} \tag{69}$$

where *m =* order of the OBF model

270 Frontiers in Advanced Control Systems

It is obvious from both Figure 4 and Table 2 that the noise model with *nD* = 7 is the closest to the noise transfer function of the system. Therefore, this noise model together with the

When a system identification test is carried out in open loop, in general, the input sequence is not correlated to the noise sequence and OBF model identification is carried out in a straight forward manner. However, when the system identification test is carried out in closed loop the input sequence is correlated to the noise sequence and conventional OBF model development procedures fail to provide consistent model

The motivation for the structures proposed in this section is the problem of closed-loop identification of open-loop unstable processes. Closed-loop identification of open-loop unstable processes requires that any unstable poles of the plant model should be shared by the noise model *H*(*q*) otherwise the predictor will not be stable. It is indicated by both Ljung (1999) and Nelles (2001) that if this requirement is satisfied closed-loop identification of open-loop unstable processes can be handled without problem. In this section, two different linear structures that satisfy these requirements and which are based on OBF structure are proposed. While the proposed models are, specially, effective for developing prediction model for open-loop unstable process that are stabilized by feedback controller, they can be used for open-loop stable process also. These two linear model structures are OBF-ARX and

> ( ) <sup>1</sup> () () () () () *G q OBF <sup>y</sup> k uk ek*

> > 11 22 1 2

Therefore, the regressor matrix for the OBF-ARX structure is given by

ˆ( | 1) ( ) ( ) ... ( )

*yk k lu k lu k l u k*

*Aq Aq* (65)

ˆ( | 1) ( ) (1 ( )) ( ) *OBF y k k G q Aq yk* (66)

*n*

(68)

1 2 *y*ˆ( | 1) ( ) ( 1) ( 2) ( ) *k k G q ayk ayk a yk m OBF <sup>m</sup>* (67)

( 1) ( 2) ... ( ) *f f m fm*

*a y k a y k a y k n*

GOBF model described earlier form the OBF-AR model that represent the system.

parameters.

OBF- ARMAX structures.

Rearranging (65)

With *A*(*q*) monic (66) can be expanded to

Note that, (67) can be further expanded to

**4.1 Closed–loop identification using OBF-ARX model**  Consider an OBF model with ARX structure given by (65)

**4. Closed loop identification using OBF-ARX and OBF-ARMAX structures** 

$$\begin{array}{l} n = \text{order of } A(q) \\ m \mathbf{x} = \max\left(n, m\right) + 1 \\ u\_{\boldsymbol{f}} = \text{input } \boldsymbol{u} \text{ filtered by the corresponding OBF filter } \boldsymbol{f}\_{\boldsymbol{f}}. \end{array}$$

The parameters are estimated using (69) in the least square equation (27). Note that in using (27) the size of *y* must be from *mx* to *N*.

#### **4.2 Multi-step ahead prediction using OBF-ARX model**

Consider the OBF-ARX model

$$y(k) = \frac{y\_{\alpha \circ f}(k)}{A(q)} + \frac{1}{A(q)}c(k) \tag{70}$$

*i*-step ahead prediction is obtained by replacing *k* with *k + i* 

$$y(k+i) = \frac{y\_{obj}(k+i)}{A(q)} + \frac{1}{A(q)}c(k+i) \tag{71}$$

To calculate the *i*-step ahead prediction, the noise term can be divided into current and future parts.

$$y(k+i) = \frac{y\_{obj}(k+i)}{A(q)} + \frac{F\_i(q)}{A(q)}e(k) + E\_i(q)e(k+i) \tag{72}$$

Since *e*(*k*) is assumed to be a white noise with mean zero, the mean of *Ei*(*q*) *e*(*k+i*) is equal to zero (72) can be simplified to

$$\hat{y}(k+i\mid k) = \frac{y\_{obj}(k+i)}{A(q)} + \frac{F\_i(q)}{A(q)}e(k) \tag{73}$$

On the other hand rearranging (71)

$$y(k+i) = \frac{y\_{obj}(k+i)}{A(q)} + e(k+i)\left(\frac{q^{-i}F\_i(q)}{A(q)} + E\_i(q)\right) \tag{74}$$

Comparing (70) and (73), *Fi* and *Ei* can be calculated by solving the Diophantine equation.

$$\frac{1}{A(q)} = E\_i(q) + \frac{q^{-i} F\_i(q)}{A(q)}\tag{75}$$

Rearranging (70)

$$\frac{1}{A(q)}e(k) = y(k) - \frac{y\_{obj}(k)}{A(q)}\tag{76}$$

Using (76) in (73) to eliminate *e*(*k*)

$$
\hat{y}(k+i\mid k) = \frac{y\_{\text{obj}}(k+i)}{A(q)} + F\_i(q) \left( y(k) - \frac{y\_{\text{obj}}(k)}{A(q)} \right)
$$

$$
= y\_{\text{obj}}(k+i) \left( \frac{1}{A(q)} - \frac{q^{-i} F\_i(q)}{A(q)} \right) + F\_i(q) y(k) \tag{77}
$$

Rearranging the Diophantine equation (76)

$$E\_i(q) = \frac{1}{A(q)} - \frac{q^{-i} F\_i(q)}{A(q)}\tag{78}$$

Finally using (78) in (77), the usable form of the *i*-step ahead prediction formula, (79), is obtained.

$$
\hat{y}(k+i\mid k) = E\_i(q)y\_{obj}(k+i) + F\_i(q)y(k)\tag{79}
$$

Note that in (79), there is no any denominator polynomial and hence no unstable pole. Therefore, the predictor is stable regardless of the presence of unstable poles in the OBF-ARX model. It should also be noted that, since *yobf* (*k+i*) is the output sequence of the simulation OBF model, once the OBF model parameters are determined its value depends only on the input sequence *u*(*k*+*i*). Therefore, the *i-*step ahead prediction according to (79) depends on the input sequence up to instant *k+i* and the output sequence up to instant *k*.

#### **4.3 Closed–loop identification using OBF-ARMAX model**

Consider the OBF model with ARMAX structure

$$y(k) = \frac{G\_{OBF}(q)}{A(q)}u(k) + \frac{C(q)}{A(q)}e(k)\tag{80}$$

Rearranging (80)

$$
\hat{y}(k \mid k-1) = G\_{OBF}(q) - (1 - A(q))y(k) + (C(q) - 1)e(k) \tag{81}
$$

With *A*(*q*) and *C*(*q*) monic, expanding (74)

272 Frontiers in Advanced Control Systems

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

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

( ) ( ) ˆ( |) () () ( ) ( )

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

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

Finally using (78) in (77), the usable form of the *i*-step ahead prediction formula, (79), is

Note that in (79), there is no any denominator polynomial and hence no unstable pole. Therefore, the predictor is stable regardless of the presence of unstable poles in the OBF-ARX model. It should also be noted that, since *yobf* (*k+i*) is the output sequence of the simulation OBF model, once the OBF model parameters are determined its value depends only on the input sequence *u*(*k*+*i*). Therefore, the *i-*step ahead prediction according to (79) depends on the input sequence up to instant *k+i* and the output sequence up to

> () () () () () () () *G q Cq OBF <sup>y</sup> k uk ek*

*q Fq E q Aq Aq*

*i i*

*yk i k F q yk A q A q*

*obf i q Fq <sup>y</sup> k i <sup>F</sup> q y <sup>k</sup> Aq Aq* 

*i*

**4.3 Closed–loop identification using OBF-ARMAX model** 

Consider the OBF model with ARMAX structure

With *A*(*q*) and *C*(*q*) monic, expanding (74)

*obf obf i y k i y k*

*i <sup>q</sup> <sup>F</sup> <sup>q</sup> E q A q <sup>A</sup> <sup>q</sup>*

Rearranging (70)

obtained.

instant *k*.

Rearranging (80)

Using (76) in (73) to eliminate *e*(*k*)

Rearranging the Diophantine equation (76)

*i i*

*obf y k*

ˆ( |) () ( ) ()() *i obf <sup>i</sup> y k ik E q y ki F q y k* (79)

*Aq Aq* (80)

ˆ( | 1) ( ) (1 ( )) ( ) ( ( ) 1) ( ) *OBF y k k G q Aq yk Cq ek* (81)

(75)

*ek yk A q <sup>A</sup> <sup>q</sup>* (76)

(77)

(78)

$$\begin{aligned} \hat{y}(k \mid k-1) &= l\_1 \mu\_{f1}(k) + l\_2 \mu\_{f2}(k) + \dots + l\_m \mu\_{fn}(k) + \\ &- a\_1 y(k-1) - a\_2 y(k-2) - \dots - a\_n y(k-n) + \\ &c\_1 e(k-1) + c\_2 e(k-2) + \dots + c\_n e(k-n) \end{aligned} \tag{82}$$

From (83) the regressor matrix is formulated for orders *m*, *n*, *p*

$$X = \begin{bmatrix} u\_{f1}(\text{mx}) \ u\_{f2}(\text{mx} - 1) \dots u\_{fm}(\text{mx} - m) & -y(\text{mx} - 1) - y(\text{mx} - 2) \dots - y(\text{mx} - n) \\\\ \vdots & \ddots & \ddots & \vdots \\\\ \cdot & \cdot & \cdot & \cdot & \cdot \\\\ u\_{f1}(\text{N}) \quad u\_{f2}(\text{N} - 1) \dots u\_{fm}(\text{N} - m) & -y(\text{N} - 1) & -y(\text{N} - 2) \dots - y(\text{N} - n) \end{bmatrix}$$

$$-e(m\text{x} - 1) - e(m\text{x} - 2) \dots - e(m\text{x} - p)$$

$$\begin{bmatrix} \ddots & \ddots & \ddots & \ddots & \vdots \\\\ \cdot & \cdot & \cdot & \cdot & \cdot \\\\ \cdot & \cdot & \cdot & \cdot & \cdot \end{bmatrix} \tag{83}$$

$$-e(N - 1) \quad -e(N - 2) \dots - e(N - p) \tag{84}$$

where *m =* order of the OBF model

 *n* = order of the *A*(*q*) *p* = order of *C*(*q*) *mx =* max ( *n*, *m, p*) + 1 *ufi=* input *u* filtered by the corresponding OBF filter *fi e*(*i*) = the prediction error

To develop an OBF-ARMAX model, first an OBF-ARX model with high *A*(*q*) order is developed. The prediction error is estimated from this OBF-ARX model and used to form the regressor matrix (83). The parameters of the OBF-ARMAX model are, then, estimated using (83) in (27). The prediction error, and consequently the OBF-ARMAX parameters can be improved by estimating the parameters of the OBF-ARMAX model iteratively.

#### **Multi-step ahead prediction using OBF-ARMAX model**

A similar analysis to the OBF-ARX case leads to a multi-step ahead prediction relation given by

$$
\hat{y}(k+i\mid k) = \frac{E\_i(q)}{\mathcal{C}(q)} y\_{obj}(k+i) + \frac{F\_i(q)}{\mathcal{C}(q)} y(k) \tag{84}
$$

where *Fi* and *Ei* are calculated by solving the Diophantine equation

$$\frac{C(q)}{A(q)} = E\_i(q) + \frac{q^{-i}F\_i(q)}{A(q)}\tag{85}$$

When OBF-ARMAX model is used for modeling open-loop unstable processes that are stabilized by a feedback controller, the common denominator *A*(*q*) that contains the unstable pole does not appear in the predictor equation, (84). Therefore, the predictor is stable regardless of the presence of unstable poles in the OBF-ARMAX model, as long as the noise model is invertible. Invertiblity is required because *C*(*q*) appears in the denominator. It should also be noted that, since *yobf* (*k+i*) is the output sequence of the OBF simulation model, once the OBF model parameters are determined its value depends only on the input sequence *u*(*k*+*i*). Therefore, the *i-*step ahead prediction according to (84) depends on the input sequence up to instant *k+i* and the output sequence only up to instant *k*.

#### **5. Conclusion**

OBF models have several characteristics that make them very promising for control relevant system identification compared to most classical linear models. They are parsimonious compared to most conventional linear structures. Their parameters can be easily calculated using linear least square method. They are consistent in their parameters for most practical open-loop identification problems. They can be used both for open-loop and closed-loop identifications. They are effective for modeling system with uncertain time delays. While the theory of linear OBF models seems getting matured, the current research direction is in OBF based non-linear system identification and their application in predictive control scenario.

#### **6. Acknowledgement**

We, the authors, would like to express our heartfelt appreciation for the financial and moral support we got from Universiti Teknologi PETRONAS to accomplish this task.

#### **7. References**


274 Frontiers in Advanced Control Systems

When OBF-ARMAX model is used for modeling open-loop unstable processes that are stabilized by a feedback controller, the common denominator *A*(*q*) that contains the unstable pole does not appear in the predictor equation, (84). Therefore, the predictor is stable regardless of the presence of unstable poles in the OBF-ARMAX model, as long as the noise model is invertible. Invertiblity is required because *C*(*q*) appears in the denominator. It should also be noted that, since *yobf* (*k+i*) is the output sequence of the OBF simulation model, once the OBF model parameters are determined its value depends only on the input sequence *u*(*k*+*i*). Therefore, the *i-*step ahead prediction according to (84) depends on the

OBF models have several characteristics that make them very promising for control relevant system identification compared to most classical linear models. They are parsimonious compared to most conventional linear structures. Their parameters can be easily calculated using linear least square method. They are consistent in their parameters for most practical open-loop identification problems. They can be used both for open-loop and closed-loop identifications. They are effective for modeling system with uncertain time delays. While the theory of linear OBF models seems getting matured, the current research direction is in OBF based non-linear system identification and their application in predictive control scenario.

We, the authors, would like to express our heartfelt appreciation for the financial and moral

Akçay, H. (1999). Orthonormal basis functions for modelling continuous-time systems,

Badwe, A. S. , Patwardhan, S. C. & Gudi, R. D. (2011). Closed-loop identification using direct

Box, G.E.P. , Jenkins, G.M. (1970). *Time Series Analysis: Forecasting and Control*, Holden-Day,

Camacho, E.F. & Bordon, C. (2004). *Model Predictive Control*, Springer Verlag Limited,

Dewilde, P., Vieira, A.C. & Kailath, T. On a generalised Szegö–Levinson realization

Gáspár, P., Szabó, Z. & Bokor, J. (1999). Closed-loop identification using generalized

*IEEE Transactions on Circuits and Systems,Vol.* CAS-25 , No. 9, 663–675. Finn, C.K., Wahlberg, B. & Ydstie, B.E. (1993). Constrained predictive control using

orthogonal expansions, *AIChE Journal*, vol. 39 pp. 1810–1826.

Phoenix, Arizona USA, December 1999.

approach and high order ARX/GOBF-ARX models, *Journal of Process Control,* Vol.

algorithm for optimal linear predictors based on a network synthesis approach,

orthonormal basis functions, *Proceedings of the 38th Conference on Decision & Control,*

support we got from Universiti Teknologi PETRONAS to accomplish this task.

input sequence up to instant *k+i* and the output sequence only up to instant *k*.

**5. Conclusion** 

**6. Acknowledgement** 

*Signal Processing,* pp. 261–274.

21, pp. 1056– 1071.

San Francisco.

London.

**7. References** 


Wiener, N. (1949). *Extrapolation, Interpolation and Smoothing of Stationary Time Series*: M.I.T.- Press, Cambridge, MA 1949.

276 Frontiers in Advanced Control Systems

Wiener, N. (1949). *Extrapolation, Interpolation and Smoothing of Stationary Time Series*: M.I.T.-

Press, Cambridge, MA 1949.

### *Edited by Ginalber Luiz de Oliveira Serra*

This book pretends to bring the state-of-art research results on advanced control from both the theoretical and practical perspectives. The fundamental and advanced research results as well as the contributions in terms of the technical evolution of control theory are of particular interest. This book can serve as a bridge between people who are working on the theoretical and practical research on control theory, and facilitate the proposal of development of new control techniques and its applications. In addition, this book presents educational importance to help students and researchers to know the frontiers of the control technology.

Photo by alfexe / iStock

Frontiers in Advanced Control Systems

Frontiers in

Advanced Control Systems

*Edited by Ginalber Luiz de Oliveira Serra*