SciELO - Scientific Electronic Library Online

 
vol.28 número3Robust filters for fault detection: An LMI control settingMultistep predictive controllers based on neural network índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


Revista Técnica de la Facultad de Ingeniería Universidad del Zulia

versión impresa ISSN 0254-0770

Rev. Téc. Ing. Univ. Zulia v.28 n.3 Maracaibo dic. 2005

 

Genetics algorithms as a tuning tool for PID and sliding mode controllers 

Juan C. Terán-Picón, José Anderez y Oscar Camacho 

Postgrado en Automatización e Instrumentación, Facultad de Ingeniería, Universidad de Los Andes. Mérida, Venezuela. Tel.: +58-274-2402891. Fax: +58-274-2402890. ocamacho@ula.ve 

Abstract 

In this paper, the genetic algorithms are used as a searching tool of the tuning parameters of a controller. The algorithm works such a way that the new tunings improve the performance of the control system. Two studied cases are considered: the first case is the proportional-integral-derivative controller and the second study case is the sliding mode controller. The algorithms are applied from initial tunings, such as Ziegler and Nichols for the PID controller and the obtained from Camacho for sliding mode controller. 

Key words: Genetic algorithms, tuning parameters, PID, sliding mode control 

Algoritmos genéticos como herramienta de ajuste para controladores PID y de modo deslizante 

Resumen 

En este artículo los algoritmos genéticos se utilizan como una herramienta de búsqueda aleatoria de parámetros de sintonización de un controlador. El algoritmo funciona de tal manera que los nuevos parámetros de ajuste mejoran el desempeño del sistema de control. Dos casos de estudio son considerados: el primer caso es el controlador proporcional-integral-derivativo y el segundo caso de estudio es el controlador por modo deslizante. Los algoritmos son aplicados a partir de sintonizaciones iniciales, Ziegler y Nichols para la sintonización previa del PID, y las desarrolladas por Camacho para la sintonización inicial. 

Palabras clave: Algoritmos genéticos, parámetros de sintonización, PID, control por modo deslizante. 

Recibido el 15 de Junio de 2004 

En forma revisada el 3 de Octubre de 2005 

1. Introducción 

El control automático ha jugado un papel vital en el avance de la ingeniería y de la ciencia. Además de su extrema importancia, el control automático se ha convertido en una parte importante e integral en los procesos industriales. 

En dichos procesos, existen estrategias de control, que permiten mantener la variable a controlar, en el valor apropiado para el buen funcionamiento del proceso. Estas estrategias a su vez, son ejecutadas por controladores industriales. Dentro de los controladores mas comúnmente utilizados, se encuentran el proporcional-integral-derivativo (PID) [1]. Lógicamente, este no es el único controlador a considerar para estudios o implementaciones. Existe un controlador, que ha sido estudiado ampliamente a nivel científico [2-5], cuya técnica deriva del control por estructura variable, la cual fue estudiada originalmente por Utkin [6]; este se denomina, controlador por modo deslizante (Sliding Mode Controller, SMCr). El SMCr, así como el controlador PID, está conformado por parámetros de ajuste, lo cual permite sintonizar al controlador y así obtener un desempeño lo más favorable posible para el proceso. Existe actualmente una enorme cantidad de procedimientos para sintonizar estos controladores mediante ecuaciones para cada parámetro involucrado en el comportamiento del proceso. Entre estos procedimientos se encuentran las ecuaciones propuestas por Ziegler y Nichols [7, 8] para sintonizar el PID, y por Camacho [5] en su trabajo de tesis doctoral, para la sintonización del SMCr. 

Por otra parte, los Algoritmos Genéticos (GA) son un método de búsqueda en optimización. Ellos pueden compararse con el proceso biológico de la evolución natural de ciertas características de una especie, que pasan de generación en generación y contribuyen a su supervivencia y mejoramiento de la población a medida que el ciclo evolutivo avanza. Estos algoritmos están compuestos básicamente por una población inicial, donde cada individuo representa una posible solución a un determinado problema. 

Este artículo está organizado de la siguiente manera: la sección 2 muestra brevemente conceptos básicos respecto a algoritmos genéticos, en la secciones 3 y 4, se discute rápidamente sobre los dos controladores usados, la parte 5 describe la metodología utilizada, en la sección 6 se muestran los resultados y finalmente las conclusiones son presentadas 

2. Algoritmos Genéticos 

Son un método de búsqueda global estocástica que imita la metáfora de la evolución biológica natural. Los GA operan sobre una población de soluciones potenciales, aplicando el principio de supervivencia del más apto para reproducirse, con la esperanza de mejorar la proximidad a la solución del problema. 

2.1. Elementos principales de los algoritmos genéticos 

A continuación se mencionarán los conceptos de los elementos principales que componen los GA. 

- Individuo: Es un componente básico de la población. Para nuestro caso, cada individuo corresponde a cada uno de los parámetros de sintonización del controlador. En la Figura 1, se muestran los tipos de individuos tratados en este artículo, es decir, individuos binarios donde cada variable está formada por un determinado número de bits, e individuos de valores numéricos reales, donde cada variable es un número real. En la Figura 1(a), se ilustra un individuo binario formado por dos variables (x1 y x2) de 12 bits cada una, así como el ejemplo de un individuo numérico real si se tratase del mismo número de variables (Figura 1(b)

- Determinación del espacio de búsqueda: Debe establecerse un campo de búsqueda para cada parámetro que forma al individuo (parámetros del controlador). Este espacio de búsqueda está limitado a un rango para cada parámetro del controlador, es decir, cada parámetro tendrá un límite inferior y un límite superior. 

- Función objetivo y función fitness: La función objetivo es el nexo que vincula al problema en sí con los algoritmos. Esta función le asigna un valor raso al desempeño de los individuos. En este artículo se toma como base para esta función, la integral del error al cuadrado (IEC), que es uno de los criterios del error de integración mínimo. 

- Selección: Se seleccionan los pares de individuos que posean mejor fitness mediante el método universal estocástico (SUS) [9]. 

- Cruce: Es una función mediante la cual se realiza el cruce de pares de individuos seleccionados, para obtener nuevos individuos. 

- Mutación: Es una función mediante la cual se obtienen nuevos individuos por manipulación genética a partir de los individuos seleccionados originalmente. 

- Reinserción: Proceso mediante el cual los nuevos individuos son reinsertados en la población actual 

3. Controlador PID 

Los controladores PID son controladores por retroalimentación, estos combinan las buenas características de estabilidad del controlador PD y la característica de eliminación del error del controlador PI [7]. La ecuación que describe al controlador viene dado por: 

donde m(t) es la salida del controlador en psig o mA, es la salida del controlador cuando el error es cero y sus unidades son las mismas de m(t), Kc es la ganancia del controlador en psig controlador/psig transmisor o mA controlador/mA trasmisor, e(t) es la señal de error en psig o mA, t1 es el tiempo de integración en segundos o minutos y tD es el tiempo de derivación en segundos o minutos. 

Parámetros de sintonización usando el método de Ziegler y Nichols: Estas ecuaciones representan un estándar en cuanto a parámetros de sintonización de controladores PID se refiere [8], para el caso de lazo abierto, las ecuaciones son las siguientes: 

Controlador Proporcional (P) 

Controlador Proporcional + Integral (PI) 

Controlador Proporcional + Integral + Derivativo (PID) 

De las ecuaciones (2) hasta la (7), K es la ganancia del proceso cuya salida viene expresada como variable de salida (transmisor)/variable de entrada (controlador), t0 es el tiempo muerto del proceso en segundos o minutos y t es la constante de tiempo del proceso en segundos o minutos, por lo tanto, el controlador PID tiene tres parámetros Kc a veces llamada Kp, t1 y tD, que se deben ajustar para obtener un desempeño satisfactorio. 

4. Controlador por Modo Deslizante (SMCr) 

El Control por Modo Deslizante (Sliding Mode Control, SMC) es una técnica derivada del control por estructura variable (Variable Structure Control, VSC), estudiado originalmente por Utkin [6]. En el VSC, el control puede modificar su estructura. La teoría de sistemas dinámicos con modo deslizante, ha sido desarrollada en profundidad durante los últimos treinta años. Este es un método bastante efectivo en control no-lineal el cual ha sido probado en procesos con no-linealidades e incertidumbre, donde las técnicas tradicionales no presentan un buen desempeño [2]. El SMCr estudiado en este artículo presenta un algoritmo de estructura fija, propuesta por Camacho [5]. 

Las ecuaciones del SMCr, propuestas en [5], son como sigue: 

donde U(t) es la salida del controlador, X(t) es la variable controlada, l0 es una parámetro de sintonización de la parte continua del controlador en [tiempo]–2 , e(t) es la señal de error, la cual tiene las mismas unidades del transmisor (TO), KD es la ganancia del controlador en unidades de salida del controlador (CO), S(t) es la superficie deslizante, unidades de TO/tiempo, d es un parámetro de ajuste del controlador, y viene dado en unidades de TO/tiempo y l1 es otro parámetro de entonamiento de la parte continua del controlador en [tiempo]–1

Las ecuaciones (8) y (9) constituyen las ecuaciones del controlador. Para completar el SMCr, es necesario tener unas ecuaciones para sintonizar los parámetros inicialmente, las cuales se describen a continuación. 

Para la parte continua del controlador y la superficie deslizante 

Para la parte discontinua del controlador 

Las ecuaciones de sintonización utilizan los parámetros característicos del proceso (K, t, t0), al igual que las dadas en las de Ziegler-Nichols. Estos son fácilmente obtenidos a través del método curva de reacción [1]. 

5. Metodología 

El procedimiento que a continuación se describe es aplicado a dos procesos químicos: Un reactor con agitación continua cuya estrategia de control es un PID, y un tanque de mezclado con retardo variable, para caso en que se usa un SMCr. 

El primer elemento a considerar, es el individuo, en el código binario, cada individuo está formado por 54 bits, es decir, cada parámetro está constituido por 18 bits de precisión ya que se busca obtener números reales con más de dos decimales en la conversión de números binarios a números reales. Esto se realiza sólo para el caso del PID, ya que para el caso del SMCr, se trabaja directamente con números reales. 

El siguiente paso, es la determinación del universo de búsqueda para cada parámetro del controlador. Consiste en establecer los rangos dentro de los cuales el algoritmo realizará la búsqueda de manera paralela. Para la determinación de estos rangos, se siguió una metodología basada en criterios de minimización del error, la cual permite ubicar de manera rápida los valores mínimos para cada parámetro y el efecto que tiene sobre el desempeño del controlador. 

Se inicia la búsqueda a partir de los valores obtenidos por las ecuaciones de Ziegler y Nichols, para el controlador PID y por las ecuaciones propuestas por Camacho para el SMCr. Partiendo de los parámetros del proceso: K = 1,448 TO/CO, t0 = 37,33 s y t = 707,47 s, los valores obtenidos por las ecuaciones de Ziegler y Nichols, son: 

siendo estos valores los que se introducen en el controlador. 

En la Figura 2, se muestran las curvas que permiten visualizar los valores mínimos posibles para cada parámetro, siendo los rangos seleccionados aquellos enmarcados en las regiones señaladas. Estas curvas se obtienen al variar parámetro por parámetro del controlador, y graficar cada uno de ellos con respecto al criterio de Integral del Error Cuadrático (IEC). 

En la Figura 2 se puede apreciar el universo de valores posibles para cada parámetro, pero es necesario evaluar como los valores que se encuentran por encima y por debajo al valor inicial pueden afectar la estabilidad del controlador ante una perturbación del +10% en el flujo de entrada al proceso. Esto se puede ver en la Figura 3

Para valores KC, por encima de 15, el controlador tiende a oscilar, y para valores de 0,2 el sistema se hace inestable. Con respecto a Ki, se tiene que al introducir un valor de 0,04 el controlador tiene a ser marginalmente estable y para valores menores de 0,01 no logra alcanzar el punto de operación del reactor (88 ªC). Finalmente, para valores de Kd, por encima de 500, el controlador se hace muy lento (unos 2000 s para alcanzar el valor deseado) y para valores pequeños tal como 20, la respuesta es inestable. 

Partiendo de estos resultados, es posible establecer un estimado para rangos del 90% por encima y por debajo de los valores iniciales obtenidos por las ecuaciones de Ziegler y Nichols, que son las áreas señaladas en la Figura 2, de tal manera de establecer un universo de búsqueda que garantice un buen desempeño en el controlador al introducir los valores obtenidos por el algoritmo. Los rangos propuestos son los siguientes: 

KC Î [0,427-8,11],    Ki Î [0,0015-0,0294] y Kd Î [29,32-557,08]. 

El otro proceso bajo estudio es el tanque de mezclado donde se utiliza modo deslizante como controlador. Los valores obtenidos por las ecuaciones dadas por Camacho son: KD = 0,54 CO, d = 0,719 TO/min, l1 = 0,76 min1 y l0 = 0,147 min2. En la Figura 4, se muestran las curvas de IEC con respecto a cada parámetro, donde se puede visualizar los valores mínimos posibles para cada uno de ellos y los rangos seleccionados. 

La Figura 4 muestra un universo de valores mínimos para cada uno de los parámetros de sintonización, pero no todos los valores son adecuados para sintonizar el controlador, lo que se puede observar en la Figura 5

La Figura 5 muestra que para valores de KD valores por encima de 1 el controlador presenta fuertes oscilaciones, y para valores por debajo de 0,5 resulta muy poco agresivo. Para el caso de d, valores cercanos a 2 hacen que el controlador sea muy lento en alcanzar el valor de referencia. Con respecto a l1 valores cercanos a 0 hacen muy agresivo al controlador, presentando sobrepicos en el transitorio, mientras que l0 es un parámetro muy crítico y no permite fuertes variaciones respecto al valor inicial. Finalmente se obtienen los rangos finales para cada parámetro. KD Î [0,5-1], d Î [0,5-1], l1 Î  [0,5-1] y l0 Î  [0,1-0.2]. 

El siguiente paso es establecer la función objetivo y la función fitness. La función objetivo, está basada en el índice IEC. Inmediatamente el valor de IEC, es tomado por la función fitness, posteriormente, se ejecuta un lazo generacional, en el cual se realiza la selección basada en fitness, el cruce y la mutación. Para el caso del PID, que son individuos binarios, es necesario luego de la mutación, convertirlos en valores numéricos reales para que puedan ser evaluados. Para el caso del SMCr, esto no es necesario ya que los individuos están formados por valores numéricos reales. 

Finalmente se obtiene el resultado arrojado por el algoritmo, el cual consiste en un individuo que contiene los valores para los parámetros de sintonización del controlador. 

6. Resultados 

6.1. Tanque de reacción con agitación continua 

En este tanque se produce una reacción exotérmica A ® B. Para eliminar el calor de la reacción el reactor es rodeado por una chaqueta por donde circula un líquido refrigerante. La estrategia de control está basada en un controlador PID. En primer lugar describiremos lo referente a la programación genética usada: 

La programación posee las siguientes características: 

- Individuos codificados en números binarios 

- Número de individuos: 50 

- Número de generaciones: 10 

- Función objetivo: basado en el integral del error al cuadrado (IEC) 

- Fitness: operador ranking (presión selectiva 2) 

- Operador de selección: muestreo universal estocástico 

- Operador de cruce: cruce sencillo con probabilidad de 0,8 

- Operador de mutación: aleatoria con probabilidad de 0,05 

- Espacio de búsqueda: KC Î [0,427 , 8,11], Ki Î [0,0015 , 0,0294], Kd Î [29,32 , 557,08]. 

Los resultados obtenidos usando la sintonización de Ziegler-Nichols y los algoritmos genéticos se muestran en la Tabla 1

Tabla 1

Parámetros iniciales de sintonización para el controlador PID 

  

Ziegler y Nichols 

Algoritmos Genéticos 

Parámetros 

Valores 

Valores 

KC 

4,27 

7,965 

Ki 

0,0155 

0,0289 

Kd 

293,20 

547,11 

En la Figura 6(a) se muestra la salida del transmisor y en la Figura 6(b) se muestra la salida del controlador ante una perturbación del 10% en el flujo de alimentación. 

En la Tabla 2, se muestran los índices de desempeño IEC para ambos métodos, como se observa el resultado arrojado por los valores obtenidos mediante algoritmos genéticos mejora el desempeño del controlador, como era de esperarse. 

Tabla 2

Índices de desempeño al perturbar el flujo de alimentación

Métodos de sintonización 

IEC 

Ajuste Z-N 

0,2750 

Reajuste usando GA 

0,0098 

6.2. Tanque de mezclado 

En este tanque se mezclan dos flujos uno caliente y uno frío. La variable a controlar es la temperatura. Este proceso presenta un retardo variable. La estrategia de control está basada en un controlador por modo deslizante. 

Al igual que en al caso anterior, la programación genética es descrita mediante las características siguientes: 

- Individuos codificados en números reales 

- Número de individuos: 30 

- Número de generaciones: 8 

- Función objetivo: basado en el integral del error al cuadrado (IEC) 

- Fitness: operador ranking (presión selectiva 2) 

- Operador de selección: muestreo universal estocástico 

- Operador de cruce: cruce de punto sencillo con probabilidad de 0,7 

- Operador de mutación: aleatoria con probabilidad de 0,03. 

- Espacio de búsqueda del algoritmo: KD Î [0,5 , 1], d Î [0,5 , 1], l1 Î [0,5 , 1], l0 Î [0,5 , 0,2]. 

Los valores que se obtuvieron para la sintonización inicial usando las ecuaciones propuestas por Camacho [5], y por algoritmos genéticos se muestran en la Tabla 3

Tabla 3

Parámetros iniciales del controlador SMCr 

Parámetros 

Valores 

EC. Camacho 

Algoritmos Genéticos 

KD 

0,540 

0,764 

0,719 

0,650 

l1 

0,760 

0,574 

l0 

0,147 

0,150 

Una de las perturbaciones que afecta más el sistema, es la disminución del flujo caliente W1(t), ya que este sistema presenta un tiempo muerto que varía con esta variable. La consecuencia de esta disminución en W1(t) es el aumento en el tiempo muerto, que puede hacer al sistema inestable [4]. En la Figura 7(a), se aprecia el comportamiento de la temperatura, ante una disminución del 20% en el flujo caliente de la entrada. Se observa como los parámetros del SMCr obtenidos por el GA, hacen que la salida sea un poco más agresiva en comparación con la obtenida usando los parámetros iniciales. La salida del controlador se muestra en la Figura 7(b), y presenta un pequeño sobrepico debido al incremento de la agresividad del controlador. 

Los índices de desempeño ante esta perturbación, se muestran en la Tabla 4

Tabla 4

Índices de desempeño para el SMC ante una perturbación en W1(t) un –20% 

Métodos de sintonización 

IEC 

Ajuste Z-N 

0,4610 

Reajuste usando GA 

0,0323 

7. Conclusiones 

Este artículo mostró que es posible mejorar la sintonización de un controlador usando algoritmos genéticos, partiendo de una sintonización inicial, en este trabajo se usaron las ecuaciones de Ziegler, Nichols y Camacho como valores iniciales de ajuste de los controladores. 

En los ejemplos mostrados, se observa una mejora importante en el desempeño de los controladores, cuando se usan los resultados de sintonización a partir de los algoritmos genéticos. Para los procesos no-lineales, tratados en este trabajo, las mejorías en el desempeño del controlador son hasta de un 95% con respecto al desempeño del controlador sintonizado por las ecuaciones mencionadas previamente. 

Los resultados de la sintonización mediante GA muestran que no hay diferencia al usar una población de codificación binaria o una codificación de valores numéricos reales. Siendo la única ventaja que al trabajar con individuos de codificación numérica real, el tiempo de procesamiento de datos disminuye. 

Referencias Bibliográficas 

1. Smith C., Corripio A., “Control automático de procesos. Teoría y práctica”. Limusa, Noriega editores.         [ Links ]

2. Camacho O., Rojas R., Garcia W. “Variable structure control applied to chemical processes with inverse response”. ISA Transactions 38, (1999) 55-72.         [ Links ]

3. Ng K. C., Y. Li., Murray-Smith, Y Sharman K. C., “Genetics Algorithms Applied to Fuzzy Sliding Mode Controller Design”. In Proc. First IEE/IEEE Int. Conf. on GA in Eng. Syst.: Innovations and Appl., pages 220-225, Sheffield, U.K., September 1995.         [ Links ]

4. Camacho O., Smith C.A. “Sliding mode control: an approach to regulate nonlinear chemical processes”. ISA Transactions 39, (2000) 205-218.         [ Links ]

5. Camacho O., “A new approach to design and tune sliding mode controllers for chemical processes”. Doctoral dissertation, University of South Florida, Tampa, Florida, August 1996.         [ Links ]

6. Utkin V. I., “Variable structure systems with sliding modes”, Transactions of IEEE on Automatic Control AC (22) (1977) 212-222.         [ Links ]

7. Ziegler J.G., Nichols N.B. “Optimum Setting for Automatic Controllers”. ASME Trans. 64, 1942.         [ Links ]

8. Camacho O. y Rojas R., “Notas de Control del Postgrado en Automatización e Instrumentación”. Universidad de Los Andes. Mérida, Venezuela. 1998.         [ Links ]

9. Mitchell M., “An introduction to genetic algorithms”. Eighth printing first MIT press paperback edition, 1998, Massachusetts Institute of Technology. 2002.         [ Links ]