aplicaci on de t ecnicas de control predictivo al...
TRANSCRIPT
Aplicacion de tecnicas de control predictivo al seguimiento de
referencias en una planta de cuatro tanques.
Marıa Cristina Martın Macareno
7-2-2011
INDICE
Indice
1. Introduccion. 2
1.1. Objetivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Estructura del documento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Sistema a controlar: planta de los cuatro tanques. 3
2.1. Descripcion del sistema a controlar. . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Modelo dinamico del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. MPC en espacio de estados 10
3.1. Problema de regulacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.1. Prediccion a lo largo del horizonte. . . . . . . . . . . . . . . . . . . . . . . 11
3.1.2. Funcion de coste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.3. Restricciones en los estados. . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.4. Restricciones en las entradas en el horizonte de prediccion. . . . . . . . . 14
3.1.5. Restricciones genericas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2. Problema de seguimiento de referencias. . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.1. Reformulacion del problema. . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.2. Consideraciones practicas a tener en cuenta para trabajar con nuestro
sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4. MPC en espacio de estados con efecto integral. 21
4.1. MPC con efecto integral en el modelo. . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1.1. Prediccion a lo largo del horizonte. . . . . . . . . . . . . . . . . . . . . . . 22
4.1.2. Funcion de coste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.3. Restricciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.4. Problemas de este planteamiento. . . . . . . . . . . . . . . . . . . . . . . . 24
4.2. MPC con efecto integral fuera del modelo. . . . . . . . . . . . . . . . . . . . . . . 24
5. Simulaciones. 26
5.1. MPC en espacio de estados sin efecto integral. . . . . . . . . . . . . . . . . . . . . 26
5.1.1. Influencia de un tiempo de muestreo y un horizonte de prediccion adecuados. 26
5.1.2. Influencia de los cambios en las matrices de coste. . . . . . . . . . . . . . 29
5.2. Efecto integral VS no efecto integral. . . . . . . . . . . . . . . . . . . . . . . . . . 33
6. Conclusiones y posibles ampliaciones. 39
6.1. Conclusiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2. Lıneas de trabajo futuras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1
INDICE DE FIGURAS
Indice de figuras
1. Planta de los cuatro tanques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Cambio de referencias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. Esquema de planta controlada en Simulink. . . . . . . . . . . . . . . . . . . . . . 17
4. Referencias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5. Evolucion de alturas con Ts = 15 N = 10 Q = 1 R = 0,01 P = 10. . . . . . . . . 27
6. Evolucion de los caudales con Ts = 15 N = 10 Q = 1 R = 0,01 P = 10. . . . . . . 27
7. Evolucion de alturas con Ts = 15 N = 60 Q = 1 R = 0,01 P = 10. . . . . . . . . 28
8. Evolucion de los caudales con Ts = 15 N = 60 Q = 1 R = 0,01 P = 10. . . . . . . 28
9. Evolucion de alturas con Ts = 15 N = 30 Q = 1 R = 0,01 P = 10. . . . . . . . . 29
10. Evolucion de los caudales con Ts = 15 N = 30 Q = 1 R = 0,01 P = 10. . . . . . . 29
11. Evolucion de alturas con Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 V = 44,43. . . 30
12. Evolucion de los caudales con Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 V = 44,43. 30
13. Evolucion de alturas con Ts = 50 N = 10 Q = 1 R = 0,1 P = 10 V = 55,27. . . . 31
14. Evolucion de los caudales con Ts = 50 N = 10 Q = 1 R = 0,1 P = 10 V = 55,27. 31
15. Evolucion de alturas Ts = 50 N = 10 Q = 1 R = 1 P = 10 V = 174,48. . . . . . . 32
16. Evolucion de los caudales Ts = 50 N = 10 Q = 1 R = 1 P = 10 V = 174,48. . . . 32
17. Evolucion de alturas Ts = 50 N = 10 Q = 1 R = 10 P = 10. . . . . . . . . . . . . 33
18. Evolucion de los caudales Ts = 50 N = 10 Q = 1 R = 10 P = 10. . . . . . . . . . 33
19. Evolucion de alturas Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,01. . . . . . 34
20. Evolucion de los caudales Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,01. . . 34
21. Evolucion la integral del error Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,01. 35
22. Evolucion de alturas Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,05. . . . . . 35
23. Evolucion de los caudales Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,05. . . 36
24. Evolucion la integral del error Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,05. 36
25. Evolucion de alturas Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,1. . . . . . . 37
26. Evolucion de los caudales Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,1. . . . 37
27. Evolucion la integral del error Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,1. 38
Indice de cuadros
1. Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2. Valores de los parametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. Restricciones en las senales de control . . . . . . . . . . . . . . . . . . . . . . . . 8
4. Punto de operacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Restricciones en variables de pequena senal . . . . . . . . . . . . . . . . . . . . . 9
2
INDICE DE CUADROS
6. Constantes de tiempo del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3
1. Introduccion.
1. Introduccion.
1.1. Objetivos.
Mediante este trabajo aplicaremos a un sistema real los conocimientos adquiridos a lo largo
del Master en Automatica, Robotica y Telematica. Como veremos a continuacion, gracias a este
trabajo nos plantearemos una serie de aspectos basicos, como son:
trabajar con un sistema multivariable no lineal, linealizandolo respecto a un punto de
operacion.
discretizar un sistema no lineal y ver la importancia de la eleccion de un tiempo de muestreo
adecuado.
programar un MPC (Model Predictive Control) en espacio de estados para el seguimiento
de referencias.
anadir un termino integral al MPC que anule el error en regimen permanente, planteandolo
de una manera distinta a la estudiada en la asignatura.
la importancia de una adecuada sintonizacion de un MPC, mediante el ajuste de unas
ciertas matrices de costes y la correcta eleccion del horizonte de prediccion.
trabajar con sistemas con ceros de fase no mınima.
1.2. Estructura del documento.
El documento tendra la estructura que se detalla a continuacion. En primer lugar presen-
taremos el sistema que vamos a controlar, detallando como se obtiene su modelo dinamico,
remarcando las caracterısticas que lo hacen interesante para ser controlado. Posteriormente,
describiremos como expresar el problema de control en el espacio de estados, para regulacion
y seguimiento de referencias, y como anadir un termino integral que anule el error en regimen
permanente. En tercer lugar, mostraremos las simulaciones realizadas, que ilustran como afecta
al control el cambio de sus parametros y el hecho de que posea o no efecto integral. Por ultimo,
presentaremos las conclusiones extraıdas, presentando una serie de ampliaciones futuras que
serıan interesantes llevar a cabo.
4
2. Sistema a controlar: planta de los cuatro tanques.
2. Sistema a controlar: planta de los cuatro tanques.
2.1. Descripcion del sistema a controlar.
La planta de los cuatro tanques es un banco de ensayo para la implementacion de estrategias
de control planteado en el ano 2000 por [1]. En este, se describe una planta constituida por
cuatro depositos de agua interconectados como se muestra en la Figura 1:
Figura 1: Planta de los cuatro tanques.
Nuestro objetivo sera controlar los niveles de los depositos inferiores, el 1 y el 2, mediante la
manipulacion de los caudales de las bombas. Como podemos ver, las bombas extraen agua del
deposito inferior, repartiendola entre cuatro tanques interconectados. De esta forma, la bomba
A vierte el agua en los depositos 1 y 4, mientras la bomba B vierte el agua en los depositos 2 y
3. Los depositos se descargan por efecto de la gravedad, y como supondremos que la salida de
los depositos es encanonada, obviaremos el efecto de la friccion en la salida.
Esto supone que el deposito 3 se descarga sobre el deposito 1 y el deposito 4 se descarga
sobre el deposito 2, mientras los depositos 1 y 2 se descargan sobre el deposito inferior.
Una diferencia significativa de nuestra planta con la planteada en [1], es que nuestras senales
de control son los caudales de cada bomba, mientras en dicho artıculo las entradas al sistema
son los voltajes aplicados a estas.
Consideraremos que trabajamos con valvulas de tres vıas ideales, con lo que los caudales de
cada deposito son:
5
2.2 Modelo dinamico del sistema.
Q1 = γaQa (1)
Q2 = γbQb (2)
Q3 = (1− γb)Qb (3)
Q4 = (1− γa)Qa (4)
Observando estas ecuaciones, podemos comprobar que una de las dificultades de controlar
este sistema es el acoplamiento existente, ya que cuando modificamos uno de los caudales,
afectamos simultaneamente a las dos alturas a controlar. Por ejemplo, si hemos conseguido el
nivel adecuado en el tanque 2, y posteriormente solo queremos modificar el nivel del tanque 1,
no bastara con aplicar un caudal Qa, ya que parte de este ira al tanque 4, perturbando al tanque
2. La ley de control que apliquemos debera tener en cuenta este acoplamiento.
Este sistema tendra una serie de cualidades que lo hacen interesante a la hora de ensayar
estrategias de control:
es un sistema facil de construir, ya que se basa en la superposicion de dos procesos de dos
tanques de agua, muy comunes en cualquier laboratorio de control, con lo que es ideal para
probar experimentalmente estrategias de control. En concreto, el laboratorio de nuestro
departamento dispone de uno.
todas las variables de estado son accesibles, ya que las alturas de los lıquidos pueden ser
medidas.
las variables a controlar estan fuertemente acopladas.
como veremos a continuacion, dependiendo de los valores de los parametros de las valvulas,
γa y γb, el sistema multivariable poseera un cero de transmision de fase mınima o no
mınima.
2.2. Modelo dinamico del sistema.
El modelo dinamico de este sistema se obtiene aplicando la ecuacion de balance de masas y
la ecuacion de Bernoulli a cada uno de los tanques. Como resultado obtendremos las siguientes
ecuaciones dinamicas:
dh1dt
= − a1A1
√2gh1 +
a3A1
√2gh3 +
γ1A1qa (5)
6
2.2 Modelo dinamico del sistema.
dh2dt
= − a2A2
√2gh2 +
a4A2
√2gh4 +
γ2A2qb (6)
dh3dt
= − a3A3
√2gh3 +
1− γbA3
qb (7)
dh4dt
= − a4A4
√2gh4 +
1− γaA4
qa (8)
Donde:
Ai son las areas de los depositos.
ai son las areas de descarga de los depositos.
hi son las alturas de los depositos.
g es la aceleracion de la gravedad.
qa y qb son los caudales de las bombas A y B.
γa y γa son parametros adimensionales que caracterizan a cada valvula, fijando la propor-
cion de agua que va por cada rama.
Como podemos comprobar, se trata de un sistema no lineal, en el que los estados son las
alturas de cada deposito, y las entradas los caudales aplicados a cada valvula. Como disponemos
de dos entradas manipulables, solo controlaremos las alturas de los tanques inferiores.
Como es bien conocido, los puntos de equilibrio de un sistema son aquellos en los que el
estado permanece constante, es decir:
dhidt
= 0, i = 1, ..., 4 (9)
Como es bien conocido, el modelo lineal incremental respecto a un punto de equilibrio tiene
la siguiente forma:
dx
dt= Ax +Bu (10)
y = Cx +Du (11)
donde:
xi = hi − h0i , i = 1, 2, 3, 4 (12)
ui = qi − q0i , i = 1, 2 (13)
7
2.2 Modelo dinamico del sistema.
Para obtener la matriz A no tendremos mas que realizar un desarrollo en serie de Taylor
de las ecuaciones dinamicas del sistema, mientras la matriz B se determina de forma directa.
Las matrices C y D las obtendremos de que, como ya hemos mencionado, consideraremos como
variables controladas las alturas de los tanques 1 y 2, que son los dos primeras variables del
vector de estados.
dx
dt=
− 1T1
0 A3A1T3
0
0 − 1T2− A4A2T4
0
0 0 − 1T3
0
0 0 0 − 1T4
x+
γ1A1
0
0 γ2A2
0 1−γ2A3
1−γ1A4
0
u (14)
y =
[1 0 0 0
0 1 0 0
]x (15)
Donde los Ti son parametros positivos que dependen del punto de operacion:
Ti =Aiai
√2hig≥ 0, i = 1, ..., 4. (16)
Viendo la estructura de la matriz se puede deducir que los autovalores del sistema son −1Ti
,
con lo que el sistema es estable en bucle abierto.
Si pasamos al dominio de Laplace, podemos ver que el sistema linealizado posee la siguiente
matriz de funciones de transferencia:
[X1
X2
]=
γ1c1(1+sT1)
(1−γ2)c1(1+sT1)(1+sT3)
(1−γ1)c2(1+sT2)(1+sT4)
γ2c2(1+sT2)
(17)
Si calculamos su determinante, veremos que el sistema posee dos ceros para cada punto de
operacion. No detallaremos este desarrollo, solo presentaremos las conclusiones mas significati-
vas. Mientras uno de los ceros siempre tiene parte real negativa, la naturaleza del otro, si bien
es independiente del punto de operacion, viene determinado por los valores de los parametros
adimensionales que caracterizan las valvulas.
Si 0 ≤ γa + γb < 1, el sistema posee un cero de fase no mınima, es decir, en el semiplano
derecho.
Si 1 < γa + γb ≤ 2, el sistema posee un cero de fase mınima, es decir, en el semiplano
izquierdo.
8
2.2 Modelo dinamico del sistema.
Como bien es sabido, los ceros de transmision en el semiplano derecho, si bien no inestabilizan
el sistema, plantean problemas en la respuesta transitoria. Por ello, para que el problema que
planeamos resulte mas interesante desde punto de vista del control, optaremos por usar unos
valores de γa y γb que garanticen un cero de una naturaleza tan conflictiva.
A continuacion, en la tabla 1, podemos ver las restricciones fısicas que existentes en nuestro
problema, respecto a los valores maximos y mınimos de las variables de control y controladas.
Estas vendran dadas por limitaciones en el espacio fısico de la planta, de los intrumentos de
medida, en la apertura de las valvulas, etc. Para los valores que cumplan estas restricciones
sera valido el modelo no lineal que hemos planteado.
Valor Unidad Descripcion
H1max 1,36 m Altura maxima del deposito 1
H2max 1,36 m Altura maxima del deposito 2
H3max 1,30 m Altura maxima del deposito 3
H4max 1,30 m Altura maxima del deposito 4
Hmin 0,30 m Altura mınima de los depositos
Q1max 2,8 m3/h Caudal maximo al deposito 1
Q2max 2,45 m3/h Caudal maximo al deposito 2
Q3max 2,3 m3/h Caudal maximo al deposito 3
Q4max 2,4 m3/h Caudal maximo al deposito 4
Qmin 0 m3/h Caudal mınimo en todos los casos
Cuadro 1: Restricciones
Si bien hemos detallado en la tabla 1 los valores maximos de los caudales que pueden ir
a cada deposito, lo que realmente nos interesara a la hora de imponer restricciones a nuestro
controlador seran los caudales maximos que puede proporciona cada una de las bombas. Para
obtenerlas no hay mas que analizar de que valvula proviene el caudal que va por cada rama, y
ver cual es la condicion mas restrictiva.
qamax = mın(q1maxγa
,q3max1− γa
) (18)
qbmax = mın(q2maxγb
,q4max1− γb
) (19)
La tabla 2 presenta los valores de los parametros que caracterizan el sistema. Es importante
insistir de nuevo en el hecho de que escogeremos unos valores de los parametros de las valvulas
que hacen que el sistema posea ceros de fase no mınima, y que estos son adimensionales:
9
2.2 Modelo dinamico del sistema.
Valor Unidad Descripcion
a1 1,341e− 4 m2 Constante de descarga del deposito 1
a2 1,533e− 4 m2 Constante de descarga del deposito 2
a3 9,061e− 5 m2 Constante de descarga del deposito 3
a4 9,061e− 5 m2 Constante de descarga del deposito 4
A 0,06 m Seccion de todos los depositos
γa 0,3 Parametro de la valvula de 3 vıas
γb 0,45 Parametro de la valvula de 3 vıas
Cuadro 2: Valores de los parametros
Sustituyendo los parametros de la tabla 2 en las ecuaciones 18 y 19, obtenemos:
Valor Unidad Descripcion
Qamax 3,2857 m3/h Caudal maximo de la bomba A
Qbmax 4 m3/h Caudal maximo de la bomba B
Qamin 0 m3/h Caudal mınimo al deposito A
Qbmin 0 m3/h Caudal mınimo al deposito B
Cuadro 3: Restricciones en las senales de control
Trabajaremos en un punto de operacion situado en una zona intermedia de las restricciones,
hop1 = 0,65, hop2 = 0,65.
Los valores hop3 , hop4 , qopa y qopb vendran determinados por la resolucion del sistema de ecua-
ciones dado por la condicion que debe cumplir todo punto de equilibrio, dada por la expresion
9. Mostraremos sus valores en la tabla 4:
Valor Unidad Descripcion
hop1 0,65 m Altura de equilibrio del deposito 1
hop2 0,65 m Altura de equilibrio del deposito 2
hop3 0,68 m Altura de equilibrio del deposito 3
hop4 0,636 m Altura de equilibrio del deposito 4
qopa 1,6422 m3/h Caudal de equilibrio de la valvula A
qopb 2,0508 m3/h Caudal de equilibrio de la valvula B
Cuadro 4: Punto de operacion
10
2.2 Modelo dinamico del sistema.
Como trabajaremos sobre un modelo lineal respecto a este punto de operacion, es decir,
un modelo de pequena senal, en realidad habra reescribir las restricciones respecto al punto de
operacion:
−0,45 < x1 < 0,71
−0,45 < x2 < 0,71
−0,4859 < x3 < 0,6141
−0,4336 < x4 < 0,664
−1,6422 < ua < 1,7864
−2,0508 < ub < 1,7825
Cuadro 5: Restricciones en variables de pequena senal
Estas restricciones quedan en forma matricial de la siguiente forma:[I4
−I4
]h ≤
[Hmax −Hop
−(Hmin −Hop)
](20)
[I2
−I2
]q ≤
[Qmax −Qop−(Qmin −Qop)
](21)
11
3. MPC en espacio de estados
3. MPC en espacio de estados
3.1. Problema de regulacion
Sea un sistema descrito en espacio de estados como:
x+ = Ax+Bu (22)
x ∈ X → Gx ≤ g (23)
u ∈ U → LB ≤ u ≤ UB (24)
Se pretende minimizar la siguiente funcion de coste:
V =N−1∑k=0
(xTkQxk + uTkRuk) + xTNPNxN (25)
Las matrices Q, R y P son las matrices de coste, y se encargaran de penalizar en mayor o
menor medida los estados y las entradas aplicadas, respectivamente.
Ası, en cada instante de control, nuestro problema consistira en encontrar una secuencia de
futuras entradas u = [u0, u1, ..., uk−1] que minimice la funcion de coste V,
s.a.
xk+1 = Axk +Buk (26)
x0 = x (27)
xk ∈ X → Gxk ≤ g (28)
uk ∈ U → LB ≤ uk ≤ UB (29)
Es importante recordar que, si bien calcularemos la secuencia de control a lo largo de todo
el horizonte de control, solo nos quedaremos con su primer elemento, el elemento u0, que sera el
que apliquemos a la planta.
Para resolver este problema, lo reescribiremos en forma cuadratica (QP), con lo que podremos
resolverlo en Matlab sin mas que aplicar las funciones quadprog o cvx. Esta formulacion es:
mınu
1
2UTHU + fTU,Ru ≤ r (30)
12
3.1 Problema de regulacion
3.1.1. Prediccion a lo largo del horizonte.
Lo primero que debemos hacer es desarrollar las ecuaciones dinamicas del sistema en el
horizonte de prediccion N :
k = 0→ x0 = x
k = 1→ x1 = Ax+Bu0
k = 2→ x2 = Ax1 +Bu1 = A(Ax+Bu0) +Bu1 = A2x+ABu0 +Bu1
k = 3→ x3 = Ax2 +Bu2 = A(A2x+ABu0 +Bu1) +Bu2 = A3x+A2Bu0 +ABu1 +Bu2
.
.
.
k = N → xN = AxN +∑N−1
k=0 AN−1−kBuk
(31)
Estas expresiones podemos escribirlas en forma matricial:
x0
x1
x2
.
.
.
xN
=
I
A
A2
.
.
.
AN
x+
0 0 . . .
B 0 . . .
AB B . . .
.
.
.
AN−1B AN−2B . . B
u0
u1
u2
.
.
.
uN−1
(32)
Es decir, hemos expresado el estado del sistema a lo largo del horizonte de prediccion en
funcion del estado inicial y de la secuancia de control futura, nuestra incognita:
X = Gxx+GuU (33)
Es importante remarcar que el estado y la entrada no tiene por que ser monodimensionales.
Para un problema generico con nx estados y nu entradas, los estados y entradas en el instante
k-esimo, xk y uk, tienen dimension [nx × 1] y [nu × 1], respectivamente.
13
3.1 Problema de regulacion
x1(0)
x2(0)
.
xnx(0)
x1(1)
x2(1)
.
xnx(1)
.
.
x1(N)
x2(N)
.
xnx(N)
︸ ︷︷ ︸
X
=
I
A
A2
.
.
.
AN
︸ ︷︷ ︸Gx
x+
0 0 . . .
B 0 . . .
AB B . . .
.
.
.
AN−1B AN−2B . . B
︸ ︷︷ ︸
Gu
u1(0)
u2(0)
.
unu(0)
u1(0)
.
.
u1(N − 1)
u2(N − 1)
.
.
xnu(N − 1)
︸ ︷︷ ︸
U
3.1.2. Funcion de coste.
Si desarrollamos la funcion de coste:
∑N−1k=0 (xTkQxk + uTkRuk) + xTNPNxN =
xT0Qx0 + uT0Ru0 + xT1Qx1 + uT1Ru1 + xT2Qx2 + uT2Ru2+
...+
xTN−1QxN−1 + uTN−1RuN−1 + xTNPxN
(34)
tambien podemos expresarla de forma matricial:
V = XT
Q 0 0 ... 0
0 Q 0 ... 0
0 0 Q ... 0
...
0 0 0 ... P
X + UT
R 0 0 ... 0
0 R 0 ... 0
0 0 R ... 0
...
0 0 0 ... R
U = XT QX + UT RU (35)
Como establecimos en la ecuacion 33, la anterior expresion se transforma en:
∑N−1k=0 (xTkQxk + uTkRuk) + xTNPNxN =
xT0Qx0 + uT0Ru0 + xT1Qx1 + uT1Ru1 + xT2Qx2 + uT2Ru2+
...+
xTN−1QxN−1 + uTN−1RuN−1 + xTNPxN
(36)
14
3.1 Problema de regulacion
(Gxx+GuU)T Q(Gxx+GuU) + UT RU =[(Gxx)T Q+ (GuU)T Q
](Gxx+GuU) + UT RU =
(Gxx)T Q(Gxx) + (Gxx)T Q(GuU) + (GuU)T QGxx+ (GuU)T QGuU + UT RU
(37)
Veamos como podemos simplificar y agrupar algunos terminos para obtener la formulacion
deseada:
el primer termino, (Gxx)T Q(Gxx), es constante, por lo que no afectara en la minimizacion
de la funcion. Por ello, no lo tendremos en cuenta.
al ser los terminos escalares, podemos transponerlos, aplicando que (escalar)T = escalar.
Al transponer el tercer termino, vemos que resulta identico al segundo termino, con lo que
podremos sumarlos y dejar mas compacta la ecuacion, obteniendo un termino lineal en U.
si desarrollamos el cuarto termino, (GuU)T QGuU = UTGuT QGuU . Podemos agruparlo
con el ultimo termino de la ecuacion, resultando el termino cuadratico en U que nece-
sitabamos.
Gracias a esto, la funcion escalar a minimizar ha pasado a depender exclusivamente de la
secuencia de control futura:
mın 2xTGTx QGuU + UT (GuT QGu+R)U = mınxTGTx QGuU +1
2UT (GuT QGu+R)U (38)
Comparando con los argumentos de entrada del quadprog, podemos ver que
H = GuT QGu+ R (39)
fT = xTGTx QGu (40)
Es importante destacar el hecho de que el termino H es independiente del estado actual, con
lo que no serıa necesario calcularlo en cada instante de tiempo, se puede calcular fuera de lınea.
3.1.3. Restricciones en los estados.
Veamos como expresar de forma matricial las restricciones en el horizonte de prediccion:
Gxk ≤ g (41)
15
3.1 Problema de regulacion
donde g es un vector de longitud igual al numero de restricciones al estado en cada instante.
G =
[I4
−I4
](42)
g =
[Hmax −Hop
−(Hmin −Hop)
](43)
G 0 0 ... 0
0 G 0 ... 0
0 0 G ... 0
...
0 0 0 ... G
x0
x1
x2
.
.
xN
≤
g
g
g
.
.
g
(44)
Si desarrollamos esta desigualdad matricial empleando la ecuacion 33,
GX ≤ g =
G(Gxx+GuU) ≤ g =
GGuU ≤ g − GGxx(45)
3.1.4. Restricciones en las entradas en el horizonte de prediccion.
Kuk ≤ k (46)
K =
[I2
−I2
](47)
k =
[Qmax −Qop−(Qmin −Qop)
](48)
K 0 0 ... 0
0 K 0 ... 0
0 0 K ... 0
...
0 0 0 ... K
u0
u1
u2
.
.
uN−1
≤
k
k
k
.
.
k
(49)
KU ≤ k (50)
16
3.2 Problema de seguimiento de referencias.
Por ello, podemos agrupar las restricciones de los estados y las de la senal de control matri-
cialmente de la siguiente forma: [GGu
K
]U ≤
[g − GGxx
k
](51)
Los parametros relativos a las restricciones de quadprog o cvx :
A =
[GGu
K
](52)
b =
[g − GGxx
k
](53)
3.1.5. Restricciones genericas.
Podıamos partido de una forma mas general de expresar las restricciones:
Arx+Bru ≤ bmax (54)
I4
−I402×4
02×4
h1
h2
h3
h4
+
04×2
04×2
I2
−I2
[qa
qb
]≤
[g
k
](55)
GX + KU ≤ b (56)
G(Gxx+GuU) + KU ≤ b (57)
(GGu + K)︸ ︷︷ ︸arg1
U ≤ b− GGxx︸ ︷︷ ︸arg2
(58)
3.2. Problema de seguimiento de referencias.
3.2.1. Reformulacion del problema.
Hasta ahora hemos definido el problema de control como el de regulacion, en el cual el objetivo
es hacer que las variables de estado, que representan desviaciones respecto a valores nominales,
evolucionen desde valores iniciales (alcanzados por el efecto de perturbaciones externas) hasta
un valor nulo en el que se anula el efecto de la perturbacion [2].
17
3.2 Problema de seguimiento de referencias.
Sin embargo, el problema con el que nosotros lidiaremos sera el de seguimiento de referencias,
xref , en el que la senal de control se genera a partir del error de seguimiento en cada instante
de muestreo, xk −xrefk. Tambien sera necesario especificar una urefk, que se correspondera con
la entrada que corresponde a la xrefk especificada.
Figura 2: Cambio de referencias.
Es importante incidir que, trabajaremos siempre respecto al mismo punto de operacion
(hop, qop), con lo que xref y uref que les pasamos a nuestro controlador seran incrementales
respecto a este:
xref = href − hop (59)
uref = qref − qop (60)
Y las senales de control que se aplican al sistema seran:
uplanta = uMPC + qop (61)
Para aclarar el esquema de control para seguimiento de referencias mostraremos el diagrama
Simulink correspondiente, que es empleado para trabajar con la planta real.
18
3.2 Problema de seguimiento de referencias.
Figura 3: Esquema de planta controlada en Simulink.
La funcion de coste sera equivalente a la del problema de regulacion (ver ecuacion 25) te-
niendo en cuenta lo anterior.
V =N−1∑k=0
((xk − xrefk)TQ(xk − xrefk) + (uk − urefk)TR(uk − urefk)) + xTNPNxN (62)
V = (X −Xref )T Q(X −Xref ) + (U − Uref )T R(U − Uref ) (63)
Si procedemos de la misma forma que en el caso de regulacion, podremos comprobar que el
termino cuadratico en U se mantiene igual. En cambio, deben anadirse dos nuevos terminos a
la funcion lineal, dependientes de Xref y Uref :
H = GuT QGu+ R (64)
fT = xTGTx QGu −XTref QGu − UTref R (65)
3.2.2. Consideraciones practicas a tener en cuenta para trabajar con nuestro sis-
tema.
En todo el desarrollo hemos impuesto que disponemos de un modelo lineal del sistema,
caracterizado por una matrices A y B, sin tener en cuenta las matrices C y D para imponer los
19
3.2 Problema de seguimiento de referencias.
estados controlados. Esto lo haremos usando una matriz Q que solo pondere los dos estados a
controlar, las alturas de los tanques 1 y 2, haciendo nulos los otros elementos de la diagonal de
la matriz Q correspondientes a los estados no controlados:
Q =
q11 0 0 0
0 q22 0 0
0 0 0 0
0 0 0 0
(66)
Consideraremos varios cambios en las referencias que debera seguir nuestro controlador,
dentro del espacio de restricciones de nuestro sistema.
Figura 4: Referencias.
Para calcular el controlador, linealizaremos el sistema en torno al punto de operacion definido
por la primera referencia, R1.
hop = href
qop = qref(67)
Conocidos hop1 y hop2 , los caudales qopa y qopb y los niveles de los otros depositos, hop3 y hop4 , se
calcularan de la ecuacion 9, traducida a tiempo discreto, que resulta en:
20
3.2 Problema de seguimiento de referencias.
h1op
h2op
h3op
h4op
= A
hop1
hop2
hop3
hop4
+B
[qopa
qopb
](68)
[A− I B
] [hopqop
]= 0 (69)
Consideraremos que este modelo es valido para todas las referencias, en vez de linealizar el
sistema en cada uno de los cambios. Ello conllevara un problema. La aproximacion de un sistema
no lineal por un modelo lineal solo es valida para un entorno pequeno respecto al punto respecto
al que se linealiza. Cuando cambie las referencias en los estados h1ref y h2ref , deberemos calcular
los caudales de referencia correspondientes, qaref y qbref . Como conocemos los valores de h1ref y
h2ref , de hop y qop, obtendremos el siguiente sistema de ecuaciones con tantas incognitas como
ecuaciones.
[A− I B
] [href − hopqref − qop
]= 0 (70)
Resolviendo este sistema obtendremos 4h3ref , 4h4ref , 4qaref y 4qbref . Las totales se ob-
tendran de:
h3ref = 4h3ref + hop3ref ; (71)
h4ref = 4h4ref + hop4ref ; (72)
qaref = 4qaref + qoparef ; (73)
qbref = 4qaref + qopbref ; (74)
El no poseer el modelo real para calcular los caudales de referencia necesarios producira una
inexactitud que se traducira en un error a la salida. Es decir, le estaremos diciendo al sistema
que se vaya a una referencia que no es exactamente la apropiada.
21
3.2 Problema de seguimiento de referencias.
Sintonizacion del MPC. Una vez programado el MPC, deberemos sintonizarlo para que
funcione de forma adecuada. Para ello, deberemos ajustar una serie de parametros:
el tiempo de muestreo del sistema. Su eleccion es muy importante, ya que determinara la
dinamica del sistema muestreado. El tamano del horizonte de prediccion estara ıntima-
mente ligado al horizonte de prediccion, ya que ambos determinaran cuanta informacion
futura usamos del sistema. Por esta mala sintonizacion hemos perdido una cantidad de
tiempo bastante considerable.
las matrices de costes Q, R y P , que determinan lo que se poderan los errores en los
estados, la senal de control y el estado terminal. Ası, cuanto mayores sean los elementos
dispuestos en la diagonal de estas matrices, mas penalizaremos esas senales.
Analizaremos esto con detalle en el apartado de simulaciones.
22
4. MPC en espacio de estados con efecto integral.
4. MPC en espacio de estados con efecto integral.
Para eliminar los errores en regimen permanente, anadiremos un efecto integral al controlador
predictivo en espacio de estados planteado en el apartado anterior.
Una primera opcion a la hora de introducir efecto integral es anadirlo dentro del modelo,
calculando el controlador incrementos respecto a la senal de control total aplicada en el instante
anterior, 4uk [3].
uk = uk−1 +4uk (75)
Una segunda opcion es introducir el efecto integral fuera del modelo, poniendo en paralelo
de nuestro MPC un controlador PI.
4.1. MPC con efecto integral en el modelo.
Como ya sabemos, las ecuaciones de un modelo lineal son:
x(k + 1) = Ax(k) +Bu(k) (76)
Aplicando la ecuacion 75, la ecuacion anterior puede reescribirse como:
x(k + 1) = Ax(k) +Bu(k − 1) +B(u(k)− u(k − 1)) (77)
u(k) = u(k − 1) + I(u(k)− u(k − 1)) (78)
De tal manera, obtenemos una formulacion incremental de las ecuaciones dinamicas:[x(k + 1)
u(k)
]=
[A B
0 I
][x(k)
u(k − 1)
]+
[B
I
]4u(k) (79)
Podemos ver que el problema se reformula con unas nuevas matrices A y B, con un nuevo
estado expandido, que incluye el estado actual y la actuacion en el instante anterior, y una nueva
senal de control, el incremento en la actuacion al sistema de un instante al siguiente:
A =
[A B
0 I
](80)
B =
[B
I
](81)
x(k + 1) =
[x(k + 1)
u(k)
](82)
23
4.1 MPC con efecto integral en el modelo.
4u(k) = u(k)− u(k − 1) (83)
x(k + 1) = Ax(k) + B4u(k) (84)
4.1.1. Prediccion a lo largo del horizonte.
El hecho de que la expresion que modela el comportamiento dinamico del sistema tenga la
misma estructura que en el caso de regulacion, solo que con matrices y variables distintas, se
traducira en que las expresiones que modelan la evolucion del estado expandido a lo largo del
estado de prediccion sean las mismas (ver ecuacion 31).
x0
x1
x2
.
.
.
xN
=
I
A
A2
.
.
.
AN
x+
0 0 . . .
B 0 . . .
AB B . . .
.
.
.
AN−1B AN−2B . . B
4u04u14u2.
.
.
4uN−1
(85)
X = Gxx+ Gu4U (86)
4.1.2. Funcion de coste.
Nuestro problema tendra la misma estructura que el apartado de regulacion, solo que ahora
consistira en encontrar en cada instante de tiempo una secuancia de incrementos de control,
[4u0,4u1,4u2, ...,4uN−1], que minimice la funcion de coste:
J =N−1∑k=0
(xTkQIxk +4uTkRI4uk) + xTNPNxN (87)
De esta secuencia de incrementos de control, nos quedarıamos solo el primer elemento, 4u0,aplicando al sistema en el instante k-esimo la senal de control:
uk = uk−1 +4u0 (88)
Podemos expresar la matriz de coste, QI , que penaliza el estado extendido, con las que
usamos en el problema de regulacion:
24
4.1 MPC con efecto integral en el modelo.
QI =
[Q 0
0 R
](89)
La ventaja de esta formulacion de QI es que, de esta manera, imponiendo R = 0 tendrıamos
un poblema equivalente al del MPC sin integrador y podrıamos ver si funciona bien nuestro
controlador integral comprobando si ambos proporcionan los mismos resultados.
N−1∑k=0
(xTkQxk + uTkRuk) (90)
Pero, serıa mas logico poner la siguiente matriz, que no pondere la senal de control anterior,
que no le interesa para nada a nuestro controlador integral, que calcula 4u.
QI =
[Q 0
0 0
](91)
La matriz que pondera la senal 4u, RI sera una matriz diagonal con elementos altos, de
forma que ası penalicemos el incremento en la senal de control respecto al instante anterior:
RI =
[100 0
0 100
](92)
4.1.3. Restricciones.
En cada instante de tiempo, el sistema debe cumplir las siguientes restricciones:
Gxk + K4uk ≤ ¯bmax (93)
Si aplicamos estas restricciones a nuestra planta, quedan de la siguiente manera:
I4 04×2
−I4 04×2
02×4 I2×2
02×4 −I2×2
h1
h2
h3
h4
qa
qb
+
04×2
04×2
I2×2
−I2×2
[4qa4qb
]≤
hmax − hop
−(hmin − hop)qmax − qop
−(qmax − qop)
(94)
Para el horizonte de prediccion resultarıa:
GX + K4U ≤ b (95)
Como tiene la misma estructura que en el apartado de regulacion, podemos ver que nos
queda la siguiente expresion:
25
4.2 MPC con efecto integral fuera del modelo.
(GGu + K)︸ ︷︷ ︸arg1
U ≤ b− GGxx︸ ︷︷ ︸arg2
(96)
Y obtenemos los argumentos de restricciones que necesita quadprog.
4.1.4. Problemas de este planteamiento.
Al llevar a la practica esta alternativa se sucedieron multiples problemas. El problema fun-
damental es que no se apreciaba ninguna mejora controlando con el efecto integral, llegando
incluso a obtener peores resultados que los obtenidos con el controlador que no tenıa efecto
integral.
Tras estudiar las posibles motivos que podıan plantear este problema, incidiendo en si es-
taban bien programadas las restricciones matriciales, en el tiempo de muestreo, el horizonte de
prediccion, nos dimos cuenta que el motivo era que el problema no estaba bien planteado.
El problema tal y como lo habıamos planteado era completamente equivalente al del MPC
sin integrador, ya que, si bien nuestro problema consistıa en hallar una variable distinta, el
incremento en la senal de control en vez de la senal de control total, no imponıamos ninguna
restriccion en el incremento de la senal de control.
4.2. MPC con efecto integral fuera del modelo.
Plantearemos una forma menos ortodoxa de incluir un efecto integral en nuestro MPC.
Como bien sabemos, una ley de control proporcional respecto a un punto de operacion tiene
la siguiente expresion:
u(t) = uop +Kpe(t) (97)
Un controlador PI se obtiene de sumarle (es decir, poner en paralelo) a este termino propor-
cional al error un termino integral, que pondera los errores anteriores:
u(t) = uop +Kpe(t) +1
TI
∫ t
0e(τ)dτ (98)
Un MPC calcula una ganancia adecuada en cada instante de tiempo basandose simplemente
en el error entre su estado y la referencia a la que quiere llegar. Es decir, no es mas que un
controlador proporcional que tiene en cuenta la futura evolucion del sistema.
Por lo tanto, podemos implementar un MPC integral un PI en paralelo al MPC en espacio
de estados desarrollado, que modifique en cada instante de tiempo la senal de control aplicada.
Podemos verlo como que en cada instante modificamos la uop:
26
4.2 MPC con efecto integral fuera del modelo.
u(t) = uop +1
TI
∫ t
0e(τ)dτ︸ ︷︷ ︸
uopmodificadaporPI
+ Kpe(t)︸ ︷︷ ︸MPC(x(t))
(99)
Existen otras formas de introducir efecto integral de forma externa al modelo que emplea el
MPC. Por ejemplo, modificando en cada instante el estado de referencia, que es la que usaremos
en las simulaciones.
Xref (t) = Xrealref (t) +
1
TI
∫ t
0(Xreal
ref (τ)−X(τ))dτ (100)
De esta forma, enganamos al MPC diciendole que llegue a una altura algo superior a la que
realmente debe llegar.
Xref (t) = Xrealref (t) +
1TI
0 0 0
0 1TI
0 0
0 0 0 0
0 0 0 0
∫ t
0(Xreal
ref (τ)−X(τ))dτ (101)
27
5. Simulaciones.
5. Simulaciones.
A continuacion simularemos los controladores descritos. En cada uno de los subapartados
iremos modificando parametros para ver como afectan al funcionamiento del controlador.
5.1. MPC en espacio de estados sin efecto integral.
5.1.1. Influencia de un tiempo de muestreo y un horizonte de prediccion adecuados.
La eleccion adecuada de estos parametros determinara de forma fundamental el buen fun-
cionamiento de nuestro MPC.
Como pudimos ver en la ecuacion 17 los polos del sistema son 1Ti
. Es decir, nuestras constantes
de tiempo son:
T1 T2 T3 T4
162,96 142,55 240,81 238,11
Cuadro 6: Constantes de tiempo del sistema
Como podemos ver, tienen un valor elevado, con lo que nuestro sistema sera muy lento.
Si consideramos un tiempo de muestreo Ts = 15 segundos (un poco mas de la decima parte de
la constante de tiempo mas rapida del sistema), y un horizonte de prediccion N = 10, podremos
ver que nuestros MPC no sigue las referencias. Nuestro controlador es capaz de ver hacia delante
con estos parametros 15 ∗ 10 = 150, y no es suficiente.
28
5.1 MPC en espacio de estados sin efecto integral.
Figura 5: Evolucion de alturas con Ts = 15 N = 10 Q = 1 R = 0,01 P = 10.
Figura 6: Evolucion de los caudales con Ts = 15 N = 10 Q = 1 R = 0,01 P = 10.
En cambio, si usamos el mismo Ts, pero aumentamos el horizonte de prediccion a N = 60,
controlamos bien el sistema. En realidad, estamos mirando hacia delante 15∗60 = 900 segundos.
29
5.1 MPC en espacio de estados sin efecto integral.
Figura 7: Evolucion de alturas con Ts = 15 N = 60 Q = 1 R = 0,01 P = 10.
Figura 8: Evolucion de los caudales con Ts = 15 N = 60 Q = 1 R = 0,01 P = 10.
Y con un horizonte de prediccion a N = 30 tambien va bien. 15 ∗ 30 = 450 segundos.
30
5.1 MPC en espacio de estados sin efecto integral.
Figura 9: Evolucion de alturas con Ts = 15 N = 30 Q = 1 R = 0,01 P = 10.
Figura 10: Evolucion de los caudales con Ts = 15 N = 30 Q = 1 R = 0,01 P = 10.
5.1.2. Influencia de los cambios en las matrices de coste.
Partiremos de Q = 1, R = 0,01. Al ser la matriz R pequena, penalizamos poco las senales
de control y dejamos que el caudal pueda crecer mucho, llegando incluso a saturar el caudal en
31
5.1 MPC en espacio de estados sin efecto integral.
un par de ocasiones.
Figura 11: Evolucion de alturas con Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 V = 44,43.
Figura 12: Evolucion de los caudales con Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 V = 44,43.
Dejaremos constante Q e iremos aumentando la matriz R. Ası, al penalizar mas la senal de
control podremos observar como esta se hace menos agresiva (pegara saltos mas pequenos), lo
32
5.1 MPC en espacio de estados sin efecto integral.
que se traducira en que crezca el error en regimen permanente y se ralentice respuesta. Ademas
el coste (V ) crecera considerablemente.
Figura 13: Evolucion de alturas con Ts = 50 N = 10 Q = 1 R = 0,1 P = 10 V = 55,27.
Figura 14: Evolucion de los caudales con Ts = 50 N = 10 Q = 1 R = 0,1 P = 10 V = 55,27.
33
5.1 MPC en espacio de estados sin efecto integral.
Figura 15: Evolucion de alturas Ts = 50 N = 10 Q = 1 R = 1 P = 10 V = 174,48.
Figura 16: Evolucion de los caudales Ts = 50 N = 10 Q = 1 R = 1 P = 10 V = 174,48.
En las siguientes figuras con Q = 1, R = 10, se penaliza tanto la senal de control, que en este
caso el controlador ni actua, se va directamente a la referencia. Incluso ası, el coste es enorme
(V = 1,37 ∗ 103).
34
5.2 Efecto integral VS no efecto integral.
Figura 17: Evolucion de alturas Ts = 50 N = 10 Q = 1 R = 10 P = 10.
Figura 18: Evolucion de los caudales Ts = 50 N = 10 Q = 1 R = 10 P = 10.
5.2. Efecto integral VS no efecto integral.
Iremos aumentando el parametro 1TI
. De tal manera veremos como se va reduciendo el error
en regimen permanente, a costa de una mayor sobreoscilacion y de un incremento en el tiempo
35
5.2 Efecto integral VS no efecto integral.
de establecimiento. En el primer caso 1TI
= 0,01, el efecto integral es tan pequeno que no se
aprecia.
Figura 19: Evolucion de alturas Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,01.
Figura 20: Evolucion de los caudales Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,01.
36
5.2 Efecto integral VS no efecto integral.
Figura 21: Evolucion la integral del error Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,01.
Figura 22: Evolucion de alturas Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,05.
37
5.2 Efecto integral VS no efecto integral.
Figura 23: Evolucion de los caudales Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,05.
Figura 24: Evolucion la integral del error Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,05.
38
5.2 Efecto integral VS no efecto integral.
Figura 25: Evolucion de alturas Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,1.
Figura 26: Evolucion de los caudales Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,1.
39
5.2 Efecto integral VS no efecto integral.
Figura 27: Evolucion la integral del error Ts = 50 N = 10 Q = 1 R = 0,01 P = 10 1TI
= 0,1.
En los dos ultimos caso podemos ver como la integral del error se estabiliza a un valor
constante.
40
6. Conclusiones y posibles ampliaciones.
6. Conclusiones y posibles ampliaciones.
6.1. Conclusiones.
Este trabajo ha resultado muy instructivo, ya que ha permitido llevar a la practica gran
cantidad de conceptos que, hasta el momento de su realizacion se presentaban a la alumna
ciertamente ambiguos, solo considerados en un marco teorico.
Esto, unido a que el sistema en cuestion haya resultado de por sı muy ilustrativo, ha hecho
que la realizacion haya sido muy agradable.
6.2. Lıneas de trabajo futuras.
Las posibilidades de seguir trabajando con este sistema son infinitas, dada la versatilidad
que posee, como sistema multivariable, no lineal, ...
Por ello, planteamos las siguientes lıneas de trabajo a realizar en un futuro:
implementar lo simulado en la planta real y comparar sus resultados. Ası, podrıamos ver
las diferencias existentes entre el modelo no lineal que poseemos del sistema y el sistema
real.
plantear este problema desde el punto de vista de un MPC distribuido.
plantear estrategias para la satisfaccion robusta de restricciones.
41
REFERENCIAS
Referencias
[1] Johansson, K. H.: The quadruple-tank process: A multivariable laboratory process with
an adjustable zero. IEEE Trans. on Control Systems Technology, vol 8, no 3, may, pp.
456-465.2000.
[2] Ollero, A.: Control por computador: descripcion interna y diseno optimo. Marcombo.1991.
[3] Camacho, E. F; Bordons, C: Model Predictive Control. Springer.2nd edition. 2004.
42