Descargar

Diseño e implementación de un controlador neurodifuso con optimización por medio de algorritmos evolutivos

Enviado por mfranco


    para una planta piloto de secado de alimentos

    1. Abstract
    2. Descripción del sistema de secado e instrumentación del mismo
    3. Implementación de controladores tradicionales
    4. Controlador neurodifuso tipo ANFIS
    5. Controlador neurodifuso tipo ANFIS optimizado por quimotaxis bacteriano
    6. Conclusiones y resultados
    7. Bibliografía

    Abstract: los procesos de control de secado de alimentos, son uno de los procesos industriales más fáciles para ejercer control automático, por lo que se consideran de gran utilidad para probar técnicas de control avanzados, como en nuestro caso controladores Neurodifusos tipo ANFIS, optimizados por algoritmos evolutivos como es el algoritmo de Chemotaxis Bacteriano.

    Observando de esta manera el comportamiento de controles avanzados en sistemas simples de controlar, y de esta manera predecir como será su funcionamiento en sistemas físicos más complejos y así tener parámetros de decisión si verdaderamente son útiles en procesos de control automático en el nivel de la industria.

    Palabras clave: PID, PD difuso, Neurodifuso, ANFIS, Falcon, Delphi, Algoritmos Evolutivos, Optimización, Chemotaxis Bacteriano, Control Automático, Proceso de secado.

    1. El desarrollo de las estrategias de control avanzado, como son las que se usaron en el presente trabajo, son técnicas las cuales solo han sido probadas en medios teóricos, y muy pocas veces se han llevado a sistemas físicos reales ya que su costo computacional, o el poco uso práctico en procesos productivos solo permiten que estos controles sean usados con fines académicos y no prácticos.

      En el presente trabajo se evalúan de forma practica el comportamiento de dos controladores Neurodifusos tipo ANFIS, uno de ellos entrenado con estrategias tradicionales de entrenamiento de redes neuronales como son los métodos del gradiente descendente y el mínimo error cuadrado, logrados por medio del programa MATLAB®, y un segundo usando la estrategia de entrenamiento de los algoritmos evolutivos, específicamente el algoritmo de Chemotaxis Bacteriano.

    2. INTRODUCCION

      El problema de secado de alimentos tiene como restricción que la temperatura máxima de secado esta limitada a los 70°C, ya que a temperaturas superiores las características nutritivas de los productos a secar se pierden, por lo tanto se diseño una planta de secado, la cual permitiera tener esta temperatura con los dispositivos que se usaron para el control.

      Las características del sistema de secado son las siguientes:

      Una cámara metálica cuadrada, que tiene un recubrimiento en su interior con laminas de icopor para obtener temperaturas mas elevadas y así obtener unos rangos mayores de control, adicionalmente se tiene que la entrada de aire caliente se hace por medio del conjunto de ventilador y resistencia, que son los sistemas con los que se controlara la temperatura de entrada del sistema. El motor del ventilador en el momento de empezar el control esta conectado directamente a la red eléctrica, teniendo un flujo de aire constante al interior de la cámara de secado así se realizara el control sobre la resistencia, la cual es el actuador para ejercer la acción de control sobre la planta de secado.

      Figura 1.

      La forma de hacer control es por medio de un PWM monofásico digital sincronizado con la red eléctrica, el cual es programado en un microcontrolador. Este microcontrolador adicionalmente tiene como función adecuar las señales de los sensores de temperatura que se ubican en la cámara de secado, los cuales son usados para tomar las medidas y las variables de proceso, para hacer la acción de control, estos sensores son los SHT11, que son dispositivos de tipo semiconductor con configuración y respuesta digital serial, los cuales son configurados y monitoreados por medio de un programa diseñado en el microcontrolador, la forma de comunicar esta tarjeta de adquisición con el controlador (computador) es por medio de comunicación serial, que dadas las características de la planta de secado de alimentos nos permiten manejar todo el proceso sin tener perdida de información por la velocidad de la comunicación. [2][3].

      El esquema de la tarjeta es el siguiente:

      Figura 2.

    3. DESCRIPCION DEL SISTEMA DE SECADO E INSTRUMENTACION DEL MISMO

      En la etapa de diseño de controladores, se opto primero por implementar un controlador tipo PID tradicional, el cual fue diseñado y sintonizado siguiendo las restricciones del proceso de secado, tales como son que el máximo sobre impulso del sistema no llegara jamás a sobrepasar los 80°C, ya que si se sobrepasara se perderían las propiedades de los alimentos, y tratando de que el sistema respondiera lo mas rápido posible[1].

      Al igual que el control PID se implemento un control de tipo Difuso PD, el cual fue diseñado tomando 49 reglas difusas las cuales se sacaron de forma practica, teniendo como parámetros la velocidad de respuesta de la planta a diferentes entradas de control, las señales de entrada al controlador como el tipo de estrategia lo indica son el error y la derivada del error (PD), con base en estas entradas se diseño el controlador difuso, al igual que el controlador PID se sintonizo de manera practica variando las reglas que no ofrecían los resultados esperados como eran, la velocidad de respuesta, error de estado estacionario, o el máximo sobre impulso, las reglas se fueron modificando hasta que se encontraron los parámetros que mejor se ajustaban a las necesidades del sistema.

      ERROR

       

      NG

      NM

      NP

      ZE

      PP

      PM

      PG

      NG

      AA

      AA

      AA

      AA

      NM

      AM

      AM

      AM

      AA

      NP

      AP

      AP

      AP

      AM

      AA

      ZE

      BA

      BM

      BP

      ZE

      AP

      AM

      AA

      PP

      BP

      BP

      BP

      PM

      BM

      PG

      BA

      Las reglas del controlador difuso son triangulares y la salida del sistema se hace por medio del método del centro de masas. [4][5].

      Los resultados obtenidos con estos controladores son los siguientes:

      Figura3.

      Figura 4.

    4. IMPLEMENTACION DE CONTROLADORES TRADICIONALES
    5. CONTROLADOR NEURODIFUSO TIPO ANFIS

    Los controladores Neurodifusos se dividen en tres áreas:

    1. Modelos concurrentes: estos modelos son sistemas difusos y redes neuronales funcionando juntos, sin embargo ninguno de los dos determina los parámetros del otro.
    2. Modelos cooperativos: estos modelos se definen como un sistema difuso con entrenamiento neuronal, esto quiere decir que estos modelos tienen dos etapas, una etapa de entrenamiento y una etapa de operación, las redes neuronales son usadas para determinar los parámetros de funcionamiento del control difuso.
    3. Modelos híbridos: estos modelos se pueden definir como el funcionamiento en conjunto de las redes neuronales con los sistemas difusos, hay dos tipos uno es un sistema neuronal con comportamiento difuso, o un sistema difuso con parámetros distribuidos. [4].

    El modelo de controlador ANFIS (sistema de inferencia difusa basado en redes adaptativas) es un modelo híbrido, este modelo esta derivado del comportamiento de una red adaptativa tipo Falcon de propagación hacia adelante. [7]. Esta red tiene una arquitectura de la siguiente forma:

    Figura 5.

    En esta arquitectura se muestra unos nodos circulares y otros nodos cuadrados, los nodos cuadrados corresponden a los nodos adaptativos de la red, y los nodos redondos son nodos estáticos. Las características de la red adaptativa son la unión de todas las características de los nodos adaptativos de la red Falcon.

    Teniendo en cuenta esto Jyh-Shing y Roger Jang en 1993 postularon el modelo Neurodifuso tipo ANFIS[8].

    La red tipo ANFIS que se explicara a continuación corresponde al modelo implementado en el proceso de secado de la planta piloto. Para el diseño del controlador se utilizo el modelo de identificación inversa de la planta de secado que corresponde a hacer funcionar el sistema con entradas de tipo pseudoaleatorio, obteniendo unos vectores de entrada salida del sistema a controlar. Las entradas son de tipo pseudoaleatorio ya que para el modelado de sistemas físicos este tipo de entradas es el único que garantiza barrer todas las características dinámicas de los sistemas a controlar. El modelo de identificación inversa corresponde a un sistema en red en el cual las entradas de la red son las salidas de la planta, y las salidas de la red corresponden a las entradas del medio físico.

    Con estos conceptos y con la ayuda del programa MALAB® para construir una estructura de red que tomara la forma del modelo inverso del sistema a controlar, se entreno una red la cual en el momento de simulación presentó el siguiente comportamiento.

    Figura 6.

    El comportamiento anteriormente mostrado corresponde a la simulación del controlador tipo ANFIS que es obtenido con las funciones del MATLAB® tanto para la generación del controlador como para la simulación sobre la planta.

    De este entrenamiento y dadas las características de nuestro sistema, el cual no requería un entrenamiento en línea para ser implementado, se obtuvieron los pesos correspondientes a la estructura de la red adaptativa del modelo ANFIS, los cuales fueron llevados al programa DELPHI® en el cual se desarrollo todo el programa de control.

    La estructura que se implemento en el programa DELPHI® corresponde a la siguiente figura:

    Figura 7.

    Las capas están definidas de la siguiente forma:

    Capa 1:

    Esta capa es la encargada de recibir los dos valores de entrada y distribuirlos a la siguiente capa. Cada nodo representa una entrada del sistema (entrada o referencia) y cuenta con cinco salidas para hacer la distribución correspondiente.

    Capa 2:

    Cada uno de los nodos en esta capa representa una función de pertenencia correspondiente a las variables de entrada. En este caso se utilizan cinco funciones de pertenencia para cada entrada, por lo tanto se tiene un total de diez nodos en la capa 2.

    La función asociada a cada uno de estos nodos es la siguiente:

    Donde {ai,bi,ci} es el conjunto de parámetros para cada función de pertenencia. Estos parámetros se conocen como parámetros antecedentes y corresponden al punto inicial, centro y punto final del triángulo respectivamente.

    La salida de cada uno de los nodos de la capa 2 representa el peso de las entradas con respecto a las funciones de pertenencia del sistema. Estos pesos están normalizados entre 0 y 1 y se utilizan como entradas para la siguiente capa.

    Capa 3:

    Cada uno de los nodos en esta capa tiene la función de multiplicar las señales de entrada y enviar el producto a la salida. La distribución de las entradas para los nodos en la capa 3 es de la siguiente forma:

    Entrada Nodo 3.1=(Salida Nodo 2.1) x (Salida Nodo 2.6)

    Entrada Nodo 3.2=(Salida Nodo 2.1) x (Salida Nodo 2.7)

    Entrada Nodo 3.3=(Salida Nodo 2.1) x (Salida Nodo 2.8)

    Entrada Nodo 3.4=(Salida Nodo 2.1) x (Salida Nodo 2.9)

    Entrada Nodo 3.5=(Salida Nodo 2.1) x (Salida Nodo 2.10)

    Entrada Nodo 3.25=(Salida Nodo 2.5) x (Salida Nodo 2.10)

    Cada salida en esta capa representa el peso de una regla.

    Capa 4:

    Los primeros 25 nodos de esta capa reciben cada una de las salidas de la capa anterior, es decir los pesos para cada regla. La función de nodo para esta capa es la siguiente:

    Donde w es la salida de la capa 3 y {pi,qi,ri} es el conjunto de parámetros. Los parámetros en esta capa son referenciados como parámetros consecuentes.

    El último nodo (nodo rojo en la figura) recibe todos los pesos calculados en la capa 3 y los suma, por lo tanto, no contiene la función correspondiente a los primeros 25 nodos.

    Capa 5:

    El nodo de esta capa tiene como función sumar todas las salidas provenientes de la capa 4.

    Capa 6:

    En esta capa se hace una normalización, tomando la salida del nodo de la capa 5 y dividiendo este valor entre la salida del último nodo de la capa 4 (nodo rojo en la figura 7). La salida de este nodo corresponde a la salida final del controlador.

    Este controlador mostró el siguiente comportamiento en la planta

    Figura 8.

    1. CONTROLADOR NEURODIFUSO TIPO ANFIS OPTIMIZADO POR QUIMOTAXIS BACTERIANO.

    El algoritmo de Chemotaxis (BC) fue originalmente propuesto por Bremmerman y Anderson en 1990, como un método de optimización numérica para los pesos de una red neuronal de tipo propagación hacia adelante (feedforward).

    Este algoritmo es la imitación del movimiento de una colonia de bacterias en una solución nutritiva[9][10].

    En estos modelos la colonia de bacterias tiene un movimiento aleatorio alrededor de la sustancia, encontrando así las posibles concentraciones de nutrientes dentro de la solución. Después de encontrada la concentración de nutrientes de esta colonia se mueve en función directa de la concentración.

    El criterio de movimiento de las bacterias, es igualmente usado en la búsqueda numérica de máximos o mínimos en funciones multivariables, como lo son los controladores con redes neuronales.

    En la mayoría de los problemas de optimización se tiene una función la cual debe ser minimizada o maximizada.[8].

    El algoritmo computacional toma pasos al azar con distribución gaussiana. Cuando el peso es exitoso, la función de error se reduce a un problema de minimización. El algoritmo continúa en esta dirección hasta que la función a minimizar no muestre cambios.

    Para realizar el proceso de optimización del controlador neurodifos se toma la información de la estructura del controlador ANFIS, y dado que el algoritmo de Chemotaxis fue diseñado para el entrenamiento de redes neuronales, buscando minimizar el error, podemos asumir que la respuesta del controlador entrenado por este método sea optimo.

    El proceso para la implementación de la optimización del controlador ANFIS, por medio del algoritmo de Chemotaxis es el siguiente.

    Dada la estructura del controlador ANFIS, se tiene que la salida del controlador es una combinación lineal de los consecuentes y las entradas al controlador.

    donde los términos pi,qi,ri, son los parámetros consecuentes de la estructura ANFIS, los cuales son los pesos de la red que han de ser entrenados.

    Los parámetros antecedentes son parámetros fijos y el resto de los nodos de la estructura no tienen funciones dependientes de los pesos. Por lo tanto, la función a ser minimizada, según la red TSK, es similar a una estructura de red de propagación hacia delante (feedforward) tipo FALCON, la cual tiene la siguiente función de error[7][8]:

    donde p es el número de parejas de entrenamiento, T(i) son las salidas deseadas y O(i) es la salida calculada. Esta función de error se convierte en la función a ser minimizada por el algoritmo de Chemotaxis.

    Igualmente, según la estructura FALCON, tiene como función de actualización de pesos

    donde w(i+1) son los pesos actualizados, wi son los pesos anteriores n es e paso y (xn-xd) es el factor que afecta el peso. Con estas dos funciones, se puede implementar el algoritmo de Chemotaxis.

    El procedimiento que se seguirá para implementar el algoritmo es el siguiente:

    1. Declarar los vectores entrada, referencia y salida deseados.
    2. Declarar las variables del algoritmo, tales como: máximo de iteraciones (20000), contador de iteraciones, tasa de aprendizaje (mínimo 0.01), contador de pasos exitosos, contador de pasos errados, perturbación del vector de pesos (Gauss), pesos viejos (0.01*Gauss), función de error a minimizar y mínimo error.
    3. Se implementa un bucle con la siguiente estructura:
    • Incrementar el contador de iteraciones
    • Si h<0.0 entonces h=0.01
    • Pesos nuevos=(Pesos viejos + Tasa de aprendizaje)*(Perturbación del vector de pesos).
    • Evaluación de pesos viejos y pesos nuevos en el controlador ANFIS con los vectores de entrada y salida deseados. Cálculo de las funciones de error.
    • Comparación de las funciones de error.
    • Si error pesos nuevos<error pesos viejos entonces, pesos viejos=pesos nuevos. Incrementar contador de pasos exitosos; si no, se calcula de nuevo la perturbación del vector de pesos y se incrementa el contador de pasos errados.
    • Si contador de pasos exitosos>2 entonces tasa de aprendizaje=tasa de aprendizaje + 0.05 y contador de pasos exitosos=0, si no, si contador de pasos errados>5 entonces tasa de aprendizaje=tasa de aprendizaje – 0.05 y contador de pasos errados=0.
    • Si contador de iteraciones>=máximo de iteraciones o si error<0.000001 entonces pesos nuevos=pesos óptimos, si no, realiza nueva iteración.

    Los pesos optimizados se guardan y se prueban en simulación de MATLABâ . Después se comprueba que funcionan bien y se implementan en la planta.

    Los resultados del controlador en la planta se muestra en la siguiente figura.

    Figura 9.

    1. CONCLUSIONES Y RESULTADOS

    Controlador parámetro

    Error Promedio

    % de Error

    Tiempo en llegar a la referencia

     

     

     

     

    PID estándar

    0.06132

    6.13%

    330 seg

    PD estándar

    0.10265

    10.26%

    100 seg

    Control DIFUSO

    0.04553

    4.55%

    690 seg

    Control ANFIS

    0.04628

    4.62%

    80 seg (oscilación)

    Control ANFIS entrenado

    0.006944

    0.69%

    1500 seg

    por CHEMOTAXIS

     

     

     

    La tabla anterior muestra una comparación entre los diferentes controladores que fueron implementados en la planta, esta tabla compara los errores promedios a través del tiempo y el tiempo de establecimiento de cada uno de los controladores.

    Sin embargo esta tabla no es un parámetro para definir cual de los controladores es el mejor ya que los metodos de sintoniza ya no fueron sintonizados con las mismas reglas o el mismo rigor, o exigiéndoles el mismo rendimiento a cada uno de los diferentes controladores. Por lo tanto las tablas solo muestran el rendimiento de los controladores, cada uno separado, sin poder definir cual es mejor.

    Adicionalmente a la tabla de comparación se puede decir que:

    1. El controlador PID tiene un costo computacional muy bajo, ya que este no requiere de un entrenamiento para que funcione adecuadamente.
    2. Tanto en el control PID como en el PD, se tiene un consumo mayor de energía en el actuador que en los controladores ANFIS y ANFIS optimizado, sin embargo la sintonización del PID no tomo el consumo de energía como un parámetro para ser sintonizado.
    3. El controlador difuso tiene un costo de implementación alto debido a que su código de programación es largo.
    4. El controlador ANFIS, tiene un costo computacional grande, ya que se requiere de una etapa de entrenamiento, sin embargo en el momento de operación, el controlador funciona adecuadamente.
    5. El controlador ANFIS presenta una oscilación, en la medida del sistema, sin embargo la eficiencia en el consumo de energía son mejores al los demás controladores, ya que solo se deja los actuadores prendidos en algunos lapsos de tiempo.
    6. El controlador entrenado por Chemotaxis tiene, al igual que el controlador ANFIS, un costo computacional alto, incluso mayor, teniendo en cuenta el tiempo que se demora para encontrar un buen paso si consideramos la aleatoriedad del paso de entrenamiento. Sin embargo es posible garantizar que se encuentra una solución adecuada.

    El controlador optimizado tiene un excelente desempeño siguiendo la referencia, ya que el error es el más pequeño de los cuatro controladores implementados. Sin embargo, la velocidad de respuesta es la más lenta, aunque en este proceso no es muy relevante esto, puesto que el sistema es de gran capacidad y su comportamiento es lento.

    CONCLUSIONES

    1. Los sistemas de temperatura, propiamente los sistemas de secado de alimentos, son procesos en donde las estrategias de control convencionales funcionan muy bien, lo cual motiva a analizar estrategias de control más avanzadas, para realizar una comparación del comportamiento de las mismas.
    2. Los controladores tipo ANFIS, son controladores que tienen un muy buen desempeño en el sistema de temperatura, a pesar de que la respuesta del controlador sea de tipo on-off dadas las características de entrenamiento usadas, por el programa MATLABâ .
    3. Se puede decir que el control tipo ANFIS mejora, y tal vez supera, los controladores tradicionales y los controladores difusos para un control en un proceso de secado, lo que afirma la idea de que la combinación entre las redes neuronales y la lógica difusa, permiten obtener un mejor control sobre sistemas.
    4. El uso de diferentes estrategias de entrenamiento para redes neuronales, tales como son las que se basan en algoritmos evolutivos, permiten mejorar sustancialmente los resultados de dichas redes entrenadas por los métodos convencionales.
    5. El comportamiento del controlador optimizado muestra que a pesar del costo computacional que tiene este método de entrenamiento, los resultados obtenidos en la aplicación del control son bastante buenas, gracias al comportamiento del controlador en el proceso de secado.
    6. El controlador optimizado, presenta una respuesta de control muy lenta con respecto a los demás controladores, sin embargo la relación de consumo, con la velocidad que se requiere en el proceso de secado, permiten tener este controlador como una muy buena alternativa de control para este proceso.
    7. Para el proceso de secado, se recomienda que la temperatura de la cámara de secado no sea superior a los 70°C ya que los productos pierden las propiedades.
    8. Además del método de optimización empleado en este trabajo, es posible reentrenar el controlador tipo ANFIS utilizando algoritmos genéticos, realizando la comparación en el funcionamiento de ambos métodos.
    9. El sistema de sensado actual tiene la capacidad de medir tanto la temperatura como la humedad al interior del secador. Para que se haga una lectura de este tipo (humedad), sólo es necesario cambiar el programa del microcontrolador, o ampliar los códigos que manejan las rutinas de lectura de los sensores.
    10. Dado que la lectura del sistema se realiza por el puerto serial del computador, y debido a características propias del microcontrolador, sólo son posibles velocidades de hasta 2400bps. Para velocidades mayores, se recomienda cambiar el oscilador del microcontrolador.

    VII. BIBLIOGRAFÍA

    1. OGATA, Katsuhiko. "Sistemas de Control en Tiempo Discreto". Segunda Edición. Editorial Pearson Education. México, 1996.
    2. BALCELLS, Josep. ROMERAL, José Luis. "Autómatas Programables". Editorial Alfaomega Marcombo. México, 1997.
    3. GONZALES V., José Adolfo. "Introducción a los Microcontroladores". Editorial McGraw-Hill. España, 1992.
    4. LIN, Chin-Teng. LEE, C.S. George. "Neural Fuzzy Systems". Editorial Prentice Hall, New Jersey
    5. DELGADO, Alberto. "Inteligencia Artificial y Minirobots". Editorial Ecoe Ediciones. Bogotá, 1998.
    6. IEEE control systems magazine, volumen 22 numero5 octubre 2002, "Chemometrics for process control"
    7. Jyh-Shing, Roger Jang. "ANFIS Adaptative Network-Based Fuzzy Inference System". Departamento de ingeniería eléctrica, Universidad de California.
    8. Jyh-Shing, Roger Jang, Chuen-Tsai sun. "Neuro-Fuzzy Modeling and Control". Departamento de ingeniería eléctrica, Universidad de California.
    9. H. Alvares, O. Quintero, A. Angel, M. Yepes "strategies for avoiding local extreme in function optimization through bacterial Chemotaxis", Facultad de Minas, Universidad Nacional de Colombia Sede Medellín.

     

    Autor

    Ingeniero Miguel Angel Franco F

    Ingeniero Electrónico

    Universidad Nacional De Colombia Sede Manizales

    Documento realizado para tesis de grado

    Ing. Natalia Arboleda Duque,

    Ing. Miguel A. Franco F

    Ing. Nicolás Toro

    Universidad Nacional de Colombia Sede Manizales

    Departamento de Electricidad, Electrónica y computación

    Ingeniería Electrónica

    Manizales, Colombia

    Categoría Ingenieria