Full text
Modelo lineal Gh11yGh12Lineal.mdl PI sin cambio de parámetros Pisimple.slx PI con cambio de parámetros controlp1p2if2.mdl Aplicación del control feedforward sobre el modelo Feedforwardcomp.slx Aplicación del control LQR sobre el modelo LQR01.m lqr04.mdl Base de datos Proyecto_MatrizRandSaturDEF.m proyecto03pto4.slx Método de mínimo índice de desempeño Proy_Script_Predict_min.m buscaptocercano3NminNmax.m calculoIDs.m proyectopredictivo01.slx Método de índices ponderados Proy_Script_Predict_abcd.m buscaptocercano3NminNmax.m calculoIDs.m proyectopredictivo01.slx Método mediante uso de programación lineal CPredictivoDEF.m buscaptocercano5N200.m calculoIDs.m funlinprog2.m proyectopredictivo01.slx Matrizmadrepto1N1000Sat.mat 1 trayectoria de ejemplo CPredictivo1trayectoriaDEF.m buscaptocercano5N200.m calculoIDs.m funlinprog2.m proyectopredictivo01.slx Matrizmadrepto1N1000Sat.mat 100 aleatorias valores medios CPredictivoDEF.m Estimación de M óptimo MoptimoDEF.m Aplicación al concurso predictivoconcurso.m buscaptocercano5N200.m calculoIDs.m funlinprog2.m proyectopredictivo01.slx Matrizmadrepto1N1000Sat.mat Matrizmadrepto4N1000Sat.mat Matrizmadrepto5N1000Sat.mat Matrizmadrepto6N1000Sat.mat
Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías Industriales Control Predictivo Basado en Datos. Aplicación a un Sistema de Cuatro Tanques. Dep. Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Autor: Vicente Simón Gómez Tutor: David Muñoz de la Peña Sequedo Sevilla , 2015
Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías Industriales Control Predictivo Basado en Datos. Aplicación a un Sistema de Cuatro Tanques. Autor: Vicente Simón Gómez Tutor: David Muñoz de la Peña Sequedo Profesor titular Dep. de Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2015
i Agradecimientos Mostrar mi agradecimiento al tutor David Muñoz por el tema facilitado y la ayuda prestada.
ii
iii Resumen En este proyecto se desarrolla la implementación de un controlador predictivo basado en datos (DbPC) que permite resolver el problema de seguimiento de un único punto objetivo sobre una planta formada por cuatro tanques. A diferencia de otras estrategias de control, ésta no usa un modelo, sino una base de datos para abordar el problema de seguimiento. En esta base de datos se almacena un histórico de las trayectorias llevadas a cabo por la planta de los cuatro tanques en bucle cerrado usando diferentes controladores. Con vistas al análisis y a la validación del método empleado se aplican diferentes simulaciones sobre la planta de cuatro tanques y éstas se comparan con los resultados obtenidos por las diferentes estrategias de control que se han utilizado para generar la base de datos.
iv
1 1. Introducción 1.1 Objetivo del proyecto Se nos presenta el objetivo de resolver de un problema de control para un sistema del cual no es posible obtener un modelo aproximado o preciso debido a que dicho sistema presenta una dinámica difícil de identificar. La solución que se presenta es la obtención de un controlador predictivo basado en una base de datos (DbPC) de dicho sistema en lugar del modelo del mismo. En esta base de datos estaría recogido el comportamiento de dicho sistema a lo largo de un periodo de tiempo t suficientemente grande que nos ayude a predecir los valores de los actuadores sin necesidad de un modelo. Como paso previo a la implementación del control predictivo basado en datos sobre un sistema desconocido se opta por validar el algoritmo sobre un sistema cuyo modelo haya sido previamente estudiado y sea conocido. Como primer paso para saber si DbPC ser extrapolable o no a un sistema cuya dinámica se desconozca en este proyecto se aborda exclusivamente el problema de seguimiento para alcanzar un único punto objetivo haciendo uso del DbPC sobre el modelo de los cuatro tanques. Así pues para aplicar nuestro DbPC se establece que en cada base de datos se encuentren almacenados todas las trayectorias que convergen a un único punto objetivo de tal forma que para alcanzar i puntos de referencias harían falta tener i bases de datos. En una ampliación del trabajo habría que resolver el problema de seguimiento para cualquier alcanzar cualquier punto objetivo con el uso de una base de datos que recoja el conjunto de puntos objetivo.
2 1.2 Definición del proyecto Los pasos que se han llevado a cabo para alcanzar nuestros objetivos se puede dividir en tres bloques: 1. Estudio de la planta de los cuatro tanques e implementación de diferentes estrategias de control 2. Creación de una base de datos 3. Control predictivo basado en datos En primer lugar, se obtiene a partir de las ecuaciones diferenciales del modelo de la planta de los 4 tanques el modelo no lineal del sistema. A continuación, se calcula el modelo lineal entorno a un punto de funcionamiento como base de partida del estudio de controladores en bucle cerrado. Luego, se aplican diferentes estrategias de control, primero sobre el modelo lineal y más tarde sobre el modelo no lineal, que resolverán el problema de seguimiento en bucle cerrado para alcanzar un único punto objetivo. En segundo lugar, se genera una base de datos estática donde se almacena un histórico de las trayectorias llevadas a cabo por la planta de los cuatro tanques en bucle cerrado con los diferentes controladores durante un periodo de tiempo t. Estas trayectorias son generadas haciendo uso del modelo no lineal del sistema. Este paso intenta emular lo que en la práctica se trataría de datos que se han ido almacenando a lo largo de los años en la planta real. En tercer lugar, se programa un control predictivo basado en datos (DbPC) que nos permite resolver el problema de seguimiento a partir de los datos proporcionados por trayectorias almacenadas en la base de datos ya generada. En este bloque se detalla cómo se ha llegado a obtener dicho controlador y se describen los puntos más importantes del algoritmo utilizado. Finalmente, una vez programado el DbPC se pasa a validar y analizar dicho controlador comparándolo con las diferentes estrategias de control que han servido como partida de la base de datos. Por último, se aplica el DbPC al concurso de la CEA como base para comprobar las prestaciones de dicho controlador.
3 2 Modelo de los cuatro tanques 2.1 Descripción de la planta de los cuatro tanques [CEA] La planta de los cuatro tanques es una implementación de la planta propuesta por Karl H. Johansson en el artículo titulado “The quadruple-tank process”, publicado en la revista IEEE Transactions on Control Systems Technology, vol 8 (2000). Esta planta ha sido ampliamente usada como planta de laboratorio debido a su interés como problema de control y su sencillez de construcción y uso. En la figura 1.1, que se muestra a continuación, se ilustra el esquema de la planta de Johansson. Ésta consta de cuatro depósitos, dos inferiores (tanques 1 y 2) y dos superiores (tanques 3 y 4) que desaguan en los tanques inferiores. Los tanques se llenan con dos bombas que impulsan sendos caudales a q y b q desde el depósito colector situado en la parte baja de la planta. Estos caudales entran en sendas válvulas de tres vías que dividen el caudal entre dos ramas, de forma que una fracción (denominadas a y b ) se envía por una de las ramas y el resto por la otra. Las fracciones a y b se indican en tanto por uno y se fijan manualmente mediante la apertura de dichas válvulas. De esta forma, el caudal aa q entra en el tanque 1 y el caudal (1 ) aa q entrará en el tanque 4. Del mismo modo, el caudal bb q entra en el tanque 2 y el caudal (1 ) bb q entrará en el tanque 3. El tanque 3 se descarga sobre el tanque 1 y este sobre el depósito colector. El tanque 4 se descarga sobre el 2 y este en el tanque colector. Fig 1.1. Esquema de la planta de Johansson
4 Esta planta es multivariable pues presenta dos variables manipulables a q y b q. Típicamente, las variables que se desean controlar son el nivel de líquido en los depósitos inferiores. La dinámica de esta planta puede presentar ceros de transmisión según los valores dela apertura de las válvulas de tres vías, a y b . Asimismo, la planta presenta una dinámica no lineal y se describe bien mediante un modelo de orden cuatro basado en primeros principios. Además la planta presenta restricciones en las actuaciones (caudales máximos y mínimos) y en las variables del proceso (niveles máximos y mínimos en los depósitos). Modelo de la planta de los cuatro tanques El modelo de la planta de Johansson se puede derivar de primeros principios. Este modelo viene dado por las siguientes ecuaciones diferenciales 1 1133 2 2244 3 33 4 44 22 3600 22 3600 21 3600 21 3600 a a b b b b a a q dh Aaghagh dt q dh Aaghagh dt dh q Aagh dt q dh Aagh dt (2.1) en las i h que denota el nivel de líquido en el tanque i. Este nivel se mide en metros. Los caudales de cada rama medidos en metros cúbicos por hora se denotan a q y b qy son variables manipulables. El parámetro i a es la sección equivalente del orificio de descarga del depósito i y la sección de todos los tanques es igual y se denota por A. Las secciones se miden en metros cuadrados. Los parámetros a y b indican la apertura de la válvula de tres vías. La unidad de tiempo del modelo es segundos. Como se explicó anteriormente, la planta real presenta dinámicas inmodeladas en los caudales de alimentación de los tanques así como incertidumbres y ruidos en las medidas que no están presentes en el modelo de primeros principios. Además la actualización del valor de las variables manipulables que se aplicarán y la actualización de las medidas de los sensores se realiza cada cinco segundos.
5 2.2 Cálculo del modelo del sistema 2.2.1 Modelo no lineal A partir de las ecuaciones diferenciales que se nos presenta en el modelo de la planta de Johansson se crea un modelo no lineal haciendo uso del Álgebra de Bloques, que permite operar con sistemas dinámico de forma algebraica. 1 1133 2 2244 3 33 4 44 22 3600 22 3600 21 3600 21 3600 a a b b b b a a q dh Aaghagh dt q dh Aaghagh dt dh q Aagh dt q dh Aagh dt (2.1) Fig 1.2. Esquema de simulink del modelo no lineal de la planta de los cuatro tanques
6 Cabe señalar que cuando simulemos las diferentes estrategias de control sobre el modelo no lineal en bucle cerrado debemos saturar tanto las entradas como las salidas, ya que tanto las válvulas como los depósitos tienes unas restricciones de operación. 0.2 1.2 i mh m 1, 2, 3, 4i (2.2) 33 02.5 z mm q hh ,zab 2.2.2 Modelo lineal Una vez hemos obtenido el modelo no lineal calculamos el modelo lineal entorno a un punto de funcionamiento. Para ello calculamos las funciones de transferencia que relacionan las entradas a b qyqcon las salidas 1 2 hyh por medio de la respuesta en escalón. 11 12 21 22 3 4 0 0 HH HH H H GG GG GG G (2.3) Fig 1.3. Modelo lineal del sistema de la planta de los cuatro tanques 12H G 21H G 22H G 3H G 4H G 11H G 0 b q a q b q 0 a q a q b q 1 h 0 1 h 1 h 2 h 0 2 h 2 h 3 h 0 3 h 3 h 4 h 0 4 h 4 h
7 Al tratarse de un sistema multivariable con el objetivo de obtener G pasamos a identificar un modelo de primer orden que relacione cada una de las entradas con cada una de las salidas. De esta forma llegaremos a un modelo de primer orden de la forma: 1 H H H K G s (2.4) Se procede de la siguiente forma. Aplicamos un escalón sobre una de las entrada q haciendo que permanezca la otra entrada constante y obtenemos K y a partir de la evolución de 1 h, 2 h, 3 h y 4 h. 1. Para calcular 11H Gaplicamos un escalón sobre a q: a qcte y b qcte 11 11 11 1 H H H K G s (2.5) donde H K se obtiene observando el régimen permanente de la salida respecto la entrada k i ij jucte y K kj u (2.6) 1.05 0.95 11 2 H KK K (2.7) 1 1.05 a h y Kuq (2.8) 1 0.95 a h y Kuq (2.9) mientras que H se calcula estudiando el régimen transitorio. Esta constante de tiempo se observa en la gráfica de h a partir del cálculo previo del 63% del incremento final de la salida sumado el valor previo al incremento. 1.05 0.95 11 2 H (2.7) donde 0 1.05 1 1 0.63 hh (2.8) 0 0.95 1 1 0.63 hh (2.9) De la misma forma se procede para el cálculo de del resto de componentes de G 2. Para calcular 12H G aplicamos un escalón sobre b q: a qcte y b qctey observamos la evolución de 1 h
8 3. Para calcular 21H G aplicamos un escalón sobre a q: a qcte y b qctey observamos la evolución de 2 h 4. Para calcular 22H G aplicamos un escalón sobre b q: a qcte y b qctey observamos la evolución de 2 h 5. Para calcular 3 H G aplicamos un escalón sobre b q: a qcte y b qctey observamos la evolución de 3 h 6. Para calcular 4 H G aplicamos un escalón sobre a q: a qcte y b qctey observamos la evolución de 4 h Si calculamos los modelos de primer orden en torno al punto de trabajo 1 2 3 4 0.5955 0.6616 0.5384 0.7682 h h h h 1.7602 1.8072 a b q q Llegamos a la expresión 0.2216 0.4427 1 79.2 1 199 0.4733 0.2706 1218.5 1 72.65 0.596 0 1107 0.872 0 1 202.5 H s s s G s s s (2.10)
9 Fig 1.4. Esquema de simulink del modelo lineal de la planta de los cuatro tanques 3 Aplicación de controladores al sistema 3.1 Resumen de las diferentes estrategias de control En este apartado se trata de describir las diferentes estrategias de control que se han aplicado sobre el modelo de la planta de los 4 tanques en bucle cerrado con el fin de crear a posteriori una base de datos. Los controladores que se han aplicado son: 1. Control proporcional (P) 2. Control proporcional integral (PI) 2.2.1 PI (Sin cambio de parámetros) 2.2.2 PI (Con cambio de parámetros) 3. Control anticipativo (feedforward) 4. Sistema regulador óptimo cuadrático, LQR (linear-quadratic regulator) Tabla 3.1. Resumen de los diferentes controladores implementados sobre la planta de los cuatro tanques
10 3.2 Control de procesos multivariables [1, PP 185-188] Antes de pasar a la descripción de cada uno de los controladores debemos saber que se trata del control de procesos multivariables. Si utilizamos técnicas SISO en estos sistemas puede llevar a rendimientos muy pobres fundamentalmente por las interacciones existentes entre las diversas entradas y salidas. Esto es así porque una entrada puede afectar a más de una salida y porque una salida puede depender de más de una entrada. El mejor método para abordar los problemas de control en sistemas multivariables comienza por evaluar las interacciones entre entradas y salidas a fin de poder establecer los mejores emparejamientos posibles entre entradas y salidas. Como se verá, al usar controladores SISO en sistemas multivariables, se obtienen mejores rendimientos si las entradas se emparejan con las salidas correctas El problema de la dependencia de las entradas y salidas se reduce a la relación de las salidas 1 h y 2 h con las entradas a q y b q, ya que 3 h queda definida por b q y 4 h por b q. Emparejamientos Base de datos Controlador 1a hq Proporcional Si PI (con cambio de parámetros) Feedforward LQR PI (sin cambio de parámetros) 2b hq 1b hq 2a hq 1b hq 2a hq No Si 1a hq 2b hq No 1 2 3 4 a b h q h q h h Si
17 1 0.2216 0.4427 1 79.2 1 199 0.4733 0.2706 1218.5 1 72.65 0.596 0 1107 0.872 0 1 202.5 H s s s G s s s 2 0.245 0.49 1 86 1 215 0.525 0.3 1 243 1 80 0.66 0 1 118 0.965 01 147 H s s s s G s s (3.15) Y por cancelación dinámica el conjunto de controladores PI 1 1 1 199 (s) 2.5 199 s C s 1 2 1218.5 (s) 2.5 218.5 s C s 2 1 1 215 (s) 3 215 s C s 2 2 1243 (s) 3 243 s C s (3.16) Se designa a 1 1 C y 2 1 C al conjunto de controladores que están diseñados para alcanzar 1 ref h y 2 1 C y 2 2 C para 2 ref h. En la siguiente figura 3.6 se muestra el experimento que se quiere simular. Partiendo de un estado inicial 4 0 h siendo 001020304 ,,,hhhhh y alcanzar 4 ref hsiendo 1234 ,,, ref ref ref ref ref hhhhh. Por un lado se hace uso de un único conjunto de controladores 1 1 C y 2 1 C (azul) y por otro dos conjunto de controladores 1 1 C y 2 1 C,2 1 C(azul) y 2 1 C(rojo) para alcanzar dos puntos de referencia. Fig 3.6. Problema de seguimiento (por simplicidad en la representación las figuras se representan en 2 con 1 h y 2 h, sin embargo se trata de 4 con 1 h,2 h, 3 h y 4 h ) 1 h 1 1 C 2ref h 2 t 1 t 2 h 1ref h 1 2 C 1 1 C 1 2 C 2 1 C 2 2 C n t 1n t 0 h
18 Fig 3.7. Esquema de simulink de la implementación de dos conjuntos de controladores PI,tal que 1 1 C (antes de 1200 seg.) y 2 1 C (a partir de 1200 seg.)
19 Fig 3.8. Comparativa de 1 h y 2 h usando 1C G y 2C Gcon y sin cambio de parámetros A simple vista observando la figura 3.8 no podríamos decir que el conjunto de controladores 2 1 Cno puede alcanzar 2 ref h, de hecho no existen grandes diferencias entre las trayectorias de 1 1 C y 2 1 C. Por ello, en términos generales, no haría falta crear diferentes controladores PIs para alcanzar diferentes puntos objetivos, ya que la componente integral compensa los errores en régimen permanente y alcanza el punto objetivo. 3.6 Control anticipativo (feedforward) 3.6.1 Principios del control anticipativo [1, PP 181-184] La idea básica del control anticipativo (también llamado control en adelanto o control por prealimentación (feedforward)) es la de medir las perturbaciones que inciden sobre la salida y actuar sobre el proceso inmediatamente, sin esperar a que dichas perturbaciones afecten a la salida (variable controlada). Para ello se utiliza un modelo del efecto de la perturbación sobre la salida para poder compensarlo. Usando un modelo de la planta y un modelo de las perturbaciones que afectan a la salida, se tendría la tentación de pensar que sería posible un control perfecto sin necesidad de realimentar la variable controlada. Esto sería así porque el control 0500100015002000 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 t h1 0500 1000 1500 2000 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 t h2 Con cambio de parámetros Sin cambio de parámetros
20 anticipativo no tendría que esperar a que hubiese error para empezar a corregirlo. En la práctica esto no funciona por las siguientes razones: No es posible medir todas las perturbaciones que afectan a la salida. Siempre existirá un error en la medida de las perturbaciones. El modelo del proceso y el de las perturbaciones siempre tendrá errores de modelado. A veces el controlador anticipativo resultante no es realizable. Esto sucede cuando el retraso entre la perturbación y la salida es inferior al que hay entre la salida y la entrada. El esquema clásico que presenta este controlador es: Fig 3.9. Sistema con perturbación a la salida controlado con un controlador anticipativo con control realimentado 3.6.2 Aplicación del control feedforward sobre la planta de los cuatro tanques En este apartado se intenta abordar el problema del control de la planta de los cuatro tanques tomando 1 h que dependa de a qy 2 h de b qy el caudal tomar el caudal que desagua desde los depósitos superiores 3 y 4 en los inferiores 1 y 2 como perturbación. Con el fin de resolver este problema aplicamos los principios del controlador anticipativo (feedfoward). En el caso de la planta de los 4 tanques conocemos las perturbaciones, ya que existen sensores que miden tanto 3 h como 4 h y a partir de esos datos podemos obtener el caudal que desagua desde los depósitos superiores 3 y 4 en los inferiores 1 y 2. Así pues intentamos compensar los incrementos de las perturbaciones actuando de la siguiente forma: 11H G 1 ()hs C G 1 () R s F F G () D s D G
21 3 3 q q a a h h 4 4 q q b b h h (3.17) Fig 3.10. Esquema de simulink del control feedforward de la planta de los cuatro tanques realimentado Sin embargo, esta compensación de las perturbaciones no consigue que se alcance el punto objetivo por lo que no parece suficiente para que pueda controlar este sistema, tal y como se muestra el figura 3.21.
22 Fig 3.21. Comparativa de las salidas 1,h2 hde la planta de los cuatro tanques controlado por un controlador feedforward y un controlador integrativo en bucle cerrado 3.7 Regulador óptimo cuadrático LQR 3.7.1 Introducción al control óptimo LQR [1, PP 119,120] En este apartado nos centraremos en el caso particular del control LQR con horizonte infinito, también conocido como LQR de régimen permanente. Las estrategias de control óptimo calculan la ley de control de manera que se optimiza una cierta medida del rendimiento del controlador. Se parte de un sistema descrito por (1) () (k) x kGxkHu (3.18) 0500 1000 1500 0.4 0.5 0.6 0.7 0.8 0.9 1 t h1 0500 1000 1500 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 t h2 Href PI h1-qa h2-qb feedforward
23 El objetivo es calcular una ley de control u(k) = -Kx(k) (3.19) de tal manera que se minimiza el funcional (que expresa un índice de funcionamiento) ** k=0 1 J= x(k)Qx(k)+u(k)Ru(k) 2 (3.20) siendo Q y R matrices de ponderación que cumplen que *0QQ , *0RR Nótese que este índice de funcionamiento pondera la diferencia entre el estado y el origen el instante inicial, hasta un tiempo infinito. Por tanto, cuanto más rápido se llegue al origen menor valor de J se tendrá. Esto implica que al minimizarse J, se encontrará la ley de control que lleva el estado al origen más rápidamente y manteniéndolo siempre lo más cerca posible del origen. Por otra parte, se observa que en el funcional hay otro término que pondera el valor de la secuencia de señales de actuación. Este término impide que se obtenga una ley de control que lleve el estado al origen a expensas de una actuación muy grande. Al minimizarse J, por tanto, se conseguirá una ley de control que por una parte acerque el estado al origen lo más rápido posible, pero manteniendo un nivel de actuaciones moderado, encontrándose por tanto, una solución de compromiso entre el rendimiento del controlador y su nivel de actuación. El sentido de este compromiso puede venir dictado por diferentes razones, como por ejemplo moderar el gasto de energía o combustible necesario para proporcionar la señal de actuación. Existen razones más sutiles pero no por ello menos importantes para incorporar esta ponderación del esfuerzo de control. Por ejemplo, cuando existen discrepancias entre el modelo del sistema y su dinámica real (algo que ocurre casi siempre, pues los modelos matemáticos no pueden recoger todas las complejidades de los sistemas o procesos reales) esta ponderación del esfuerzo de control resulta en un sistema más estable. Para calcular la ley de control que minimiza el índice se define una matriz P que satisface la siguiente ecuación de Riccatti: ** *-1* P = Q+ G PG- G PH(R+ H PH) H PG (3.21)
24 La solución de esta ecuación es una matriz P que es hermética y definida positiva. Se demuestra que la matriz *-1* K=(R+HPH) HPG (3.22) es la que minimiza el índice J mediante la ley de control *1* () (R PH) (k)uk H HPGx (3.23) La ecuación de estado del sistema en bucle cerrado será por tanto: 1* 1 (1)(IHRHP) () x kGxk (3.24) 3.7.2 Aplicación del control LQR a la planta de los cuatro tanques [OGATA,98] Partiendo del modelo en el espacio de estado x Ax Bu yCxDu (3.25) Donde 11 22 33 44 xh xh xh xh 11 22 33 44 x h x h x h x h 1 2 a b q u q u (3.26) Llegamos a 131 1 242 2 ** 33 3 44 4 000 0 00 11 01 00 0 3600 10000 a ba bb b AA h h q AAh h q Ah AA h Ah h (3.27) Siendo la sección de todos los tanques 2 ii i A agh 1, 2,3, 4i y *0.03A Siendo las componentes del espacio de estado 13 24 * 3 4 00 00 1 00 0 000 AA A A AA A A * 0 0 1 01 3600 10 a b b b BA (3.28)
25 4000 0 0 0 0 4000 0 0 000.10 0000.1 Q 10 0 010 R (3.29) Usamos la función de lqr de la librería de Matlab para resolver este problema 1(,,,);KlqrABQR (3.30) En la implementación que se ha realizado sobre la planta de los 4 tanques podemos observar que se ha obliga a que se alcance de manera más rápida los valores de referencia de las alturas de los depósitos en detrimento del valor de los caudales al ponderar con valores más altos las componentes de Q que R. El controlador para el punto de funcionamiento 1234 0.5955, 0.6616, 0.5384, 0.7682hhhh 1.7602, 1.8072 ab qq 11.6042 6.6845 4.3096 3.5267 7.1535 13.6119 4.1264 2.9397 C K (3.31) Fig 3.22. Esquema de simulink del esquema de control del controlador LQR en bucle cerrado Hay que señalar que mientras en el controlador proporcional o el proporcional integrativo no intervienen el error de 3 h y 4 h , ya que sólo nos servíamos del 111 ref eh h y 222 ref eh h , en el controlador LQR a q y b q dependen de 1 h , 2 h , 3 h y 4 h .
26 En la figura 3.23 se muestra el comportamiento del controlador LQR ante un problema de seguimiento para alcanzar dos puntos objetivos. El primero se trata del punto de funcionamiento para el que ha sido implementado y el segundo un punto de equilibrio cercano. Se observa que para el primer caso no tiene error en régimen permanente, mientras que en el segundo por el contrario sí. Presenta este error debido a que dicho controlador no tiene un factor integral que acumule los errores y de esta forma corregirlos. Fig 3.23. Representación de las salidas 1,h 2,h3 h y 4 hde la planta de los cuatro tanques controlado por un controlador LQR en bucle cerrado 0500 1000 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 t h1 0500 1000 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 t h2 0500 1000 0.5 0.55 0.6 0.65 0.7 0.75 0.8 t h3 0500 1000 0.6 0.7 0.8 0.9 1 t h4
33 Uso explícito de un modelo para predecir la salida del proceso en futuros instantes de tiempo (horizonte). Cálculo de las señales de control minimizando una cierta función objetivo. Estrategia deslizante, de forma que en cada instante el horizonte se va desplazando hacia el futuro, lo que implica aplicar la primera señal de control en cada instante y desechar el resto, repitiendo el cálculo en cada instante de muestreo. Los distintos algoritmos de MPC difieren entre sí casi exclusivamente en el modelo usado para representar el proceso y los ruidos y en la función de coste a minimizar. Aunque las diferencias puedan parecer pequeñas a priori, pueden provocar distintos comportamientos en bucle cerrado, siendo críticas para el éxito de un determinado algoritmo en una determinada aplicación. El MPC presenta una serie de ventajas sobre otros métodos, entre las que destacan: Resulta particularmente atractivo para personal sin un conocimiento profundo de control, puesto que los conceptos resultan muy intuitivos, a la vez que la sintonización es relativamente fácil. Puede ser usado para controlar una gran variedad de procesos, desde aquellos con dinámica relativamente simple hasta otros más complejos incluyendo sistemas con grandes retardos, de fase no mínima o inestables. Permite tratar con facilidad el caso multivariable. Posee intrínsecamente compensación del retardo. Resulta conceptualmente simple la extensión al tratamiento de restricciones, que pueden ser incluidas de forma sistemática durante el proceso de diseño. Es muy útil cuando se conocen las futuras referencias (robótica o procesos en o batch). Es una metodología completamente abierta basada en algunos principios básicos que permite futuras extensiones. Pero, lógicamente, también presenta inconvenientes. Uno de ellos es la carga de cálculo necesaria para la resolución de algunos algoritmos. Pero quizás el mayor inconveniente venga marcado por la necesidad de disponer de un modelo apropiado del proceso. El algoritmo de diseño está basado en el conocimiento previo del modelo y es independiente de éste, pero resulta evidente que las prestaciones obtenidas dependerán de las discrepancias existentes entre el proceso real y el modelo usado.
34 5.1.3 Diferencias básicas del MPC y DbPC Tanto el MPC como el DbPC comparten una misma estrategia de control (fig 5.1), esto es, ambos controladores predictivos toman como entrada las referencias y las medidas de los sensores del sistema a controlar y genera un salida que son los valores de los actuadores del sistema. Fig 5.1. Esquema de control de controlador predictivo Asimismo existen ideas que se presentan que la familia de controladores predictivos que comparten tanto el MPC como el DbPC. Éstas son el cálculo de las señales de control minimizando una cierta función objetivo y el uso de una estrategia deslizante, de forma que en cada instante el horizonte se va desplazando hacia el futuro, repitiendo el cálculo en cada instante de muestreo. En la figura 5.2 se muestran los dos esquemas de control de ambos controladores. La diferencia más notable es que el controlador MPC hace uso del modelo del sistema, mientras que el DbPC de una base de datos. Del mismo modo el MPC utiliza el modelo para predecir la salida del proceso a lo largo de un intervalo de tiempo de muestreo futuros y toma normalmente sólo la primera componente de los controladores futuros como valor en el actuador del sistema. Mientras tanto el DbPC almacena en su base de datos las trayectorias de las cuales toma una solución óptima dependiendo del estado actual y de la referencia que queramos alcanzar. El problema del DbPC es qué conjunto de trayectorias se ha de tomar bajo estudio para obtener un valor de actuadores óptimos. Control Predictivo Planta de 4 tanques ()rt ()ut () y t
35 Fig 5.2. a) Esquema de MPC b) Esquema de control predictivo basado en datos 5.2 Principio del controlador predictivo basado en datos El control predictivo mediante base de datos es una estrategia de control que nos permite resolver el problema de seguimiento a partir de los datos proporcionados por trayectorias almacenadas en una base de datos. Como hemos explicado en el apartado X (bloque de la base de datos) esta base de datos guarda los históricos del comportamiento en bucle cerrado de varios controladores que resuelven el problema de seguimiento. En primer lugar, se parte de un estado inicial 4 0 h , siendo 001020304 ,,,hhhhh , y queremos llevar el sistema al punto de operación que hemos definido como 4 ref h siendo 1234 ,,, ref ref ref ref ref hhhhh y ** , ab qq . Luego, el estado actual, que parte del estado inicial, se actualiza cada instante de muestreo con el objetivo de obtener los valores óptimos de los actuadores y alcanzar referencias deseadas en nuestro problema de seguimiento. El algoritmo sobre el que se ha implementado el controlador busca trayectorias de una duración de T periodos (horizonte temporal) a partir de un estado inicial 4 i h siendo 1234 ,,, i hhhhh próximo al estado actual. Es importante señalar que este conjunto de estados iniciales próximos al estado actual pertenecen a las trayectorias almacenadas en la base de datos. A partir de ahora llamaremos trayectorias candidatas “i” a aquellas que parten de estado inicial i h i = 1,...,Nsiendo Nel número total de trayectorias candidatas bajo estudio. También es importante señalar que se restringe que entre las i h no haya dos estados iniciales que pertenezcan a la misma trayectoria. Para ilustrar dicho proceso se muestra la siguiente figura 5.3 que para alcanzar 4 ref h desde el punto 4 0 h es necesario el cálculo en cada instante de tiempo t de los valores de los actuadores a q y b q . Asimismo se representa los estados actuales de h 1 ,..., n tt y el estado inicial 0 h de la trayectoria de nuestro controlador predictivo. M odelo Salidas p redichas E ntradas y salidas p asadas y actuales Trayectorias de referencia futuras Función de coste Restricciones Optimizador Controles f uturos E rrores f uturos Salida actual Base de datos Función de coste Restricciones Optimizador E ntrada f utura )a )a )b Trayectorias de referencias futuras
36 Fig 5.3. Problema de seguimiento (por simplicidad en la representación las figuras se representan en 2 con 1 h y 2 h , sin embargo se trata de 4 con 1 h, 2 h, 3 h y 4 h) Una vez obtenidas dichas trayectorias que distan como máximo al estado actual se calcula el índice de desempeño asociado a cada trayectoria candidata “i”. El índice de desempeño se calcula como: * 0 () ( ((),(),(),)) ()) ((), ())) T i ID t J h q c p J c p d (5.1) En la que va desde 0 hasta T siendo T el horizonte de predicción y la función i J es el coste de etapa para el caso del problema de los 4 tanques, es decir, el coste de operación en un periodo de muestre definido como: 22 12 ( , , , ) () min iiaib ii V J h q c p q c q p i = 1,...,N Ah h (5.2) Y siendo * J el coste correspondiente al punto objetivo ref q. Esta función que mide la bondad de la trayectoria y nos sirve como base para calcular un nuevo controlador. Hay que insistir en la idea de que este índice de desempeño se calcula en línea y no se encuentra almacenado en la base de datos. De hecho Tes un parámetro que podemos cambiar. A continuación haciendo uso del valor de los índices de desempeño y distancia que existe entre el estado actual del sistema y el estado inicial de cada trayectoria decidimos la acción actual. Por último, aplica la acción actual de los actuadores sobre el sistema y actualiza tanto el valor del estado actual como el de los actuadores en cada periodo de muestreo t. 1 h 2 h 0 h ref h 2 t 1 t 1n t n t 1 i h 2 i h 1N i h N i h
37 Para mostrar dicho algoritmo se presenta la figura 5.4 donde se muestre el esquema de control predictivo basado en base de datos. Como particularidad hay que señalar que en esa figura se muestra el caso donde se aplica programación lineal en el controlador para la búsqueda de una solución factible a nuestro problema, representado en la figura por el bloque de “Solución óptima: Minimiza el índice de desempeño”. No obstante, es posible que no sea una solución factible y se tenga que aumentar el número de trayectorias cercanas candidatas al estado actual. Una vez se obtenga una solución factible se calculará la acción futura. Fig 5.4. Esquema de control predictivo basado en base de datos 5.3. Algoritmos de resolución En los próximos apartados se presentarán tres métodos diferentes que se han llevado a cabo en la programación del controlador predictivo basado en base de datos. Estos son: Método de mínimo índice de desempeño Método de índices ponderados Método mediante uso de programación lineal 5.3.1 Método de mínimo índice de desempeño El método de mínimo índice de desempeño () I D , como su propio nombre indica, consiste en tomar el valor de los actuadores a q y b q de aquel punto que haga min i J y si i d , siendo 0 || || ii dhh y siendo 4 0 , i hh . i h (estado inicial). Se escoge la trayectoria i con un coste mínimo de entras las trayectorias que distan como máximo al estado actual. El parámetro se calcula como la distancia que hace que 4 S tenga un número de puntos N entre min max NNN . Así pues, en nuestro experimento se establecen min 200N y min 1000N. En resumen: min i I D s.a min max NNN (5.3) i d 1, 2...iN B usca trayectorias cercanas al estado actual Í ndice de desempeño Salida actual B ase de datos Función de coste R estricciones Cálculo del índice de desempeño de cada trayectoria E ntrada f utura Solución óptima : M inimiza el índice de desempeño no factible f actible Trayectorias de salidas
38 El criterio de decisión que utiliza este algoritmo es exclusivamente el índice de desempeño asegurando que haya un número determinado de puntos en el conjunto S . Podemos decir que al no incluir la distancia como variable de decisión el controlador tomará siempre el valor de los actuadores con menor ID, pero es muy probable que no esté cerca del punto de trabajo y lleve a nuestro sistema a otro punto no deseado. Este problema se intenta reducir al restringir los puntos entre min N y max N haciendo que el conjunto de puntos que analiza no estén muy alejados y sea una muestra suficiente. Otro paso importante para obtener las trayectorias candidatas es elegir . Para determinar se utiliza el siguiente algoritmo. En primer lugar, resolvemos un problema de aproximación (fig 5.5) haciendo el doble cuando min N<N o la mitad cuando max NN . No obstante para obligar a su vez que min max NNN debemos aplicar además otro método para el caso de que dos consecutivos sean uno 1min N<N y otro 2max NN. Este segundo método es el de la bisectriz que divide aquella mayor cuando max NN y aquella menor al ser min N<N , en la figura 5.6 A y B respectivamente, de manera iterativa hasta que min max NNN . También cabe la posibilidad en el método de las aproximaciones max , es decir, buscaría puntos para trayectorias candidatas “i” demasiado alejado de su estado actual. En nuestro sistema hemos establecido max 0.64 , ya que [0,1.4]h . En ese caso se opta por tomar el valor de los actuadores con menor índice de desempeño. Esto se da sólo cuando los tanques parten de alturas muy diferentes, esto es, cuando dos de los tanques se encuentran totalmente llenos y los restantes vacíos. Fig 5.5. Método de aproximaciones 4 1 1 h 2 h 0 h max 1 () 0N 4 () 8N
39 Fig 5.6. Método de la bisectriz Fig 5.7. Algoritmo de búsqueda del mínimo ID En la figura 5.7 se muestra el conjunto S que ,..., iN JJS ( i J Costes asociados a las trayectorias candidatas “i”) donde i d siendo min max . Para aclarar esto se indica que A . Cabe decir que estos parámetros cambian dependiendo de la densidad de puntos de la base de datos que estemos tratando. Para llevar a cabo la búsqueda de estados iniciales próximos se puede optar entre varias posibilidad como la norma infinito fig 5.8.a y 5.8.b la norma euclídea. En nuestro caso se ha optado por norma euclídea. 1 2 3 4 0 A B 0 C B 0 A C A B 0 C 0 B A C 1Caso 2Caso min N <N max N >N max max max max max 1 h 2 h 0 h C B A min max N <N<N min N max N min N max N min N max N min N max N 1 h 2 h min max A S 1 J 2 J 4 J N J 5 J 1 h 2 h 3 d 2 d 1 d 4 d n d 5 d 0 h 2 J
40 Fig 5.8. Diferentes modos de búsqueda de estados iniciales Hay que señalar que para la obtención de los estados iniciales próximos a nuestro estado actual en nuestro algoritmo se toman varias restricciones que condicionan el funcionamiento de dicho controlador. Por un lado, hay asociado un único estado inicial a cada trayectoria, ya que si no hacemos esta restricción se puede llegar al caso que aun teniendo min max NNN siendo min 200N y min 1000N , en realidad, se analicen únicamente tres o cuatro trayectorias diferentes. Por otro lado, se analizan exclusivamente aquellas trayectorias pertenecientes a los estados iniciales cuyo horizonte de predicción no sobrepase el tiempo total de cada simulación almacenada desde el punto de trabajo actual. Por último, recalcar que sólo se calcula el ID sobre una única trayectoria, en otras palabras, una vez se escoja el i h , se aplica la acción de control de esa trayectoria y se descartan las demás. k ki q=q k=1,2 (5.4) Fig 5.9. Esquema del control predictivo basado en base de datos con método de mínimo ID b ) 1 h 2 h 1 h 2 h )a B usca trayectorias cercanas al estado actual Í ndice de desempeño Salida actual B ase de datos Función de coste Cálculo del índice de desempeño de cada trayectoria E ntrada f utura M ínimo índice de desempeño Trayectorias de salidas
41 5.3.2 Método de índices ponderados Este método está basado en el del mínimo desempeño salvo que no toma el valor del actuadores del punto con menor ID, sino de los cuatro puntos con menor ID aplicando una ponderación que penaliza más a los puntos con mayor coste y pondera de modo ventajoso a aquel con menor ID. Así pues se llega a que: min IDi s.a min max NNN (5.5) i d 1, 2...iN De estas 4 trayectorias con menos índice de desempeño se hace una media ponderada en función de su coste se tiene una solución explícita que se llega de la siguiente forma: Donde 4 1 1 n i i (5.6) 1234 1 min 2 min 3 min 4 minkkkkk qIDqIDqIDqIDq 1,2k (5.7) 1 2i kN i i I D N I D 1, 2,3, 4k (5.8) Con este método se intenta mitigar algunos problemas que presentaba el anterior controlador, ya que a veces oscilan mucho los valores del actuador al encontrarse dos puntos óptimos consecutivos alejados y cercanos respectivamente del punto de trabajo. De esta forma la respuesta se suaviza, aunque no mejora en gran medida a su precedente. 5.3.3 Método mediante uso de programación lineal La programación lineal es un procedimiento o algoritmo matemático mediante el cual se resuelve un problema indeterminado, formulado a través de un sistema de inecuaciones lineales, optimizando la función objetivo, también lineal. Consiste en optimizar (minimizar o maximizar) una función lineal, en nuestro caso minimizar, denominada función objetivo, de tal forma que las variables de dicha función estén sujetas a una serie de restricciones que expresamos mediante un sistema de inecuaciones lineales. [5]. En nuestro caso haremos uso de la programación lineal para obtener una combinación convexa de los estados iniciales para obtener un menor coste medio. Nuestro objetivo es minimizar el coste medio obtenido a partir de la combinación de los costes de las trayectorias incluidas. Para ello se fuerza la combinación convexa con las siguientes restricciones. Éstas se formulan de la siguiente forma:
42 1 min N ii i ID s.a 1 1 N i i (5.9) 0 1 N ii i hh (5.10) 0 i 1, 2,...,iN siendo 4 0 , i hh (5.11) i d 1,2,...,iN 0 || || ii dhh (5.12) Así como para el método del mínimo índice de desempeño se restringe que los estados iniciales próximos que se estudian disten como máximo del estado actual. También decir dependiendo de tendremos mayor o menor número de estados iniciales bajo estudio (N). No obstante, ambos parámetros dependerán de la factibilidad o no factibilidad del problema de optimización. En definitiva, en este caso para obtener dichos parámetros se implementará otro algoritmo que se explicará a continuación. Fig 5.10. Esquema de control predictivo basado en base de datos usando programación lineal Para resolver el problema de minimizar el coste medio con restricciones utilizaremos la función linprog de las librerías de matlab. Esta función nos proporciona el mínimo de un problema que especificamos de la forma: min T f x tal que ൞, A xb , eq eq A xb .lb x ub (5.13) Así pues, se llama a la función enviándole el siguiente problema, formulado de la siguiente forma: Siendo 0 1 N ii i hh para 1,...,iN siendo 4 0 , i hh (5.14) B usca trayectorias cercanas al estado actual Í ndice de desempeño Salida actual B ase de datos Función de coste R estricciones Cálculo del índice de desempeño de cada trayectoria E ntrada f utura Solución óptima : M inimiza el índice de desempeño no factible f actible Trayectorias de salidas
49 Asimismo i J que se va a considerar consta de dos términos asociados a los objetivos principales: ce J es el coste de operación de la minimización del consumo energético de la planta y va J es el coste de operación del volumen acumulado en los depósitos inferiores. iceva JJ J (6.4) min 12 () va V Jp A hh (6.5) 22 ce a b J qcq (6.6) Fig 6.3. Comparativa del índice de desempeño de los controladores estudiados sobre una trayectoria En esta figura 6.3 podemos observar como el DbPC se comporta mejor que los demás controladores, ya que presenta un menor ID. También se añade la figura 6.4 para mostrar el índice de desempeño asociado a la minimización del consumo energético ce ID y por otra parte a la maximización del volumen acumulado va ID . Esta última gráfica nos ayuda a entender el valor de la minimización de la función de coste, ya que a pesar de que el DbPC no tenga el menor ID de los dos términos asociados a los objetivos ( va ID y ce ID ) en comparación con el resto de controladores, posee el menor ID de la suma de estos términos. 0 10 20 30 40 50 60 70 Controladores IDs Comparativa de índices de desempeño de una trayectoria PREDICTIVOLinprog P PI LQR
50 Fig 6.4. Comparativa del valor de los actuadores y ab qq de los diferentes controladores sobre una trayectoria Cabe señalar que en las figuras anteriores se ha comparado el DbPC usando programación lineal frente a los diferentes controladores P, PI y LQR. No obstante, hemos implementado otros métodos basados en el DbPC, aunque menos eficaces también realizables. Estos eran: Método de mínimo índice de desempeño Método de índices ponderados Método mediante uso de programación lineal En la figura 6.5 se muestra la comparativa de las alturas de los diferentes métodos realizando una simulación de mil doscientos segundos usando los tres controladores antes mencionados partiendo desde el estado inicial 4 0 h y hasta alcanzar la referencia 4 ref h. 5432.0 3807.0 6793.0 4675.0 40 30 20 10 h h h h 7682.0 5384.0 6616.0 5955.0 4 3 2 1 ref ref ref ref h h h h (6.7) 0 5 10 15 20 25 30 IDva 0 5 10 15 20 25 30 35 40 45 IDce PredictivoLinprog P PI LQR
51 Fig 6.5. Comparativa de alturas de los diferentes controladores predictivos sobre una trayectoria 6.1.2 100 trayectorias aleatorias. Valores medios En este apartado se muestra una comparativa de los controlares DbPC (usando programación lineal), P, PI y LQR. Para ello, en este caso, se simulan cien conjuntos de trayectorias que parten de un estado inicial 4 0 h aleatorio, siendo 001020304 ,,,hhhhh , y queremos llevar el sistema al punto de operación que hemos definido como 4 ref h siendo 1234 ,,, ref ref ref ref ref hhhhh y ** , ab qq . Por tanto hacemos llevar al sistema en cada conjunto de trayectorias desde cada 0 hhasta ref hmediante los cuatro controladores antes mencionados. La media del ID de los cien conjunto de trayectorias que se muestran en la figura 6.6 permitiéndonos concluir que el controlador DbPC tiene menor ID. 0200 400 600 800 1000 1200 0.4 0.45 0.5 0.55 0.6 0.65 t h1 0200 400 600 800 1000 1200 0.35 0.4 0.45 0.5 0.55 X: 0 Y: 0.3808 t h3 0200 400 600 800 1000 1200 0.5 0.55 0.6 0.65 0.7 0.75 0.8 t h4 0200 400 600 800 1000 1200 0.45 0.5 0.55 0.6 0.65 0.7 Comparativa Hs t h2 PredictivoLinprog PredictivoMinJ RF PredictivoMinPonderados
52 Fig 6.6. Comparativa de ID de los diferentes controladores en 100 conjunto de trayectorias partiendo de 0 haleatorias. 6.2 Optimización de la base de datos 6.2.1 Estimación de M óptimo Una de las incógnitas que se nos presenta en la programación de un DbPC es el tamaño de las bases de datos. Esto es un triple problema. Por un lado, existe el problema del espacio en memoria, ya que tomando como ejemplo las bases de datos utilizadas en el DbPC dependiendo del número de trayectorias almacenadas en la base de datos oscila entre los trecientos megabytes para una base de datos de quince mil trayectorias o treinta megabytes para una de trescientas trayectorias. Por otro lado, en nuestra implementación al aplicar base de datos con diferente número de trayectorias influye en el tiempo computacional. Y por último, tiene influencia sobre el ID. De esta forma el objetivo será buscar el número óptimo de trayectorias que debemos almacenar en nuestra base de datos para poder controlar nuestro sistema y a su vez tener un ID bajo. Para la búsqueda de la estimación de dicho número óptimo de trayectorias se aborda el problema de la influencia del ID. Se opta por calcular el ID de cincuenta y cinco 0 100 200 300 400 500 600 700 800 900 Controladores IDs Media de IDs de 100 ptos de h0s aleatorios PREDICTIVOLinprog P PI LQR
53 trayectorias haciendo uso de diferentes bases de datos de diferente tamaño. Estas trayectorias parten de un estado inicial 4 0 h aleatorio, siendo 001020304 ,,,hhhhh , y queremos llevar el sistema al punto de operación que hemos definido como 4 ref h siendo 1234 ,,, ref ref ref ref ref hhhhh y ** , ab qq , así como indicar que todas las bases de datos convergen a una misma ref h. Fig 6.7. Representación de la suma de ID de un conjunto de trayectorias usando bases de datos de diferente tamaño La figura 6.7 muestra que el número de trayectorias almacenadas en una base de datos es proporcional al ID. Sin embargo, para bases de datos a partir de mil conjuntos de trayectorias el ID es aproximadamente el mismo, así como para bases de datos con menos de cien conjuntos de trayectorias no existe una relación clara entre ID y número de trayectorias. En resumen, para resolver el problema de seguimiento de un punto de referencia en la planta de cuatro tanques debemos tomar una base de datos que almacene un conjunto de trayectorias entre cien y mil para poder controlarla con garantías y sin aumentar demasiado el coste computacional y reducir nuestro espacio de memoria. 50 75 100 500 5000 0 1 2 3 4 5 6 7 8 9 10 x 104 Trayectorias almacenadas en la base de datos ID
54 6.2.2 Coste medio/tiempo de cálculo medio/tamaño de base de datos Un problema común en la familia de los controladores predictivos es el coste computacional. Este hecho se pone de relieve también en el DbPC, ya que la carga de cálculo necesaria para la resolución de algunos algoritmos hace que los tiempos de simulación sean bastante elevados. Como muestra de ello se muestra la figura 6.8 donde se presenta los costes computacionales de una misma simulación tomando diferentes bases de datos de diferente tamaño. Al igual que en apartado 6.1 se realiza una simulación de 1200 segundos usando 4 de controladores estudiados partiendo desde el estado inicial 4 0 h y hasta alcanzar la referencia 4 ref h. 9408.0 6594.0 8102.0 7293.0 40 30 20 10 h h h h 7682.0 5384.0 6616.0 5955.0 4 3 2 1 ref ref ref ref h h h h (6.8) Fig 6.8 Representación del coste computacional de una simulación con bases de datos con diferente tamaño 50 100 500 5000 0 100 200 300 400 500 600 700 800 900 1000 Coste computacional de una simulación Conjuntos de trayectorias en la base de datos T(s)
55 A partir de los resultados obtenidos en las gráficas 6.7 y 6.8, donde se representa la bondad de los controladores y la carga de cálculo respectivamente, podemos concluir que hay que llegar a una solución de compromiso en la elección del tamaño de la base de datos. Así pues esta solución debe tener en cuenta que una base de datos con un gran número de trayectorias nos garantiza una solución con menor índice de desempeño, pero por el contrario nos penaliza con un coste computacional mayor.
56 7. Aplicación al concurso En este apartado se aplica el controlador DbPC en el concurso de la CEA al caso 2, control multivariable. De esta forma se lleva a cabo el ensayo tipo propuesto en el concurso. Los controladores se ensayarán sobre la planta partiendo de un punto de equilibrio óptimo para un valor los parámetros c=1 y p=20. El ensayo comienza variando los precios unitarios que cambian a c=1.5 y p=20. Transcurridos 1200 segundos, los precios unitarios cambian a c=1 y p=40. Transcurridos 1200 segundos, los precios unitarios cambian a c=0.5 y p=10. Transcurridos 1200 segundos se vuelve al punto inicial correspondiente a los precios unitarios c=1 y p=20. Transcurridos 1200 segundos, se finaliza el ensayo Indicar que para la simulación de este experimento se han tenido que generar cuatro bases de datos que convergen a los diferentes puntos objetivos que plantea el concurso. Fig 7.1. Representación de las alturas del concurso de la CEA usando un controlador DbPC 01000 2000 3000 4000 0.4 0.5 0.6 0.7 0.8 0.9 h1 t 01000 2000 3000 4000 0.4 0.5 0.6 0.7 0.8 0.9 1 t h2 01000 2000 3000 4000 0.3 0.4 0.5 0.6 0.7 0.8 0.9 t h3 01000 2000 3000 4000 0.2 0.4 0.6 0.8 1 1.2 t h4
57 También se muestra en la figura 7.2 la comparativa de las alturas del DbPC con respecto a los controladores P, PI y LQR. Fig 7.2. Comparativa de las alturas del concurso de la CEA usando un controlador DbPC, P, PI y LQR Por último, para determinar la bondad del DbPC en el ensayo de la CEA se calcula el ID de cada controlador. Esto se representa en la figura 7.3 donde se observa que tiene un menor ID. 01000 2000 3000 4000 0.4 0.5 0.6 0.7 0.8 0.9 1 t h1 01000 2000 3000 4000 0.4 0.6 0.8 1 t h2 01000 2000 3000 4000 0.2 0.4 0.6 0.8 1 t h3 01000 2000 3000 4000 0 0.2 0.4 0.6 0.8 1 1.2 t h4 Predictivo P PI LQR Referencia
58 Fig 7.3. Comparativa de los índices de desempeño del concurso de la CEA usando un controlador DbPC, P, PI y LQR 0 50 100 150 200 250 300 350 400 ID Indice de desempeño PREDICTIVOLinprog P PI LQR