ALGORITMOS PARA LINEALIZACIÓN DE CONTROLADORES FUZZY

Autores: por Sergio L. Martínez, Enrique E. Tarifa y Samuel Franco Domínguez


Introducción

El control de equipos y procesos es una actividad indispensable en numerosos ámbitos, especialmente en la industria. Usualmente los sistemas de control convencionales requieren un conocimiento muy preciso del sistema sobre el que se aplican, ya que, cuando operan sobre un modelo necesitan de los datos que el sistema genera. La obtención de tal modelo no es siempre posible.

Los controladores basados en lógica fuzzy (FLC – Fuzzy Logic Controllers) han demostrado ser muy eficientes, además de que el procedimiento de diseño es relativamente fácil y accesible, aplicando conceptos basados en lenguaje natural, es decir, utilizan un modo de razonamiento aproximado que se asemeja al procedimiento que efectuaría un operario experto (Martínez et al., 2013; Yager, 2002).

Utilizan heurísticas de control que no requieren específicamente de un modelo del proceso, pero la estrategia de control en la que se basan está sustentada por el conocimiento de un experto a partir del cual, se derivan las reglas de control. La base de un controlador fuzzy es un sistema de inferencia ( ), que contiene los siguientes componentes básicos (Martínez et al., 2013).

1. Módulo de fuzzyficación: En este módulo las variables de control convierten sus valores numéricos instanciados en valores de pertenencia dentro de un intervalo [0, 1] mediante un conjunto de funciones de pertenencia asociadas a cada variable. Esta descripción puede considerarse como una definición del concepto fuzzyficar.

2. Base de reglas: Conjunto de reglas condicionales que establecen las relaciones fuzzy entre las variables controladas y las variables de control, de acuerdo a la dinámica del proceso y según el criterio del experto.

3. Motor de inferencia: Estructura lógica que relaciona los hechos iniciales del proceso, a través de las reglas fuzzy, para determinar las precondiciones que asumirán las variables de control, aún en estado fuzzy.

4. Módulo de defuzzyficación: Estructura que convierte los resultados fuzzy de las variables internas del sistema de inferencia, generados por el motor de inferencia, en valores numéricos nítidos, para ser aplicados a la acción de control.

De acuerdo a la configuración, el controlador fuzzy puede adoptar el esquema que responde a los tipos básicos del control convencional: Proporcional (P), Integral (I) y Derivativo (D); y las combinaciones más usuales: Proporcional–Integral (PI), Proporcional–Derivativo (PD) y la más general Proporcional–Integral–Derivativo (PID), cuya elección dependerá de la naturaleza del sistema a controlar, sus requerimientos o la interpretación del diseñador del sistema de control (Chen et al., 2011).

Diseño de controladores fuzzy

El procedimiento general para diseñar un controlador fuzzy, se puede resumir en los siguientes pasos (Ross, 2010):

I. Identificar las variables (entradas, estado y salidas) de la planta.

II. Establecer el alcance de cada variable. Usualmente tales alcances se utilizan normalizados a [0, 1] ó [–1, +1].

III. Segmentar este alcance y distribuir en un número conveniente de particiones, asignando a cada una de ellas una etiqueta lingüística.

IV. Asignar una función de pertenencia a cada partición.

V. Establecer las relaciones entre las variables de entrada o de estado fuzzy con las variables de salida fuzzy, para formar la base de reglas.

VI. Seleccionar los factores de escala apropiados de las variables de entrada y salida, para normalizar tales variables a los intervalos [0,1] ó [–1, +1].

Los pasos indicados se describen a continuación:

I. Variables. El criterio general indica el uso de variables nominales con valores completos o normalizados en el caso de controladores a lazo abierto; variables específicas tipo error o variaciones de éste, con valores usualmente normalizados, en el caso de controladores a lazo cerrado; y combinación de los tipos de variables, según el problema y a criterio del experto. Para la salida, la variable que representa la acción de control, se puede generar en forma completa (u), o en forma incremental (Du), el uso de uno u otro formato modifica la ecuación del controlador.

II. Alcance. Para el uso conveniente del alcance de cada variable, tanto de entrada como de salida, se lo divide en una determinada cantidad de particiones, usualmente igualmente espaciadas y en una cantidad impar. La normalización de las variables, aunque no es obligatorio es conveniente para unificar los entornos numéricos de operación y evitar que un rango demasiado alto en una variable enmascare la actividad de la restantes.

En este paso del diseño del FLC se indica la definición del alcance de las variables y la eventual normalización. Esta acción genera una situación que es parcialmente responsable de las alinealidades de la curva de transferencia del controlador fuzzy, mostradas en el apartado anterior. Se refiere al alcance definido que segmenta a las funciones de pertenencia, en los extremos del alcance de la variable de salida. Es decir, cuando la entrada toma un valor extremo (por ej. –1 ó +1) o cercano a los extremos, y la regla disparada afecta a una de las funciones de pertenencia extrema y su formato cambia.

Considerando las funciones triangulares (originalmente definidas como triángulos isósceles), para la variable de salida, en los extremos se comportan como triángulos rectángulos (Figura 2), de modo que la composición y defuzzificación –en este caso por centroide–, de figuras diferentes, no mantiene linealidad en el entorno. Situación similar ocurre para los otros tipos de funciones de pertenencia consideradas.

El otro inconveniente que se desprende por el cambio de forma de las funciones de pertenencia extremas, obligado por los límites del alcance, es que el valor de-fuzzyficado de la salida por método del centroide, nunca alcanza los límites originalmente definidos para esta variable (–1 ó +1 en este caso). Para las funciones triangulares, sólo llega al 67% del valor máximo de salida (1/3 de la base de un triángulo rectángulo, desde el lado vertical) (Figura 2 ).

Si se cambiara el método de defuzzyficación, por ejemplo a LOM (Large of Maximum) o SOM (Small of Maximum), la situación no se corrige totalmente, porque siempre quedaría un error en uno de los extremos.

Esta situación se puede superar redefiniendo el alcance de la variable de salida, de modo que cubra la totalidad de las funciones de pertenencia extremas, para que el proceso de defuzzyficación por centroide acceda a una figura simétrica completa. La Figura 3 muestra la operación de la base de reglas fuzzy en forma gráfica, para la situación de un valor de entrada extremo.

Si bien esta extensión del alcance no forma parte de la definición original del controlador, los segmentos adicionados nunca serían alcanzados durante el trabajo del controlador, debido al límite máximo permitido por la variable de entrada.

III. Segmentación y distribución. Este paso del procedimiento de diseño detallado anteriormente, se puede considerar como el principal responsable de las alinealidades más significativas de la función de transferencia de un controlador fuzzy.

Si bien, algunos autores proponen en sus trabajos pertinentes (Diaz y Muñoz, 2013; Lorandi et al., 2011; Montiel et al., 2007; Reznik, 1997), distribuciones poco convencionales de las particiones en las funciones de entrada y salida para los controladores fuzzy la mayoría opta por una distribución regular de tales particiones y sus funciones de pertenencia asociadas.

En las figuras que siguen, se muestra cómo afecta al desarrollo de la curva de transferencia de un controlador fuzzy, diferentes esquemas de distribución de particiones. Para la muestra, se utilizaron funciones triangulares, que se inferirán como la mejor alternativa en las discusiones siguientes. Para este experimento se utilizó un controlador fuzzy tipo P, con mayor cantidad de particiones en las variables de entrada y salida, que permiten apreciar mejor el efecto de distribución de las particiones. Los datos son los siguientes:

  • Funciones de pertenencia triangulares.
  • Alcance de la variable de entrada [–1, +1]. Alcance original de la variable de salida [0, +1], extendida a [–0.25, +1.25].
  • Partición uniforme de cinco segmentos para la salida. Particiones no uniformes de cinco segmentos para la entrada.
  • En todos los casos, solapamientos del 50% que asegura el disparo de dos reglas fuzzy como máximo.
  • Método de implicación por intersección (Mamdani).
  • Método de defuzzyficación por centroide.
  • 1º caso: distribución densa en los extremos. Este es un caso bastante desfavorable, como se muestra la curva de transferencia de la Figura 4 .
  • A pesar que en los extremos el sistema es más sensible, debido a que la curva de transferencia tiene mayor pendiente, en la parte central, el segmento horizontal –de casi el 50% del total– representa un intervalo que se conoce como “zona muerta”, donde la salida del controlador fuzzy no responde a las variaciones de las entradas. En definitiva, no es una buena distribución.

  • 2º caso: distribución densa en el centro. Este caso se muestra en la Figura 5 y representa una situación tanto o más desfavorable que la anterior. Se disponen las particiones con segmentos más pequeños al centro del alcance de la variable, de modo que allí se concentran las funciones de pertenencia. Esto produce que la parte central de la curva de transferencia sea aproximadamente lineal, pero la “zona muerta” se traslada ahora hacia los dos extremos, donde el controlador no responderá a las variaciones de la entrada.
  • En este caso, ambos segmentos insensibles representan un poco más del 50% del alcance total de la entrada. En definitiva, esta distribución tampoco es buena.

  • 3º caso: distribución simétrica a la entrada y salida. Este caso se muestra gráficamente en la Figura 6.
  • Se puede observar que la función de transferencia es casi lineal en toda la extensión de las variables. Las pequeñas oscilaciones pueden ser minimizadas aumentando la cantidad de particiones para las variables, especialmente a la salida, donde tiene lugar el proceso de composición y defuzzyficación.

    En este caso es fácil deducir que la ganancia del controlador es de 0.5, que se puede modificar redefiniendo la relación de alcance entre las variables de salida y entrada. Para el caso de controladores fuzzy, resulta más conveniente modificar la ganancia con factores externos al controlador y dejar el diseño con alcances normalizados para las variables de entrada y salida.

    Considerando el criterio inicial establecido en este trabajo, para un controlador fuzzy esta configuración resulta la más conveniente, dado que no introduciría alinealidades adicionales a un eventual proceso de control y fundamentalmente no generaría zonas muertas.

    IV. Funciones de pertenencia. Uno de las elecciones de mayor criticidad en el diseño, es la asignación de las funciones de pertenencia. En principio no hay un criterio concreto que indique el tipo de función de pertenencia a utilizar. De hecho, en diversas publicaciones relacionadas, los autores aplican diferentes funciones (Sharma, 2011; Zulfatman and Rahmat, 2009; Precup and Preitl, 2006), siendo las más usuales de tipo triangular, trapezoidal, gaussiana y sigmoide.

    Por la complejidad relacional del sistema de inferencia fuzzy, no es sencillo establecer analíticamente la función de transferencia de sistema. Para mostrar el efecto de cada tipo de función, se utiliza un modelo SISO (Single Input – Single Output) de controlador fuzzy tipo P, con las características que se indican:

  • Funciones de pertenencia utilizadas: gaussiana, trapezoidal y triangular.
  • Alcance de las variables para entrada y salida [–1, +1].
  • Partición uniforme y solapamiento 50%. Esquema idéntico para entrada y salida.
  • Método de implicación por intersección (Mamdani).
  • Método de defuzzyficación por centroide.
  • En todos los casos se disparan dos reglas como máximo.
  • Utilizando la interfaz gráfica fuzzy de Matlab®, se puede visualizar la curva de transferencia del controlador fuzzy para las funciones de pertenencia consideradas, como se muestra en las figuras siguientes:

    Como se observa en las figuras anteriores, las funciones de pertenencia definen curvas de transferencia alineales, situación que resulta más pronunciada para las funciones gaussianas, y con tendencia más lineal para las funciones triangulares.

    Como ventaja adicional para las funciones de pertenencia lineales (especialmente triangulares) y considerando que los FLC siempre trabajan en un esquema iterativo exigente, el esfuerzo computacional para resolver funciones lineales siempre es menor.

    Nuevo algoritmo para diseño de FLC linealizado

    En base a las consideraciones establecidas en los pasos anteriores, se propone un nuevo algoritmo para el diseño de FLC con función de transferencia linealizada, como se indica en los pasos que siguen:

    I. Identificar las variables (entradas, estado y salidas) de la planta. Variables nominales con valores completos o normalizados en el caso de controladores a lazo abierto; variables específicas tipo error o variaciones de éste, con valores usualmente normalizados, en el caso de controladores a lazo cerrado.

    II. Establecer el alcance de cada variable. Usualmente tales alcances se utilizan normalizados a [0, 1] ó [–1, +1]. Ampliar el alcance para contener las funciones de pertenencias extremas completas.

    III. Segmentar este alcance y distribuir en un número conveniente de particiones, asignando a cada una de ellas una etiqueta lingüística. Las particiones se definen igualmente espaciadas.

    IV. Asignar una función de pertenencia a cada partición. Se asignan funciones tipo triángulo, solapadas un 50 %.

    V. Establecer las relaciones entre las variables de entrada o de estado fuzzy con las variables de salida fuzzy, para formar la base de reglas.

    VI. Seleccionar los factores de escala apropiados de las variables de entrada y salida, para normalizar tales variables a los intervalos [0, 1] ó [–1, +1].

    Implementación de un sistema de control

    Para mostrar la actividad de un sistema controlador–planta, operando bajo las condiciones de transferencia lineal en el diseño de los controladores propuestos en este trabajo, se utiliza como planta un mezclador de caudales en línea que posee dos variables de entrada y dos de salida, como se muestra en el esquema de la Figura 10.

    Los dispositivos conocidos como mezcladores de flujos o de caudales (flow mixers) mezclan corrientes de fluidos para producir una nueva corriente con propiedades específicas (caudal, presión, temperatura, composición, etc.) (Martínez et al., 2013). El modelo de este mezclador, responde a las ecuaciones siguientes:

    donde el caudal F y la temperatura T de la corriente de salida dependen de las condiciones de las corrientes de entrada, como ser caudales de las corrientes fría y caliente (Ff y Fc) y sus respectivas temperaturas (Tf y Tc); además de las aperturas xf y xc de sus válvulas correspondientes.

    Se asume que los sensores de las variables controladas están cerca del punto de mezcla, por lo cual el retardo de las mediciones es despreciable. Además, considerando que el objetivo del trabajo es mostrar la linealización de los controladores fuzzy bajo un nuevo enfoque en la configuración de las particiones y funciones de pertenencia, el modelo de la planta se ha simplificado, utilizando válvulas proporcionales puras, sin retardo, que responden a las ecuaciones siguientes:

    donde (xf y xc [0, 1]) son las variables de apertura de las válvulas fría y caliente respectivamente y (Ff y Fc) corresponden a las variables de referencia del sistema. El modelo experimental se ha instanciado con los siguientes parámetros:

  • Corriente fría: caudal de entrada Ff = 100 l/min, temperatura Tf = 25 ºC.
  • Corriente caliente: caudal de entrada Fc = 100 l/min, temperatura Tc = 70 ºC.
  • Como la planta tiene dos variables de entrada (la regulación de las válvulas xf y xc) y dos variables de salida (caudal de la mezcla F y temperatura de la mezcla T), en un esquema de control a lazo cerrado requiere de un controlador tipo MIMO (Multiple Input – Multiple Output).

    Configuración del controlador

    La planta propuesta, requiere un controlador MIMO por la cantidad de variables de entrada y salida. A tal efecto, se selecciona el tipo PI (proporcional –integral), bajo un criterio de simplicidad en la generación de la base de reglas fuzzy, como se describe más adelante. Tal esquema de control se configura con el acoplamiento de cuatro controladores fuzzy SISO, también en configuración PI, para mantener la configuración general.

    El formato de un controlador convencional incremental tipo SISO, en configuración PI, responde a la siguiente ecuación de tiempo discreto:

    donde Du(k) es la variación de la acción de control en tiempo discreto k, e(k) es el error de control, la variación del error calculada como De(k) = e(k) – e(k–1) y (Kp, KI) son las contantes paramétricas –o ganancias– de esta configuración.

    Luego, los cuatro controladores fuzzy SISO requeridos, tienen la configuración mostrada en el esquema de la Figura 11 y se han diseñado siguiendo los pasos indicados en el apartado del nuevo diseño propuesto.

    Las variables de entrada (e(k), De(k)) y salida (Du(k)) se han configurado de acuerdo a las condiciones de linealidad propuestas en este trabajo:

  • Utilizando una cantidad mínima y apropiada, se establecen tres particiones por cada variable, normalizadas a [–1, +1] y asociadas con funciones de pertenencia triangulares, solapamiento del 50 % y extensión del alcance de la variable de salida, como se observa en la Figura 12.
  • Base de reglas configuradas de acuerdo a las tablas de decisión de MacVicar–Whelan (Martínez et al., 2011), con nueve reglas, como se observa en la Figura 13 .
  • La base de reglas de la figura anterior, corresponde particularmente al controlador fuzzy tipo PI que relaciona el error y variación de error de caudal ((eF(k), DeF(k)) con la variación de la acción de control sobre la válvula de la corriente fría (Dxf (k)). Los restantes controladores SISO Dxc (k) = f((eF(k), DeF(k)), Dxf (k) = f((eT(k), DeT(k)), Dxc (k) = f((eT(k), DeT(k)), se configuran de forma similar respetando las relaciones de variación de las variables de entrada con su respectiva salida (Martínez et al., 2011).

    Los cuatro controladores fuzzy SISO, se acoplan, para configurar un controlador fuzzy MIMO (Figura 14 ), según las ecuaciones (6) y (7) :

    siendo M la cantidad de variables manipuladas (aperturas de las válvulas fría xf y caliente xc), N la cantidad de variables controladas de la planta (caudal F y temperatura T). Luego, la acción de control completa para cada una de las variables manipuladas se puede calcular como:

    con uj(k) la acción de control completa en el instante k, uj(k–1) la acción de control en el instante anterior y Duj(k) la variación de control calculada con la ecuación (6).

    Operación del sistema

    La implementación del sistema controlador–planta se presenta en la Figura 14, donde se observa el bloque gris de mayor tamaño conteniendo al sistema mezclador de flujos, que responde al esquema de la Figura 10 y las ecuaciones (1) y (2); los bloques grises más pequeños correspondientes al conjunto de cuatro controladores fuzzy SISO, acoplados, para conformar el controlador fuzzy MIMO de acuerdo a las ecuaciones (6) y (7). El conjunto dispone además de dos bloques (identificados como “control manual”) que permite –mediante conmutadores– el ingreso directo del valor de las aperturas de las válvulas xf y xc para una eventual operación manual directa.

    Resultados

    Con el modelo experimental de la Figura 14, se pueden desarrollar diferentes pruebas y verificaciones. En este caso, se ejecutaron pruebas clásicas como se indica:

    1º prueba – Variación escalón de ambas referencias: Durante una corrida de 100 min, se aplica simultáneamente una variación escalón descendente en tk=40 min a la referencia de caudal (FREF) y variación escalón ascendente en tk=60 min a la referencia de temperatura (TREF), para verificar cómo responde el controlador en conjunto (Figura 15).

    Se observa que el controlador responde muy bien a las variaciones de las referencias, alcanzando los valores finales sin offset por acción de la componente integral del controlador. La variación de caudal produce una pequeña perturbación sobre la respuesta de temperatura, debido a la variación del caudal en tk=60 min, que se disipa rápidamente.

    2° prueba – Variación tipo rampa: Este tipo de prueba permite explorar los límites del sistema. Mientras el caudal de referencia (FREF) se mantiene constante en 100 L/min, se produce una variación tipo rampa sobre la referencia de temperatura (TREF), con valor final no limitado (Figura 16).

    En la Figura 16(a), las gráficas muestran cómo el controlador logra que la planta genere una temperatura de salida (T) que sigue a la rampa de la temperatura de referencia (TREF), en régimen permanente, con un error cuadrático medio ECM = 47.5 (con 466 puntos computados), hasta el instante tk=46.5 min, donde el sistema se satura al haber alcanzado la temperatura máxima Tmax=70 ºC. Dicho de otra forma, el controlador genera respuesta con un retardo de 1,4 min, hasta el instante de saturación.

    En la Figura 16(b), se muestra cómo son controladas las válvulas de la corriente fría (xf) y la corriente caliente (xc), variando linealmente, para seguir la variación –también lineal– de temperatura de referencia. En el instante tk=46.5 min, el sistema se satura cuando la válvula xc alcanza su apertura máxima y la válvula xf queda totalmente cerrada; el sistema no puede aumentar más su temperatura.

    Durante todo el proceso, el caudal de referencia (FREF) y el de salida (F) se mantienen constantes frente a las variaciones de la temperatura (TREF). El controlador fuzzy MIMO tipo PI ha respondido como se esperaba.

    Conclusiones

    En este trabajo se ha presentado un nuevo enfoque para configurar los controladores fuzzy, utilizando como soporte de análisis un controlador fuzzy SISO tipo proporcional. El criterio seguido fue conseguir una función de transferencia lineal, para lo cual se analizaron el tipo de función de pertenencia más conveniente, la distribución y alcances de las particiones, mostrando los efectos que causa sobre la curva de transferencia distribuciones no regulares de tales particiones.

    De las consideraciones presentadas se concluye que las funciones de pertenencia triangulares, con una distribución regular y un alcance extendido para las variables de salida, producen los mejores resultados.

    Luego, siguiendo el nuevo algoritmo de diseño presentado, se han diseñado cuatro controladores fuzzy SISO tipo proporcional–integral, convenientemente acoplados para configurar un controlador fuzzy MIMO, que se aplica a un modelo de mezclador de corrientes líquidas en línea, utilizando el entorno de simulación gráfica Simulink® de Matlab®.

    Los resultados obtenidos con el modelo experimental controlador–planta, muestran un excelente desempeño de los controladores fuzzy diseñados, en base a las pruebas realizadas.

    Referencias

    Chen, J., He, Z.F. and Qi, X., “A new control method for MIMO first order time delay nonsquare systems”, Journal of Process Control, V 21(4), pp. 538–546, 2011.

    Diaz, J. y Muñoz, F., “Comparación entre un Controlador Difuso y un Controlador PID para un Motor Universal”, ENGI, V. 1(2), 2013.

    Lorandi Medina, A., Hermida Saba, G., Ladrón de Guevara Durán, E. y Hernández Silva, J., “Controladores PID y Controladores Difusos”, Revista de la Ingeniería Industrial, V. 5(1), 2011.

    Martínez, S., Tarifa, E. y Sánchez Rivero, V., “Derivación de reglas de control MIMO para un controlador fuzzy sin conocimiento experto”, Experiencias Innovadoras en Investigación Aplicada, ISBN 978-987-26314-4-4, V. 1, 2011.

    Martínez, S., Tarifa, E. y Nuñez, A., “Diseño, simulación y comparación de controladores inteligentes aplicados a un proceso industrial”, Investigaciones en Facultades de Ingeniería del NOA, V. 1 (1), 2013.

    Montiel, O., Sepúlveda, R., Melin, P., Castillo, O., Porta, M. and Meza, I., “Performance of a Simple Tuned Fuzzy Controller and a PID Controller on a DC Motor”, FOCI 2007 – IEEE, 2007.

    Precup, R. and Preitl, S., “Stability and Sensitivy Analysis of Fuzzy Control Systems”, Mechatronics Applications. Acta Polytechnica Hungarica, V. 3(1), 2006.

    Reznik, L., “Fuzzy Controllers Handbook: How to Design Them, How They Work”, Ed. Newnes, 1º ed., 1997.

    Ross, T. J., “Fuzzy Logic with Engineering Applications”. John Wiley & Sons Ltd., 3º ed., 2010.

    Sharma D., “Designing and Modeling Fuzzy Control Systems”, International Journal of Computer Applications. V. 16(1), 2011.

    Yager R. R., “Essential of Fuzzy Modelling and Control”. Co-CBS. USA, 2002.

    Zulfatman and Rahmat, M. F., “Application of self-tuning fuzzy PID controller on industrial hydraulic actuator using system identification approach”, International Journal on Smart Sensing and Intelligent Systems, V. 2(2), 2009.