ALGORITMO DE MINIMIZACIÓN PARA CONTROL PREDICTIVO CON RESTRICCIONES Luis Orihuela, Teodoro Álamo, David Muñoz de la Peña y Francisco R. Rubio Dpto. Ingeniería de Sistemas y Automática, Universidad de Sevilla
[email protected], {alamo, davidmps}@cartuja.us.es, [email protected] Resumen En este trabajo se presenta un algoritmo de minimización que puede ser utilizado para solucionar el problema del control predictivo sujeto a restricciones en la señal de control. El método propuesto alcanza el mínimo de la función de coste propia de un algoritmo GPC en el caso en que la señal de control deba pertenecer a un conjunto finito de miembros. Se consideran sistemas lineales sin restricciones en el estado controlados usando un conjunto discreto de señales de control. Así, el algoritmo que se propone resuelve problemas de variable entera con un funcional cuadrático sin restricciones. Este tipo de problemas de control es de particular importancia cuando existen limitaciones del ancho de banda en la comunicación o en sistemas con actuadores todo o nada. El método propuesto resulta eficiente computacionalmente, como se demuestra en las pruebas realizadas. Palabras Clave: Matrices banda; Control predictivo generalizado; Control sujeto a restricciones. 1 INTRODUCCIÓN El control predictivo basado en modelo o MPC (model predictive control) constituye un campo muy amplio de métodos de control desarrollados en torno a unas ideas comunes que aparecen a finales de los años 70 [11]. Como su nombre indica, MPC está basado en un modelo del proceso a controlar, el cual es empleado para predecir la evolución futura del estado o de las salidas. El intervalo de tiempo, expresado en instantes de muestreo, sobre el que se predice la evolución de las salidas es conocido como horizonte de predicción. Para el cálculo de las salidas predichas se utilizan valores pasados de la entrada, valores presentes y pasados de las salidas del sistema y una secuencia, limitada por el horizonte de control, de señales de control futuras. La secuencia de señales de control o actuaciones futuras condiciona en gran medida la evolución futura del proceso. Para medir la bondad del control obtenido se utiliza un índice de comportamiento o función objetivo, que se buscará minimizar mediante técnicas de optimización. La forma de la función objetivo puede variar, pero en general se ponderan los errores entre la salida predicha y la salida real, y el esfuerzo de control. La tercera característica fundamental de las técnicas de control predictivo es la aplicación de la señal de control mediante una estrategia de horizonte deslizante. Esta estrategia consiste en aplicar sólo la primera de las componentes de la secuencia de actuaciones calculada y volver a repetir el cálculo de toda la secuencia en el siguiente instante de muestreo. El control predictivo basado en modelo ha tenido un gran éxito en el mundo industrial, [4] [5]. Entre las ventajas que presenta MPC respecto a otros métodos pueden citarse: aplicable a gran variedad de procesos; permite tratar con facilidad el caso multivariable; posee intrínsecamente compensación del retardo; resulta conceptualmente simple el tratamiento de restricciones. Como inconvenientes, pueden señalarse principalmente dos. Por un lado, el cálculo de la señal de control implica resolver un problema de optimización mediante métodos numéricos. Esto conlleva a una gran carga de cálculo, que puede incrementarse aún más si existen restricciones. Por otro lado, MPC necesita disponer de un modelo suficientemente realista del proceso que, en ocasiones, no es fácil de hallar. En este trabajo se consideran sistemas lineales sin restricciones en el estado que se controlan utilizando un conjunto finito de señales de control. Para este problema, se presenta un algoritmo de minimización aplicable al control predictivo de forma que el problema de optimización pueda resolverse en tiempo real. Este tipo de problemas aparece cuando existen limitaciones en el ancho de banda en la comunicación, como en el caso de sistemas distribuidos que se comunican usando enlaces inalámbricos; o en sistemas con actuadores todo o nada, por ejemplo válvulas o compresores.
Para probar la bondad del algoritmo propuesto se utilizará la herramienta de simulación TrueTime. TrueTime es una herramienta basada en Matlab y Simulink que facilita la simulación de la ejecución de tareas de control en tiempo real, las transmisiones en redes y las dinámicas de plantas continuas. TrueTime ha sido presentada en Cervin et al. [6][7], Andersson et al. [3] y Henriksson et al. [9]. El trabajo comienza con la introducción del control predictivo generalizado en presencia de restricciones. Seguidamente se presenta el algoritmo de minimización y su aplicación al control predictivo. Finalmente se muestra un ejemplo de aplicación y se extraen conclusiones. 2 CONTROL PREDICTIVO GENERALIZADO CON RESTRICCIONES De entre los muchos algoritmos que existen para resolver el problema del control predictivo, el control predictivo generalizado o GPC (generalized predictive control) es quizás el más utilizado en el mundo académico. La idea básica de GPC, Clarke et al. [8], es calcular una secuencia de futuras acciones de control, de tal forma que minimicen una función de coste multipaso. El índice a minimizar es una función cuadrática que mide por un lado la distancia entre la salida predicha del sistema y una cierta trayectoria de referencia hasta el horizonte de predicción, y por otro, el esfuerzo de control necesario para obtener dicha salida. A continuación se presenta un pequeño resumen de la formulación del mismo. La mayoría de los procesos de una sólo entrada y una sola salida (single-input single-output SISO), al ser considerados en torno a un determinado punto de trabajo y tras ser linealizados, pueden ser descritos mediante un modelo del tipo CARIMA (controller auto-regressive integrated moving-average). 111 () ()() ()(1) () , det Az yt z Bz ut Cz −−− − =−+ ∆ Donde e son respectivamente la señal de control y la salida del proceso, es un ruido blanco de media cero y es el tiempo muerto del sistema. Los polinomios A, B y C tienen la siguiente forma: 1 1,z− ∆= − ()ut ()yt ()et d 112 12 112 01 2 112 12 ()1 () ()1 na na nb nb nc nc Az az az a z Bz b bz bz b z Cz cz cz c z −−− −−− −−− =+ + + + =+ + ++ =+ + + + … … … − − − El algoritmo de control predictivo generalizado consiste en aplicar una secuencia de señales de control que minimicen una función de coste de la forma: 2 1 2 12 2 1 ˆ (,, ) ()( ) ( ) () ( 1), u N ujN N j JNNN jytjtwtj jutj δ λ = = ⎡ ⎤ = +−+ + ⎣ ⎦ ∆+− ⎡⎤ ⎣⎦ ∑ ∑ (1) donde ˆ() y tjt+ es la predicción óptima pasos hacia adelante de la salida del proceso con datos conocidos hasta el instante y es la futura trayectoria de referencia. y delimitan el horizonte de predicción. El horizonte de control es y j t(wt j+) 1 N2 N u N(), ()jj δ λ son secuencias de ponderación. El objetivo es, entonces, el cálculo de la futura secuencia de control de tal manera que la salida futura del proceso permanezca próxima a (), ( 1)...ut ut+ (yt j+) .()wt j + Esto se logra minimizando 12 (, , ). u J NNN Cuando no existen restricciones, es posible hallar la secuencia de futuras de señales de control que minimicen (1) de forma analítica. En la práctica, todos los procesos están sujetos a restricciones. Los actuadores tienen un campo limitado de acción impuesto por límites físicos (una válvula no puede abrirse más del 100%). También existen límites de seguridad (temperaturas máximas de funcionamiento), requerimientos tecnológicos, limitaciones de calidad del producto o normativa medioambiental. En este trabajo se considera que la señal de control sólo puede tomar un valor perteneciente a un conjunto finito de posibles valores, { } 01 , ,..., . f uuu u U∈∈ El problema a resolver es ahora el siguiente. minimizar ( ) sujeto a . J u uU∈ (2) En este caso no puede encontrarse una solución analítica, sino que hay que recurrir a métodos iterativos. 3 ALGORITMO DE MINIMIZACIÓN La función de coste que hay que minimizar para diseñar un controlador GPC puede escribirse de la siguiente forma: 0 T J uHu bu f = ++ (3)
El término depende del pasado y de la referencia. Minimizar (3) es equivalente a minimizar la siguiente función: o f 1. T J uHu bu=+ (4) Como se muestra en Álamo et al. [1], encontrar la solución que minimice (4) es un problema computacionalmente complejo. Sin embargo hay ciertos casos en los que la solución puede encontrarse de forma más sencilla. Cuando la matriz H es una matriz banda semidefinida positiva la solución puede hallarse de forma eficiente, con una complejidad computacional que crece polinomialmente con el número de variables de optimización. Para obtener la solución al problema (2) se utilizan los resultados de Álamo et al. [2]. En dicho trabajo se resuelve el siguiente problema: Dada una matriz simétrica M y un vector encontrar un vector binario tal que se maximice: ,qw () . TT F wwMwqw=+ (5) El vector binario es tal que n w∈ {} ( ) 1,1 , 1,..., .wk k n∈− = Este problema es equivalente a (4). El algoritmo que proponen los autores permite ir desechando posibles soluciones que no pueden ser óptimas aprovechando las características en banda de la matriz . M De esta forma el coste computacional se ve reducido notablemente. Como ejemplo, se muestra una tabla de resultados comparando el tiempo en hallar una solución con este algoritmo y con un algoritmo de branch and bound. Tabla 1: Tiempo de cálculo en segundos para el algoritmo L-Band (Tlb) y para el branch and bound (Tbb) para distintos tamaños de la matriz y la banda. N L Tlb Tbb 20 10 0.1410 0.1756 20 15 0.4690 0.3498 30 10 0.2340 3.1389 30 15 1.5000 7.3387 35 10 0.0470 12.9916 35 15 2.1250 43.7799 40 10 0.0620 63.2074 Cuando el tamaño de la matriz aumenta resulta totalmente ineficaz la búsqueda entre todas las posibles soluciones. Aún así, el método L-Band tampoco es muy rápido si el ancho de la banda crece demasiado. Hay que tener en cuenta que al diseñar un controlador GPC el tamaño de la matriz M depende del tamaño del horizonte de control que se escoja y cada una de las componentes del vector solución corresponde al incremento de la señal de control en los sucesivos instantes futuros. Por tanto, mientras mayor sea el horizonte de control más ventajoso será el uso del algoritmo L-Band. w El algoritmo que proponen Álamo et al. [2] es adecuado cuando se busca una solución binaria. El vector de soluciones satisface n w∈ { } ( ) 1, 1 , 1,..., .wk k n=+− = Con este tipo de señales de control solo podrá implementarse un controlador todo-nada o controlador ON-OFF. Realmente, es el incremento de la señal de control lo que solo puede tomar un conjunto limitado de valores. En principio, la señal de control total no presenta ningún tipo de restricción. A continuación se propone una modificación para que el algoritmo L-Band pueda aplicarse a un rango mayor de soluciones. Supóngase que se disponen de bits de tal forma que la señal de control se calcule de la siguiente forma: m1 u 1111 1 , mT ii i ucbc = == ∑1 b siendo { } 1, 1 , , i bi ∈ +− ∀ y el vector { } : , 1,..., ii ccc i m=∈= un vector de factores de escala. Lógicamente, utilizando m bits la señal de control puede tomar como máximo valores distintos. 2m Como lo que se desea es obtener un vector de soluciones para las futuras señales de control, el nuevo vector de soluciones aumentado tendrá la forma: N (6) 11 11 1 22 22 2 00 0. 0 00 TT TT aum TT NN NN N ub cb c ub cb c wC ub cb c ⎡⎤⎡ ⎤ ⎡⎤ ⎡⎤ ⎢⎥⎢ ⎥ ⎢⎥ ⎢⎥ ⎢⎥⎢ ⎥ ⎢⎥ ⎢⎥ == = = ⎢⎥⎢ ⎥ ⎢⎥ ⎢⎥ ⎢⎥⎢ ⎥ ⎢⎥ ⎢⎥ ⎢⎥⎢ ⎥ ⎣⎦ ⎣⎦ ⎣⎦⎣ ⎦ b El problema a resolver será ahora el siguiente. Dada una matriz en banda simétrica M y un vector encontrar un vector tal que se minimice: ,q aum w (7) ()TT aum aum aum aum Fw w Mw qw=+. Haciendo uso de (6), el problema (7) puede reescribirse de la siguiente forma:
() () . TTTTT aum aum aum aum TT CC F w w Mw q w b C MCb q Cb Fb bMb qb =+=+ =+ = Siendo T C M CMC= y Como puede observarse, este problema es completamente equivalente al problema inicial (5), ya que el vector continua siendo un vector binario. A continuación se presenta un resultado que demuestra que si la matriz original es una matriz banda, la matriz obtenida mediante esta transformación también es una matriz banda. . TT C qqC= b Proposición 1. Dada una matriz en banda simétrica NN M × ∈ y una matriz tal que C 1 2 00 0, 0 00 T T T N c c C c ⎡⎤ ⎢⎥ ⎢⎥ =⎢⎥ ⎢⎥ ⎢⎥ ⎣⎦ donde los vectores Entonces la matriz . m i c∈ T C M CMC= es también una matriz en banda simétrica. Demostración: Al ser la matriz M una matriz en banda simétrica, la matriz aumentada C M valdrá: 1 2 00 00 0 0. 00 0 00 00 C T pp ps T T ps ss sy T sy yy T NN M cc MM c MMM MM cc = ⎡⎤ ⎡ ⎡⎤ ⎢⎥ ⎢ ⎢⎥ ⎢⎥ ⎢ ⎢⎥ ⎢⎥ ⎢ ⎢⎥ ⎢⎥ ⎢ ⎣⎦ ⎢⎥ ⎢ ⎣⎦ ⎣ 1 2 0 c ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ A continuación se definen las matrices , p s CC y . y C 1 2 1 2 1 2 00 0; 0 00 00 0; 0 00 00 0. 0 00 T T T p T p T p T Tp s T s T s T Ts y T N c c C c c c C c c c C c + + + + ⎡⎤ ⎢⎥ ⎢⎥ =⎢⎥ ⎢⎥ ⎢⎥ ⎣⎦ ⎡⎤ ⎢⎥ ⎢⎥ =⎢⎥ ⎢⎥ ⎢⎥ ⎣⎦ ⎡⎤ ⎢⎥ ⎢⎥ =⎢⎥ ⎢⎥ ⎢⎥ ⎣⎦ Utilizando estas nuevas definiciones, la matriz C podrá escribirse de la siguiente manera: 1 2 00 00 000 000 00 TT p TT s T y T N cC c CC C c ⎡⎤ ⎡⎤ ⎢⎥ ⎢⎥ ⎢⎥ == ⎢⎥ ⎢⎥ ⎢⎥ ⎢⎥ ⎣⎦ ⎢⎥ ⎣⎦ . Así que la matriz aumentada C M queda: 00 0 00 00 00 00 0 00 0 . 0 C T ppppsp TT s pssssy s TT ysyyy TT pppp ppss TT T T Cspspssssssyy TT T ysys yyyy M CMMC CMMM C CMM C CM C CM C MCMCCMCCMC CM C CM C y = ⎡ ⎤⎡ ⎤⎡ ⎤ ⎢ ⎥⎢ ⎥⎢ ⎥ = ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎣ ⎦⎣ ⎦⎣ ⎦ ⎡⎤ ⎢⎥ =⎢⎥ ⎢⎥ ⎣⎦ Como puede observarse, la matriz aumentada es también una matriz en banda simétrica. Y por tanto puede aplicarse al algoritmo L-Band de la misma forma que antes. Nótese que las dimensiones de esta nueva matriz aumentada no coinciden con las de la matriz original en banda. Es fácil demostrar que tanto el tamaño de la matriz como el de la banda central se multiplican por el número de bits utilizados para codificar la señal de control, es decir: . * ; . * . C C M M MM N num bits N LnumbitsL = = Este hecho es bastante importante y habrá que tenerlo muy en cuenta a la hora de diseñar el controlador GPC. Recordar que las dimensiones de la matriz en banda original dependen del horizonte de control escogido. Si se escoge un horizonte de control grande y se utilizan varios bits para codificar la señal de control, el problema a resolver puede volverse intratable. Por ejemplo, con un horizonte de control de 15 instantes de muestreo y 4 bits para la señal de control, se obtendría una matriz aumentada de dimensión 60. Con el tamaño de la banda ocurriría lo mismo, así que el algoritmo L-Band dejaría de tener unas características buenas. Por tanto, habrá que escoger una configuración de parámetros que sea un compromiso entre la resolución de la señal de control (numero de bits) y la complejidad matemática del problema a resolver (horizonte de control y tamaño de la banda).
3.1 APROXIMACIÓN PARA MATRICES CON BANDAS ANCHAS En general, la matriz M de un GPC no tiene por que cumplir la condición la condición de banda. En ese caso no se puede aplicar el algoritmo de minimización propuesto para obtener la solución al problema. Sin embargo, es posible obtener una solución aproximada resolviendo un problema modificado. En Ramírez et al. [10] se proponen métodos para obtener una matriz M banda a partir de otra que no lo es tal que el error de aproximación esté acotado. El objetivo que se busca en dichos trabajos es el siguiente: encontrar una matriz diagonal tal que de forma que una solución que maximice la función de coste T,TH≥ T T J uTu bu=+ sea también una solución que maximice (3). Para aplicar estos resultados a este caso habrá que modificar algo el algoritmo. La primera modificación que hay que realizar es que, como caso general, el objetivo es encontrar una matriz banda y no una matriz diagonal. Dicha matriz banda deberá ser mayor que la matriz original de forma que al minimizar sobre T se encuentren cotas superiores para los mínimos sobre . ,TH≥ H Para ello, van a buscarse matrices positivas de la forma tal que NL− T ii vv 11 22 ... TT T NLNL H vv vv v v T −− ++++ = La forma de buscar las matrices positivas es idéntica a la que se muestra en Ramírez et al. [10]. Supóngase que se desea hacer ceros en la primera fila de la matriz. La matriz H podrá escribirse como: T r ab HbH ⎡⎤ =⎢⎥ ⎣⎦ donde b representa el vector que se desea hacer cero y tendrá elementos. La matriz que se le va a sumar es: NL− 2 11 2 T T TT b b vv bbb b αα αα αα ⎡⎤ − ⎡⎤ ⎡⎤ ⎢⎥ ⎢⎥ =−= ⎢⎥ ⎢⎥ ⎢⎥ −− ⎣⎦ ⎢⎥ ⎢⎥ ⎣⎦ ⎣⎦ Al sumarlas se habrían hecho ceros en los elementos que se desee de la primera fila y primera columna. Este procedimiento habría que repetirlo para todas las filas y columnas que se deseen anular. El valor del parámetro α se escoge de tal forma que se minimice el error introducido al cambiar la matriz original por una matriz en banda en el problema de minimización. Como muestran los autores, ese valor depende de la norma 1 del vector :b 1 b α = Por tanto, aplicando este método a la matriz H podría obtenerse una matriz banda con el tamaño de la banda que se desee a la que podría aplicarse el algoritmo L-Band. De esta forma, ya podríamos conocer la señal de control que mejor se aproxima a la señal óptima que habría que aplicar en cada instante de muestreo. 4 RESULTADOS DE SIMULACIÓN La planta que se desea controlar es una asociación de tres tanques como se muestra en la Figura 1. Figura 1. Esquema de la planta Cada uno de los tanques se encuentra conectado al siguiente por una válvula situada en el fondo de los mismos. La apertura de esa válvula, que expresa la velocidad en que un tanque se vacía en el otro, está fijada. Se supone que el nivel de los tanques es tal que el flujo del líquido irá siempre en dirección al último tanque. Lo que se desea es controlar el nivel del último tanque utilizando, para ello, el caudal que se introduce en el tanque primero. Va a suponerse que la válvula solo puede estar en unas posiciones fijas de apertura y que en cada instante de muestreo solo puede pasar a las posiciones adyacentes. Esto se muestra en el ejemplo siguiente. Ejemplo de Aplicación. Supóngase una válvula que puede estar abierta desde un 0 a un 100%. Sin embargo, solo puede abrirse en intervalos de 0.1%. Es decir, las posiciones de la señal de control pertenecerán al conjunto Realmente, lo que se desea hallar en cada iteración del algoritmo es un incremento de la señal de control. Dependiendo del número de bits, el incremento de la señal de control podrá ser, por ejemplo: {} 0,0.1,0.2,....,100 .u∈ 1 bit: { } 0.1, 0.1u∆∈+ −
2 bits: {} 0.1,0, 0.1u∆∈+ − 3 bits: {} 0.2, 0.1,0, 0.1, 0.2u∆∈+ + − − Las ecuaciones de la planta pueden obtenerse realizando un balance de materia. 111 2 211 2 2 2 3 322 3 33 11 11 11 dh qChh dt S S dh Chh Ch h dt S S dh Chh Ch dt S S =− − =−−− =−− (8) donde es el nivel de líquido en el depósito son los coeficientes de descarga, q es el caudal vertido en el primer depósito y S es la sección de los tanques, que se ha asumido que es la misma. Las ecuaciones (8) se linealizan en torno al punto de operación: i h,ii C 3 212 3 1 2 3 12 3 m 0.16 m ; C 0.0256 ; C 0.0251 ; hm hm m 1 m; 0.7 m; 0.4 m; 0.014 . h SC HH H Q === = == = = 3 1 2 m H H ⎡⎤ ∆ ⎢⎥ −∆ ⎡⎤⎡⎤⎡⎤ ⎢⎥ ⎢⎥⎢⎥⎢⎥ ∆= − ∆+ ∆ ⎢⎥ ⎢⎥⎢⎥⎢⎥ ⎢⎥ ⎢⎥⎢⎥⎢⎥ −∆ ⎣⎦⎣⎦⎣⎦ ∆ ⎢⎥ ⎢⎥ ⎣⎦ La descripción en el espacio de estados del sistema linealizado es la siguiente. . 11 . 22 .3 3 0.14606 0.14606 0 6.25 0.14606 0.29212 0.14606 0 0 0.14606 0.2701 0 HH HHQ [] 1 2 3 001 H YH H ∆ ⎡⎤ ⎢⎥ =∆ ⎢⎥ ⎢⎥ ∆ ⎣⎦ Se desea minimizar una función de coste del estilo de (1). Para poder aplicar los algoritmos se requiere que la función de coste se escriba de la forma (3). En este caso particular, aplicando las transformaciones necesarias no se obtiene una matriz banda, como muestra el ejemplo siguiente. Ejemplo de Aplicación. Para la planta de los tres tanques supóngase que se escoge como factores de ponderación () 1j δ δ == y ( ) 0.55.j λ λ == Para un horizonte de predicción y de control de 10 instantes de muestreo, el algoritmo GPC lleva a una matriz H de la siguiente forma: 121 128 100 74 52 34 20 11 4 1 128 134 106 79 56 37 22 11 5 1 100 106 82 62 45 30 18 9 4 1 74 79 62 46 34 23 14 7 3 1 52 56 45 34 24 17 10 5 2 1 34 37 30 23 17 10 7 4 2 1 20 22 18 14 10 7 3 2 1 0.3 11 11 9 7 5 4 2 0.2 0.6 0.2 45432210.60.80.1 1 1 1 1 1 1 0.3 0.2 0.1 1 H ⎡ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ =⎢ ⎢ ⎢ ⎢ ⎢− ⎢ ⎢ − ⎢ ⎣ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ Si bien los elementos más cercanos a la diagonal principal son los mayores, la matriz no es una matriz banda. Según lo visto en el ejemplo, habrá que utilizar una solución aproximada para obtener la señal de control. Para las siguientes simulaciones, se ha aproximado la matriz H por una matriz banda con tres elementos en la banda. En la Figura 2, 3 y 4 se muestran las respuestas del sistema utilizando un número diferente de bits para codificar la señal de control. 050 100 150 200 250 300 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 Tiempo ( s ) r ( t ) , y ( t ) 050 100 150 200 250 300 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 Tiempo ( s ) r ( t ) , y ( t ) Figura 2. Respuesta ante escalón con 1 y 3 bits para la señal de control
050 100 150 200 250 300 -1 -0.5 0 0.5 1 1.5 Tiempo ( s ) r ( t ) , y ( t ) SEC 1 bit 11.1760 = 050 100 150 200 250 300 -1.5 -1 -0.5 0 0.5 1 1.5 Tiempo ( s ) r ( t ) , y ( t ) SEC 2 bit 3.4237 = 050 100 150 200 250 300 -1.5 -1 -0.5 0 0.5 1 1.5 Tiempo ( s ) r ( t ) , y ( t ) SEC 3 bit 1.3511 = Figura 3. Respuesta a una senoide con 1, 2 y 3 bits y suma de errores cuadráticos 050 100 150 200 250 300 -1 -0.5 0 0.5 1 1.5 Tiempo ( s ) r ( t ) , y ( t ) 050 100 150 200 250 300 -1.5 -1 -0.5 0 0.5 1 1.5 Tiempo ( s ) r ( t ) , y ( t ) Figura 4. Respuesta a un seno con 1 y 3 bits respectivamente La respuesta que se obtiene al aumentar el número de bits es más rápida. Incluso, si se le exige a la salida una velocidad excesiva, puede observarse que será necesario utilizar un mayor número de bits, como se observa en la Figura 4. Además, la suma de errores cuadráticos (SEC) entre la salida y la referencia es mucho menor según se aumenta el número de bits, Figura 3. En la Figura 5 se muestran las señales de control que se generan en cada caso. 050 100 150 200 250 300 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05 Tiempo ( s ) u ( t ) 050 100 150 200 250 300 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 Tiempo ( s ) u ( t ) Figura 5. Señal de control para 1 bit y 2 bits, respectivamente Es inmediato ver que la señal de control del segundo caso es más benigna, en el sentido en que provocará que los actuadores, en este caso la válvula, sufran menos. Esto se debe a que en un control con un bit, la única forma de conseguir una respuesta constante es
ir alternando los dos posibles valores de la señal de control. Por último, en la Tabla 2 se muestran los tiempos de cálculo del algoritmo completo para distintas configuraciones posibles. Todas las simulaciones se han realizado en Matlab/Simulink funcionando sobre un PC a 1800 MHz y 512 Mb de RAM, con sistema operativo Windows 2000. Tabla 2a. Tiempo de cálculo para 1 bit Tamaño del horizonte Ancho de la banda Tiempo de cálculo (s) 10 5 0.01 5 0.01 15 10 0.03 5 0.01 10 0.06 20 15 1.6 5 0.03 10 0.1 12 0.43 25 15 1.6 Tabla 2b. Tiempo de cálculo para 2 bit Tamaño del horizonte Ancho de la banda Tiempo de cálculo (s) 5 5 0.01 5 0.06 10 7 0.9 3 0.03 5 0.15 15 7 2.6 3 0.04 4 0.08 5 0.3 20 6 1.2 Tabla 2c. Tiempo de cálculo para 3 bit Tamaño del horizonte Ancho de la banda Tiempo de cálculo (s) 5 4 0.11 2 0.03 4 0.63 10 5 4.7 2 0.05 3 0.18 15 4 1.6 3 0.34 20 4 3 Tabla 2d. Tiempo de cálculo para 4 bit Tamaño del horizonte Ancho de la banda Tiempo de cálculo (s) 2 0.03 5 4 2.7 2 0.07 10 3 1.2 2 0.17 15 3 3 5 CONCLUSIONES Se ha presentado un algoritmo de control que obtiene resultados bastante buenos cuando la señal de control sólo puede tomar un valor de entre un conjunto finito de posibilidades. En el algoritmo que se propone existe un compromiso entre la resolución que se desee en la señal de control y la carga computacional. Si la dinámica de la planta es lenta, podrá probarse una mayor combinación de posibilidades. Los parámetros que pueden modificarse son básicamente tres: longitud del horizonte de control, anchura de la banda de la matriz y número de bits. Se ha propuesto un algoritmo en el que la elección de la banda de la matriz puede hacerse, prácticamente, todo lo pequeña que se desee. Esto otorga mayor flexibilidad a la hora de escoger el resto de parámetros. Para el ejemplo que se ha propuesto, una elección de más de 3 bits para la señal de control resultaba ineficiente computacionalmente. Además, hay que tener en cuenta que, en realidad, esto no es una elección, sino que es algo que está impuesto por las características de los actuadores. Por tanto, en definitiva, lo único que habrá que realizar será una elección del horizonte de predicción de forma que no se superen los requisitos computacionales. Como trabajo futuro puede señalarse que no se han tenido en cuenta restricciones en la salida. Es decir, no se ha comprobado que el nivel de los tanques estuviese dentro de unos límites aceptables. La solución a esto podría pasar por un modo supervisor de la siguiente manera. A la hora de hallar la señal de control se tienen en cuenta las restricciones en la salida. Si la señal de control óptima diese una salida que estuviese fuera de los rangos permitidos se pasaría al modo supervisor de forma que a la hora de buscar una nueva señal de control se ponderasen más las restricciones que la optimalidad, estrictamente hablando. Referencias [1] Álamo, T., Muñoz de la Peña, D., Limon, D., and Camacho, E. F. (2005) “Constrained Min- Max Predictive Control: Modifications of the Objective Function Leading to Polynomial
Complexity”, IEEE Transactions on Automatic Control, 50 (5), 710-714. [2] Álamo, T., Muñoz de la Peña, D., and Camacho, E. F. (2003) “An efficient maximization algorithm with implications in min-max predictive control”, presented at the Eur. Control Conf., Cambridge, U.K. [3] Andersson, M., Cervin, A., Henriksson, D., and Årzén, K. E. (2005). “Simulation of Wireless Networked Control Systems”, Proceedings of the 44th Conference on Decision and Control, and the European Control Conference, Seville, Spain. [4] Camacho, E. F., and Bordons, C. (2004). “Model Predictive Control”, Springer-Verlag. [5] Camacho, E.F., and Bordons, C. (2004). “Control Predictivo; Pasado, Presente y Futuro”, Revista Iberoamericana de Automatica e Informática Industrial (RIAI), 1(3), 5-28. [6] Cervin, A., Henriksson, D., and Ohlin, M. (2007). “TrueTime 1.5-Reference Manual”, Department of Automatic Control, Lund University. [7] Cervin, A., Ohlin, M., and Henriksson, D. (2007). “Simulation of Networked Control Systems using TrueTime”, Department of Automatic Control LTH, Lund University, Sweden. [8] Clarke, D. W., Mohtadi, C., and Tuffs, P. S. (1987). “Generalized Predictive Control. Part I. The Basic Algorithm”, Automatica, 23 (2), 137- 148. [9] Henriksson, D, Cervin, A., and Årzén, K. E. (2003). “TrueTime: Real-time control system simulation with MATLAB/Simulink”, Proceedings of the Nordic MATLAB Conference, Copenhagen, Denmark. [10] Ramírez, D. R., Álamo, T., Camacho, E. F., and Muñoz de la Peña, D. (2005). “Min-Max MPC based on a computationally efficient upper bound of the worst case cost”, Journal of Process Control, 16, 511-519. [11] Rodríguez, D. (2002). “Control Predictivo Min- Max: Análisis, Caracterización y Técnicas de Implementación”, tesis doctoral, Universidad de Sevilla, Sevilla.