Diseño e implementación de un controlador neurodifuso con optimización por medio de algorritmos evolutivos
para una planta piloto de secado de
alimentos
- Abstract
- Descripción del sistema de
secado e instrumentación del mismo - Implementación de
controladores tradicionales - Controlador neurodifuso tipo
ANFIS - Controlador
neurodifuso tipo ANFIS optimizado por quimotaxis
bacteriano - Conclusiones y
resultados - 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.
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.- 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.
- DESCRIPCION DEL
SISTEMA DE
SECADO E INSTRUMENTACION DEL MISMOEn 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.
- IMPLEMENTACION DE
CONTROLADORES TRADICIONALES - CONTROLADOR
NEURODIFUSO TIPO ANFIS
Los controladores Neurodifusos se dividen en tres
áreas:
- Modelos concurrentes: estos modelos son
sistemas difusos y redes neuronales
funcionando juntos, sin embargo ninguno de los dos determina
los parámetros del otro. - 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. - 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.
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:
- Declarar los vectores entrada, referencia y salida
deseados. - 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. - 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.
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:
- El controlador PID tiene un costo computacional muy
bajo, ya que este no requiere de un entrenamiento para que
funcione adecuadamente. - 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. - El controlador difuso tiene un costo de
implementación alto debido a que su código de programación es largo. - 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. - 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. - 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
- 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. - 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â . - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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.
- OGATA, Katsuhiko. "Sistemas de
Control en Tiempo Discreto". Segunda Edición. Editorial Pearson Education.
México, 1996. - BALCELLS, Josep. ROMERAL, José Luis.
"Autómatas Programables". Editorial Alfaomega Marcombo.
México, 1997. - GONZALES V., José Adolfo. "Introducción a los Microcontroladores". Editorial McGraw-Hill.
España, 1992. - LIN, Chin-Teng. LEE, C.S. George. "Neural Fuzzy
Systems". Editorial Prentice Hall, New Jersey - DELGADO, Alberto. "Inteligencia
Artificial y Minirobots". Editorial Ecoe Ediciones.
Bogotá, 1998. - IEEE control systems magazine, volumen 22
numero5 octubre 2002, "Chemometrics for process
control" - Jyh-Shing, Roger Jang. "ANFIS Adaptative
Network-Based Fuzzy Inference System". Departamento de ingeniería eléctrica, Universidad
de California. - Jyh-Shing, Roger Jang, Chuen-Tsai sun. "Neuro-Fuzzy
Modeling and Control". Departamento de ingeniería
eléctrica, Universidad de California. - 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