6. CONTROL PREDICTIVO DEL CANAL -...

25
Modelado y control de un canal hidráulico Antonio Álvarez Romero 46 6. CONTROL PREDICTIVO DEL CANAL Las técnicas tradicionales de control automático, como el control PID, parecen suficiente para cubrir los requisitos de control de este tipo de sistemas. Sin embargo, mediante la aplicación de técnicas avanzadas de control se puede lograr un control de más calidad del canal. Mediante el control predictivo el canal alcanza el comportamiento deseado de una manera mucho más rápida y además es capaz de rechazar de una forma mucho más efectiva las perturbaciones que se le presentan. En este apartado se presenta en primer lugar la teoría básica sobre la técnica de control predictivo GPC (Generalized Predictive Control) [13] con restricciones, que será la técnica que se empleará con el canal. Partiendo de esta base se propondrá un esquema básico de control. Una vez propuesto este esquema se verá la manera de considerar como perturbaciones para cada controlador las acciones de control de los controladores presentes aguas abajo y tomarlas en cuenta para el cálculo de sus propias acciones de control. De esta manera se mejorará el esquema de control. Otra mejora que se introducirá consistirá en aplicar para los dos controladores presentes aguas arriba técnicas de control distribuido [26][27], que permiten un control más eficiente del canal. Una vez planteado el esquema de control se pasará a explicar su implementación en Matlab y su aplicación al canal simulado en SIC para concluir el apartado comentando brevemente los resultados obtenidos que serán desglosados en el apartado 7. 6.1. El control GPC 6.1.1. Bases teóricas El control GPC es una de las técnicas de control predictivo más empleadas y populares tanto a nivel académico como de la industria tanto por los buenos resultados que proporciona como por su robustez. Se puede aplicar a un amplio abanico de problemas con un número razonable de variables de diseño. Como otras técnicas de control predictivo, la idea básica de un control GPC es calcular una secuencia de señales futuras de control que minimice una función de coste definida en un horizonte de predicción. Se parte de una planta descrita en su linealización en torno a un determinado punto de control por la siguiente ecuación: = −1+ 37 Donde es la señal de control e es la señal de salida, mientras es un ruido blanco de media cero. , , y son los polinomios siguientes: =1+ + +⋯+

Transcript of 6. CONTROL PREDICTIVO DEL CANAL -...

Modelado y control de un canal hidráulico Antonio Álvarez Romero

46

6. CONTROL PREDICTIVO DEL CANAL

Las técnicas tradicionales de control automático, como el control PID, parecen suficiente

para cubrir los requisitos de control de este tipo de sistemas. Sin embargo, mediante la

aplicación de técnicas avanzadas de control se puede lograr un control de más calidad del

canal. Mediante el control predictivo el canal alcanza el comportamiento deseado de una

manera mucho más rápida y además es capaz de rechazar de una forma mucho más efectiva

las perturbaciones que se le presentan.

En este apartado se presenta en primer lugar la teoría básica sobre la técnica de control

predictivo GPC (Generalized Predictive Control) [13] con restricciones, que será la técnica que

se empleará con el canal. Partiendo de esta base se propondrá un esquema básico de control.

Una vez propuesto este esquema se verá la manera de considerar como perturbaciones para

cada controlador las acciones de control de los controladores presentes aguas abajo y

tomarlas en cuenta para el cálculo de sus propias acciones de control. De esta manera se

mejorará el esquema de control. Otra mejora que se introducirá consistirá en aplicar para los

dos controladores presentes aguas arriba técnicas de control distribuido [26][27], que

permiten un control más eficiente del canal.

Una vez planteado el esquema de control se pasará a explicar su implementación en

Matlab y su aplicación al canal simulado en SIC para concluir el apartado comentando

brevemente los resultados obtenidos que serán desglosados en el apartado 7.

6.1. El control GPC

6.1.1. Bases teóricas

El control GPC es una de las técnicas de control predictivo más empleadas y populares

tanto a nivel académico como de la industria tanto por los buenos resultados que proporciona

como por su robustez. Se puede aplicar a un amplio abanico de problemas con un número

razonable de variables de diseño. Como otras técnicas de control predictivo, la idea básica de

un control GPC es calcular una secuencia de señales futuras de control que minimice una

función de coste definida en un horizonte de predicción.

Se parte de una planta descrita en su linealización en torno a un determinado punto de

control por la siguiente ecuación:

= − 1 + ∆ 37

Donde es la señal de control e es la señal de salida, mientras es un ruido blanco

de media cero. , , y son los polinomios siguientes:

= 1 + + +⋯+

Modelado y control de un canal hidráulico Antonio Álvarez Romero

47

= + + +⋯+

= 1 + + +⋯+ !!38

∆= 1 −

Donde d es el tiempo muerto del sistema. Por simplicidad, se escoge el polinomio C=1.

El control GPC consiste en aplicar una secuencia de control que minimiza la función de

coste descrita en la siguiente ecuación:

#$, $, $& = ' ()[+ + )| − - + )]/012/3

+'4)[∆ + ) − 1]39/612

Donde:

• + + )| es la predicción de la salida en el instante t+j partiendo del valor conocido

en t

• $, $, $& son los distintos horizontes de coste y de control

• () y 4) son parámetros de ponderación

• - + )es la futura trayectoria de referencia.

El objetivo de este tipo de control es el cómputo de la secuencia de control , +1,… que haga que la futura salida de la planta + ) se aproxime cada vez más a - + ).

Esto se logra mediante la minimización de la función de coste de la ecuación 39.

Considérese a continuación la siguiente Ecuación Diofántica:

1 = 718 + 191,8 = 1 − 40

Los polinomios 71y91 se definen de manera única y sus grados son respectivamente

j-1 y na. Para obtenerlos se divide 1 por 8, de manera que en cada iteración de la división

el cociente de la misma es el polinomio 71 y el resto será 191.

Multiplicando ambos miembros de (37) por ∆711, se tiene:

871 + ) = 71∆ + ) − < − 1 + 71 + )41

Y sustituyendo (40) en (41) se obtiene:

+ ) = 91 + 71∆ + ) − < − 1 + 71 + )42

Al ser el grado del polinomio Ej igual a j-1, los términos ruidosos de (42) están todos en el

futuro. La mejor predicción del valor + ) en base a lo que se sabe en el instante actual es:

+ + )| = >1∆ + ) − < − 1 + 9143

Modelado y control de un canal hidráulico Antonio Álvarez Romero

48

Donde >1 = 71

Los polinomios >1 pueden ser obtenidos de manera recursiva. Partiendo de las

expresiones de los polinomios 7 y 9:

71 = 1, + 1, +⋯+ 1,11 91 = ?1, + ?1, +⋯+ ?1,44

La expresión del siguiente polinomio E es:

71@ = 1@, + 1@, +⋯+ 1@,1145

Donde se cumple:

1@,1 = ?1,46

Al cumplirse que:

71@ = 71 + 1@,1147

Se encuentra la recursión referida:

>1@ = 71@ = C71 + ?1,1D → >1@ = >1 + ?1,148

En los polinomios >1, los primeros j coeficientes de >1@ serán idénticos a los de >1 y el resto se

obtienen aplicando:

F1@,1@G = FG,1@G + ?1,GH = 0…J49

La secuencia de control que se obtenga debe permitir minimizar la función de coste

expresada en (39). Esta secuencia estará expresada por el vector

[, + 1, + 2,… + $] donde $ es el horizonte de control. Al tener el sistema

bajo consideración un tiempo muerto de d muestras, la salida del sistema estará influenciada

por la señal de control tras el paso de d+1 tiempos de muestreo. Se pueden definir los

valores $, $y $& como

$ = < + 1 $ = < + $50

$& = $

Modelado y control de un canal hidráulico Antonio Álvarez Romero

49

La ecuación de predicción es la siguiente:

K = LM + N51

Desglosando cada término de la ecuación:

O+ + < + 1|)+( + < + 2|)⋮+( + < + $|)Q =O F 0 ⋯ 0F F … 0: ⋮ ⋱ ⋮F/ F/ ⋯ F

Q O ∆()∆( + 1)⋮∆( + $ − 1)Q + T?@, … ?@,⋮ : ⋮?@/, … ?@/,U O()( − 1)⋮( − J)Q +

VWWX (>@() − F)(>@() − F − F)⋮C>@/() − F − F −⋯− F/(/)D/YZ

Z[ ∆( − 1)(52)

El primer producto de matrices depende de las acciones de control futuras, mientras que los

otros dos sumandos dependen respectivamente de las salidas pasadas y de la anterior acción

de control.

También se pueden definir el horizonte de predicción ($) y el de control ($&) con

valores distintos, caso en el cual la matriz L no es cuadrada. Lo que sí se debe cumplir es que

el horizonte de predicción sea mayor o igual al de control.

Por su parte, la función de coste puede expresarse de la siguiente manera:

# = (LM + N − \)](LM + N − \) + 4M]M(53)

Y rescrita de la forma que se muestra a continuación:

# = 12M^_M+ `^M + ?(54)

Donde

_ = 2(L^L+ 4a)

`] = 2(N − \)]L

? = (N −\)](N −\)(55)

Cuando no existen restricciones, la acción de control óptima que minimiza la función

de coste de (53) y (54), es la siguiente:

M = −_` = (L]L + 4a)L](\ − N)(56)

Modelado y control de un canal hidráulico Antonio Álvarez Romero

50

Que es una secuencia de acciones de control de la cual se toma la primera que es la que se

aplica sobre la planta.

El esquema de control GPC se muestra completo en la figura 33. Hay que tener en

cuenta que w es un vector cuyo tamaño es el del horizonte de predicción

Figura 33. Esquema de control GPC

6.1.2. Esquema básico de control del canal con GPC

En la figura 34 puede verse un esquema de control mediante el empleo de cinco

controladores GPC descentralizados. El emparejamiento de variables de control y controladas,

al igual que ocurre con el esquema de control con PIDs descentralizados de la figura 30,

obedece al modelo presentado en el punto 4.3, en la tabla 7.

Modelado y control de un canal hidráulico Antonio Álvarez Romero

51

Figura 34. Esquema básico de control con GPCs decentralizados

Este sistema de control será perfeccionado con mejoras que se explicarán en los

puntos subsiguientes.

6.2. Control GPC considerando perturbaciones medibles

El desempeño del control del canal puede experimentar una interesante mejora si se

toman en cuenta los efectos de acoplamiento entre las acciones de control. En concreto, para

calcular una acción de control en un punto determinado del canal, se tomará en consideración

las perturbaciones que suponen las acciones de control aguas abajo. Puesto de forma que sea

fácilmente comprensible, para calcular la apertura o cierre de una compuerta en un intervalo

de muestreo, se tomarán en consideración las aperturas o cierres ocurridas aguas abajo. En el

punto 6.2.2 se detallará esto.

Otras perturbaciones que se deben tener en cuenta son las que suponen los offtakes /

intakes. La diferencia en este caso es que se puede decir de una manera razonable que están

previstas. Un offtake es una toma de agua para un uso concreto (por ejemplo regadío), algo

fácilmente programable y que de hecho no debe hacerse de manera improvisada. Un intake es

la inyección de agua en un determinado punto, la cual se puede hacer de manera programada

igualmente. No obstante, en este trabajo se verá una variante especial de intake, y es que se

modelará la lluvia como la inyección de agua en el canal en un punto determinado. Dejando de

un lado la mejor o peor calidad de esta aproximación, no se puede prever de forma exacta

cuando lloverá ni cuánto, pero sí se puede hacer un pronóstico aproximado.

Modelado y control de un canal hidráulico Antonio Álvarez Romero

52

Por tanto se está haciendo una adaptación de las acciones de control a perturbaciones que

suceden aguas abajo, pero que son medibles.

En el apartado 6.2.1. se introducirá la teoría subyacente a la consideración de

perturbaciones medibles en el control GPC y en el apartado 6.2.2. se verá la aplicación de esta

teoría al canal con el que se está trabajando.

6.2.1. Bases teóricas

Considérese un proceso descrito por la siguiente ecuación:

()() = ()( − 1) + b()c() + () ()∆ (57)

Donde c()es una perturbación medible en el instante t y b() es un polinomio definido

como:

b() = < + < + < +⋯+ < (58)

Si se multiplica la ecuación (57) en ambos miembros por ∆71()1:

71()8()( + )) = 71()()∆( + ) − 1) + 71()b()∆c( + )) + 71()( + ))(59)

Y usando la Ecuación Diofántica y reordenando, se obtiene lo siguiente:

( + )) = 91()() + 71()()∆( + ) − 1) + 71()b()∆c( + )) +71()( + ))(60) Como ocurría en la ecuación (42) y como vuelve a suceder en (60), al ser el grado de 71() igual a j-1, los términos ruidosos se encuentran todos en el futuro. Se puede obtener

el valor esperado de ( + )):

+( + )| = 7[ + )] = 91 + 71∆ + ) − 1 + 71b∆c + )61

Se ha considerado 7[ + )] = 7[] = 0

Con todo esto, se puede obtener una expresión matricial similar a la de (52), pero

añadiendo los términos de perturbación:

Modelado y control de un canal hidráulico Antonio Álvarez Romero

53

O+( + < + 1|+ < 2|⋮+ < $|Q O F 0 ⋯ 0F F … 0: ⋮ ⋱ ⋮F/ F/ ⋯ FQ O

∆∆ 1⋮∆ $ 1Q T?@, … ?@,⋮ : ⋮?@/, … ?@/,U O

1⋮ JQ VWWX >@ F>@ F F⋮C>@/ F F ⋯ F//D/YZ

Z[ ∆ 1 O d 0 ⋯ 0d d … 0: ⋮ ⋱ ⋮d/ d/ ⋯ dQ O

∆c 1∆c 2⋮∆c $Q VWWX e@ de@ d d⋮Ce@/ d d ⋯ d//D/YZ

Z[ ∆c62 La figura 35 muestra cómo las perturbaciones afectan al cómputo de la respuesta libre.

Basta sólo con compararla con la figura 33. Como ya se ha comentado, las acciones de control

calculadas para una compuerta se verán como perturbaciones en compuertas superiores. Esto

se explicará en detalle en el punto 6.2.2. y se verá de forma gráfica en la figura 36.

Figura 35. Esquema de control con GPC considerando perturbaciones

Modelado y control de un canal hidráulico Antonio Álvarez Romero

54

6.2.2. Aplicación al control del canal

En sistemas tan acoplados, como es el caso del canal con el que se está trabajando, sucede

que la acción de control que se ejerce para lograr el comportamiento deseado en una de las

salidas, afecta también de forma notable al resto de las mismas. Este hecho puede tenerse en

cuenta si para calcular la acción de control para una determinada salida se toman como

perturbaciones acciones de control de otras.

En este momento es positivo remitirse a las figuras 18 y 14 del texto. En la figura 18 puede

verse la ubicación de las entradas y salidas en el modelo con el que se está trabajando. En la

figura 14 puede verse la ubicación de los offtakes. Las perturbaciones que se consideran son

las siguientes:

• En el cálculo de la señal de control en el GPC 5 se tiene en cuenta el efecto de los

cambios en el offtake ubicado en el punto RS 4.659 del ramal 2(a 8320 m de la

bifurcación del canal)

• En el cálculo de la señal de control en el GPC 4 se tiene en cuenta el efecto de la señal

de control calculada para el GPC 5 (compuerta situada en el punto RS 6.969 del ramal

2), los cambios en el offtake ubicado en el punto RS 7.849 del ramal 2(a 5130 m de la

bifurcación del canal) y los cambios en el offtake del punto RS 10.889 del ramal 2(a

2090 m de la bifurcación del canal)

• En el cálculo de la señal de control en el GPC 3 se tienen en cuenta los cambios en el

offtake ubicado en el punto RS 2.935 del ramal 1 (a 3740 m de la bifurcación del canal).

• En el cálculo de la señal de control en el GPC 1 se tiene en cuenta el efecto de la señal

de control calculada para el GPC 3 (compuerta situada en el punto RS 6.672 del ramal

1, a 3 m de la bifurcación del canal), y para el GPC 4 (compuerta situada en el punto RS

12.964 del ramal 2, a 15 m de la bifurcación del canal). También se considera la

influencia del offtake situado en el punto RS 1.625 del ramal 1, a 2840 m de la

cabecera del canal.

• Finalmente, en el cálculo de la señal de control en el GPC 2 se tiene en cuenta el efecto

de la señal de control calculada para el GPC 1 (que es el caudal de agua entrante en el

canal).

En la figura 36 puede verse la ubicación del canal de las entradas y salidas de los GPCs, y de

los offtakes, y las influencias de unos sobre otros a modo de perturbaciones. También se

muestra la distancia entre unos y otros. En la figura 37 se muestra el esquema de control con

la consideración de estas perturbaciones.

Modelado y control de un canal hidráulico Antonio Álvarez Romero

55

Figura 36. Perturbaciones consideradas en el cálculo de las señales de control

Figura 37. Esquema básico de control considerando perturbaciones medibles

En el controlador que se ha implementado está previsto el escoger el modo de control

entre tres posibles: considerando las perturbaciones de otras señales de control y de los

offtakes, considerando sólo la de los offtakes, considerando sólo las de las señales de control o

sin considerar perturbaciones.

La siguiente mejora a este esquema consistirá en hacer que los GPCs 1 y 2 se

comuniquen de forma que mediante un algoritmo decidan de manera conjunta las mejores

Modelado y control de un canal hidráulico Antonio Álvarez Romero

56

actuaciones para un interés común. Esto implica teoría sobre control distribuido que se verá

en detalle en el apartado 6.3.

6.3. Mejoras basadas en el control distribuido

En este apartado se verá la aplicación de técnicas de control distribuido con el fin de

seleccionar las acciones de control de los GPCs 1 y 2 teniendo en cuenta las necesidades de

ambos controladores. Los conocimientos aquí adquiridos se emplearán para mejorar el

sistema de control del canal, añadiéndole nuevas funcionalidades sin que eso quiera decir que

se prescinda de lo hecho hasta el momento. En primer lugar se realizará una introducción

teórica y luego se comentará la aplicación al control del canal

6.3.1. Bases teóricas

Hasta el momento el esquema de control propuesto basado en GPC está caracterizado por

ser decentralizado. Esto quiere decir que la información de la que dispone cada GPC es sólo

una parte de la información total. La técnica que se aplicará propone la comunicación entre

GPCs de manera que ambos GPCs tengan más datos para calcular su acción de control y que

ésta se calcule de manera cooperativa (figura 38). Se consigue un control más preciso en bucle

cerrado, más robusto y con mayor tolerancia a fallos [26].

La base teórica que se verá se aplica a una pareja de controladores, si bien es extendible a

un número mayor de los mismos. Estos controladores emplean un algoritmo de control

predictivo distribuido basado en teoría de juegos en el que se da una comunicación entre estos

controladores (a los que se llama agentes en este contexto) para lograr el objetivo de controlar

dos sistemas lineales con restricciones acoplados (o dicho de otra forma, un sistema MIMO de

2x2). Cada agente tiene sólo una parte de la información del modelo y del estado del sistema.

La teoría de juegos permite el estudio desde el punto de vista matemático de un problema de

control donde dos agentes deben cooperar para lograr sus objetivos de control, incluso en el

caso de ser objetivos en conflicto. El problema de coordinación de los agentes se verá reducido

a un juego de cooperación donde cada agente debe elegir una opción entre tres posibles y

donde para cada elección sólo se requerirán dos ciclos de comunicación. A continuación se

formula y desarrolla el problema.

Modelado y control de un canal hidráulico Antonio Álvarez Romero

57

Figura 38. Esquema de control distribuido de dos agentes

Supóngase un cierto sistema distribuido lineal dentro del cual se encuentran dos

subsistemas cada uno de los cuales se encuentra acoplado con el vecino a través de las

entradas. El estado de cada uno de los dos subsistemas se expresa de la siguiente manera:

f( + 1 f f 1 f 63 Donde f y f son los estados del sistema y y son las entradas del mismo. Se consideran

también cuatro juegos de restricciones, uno por estado y entrada del sistema.

Como se puede suponer el objetivo es controlar el sistema aplicando acciones de

control que lo hagan comportarse de la manera deseada teniendo en cuenta las restricciones

tanto en las señales de control como en los estados. Cada agente tiene únicamente

información sobre su propio estado, sobre el modelo del subsistema que le corresponde y

poder de decisión sobre la señal de control que aplicará. Por tanto, es necesario que se

comuniquen para ampliar esta información y decidir mejor las acciones de control a aplicar.

La diferencia entre sistema descentralizado y distribuido es que en el primero no existe

comunicación entre agentes y por tanto cada agente trata de controlar su subsistema por su

cuenta, pudiendo los acoplamientos existentes llegar incluso a inestabilizar el sistema. Este es

un mal escenario sin duda. El segundo caso funcionará mejor, ya que ambos agentes se

comunican y trabajan de manera conjunta.

El objetivo del esquema MPC distribuido es minimizar un índice de desempeño que

depende de la futura evolución de los estados y de las entradas. En cada período de muestreo,

cada agente resuelve un conjunto de problemas de optimización de dimensión reducida

basados en el modelo de su correspondiente subsistema y asumiendo una trayectoria fija de

entrada para su vecino. Para describir el algoritmo, hace falta hacer las siguientes definiciones:

• Secuencia de entrada futura del agente i (Ui): son variables de decisión de los

problemas de optimización que resuelven ambos agentes.

Modelado y control de un canal hidráulico Antonio Álvarez Romero

58

g = O ,,⋮,/Q , g = O ,,⋮,/

Q(64)

• Agente vecino del agente i (ni): g = g, g = g

• Función local de coste de cada agente (#G): viendo (53):

# = (LhMh + Nh −\h)](LhMh + Nh −\h) + 4MhMh(65) # = (LiMi + Ni −\i)](LiMi + Ni −\i) + 4MiMi

• Secuencia óptima de entrada del agente i en el instante t (gG()), definida como:

g() = VWWWX ,,⋮,/ YZZ

Z[ , g() = VWWWX ,,⋮,/ YZZ

Z[(66)

• Secuencia óptima de entrada del agente i desplazada (gGj()): en el último elemento

se suele introducir una ganancia multiplicando al estado previsto para N muestras

después (kGfG,/). En nuestro caso se introducirá un 0, indicando que la trayectoria no

se varía

gj() =VWWWWX,,⋮,/0 YZZ

ZZ[ , gj() =VWWWWX,,⋮,/0 YZZ

ZZ[(67)

A continuación se explica el funcionamiento del algoritmo con cada uno de sus pasos:

1. En cada período de muestreo t cada agente i recibe información de la medida parcial

de su estado fG()

2. Cada agente i minimiza #Gasumiendo que el otro agente mantiene la trayectoria de

entrada calculada en el período de muestreo anterior, es decir, que sigue haciendo lo

mismo que estaba haciendo sin cambiar nada: gG = gGj (). Los agentes 1 y 2

resuelven los siguientes problemas de optimización respectivamente:

g∗() = argpHJq3 #Cf(), g, gj()D f,r@ = f,r + ,r + ,r f, = f()(68)

f,r ∈ t, u = 0…$

Modelado y control de un canal hidráulico Antonio Álvarez Romero

59

,r = g, u = 0…$ − 1 f,/ ∈ Ω

g∗() = argpHJq0 #Cf(), g, gj()D f,r@ = f,r + ,r + ,r f, = f()(69)

f,r ∈ t, u = 0…$ ,r = g, u = 0…$ − 1 f,/ ∈ Ω

Los términos Ωy Ωexpresan la región donde se cumplen las restricciones que garantizan

la estabilidad en bucle cerrado. En este caso la variable fija es la trayectoria del vecino gGmientras la variable libre es gG 3. Cada agente i minimiza #G optimizando la entrada del agente vecino asumiendo que

éste aplica la secuencia gG∗, calculada anteriormente. Se resuelven los siguientes

problemas de optimización:

gw() = argpHJq0 #(f(), g∗(), g) f,r@ = f,r + ,r + ,r f, = f()(70)

f,r ∈ t, u = 0…$ ,r = g, u = 0…$ − 1 f,/ ∈ Ω

gw() = argpHJq3 #(f(), g∗(), g) f,r@ = f,r + ,r + ,r f, = f()(71)

f,r ∈ t, u = 0…$ ,r = g, u = 0…$ − 1

Modelado y control de un canal hidráulico Antonio Álvarez Romero

60

f,/ ∈ Ω En este caso cada agente está calculando la secuencia de entrada que más le interesa que

aplique el otro asumiendo que él mismo ha aplicado la que más le conviene. Estaríamos

hablando en este caso de maximizar su propio beneficio y que el agente vecino se está

comportando de forma generosa con él.

Mientras en el paso 2 cada agente calcula la secuencia de entrada que más le conviene

asumiendo que el vecino se queda quieto y no cambia nada de lo que estaba haciendo, en el

paso 3 cada agente calcula la trayectoria que más le conviene que aplique el vecino, que es

aquella que minimiza su función de coste cuando el propio agente ha aplicado la secuencia

calculada en el paso 2.

4. Los agentes se comunican entre ellos. El agente 1 envía g∗()y gw(), y el agente 2

envía g∗() y gw(). De esta manera tanto el agente 1 como el 2 tienen toda la

información necesaria para dar los siguientes pasos.

5. Cada agente evalúa su función de coste local para cada una de las posibles secuencias

a aplicar, es decir: g ∈ [gj(), gw(), g∗()]y g ∈ [gj(), gw(), g∗()] 6. Ambos agentes se comunican entre sí los valores resultado del paso anterior.

7. Con toda la información ya en su poder, ambos agentes pueden evaluar # = # + #

para las 9 combinaciones de entradas gy g. Las entradas que minimizan J se

denotarán g()y g()

8. Una vez se tienen las dos secuencias óptimas, se aplica la primera muestra de cada una

de ellas y se vuelve al paso 1 para iniciar el proceso de nuevo en el siguiente tiempo de

muestreo.

Desde el punto de vista de la teoría de juegos, se puede decir que ambos agentes actúan

de forma cooperativa. Los resultados del juego se pueden ver de forma sintética en una matriz

de 3x3 (ver tabla 11), donde en cada fila se tiene una posible decisión que puede tomar el

agente 1, mientras en cada columna se tiene una posible decisión que puede tomar el agente

2. Las celdas contienen la suma de las funciones de coste para cada una de las posibles

combinaciones de entradas (decisiones). De las 9 opciones, se escogerá la que minimice dicha

suma. Como ambos agentes han compartido la información y, por tanto, ambos disponen de la

misma información, ambos escogerán la misma opción.

gj() g∗() gw() gj() #Cf(), gj(), gj()D+ #(f(), gj(), gj())

#Cf(), gj(), g∗()D+ #(f(), g∗(), gj())

#Cf(), gj(), gw()D+ #(f(), gw(), gj()) g∗() #Cf(), g∗(), gj()D+ #(f(), gj(), g∗())

#Cf(), g∗(), g∗()D+ #(f(), g∗(), g∗())

#Cf(), g∗(), gw()D+ #(f(), gw(), g∗()) gw() #Cf(), gw(), gj()D+ #(f(), gj(), gw())

#Cf(), gw(), g∗()D+ #(f(), g∗(), gw())

#Cf(), gw(), gw()D+ #(f(), gw(), gw()) Tabla 11. Tabla usada para la toma de decisión

Este esquema puede ser extendido al caso de N agentes. En el caso del presente trabajo

se ha aplicado únicamente a dos controladores, dejando como posible línea de avance su

extensión a N agentes. Mencionar también que de cara a mejorar la eficiencia las

Modelado y control de un canal hidráulico Antonio Álvarez Romero

61

características del presente algoritmo permiten a ambos agentes realizar los cálculos de un

mismo paso en paralelo.

6.3.2. Aplicación al control del canal

Para aplicar la teoría vista en el punto 6.3.1, es necesario remitirse al esquema de control

de la figura 37. En dicho esquema de control han sido considerados los acoplamientos para el

cálculo de cada una de las salidas en forma de perturbaciones. Al considerar control

distribuido se añade a estas perturbaciones la que supone la apertura de compuerta en el

punto RS 4.27 (a 195 m de la cabecera del canal). Esta señal, que es la de control del GPC 2,

ejercerá de perturbación para el cálculo de la señal de control del GPC 1, que es el caudal

entrante en el canal. A este esquema sólo sería necesario añadirle la implementación del

algoritmo visto y un canal de comunicación entre los controladores 1 y 2 para que puedan

intercambiarse los resultados obtenidos y poder tomar una decisión de manera conjunta

Figura 39. Esquema de control con control distribuido en los dos primeros controladores

Modelado y control de un canal hidráulico Antonio Álvarez Romero

62

6.4. Consideración de restricciones

En la inmensa mayoría de casos de control de sistemas reales, es necesario tener en

cuenta una serie de restricciones que aplican al cálculo de la señal óptima de control. Estas

restricciones aplican a la propia señal de control y a la salida obtenida. En el apartado 5.2., en

la tabla 10, ya se muestran las restricciones aplicadas cuando se trata de controlar el canal

mediante un control PID. Si se trata de controlar con GPC, a estas restricciones es necesario

añadir algunas nuevas, que se verán en el apartado 6.4.2. En el apartado 6.4.1. se pondrán las

bases teóricas [13] del control GPC con aplicación de restricciones.

6.4.1. Bases teóricas

Existen tres tipos de restricciones que se deben considerar en el cálculo de la señal de

control óptima a aplicar:

• Restricción en la amplitud de la señal de control

g ≤ () ≤ g∀(72)

• Restricción en la velocidad de cambio de la señal de control

≤ () − ( − 1) ≤ ∀(73)

• Restricción en la salida

≤ () ≤ ∀(74) Para un proceso de m entradas y n salidas con restricciones, considerando un horizonte

deslizante, las restricciones se pueden expresar en forma matricial:

hg ≤ zM + ( − 1)h ≤ hg

h ≤ M ≤ h(75)

h ≤ LM + N ≤ h Donde hes una matriz formada por N matrices identidad de dimensión m x m cada una, y T es

una matriz triangular inferior por bloques cuyos bloques no nulos son matrices m x m. Todas

estas restricciones pueden expresarse de manera compacta con la siguiente desigualdad:

M ≤ |(76)

donde:

Modelado y control de un canal hidráulico Antonio Álvarez Romero

63

=VWWWWX~//−~//z−z>−> YZZ

ZZ[ , =VWWWWWX 1−11g − 1( − 1)−1g + 1( − 1)1 − ?−1 + ? YZZ

ZZZ[(77)

El cálculo de la señal de control consistirá en minimizar la función de coste expresada en (53)

sujeta a las restricciones puestas de forma matricial en (77). Se tiene una función de coste

cuadrática con restricciones lineales, un problema de programación cuadrática (QP). Este tipo

de problemas ha sido estudiado de manera pormenorizada, y en el entorno de trabajo bajo el

que se programan los controladores del presente proyecto, Matlab, existe una herramienta,

denominada quadprog, que resuelve estos problemas con suficiencia. Por tanto no será mayor

problema calcular en Matlab la señal de control óptima en todo momento.

6.4.2. Aplicación al control del canal

El esquema de control desarrollado, y cuya culminación se muestra en la figura 39, es un

esquema descentralizado, donde cada GPC se desarrolla de manera independiente tomando

como perturbaciones acciones de control de controladores vecinos y considerando control

distribuido en el caso de los GPC 1 y 2. Se tienen por tanto 5 controladores independientes

para procesos de 1 entrada y 1 salida y que sufren un número mayor o menor de

perturbaciones. Esto simplifica el problema a la hora de encarar el problema de encontrar una

señal de control óptima que minimice una función de coste considerando unas restricciones.

De un único problema QP de gran complejidad se pasa a 5 problemas QP más sencillos. En la

tabla 12 se muestran las restricciones que se han considerado a la hora de calcular las señales

de control en cada iteración del programa. También se indican los puntos de trabajo.

Parámetro Valor

Valor máximo señal de control 1 30 m3/s

Valor máximo señal de control 2 3 m

Valor máximo señal de control 3 3 m

Valor máximo señal de control 4 3 m

Valor máximo señal de control 5 3 m

Valor mínimo señal de control 1 0 m3/s

Valor mínimo señal de control 2 0.05 m

Valor mínimo señal de control 3 0.05 m

Valor mínimo señal de control 4 0.05 m

Valor mínimo señal de control 5 0.05 m

Variación máxima señal de control 1 1 m3/s

Variación máxima señal de control 2 0.2 m

Variación máxima señal de control 3 0.2 m

Variación máxima señal de control 4 0.2 m

Variación máxima señal de control 5 0.2 m

Variación mínima señal de control 1 -1 m3/s

Modelado y control de un canal hidráulico Antonio Álvarez Romero

64

Variación mínima señal de control 2 -0.2 m

Variación mínima señal de control 3 -0.2 m

Variación mínima señal de control 4 -0.2m

Variación mínima señal de control 5 -0.2 m

Punto de operación señal de control 1 12 m3/s

Punto de operación señal de control 2 1 m

Punto de operación señal de control 3 0.5 m

Punto de operación señal de control 4 0.5 m

Punto de operación señal de control 5 0.5 m

Punto de operación salida 1 82.073 m

Punto de operación salida 2 82.951 m

Punto de operación salida 3 5.41 m3/s

Punto de operación salida 4 81.269 m

Punto de operación salida 5 80.643 m

Valor máximo de salida 1 82.72 m

Valor máximo de salida 2 83.79 m

Valor máximo de salida 4 81.67 m

Valor máximo de salida 5 81.07 m

Valor mínimo de salida 1 79.67 m

Valor mínimo de salida 2 80.74 m

Valor mínimo de salida 4 78.77 m

Valor mínimo de salida 5 78.17 m Tabla 12. Restricciones y punto de operación aplicadas al control con GPC del canal

6.5. Sintonización de los controladores GPC

En el apartado 5.2., en la tabla 9, se muestran los parámetros de sintonización del control

PID del canal. De igual manera los controladores GPC tienen sus propios parámetros de

sintonización, en concreto tres por controlador

• Horizonte de predicción ($)

• Horizonte de control ($&)

• Penalización de la señal de control (λ)

En la tabla 13 se muestran los parámetros de sintonización de los controladores GPC.

Parámetro Valor 4 8 4 8 4 6 4 1.5 4 5 $ 25 $ 30 $ 11 $ 10 $ 9

Modelado y control de un canal hidráulico Antonio Álvarez Romero

65

$& 15 $& 9 $& 4 $& 3 $& 3 Tabla 13. Parámetros de sintonización de los controladores GPC

6.6. Implementación del control GPC en Matlab

En el apartado 5.3 se explica el intercambio de variables que existe entre Matlab y SIC

cuando se implementa un controlador PID para el canal. En el caso del control GPC el

intercambio de información es similar y la idea es la misma: la representación (el modelo) del

canal reside en una serie de ficheros del software SIC mientras toda la lógica de control está

hecha en Matlab. Al ser ambos software abiertos y con posibilidades de comunicarse sólo es

necesario resolver la interfaz entre ambos.

Por otra parte, es posible, al igual que ocurría con la implementación en Matlab del control

PID, diferenciar lo que se hace en la primera iteración del programa (el primer período de

muestreo) de lo que ocurre en el resto del mismo.

En este apartado se realizará una descripción de alto nivel del programa realizado en

Matlab que implementa el GPC con el que se realiza el control del canal. En la figura 40 puede

verse un diagrama de flujo general, cuyos bloques se irán desglosando en apartados sucesivos.

Se aprecian dos bloques principales: uno de inicialización, donde toman valor las distintas

constantes y variables que son necesarias en el desarrollo de la simulación, y otro propiamente

de control destinado a leer la referencia y la salida de la planta y calcular la señal de control

óptima. El primer bloque se ejecuta sólo en la primera iteración del programa, el otro se

ejecuta en todas las iteraciones del mismo.

Figura 40. Implementación del GPC: Diagrama de flujo con los dos bloques principales

Modelado y control de un canal hidráulico Antonio Álvarez Romero

66

6.6.1. Bloque de inicializaciones

Este bloque contiene todas las inicializaciones de constantes y variables necesarias para la

simulación. En la figura 41 se puede ver su diagrama de flujo.

Figura 41: Implementación del GPC: diagrama de flujo del bloque de inicializaciones

El bloque de inicializaciones consta de una serie de pequeños bloques que se ejecutan de

forma completamente secuencial. En primer lugar se inicializan todos los parámetros relativos

a las restricciones y al punto de operación que se detallan en la tabla 12. Se inicializa también

el tiempo de muestreo que se va a emplear y el tiempo de simulación. Se indica también el

tamaño de los escalones que se aplicarán en la simulación, tanto en las referencias de los

controladores como en los offtakes en caso de hacer simulaciones donde éstos estén activos.

Se inicializan también todos los parámetros de sintonización del controlador GPC que se

indican en la tabla 13. Por último, se indica si en la simulación que se va a realizar se van a

considerar como perturbaciones medibles los cambios en las señales de control adyacentes, en

los offtakes, en ambos o en ninguno de ellos. Este parámetro es muy importante ya que según

el valor que tome se tendrán en cuenta estos factores en el cálculo de la señal de control.

Una vez inicializados estos parámetros, se pasa a inicializar el modelo. Para ello se toma

como referencia la matriz de funciones de transferencia obtenida en el apartado 4.3 y que se

puede consultar en (20). De igual manera, se inicializan las funciones de transferencia

asociadas a los offtakes, que según el modo de funcionamiento del programa pueden ser

consideradas como perturbaciones. Estas funciones de transferencia se pueden consultar en

las ecuaciones (11),(13),(16),(17) y (19). Todo esto en modo contínuo, pasándose

inmediatamente a discreto según el tiempo de muestreo introducido. Las razones por las que

se escoge el tiempo de muestreo de 360 segundos se exponen en los apartados 2.3.5 y 4.3.2.

El resultado de la discretización en las funciones de transferencia de los offtakes se muestra en

Modelado y control de un canal hidráulico Antonio Álvarez Romero

67

las ecuaciones (22),(23),(24),(25) y (26). La matriz de funciones de transferencia resultante se

muestra en (21).

El siguiente paso es la inicialización de los polinomios que intervienen en la Ecuación

Diofántica que se puede ver en (40). Es decir, para cada una de las funciones de transferencia

de la matriz de (21) se trata de obtener sus correspondientes polinomios () y () (ver

ecuación (37)), y a partir de ahí obtener los correspondientes 8(). De esta manera se

pueden obtener los polinomios 71()y 91() según la ecuación (40). A continuación se

obtienen las matrices G (ver ecuaciones de (42) a (52) y el desarrollo del punto 6.1.1.) de

manera que se tienen todos los elementos necesarios para montar las ecuaciones de

predicción (ver ecuaciones (51) y (52)). El siguiente paso es el cálculo de las matrices H de cada

uno de los controladores según (55). Además es necesario calcular para cada controlador la

respuesta libre que se tendrá en cuenta en el cálculo de la señal de control. Esta respuesta

libre debe contener, si los hubiera, y según el modo de funcionamiento, el efecto de las

perturbaciones debidas a los offtakes y las debidas a los cambios en las señales de control

adyacentes, de manera que se cumpla la ecuación (62).

A continuación se inicializan los vectores de salidas, los vectores de control y los de

incremento en la señal de control. También se inicializan y establecen los vectores de

referencia y de offtakes. Para cada vector se indica el valor del escalón que tiene lugar (0 si no

lo hay) y el instante de tiempo en que dicho escalón se produce. Finalmente se inicializan los

índices de los vectores.

6.6.2. Bloque de control

En el punto 6.2.2 se explica que se ha tomado la convención para este proyecto de

considerar como perturbaciones para el cálculo de las señales de control las señales de control

obtenidas aguas abajo. De esta manera se han establecido las perturbaciones que influyen en

el cálculo de cada una de las señales de control y que se detallan en dicho punto. Por esta

razón es más que adecuado el calcular en cada iteración las señales de control desde el final

del canal hasta el comienzo del mismo, de manera que estén disponibles en cada cálculo los

datos de las correspondientes perturbaciones. Así, siguiendo el modelo adoptado y que puede

verse en la tabla 7, en primer lugar se calcularía la señal de control del GPC 5, considerando su

correspondiente perturbación y, claro está, las restricciones a aplicar. A continuación se

calcularía la del GPC 4, luego la del GPC 3. Posteriormente se calcularía la del GPC 1 y

finalmente la del GPC 2. Este último caso supone una excepción, ya que la señal de control de

este GPC es la apertura de la primera compuerta del canal (situada a 195 m del comienzo) y la

perturbación es el caudal entrante en el canal, situado aguas arriba.

Si el programa de cálculo de las señales de control ha devuelto un óptimo para los

controladores 1 y 2, dicho óptimo se intenta mejorar de forma cooperativa mediante control

distribuido. Finalmente, las señales de control se mandan a la planta representada en SIC. En la

figura 42 se puede ver el diagrama de flujo correspondiente. A continuación se analiza el

funcionamiento del bloque de cálculo de señal de control de cada GPC.

Modelado y control de un canal hidráulico Antonio Álvarez Romero

68

Figura 42. Diagrama de flujo del bloque de control

Para cada GPC, lo primero que se hace es recibir la salida correspondiente de la planta. Una

vez hecho esto, se toman las siguientes N muestras (con N el horizonte de predicción) de la

referencia y, si procediese (depende del modo de funcionamiento) las siguientes N muestras

de la evolución de el/los offtakes que se consideren perturbación para el cálculo de la señal de

control, en caso de haberlos. El siguiente paso es calcular la respuesta libre que incluye todas

las perturbaciones y que es necesaria en el cálculo de la señal de control. En concreto, esta

respuesta libre influye en el cálculo del vector b (ver ecuación (55)) y de las matrices R y C de

restricciones (ver ecuaciones (76) y (77)). Con la matriz H, calculada en (55), el vector b, la

matriz de restricciones R y el vector de restricciones C se puede invocar a la función quadprog

de Matlab para que resuelva el correspondiente problema QP y calcule la secuencia de control

óptima. De dicha secuencia, la primera muestra será la señal de control que se aplique a la

planta. Si el quadprog no es capaz de obtener un óptimo, se toma como señal a aplicar una

señal nula; eso quiere decir que se mantiene la misma acción de control de la muestra

anterior. En la figura 43 se puede analizar el diagrama de flujo del módulo de cálculo de señal

de control de los GPC.

Modelado y control de un canal hidráulico Antonio Álvarez Romero

69

Figura 43. Implementación del GPC: Módulo de cálculo de señal de control de GPC

Si las señales de control del GPC 1 y del GPC 2 son no nulas (es decir, si quadprog

encontró un óptimo), se entra en el módulo de control distribuido. En este módulo se aplica la

teoría vista en el punto 6.3 y el fin del mismo es que ambos controladores cooperen para

conseguir hacer más óptimas si cabe las dos señales calculadas.

Se parte de las señales ya calculadas, que son llamadas g() y g() (ver ecuación

(66)). A partir de ellas se obtienen las señales gj() y gj() (ver ecuación (67)). El siguiente

paso es el cálculo de las señales g∗y g∗ según las condiciones indicadas en las

ecuaciones (68) y (69) y siguiendo el esquema de perturbaciones mostrado en la figura 39.

Terminado este paso, se calculan las señales gwy gw según las condiciones mostradas

en (70) y (71).

Una vez se han obtenido gj, g∗, gw,gj, g∗ y gw, es hora de

evaluar la siguiente expresión:

# # # LhMh Nh \h]LhMh Nh \h 4MhMh LiMi Ni \i]LiMi Ni \i 4MiMi78 con:

∈ *gj, g∗, gw., ∈ *gj, g∗, gw.79 Esto da lugar a las 9 combinaciones que se muestran en la tabla 11. Se evalúan las 9

combinaciones y se escogen el y el que den lugar al menor valor de la función de coste J.

Estas son las señales que, junto con las ya calculadas para los otros 3 GPCs, se envían a la

planta. En la figura 44 puede verse el diagrama de flujo de este módulo, que resulta ser

completamente secuencial.

Modelado y control de un canal hidráulico Antonio Álvarez Romero

70

Figura 44. Implementación GPC. Módulo de control distribuido

6.7. Resultados obtenidos

El control GPC, pese a tener una implementación más costosa y una mayor carga

computacional logra un mejor seguimiento de referencias y rechazo de perturbaciones que el

control PID, dándose la mayor diferencia a la hora de evaluar el tiempo que se tarda en

alcanzar la consigna, bien ante cambio de referencia o bien ante perturbaciones. Se logran los

objetivos en tiempos hasta 3 veces inferiores que en el caso de control con PID. Dado que se

está tratando con sistemas muy lentos en su evolución como son los canales hidráulicos, estas

diferencias traducidas a tiempo son de días. El tener en cuenta perturbaciones medibles y la

aplicación de control distribuido mediante comunicación de controladores son saltos de

calidad notables frente al simple control PID descentralizado. La conclusión que se saca de los

resultados obtenidos es que merece la pena el coste en tiempo que supone programar un

control predictivo GPC para controlar el canal. En el apartado 7.2 se ven resultados de las

simulaciones que no hacen otra cosa sino apoyar esta afirmación.