SciELO - Scientific Electronic Library Online

 
vol.16 número3Programa Interactivo para el Modelado y Determinación de las Características Dinámicas de RotoresLa Gestión Presupuestaria de Distribución con un Algoritmo Genético Borroso índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Información tecnológica

versión On-line ISSN 0718-0764

Inf. tecnol. v.16 n.3 La Serena  2005

http://dx.doi.org/10.4067/S0718-07642005000300006 

 

Información Tecnológica-Vol. 16 N°3-2005, págs.: 35-43

MODELADO Y DISEÑO

Aplicación de Técnicas Neuro-Difusas para el Diseño de un Controlador

Application of Neuro-Fuzzy Techniques for the Design of a Controller

A. Noriega, A. Aguado, R. Salas y A. Ordaz
Universidad Autónoma de Querétaro, Facultad de Ingeniería,
Circuito Cerro de las Campanas s/n, Col. Las Campanas, 76010 Querétaro, Qro.-México (e-mail: anoriega@uaq.mx)


Resumen

En este trabajo se presentan algunos esquemas de control neuro-difuso para el diseño de un controlador difuso simplificado de dos entradas y una salida. La simplificación introducida ha permitido lograr una importante reducción en el tiempo de cálculo de la señal de control, pero es posible que en algunos sistemas se pueda afectar el desempeño del sistema de control. Para resolver este problema se ha incorporado una red neuronal de manera que se pueda mejorar la calidad en el control y se pueda controlar procesos de dinámica compleja. Los resultados de las aplicaciones demuestran que se puede disponer de una metodología de control neuro-difuso general, aplicable a cualquier sistema.


Abstract.

In this work some neuro-fuzzy control schemes for the design of a simplified controller of two inputs and one output are presented. This simplification has allowed getting an important reduction in the calculation control time but it is possible that this can affect the performance of the control system. To solve this problem a neural network has been incorporated so that the control quality can be improved and problems of complex dynamics can be solved. The results of the applications show that it is possible to have a neuro-fuzzy control methodology applicable to any system.

Keywords: fuzzy control, neural networks, multilayer perceptrons, process control


 

INTRODUCCIÓN

Para el pensamiento científico tradicional la comprensión de un fenómeno se mide por la capacidad de analizarlo en términos cuantitativos. Sin embargo a medida que la complejidad de un sistema crece, disminuye la posibilidad de hacer simultáneamente afirmaciones precisas y significativas sobre su comportamiento, de tal forma que a partir de un determinado umbral estas dos características se excluyen mutuamente.

Una aproximación alternativa se basa en la premisa de que los elementos clave del razonamiento humano no son elementos precisos sino conceptos difusos. Los esquemas de razonamiento humano sugieren mecanismos de inferencia difusa (Ying, 2000).

El cerebro humano aprovecha esta tolerancia en precisión para codificar la información relevante mediante etiquetas de conjuntos difusos. Así el caudal de datos que recibe por la vía visual, auditiva, táctil, etc., es reducido hasta el nivel necesario para realizar una tarea específica (Tanaka y Wang, 2001). El objetivo del control difuso consiste en la automatización de las acciones discretas que realiza un operador humano para alcanzar o mantener un proceso en un estado determinado, mediante la medición de ciertas variables y la adecuada selección de las acciones de control (Harris et al, 1997).

Controlador Difuso Simplificado

El diseño de un controlador difuso para procesos industriales puede en muchos casos simplificarse, si introducimos una serie de consideraciones que dan lugar a lo que denominamos controlador difuso simplificado que se representa en la figura 1 y cuyos detalles se discuten a continuación:

a) El controlador difuso simplificado tiene siempre dos entradas y una salida. Las entradas son el error de regulación y la derivada o primera diferencia de éste (Ying, 2000).   La derivada estará afectada por una ganancia Kd que asume generalmente valores entre 0 y 1. La ganancia Kd es un parámetro de diseño que se selecciona en dependencia del tipo de respuesta que se desea.

b) Los universos de discurso de las dos entradas y de la salida del controlador difuso simplificado se dividen mediante un número único de funciones de pertenencia. Este número es generalmente impar y puede ser por ejemplo, 3, 5, 7, etc. (Tanaka y Wang, 2001), (Tsoukalas y Uhring, 1996).  El número de funciones de pertenencia, que se denomina , es otro parámetro de diseño del controlador difuso simplificado.

 

Fig. 1. Controlador difuso simplificado

 

c) Las funciones de pertenencia de todas las variables son de tipo triangular, simétricas y distribuidas  uniformemente sobre el universo de discurso correspondiente. Para ilustrar esta característica, se supone que   y  determina el rango o universo de discurso de una variable cualquiera x del controlador  difuso,  las funciones de pertenencia tendrán entonces la forma que se muestra en la figura 2.

Se nota que la distancia entre los centros de las funciones de pertenencia en este ejemplo es  y en general será , Téngase en cuenta también la inclusión de limitadores tanto de las entradas como de la salida del controlador difuso, tal como se ilustra en la figura  2, los que garantizan que todas las variables se encuentren en el rango establecido. La razón básica para seleccionar una forma triangular para las funciones de pertenencia es la facilidad de cálculo y también que no hemos encontrado ventajas sustanciales en el uso de otro tipo de función como las trapezoidales, gausianas, etc..

La evaluación de las premisas de las reglas y la implicación de los conjuntos difusos de la variable de control se hacen utilizando el operador mínimo.  Asimismo, el método de defusificación utilizado por el controlador difuso simplificado es el del centro de gravedad. Este es el método más popular y el que generalmente conduce a mejores resultados, de ahí su adopción (Harris et al, 1997).

La base de reglas del controlador difuso simplificado puede generarse de forma automática a partir del conocimiento de los rangos de las variables y del signo de la ganancia del proceso que se considera constante. Se Considera, como ejemplo de una base de reglas simplificada, la correspondiente a un péndulo invertido que se muestra en forma codificada en la tabla 1.

 

Tabla 1. Base de reglas simplificada

Fuerza  u(t)

cambio del error

1

2

3

4

5

error

1

5

5

5

4

3

2

5

5

4

3

2

3

5

4

3

2

1

4

4

3

2

1

1

5

3

2

1

1

1

 

Fig. 2. Funciones de membresía

 

En este caso los códigos 1, 2, 3, 4 y 5 corresponden a los valores lingüísticos ¨neg grande¨, ¨neg pequeño¨, ¨cero¨, ¨pos pequeño¨ y ¨pos grande¨  . Un análisis detallado de la tabla 1, ayuda a comprender la lógica intrínseca que encierra y que corresponde aproximadamente a la forma de actuar de un operador humano. Así por ejemplo, en la primera fila de la tabla, los tres primeros elementos son 5 lo que equivale a aplicar una fuerza positiva grande cuando el error es negativo grande y el cambio del error es negativo grande, negativo pequeño o cero. Una vez que el cambio del error cambia de signo y se hace positivo pequeño o positivo grande ya la fuerza compensatoria no tiene que ser positiva grande, pues estamos en una situación en que el error ya se está autocompensando (está cambiando positivamente) y entonces es lógico que la fuerza sea positiva pequeña (posición 4 de la primera fila) o cero (posición  5).  La fila 2 responde a la misma lógica, en este caso el error es negativo pequeño y la decisión del signo y magnitud de la fuerza a aplicar dependen de cómo esta cambiando el error: los dos primeros elementos corresponden a cambios del error negativo grande y negativo pequeño respectivamente, de aquí que la fuerza a aplicar deba ser positiva grande. A partir del tercer elemento de la fila, la magnitud de la fuerza decrece a positiva pequeña y cero correspondiendo a cambios del error cero y positivo pequeño y en el elemento 5 de la fila, ya la fuerza debe ser negativa pequeña  pues es necesario frenar el cambio positivo grande del error. Las filas siguientes de la tabla 1 responden a la misma  lógica sencilla explicada hasta aquí; nótese que la fila 5 resulta complementaria de la primera y la segunda con la cuarta, como era de esperar.

Aunque se ha tomado como ejemplo una base de reglas correspondiente a 5 particiones de los universos de discurso, un análisis similar puede realizarse para cualquier número de éstas, siendo idéntica la heurística utilizada para su construcción.

La base de reglas simplificada analizada corresponde a un proceso en el que la ganancia es negativa ya que a un aumento de la variable de control (fuerza) corresponde una disminución de la variable controlada. En el caso de un proceso con ganancia positiva, la tabla 2 corresponde a Npart = 5. Nótese las relaciones de simetría existentes entre las tablas 1 y 2.

Tabla 2. Base de reglas para ganancia positiva

Fuerza  u(t)

cambio del error

1

2

3

4

5

error

1

1

1

1

2

3

2

1

1

2

3

4

3

1

2

3

4

5

4

2

3

4

5

5

5

3

4

5

5

5

 

El controlador simplificado explicado tiene sobre todo la virtud de que puede se realizado partiendo de un mínimo de información acerca del proceso a controlar, sin embargo, no es posible garantizar que su comportamiento cumpla en todos los casos con los requerimientos que se imponen al control.

Como conclusión sobre el controlador difuso simplificado presentado hasta aquí, se puede decir que su mayor virtud es que requiere muy poca información para su realización, a diferencia de otras soluciones difusas en las que el papel del experto juega un papel fundamental. Gracias a esa característica, resulta muy sencilla la generalización de esta solución a una amplia variedad de casos, aunque como se ha mencionado, no siempre se puede contar con un comportamiento totalmente satisfactorio. Esta ineficiencia, sin embargo, puede compensarse en muchos casos complementando al controlador difuso con  otras herramientas clásicas de control, como la adición de una ganancia variable o un elemento integrador. Sobre el ajuste automático de los parámetros de estas soluciones trataremos a continuación.

 

CONTROLADORES NEURO-DIFUSOS SIMPLIFICADOS

Se estudiarán dos esquemas de control básicos: El controlador difuso simplificado complementado con una ganancia ajustable o con un elemento integrador; en ambos casos se utilizará una red neuronal simple (Aguado et al, 1998), (Ordaz y Noriega, 2000) para ajustar en tiempo real los parámetros asociados. Consideremos en primer lugar el esquema que se muestra en la figura 3.

 

Fig. 3. Esquema de control neuro-difuso con ganancia ajustable

 

Controlador neuro-difuso con ganancia ajustable

En este esquema se introduce una red neuronal cuya salida es la ganancia kp que por conveniencia se conecta en paralelo con la salida del controlador difuso uf (t), de manera que si kp se hace cero, u(t)= uf (t). La red neuronal es un perceptrón simple, con una sola capa escondida, dos variables de entrada y una salida. Las entradas de esta red son respectivamente el error y su primera derivada (o primera diferencia en el caso de realizaciones discretas). El algoritmo para el entrenamiento de la red es el de retropropagación, cuyas buenas propiedades de simplicidad y robustez numérica han sido  comprobadas (Ag uado et al, 1998). A continuación se desarrolla una versión especial de este algoritmo requerido para el ajuste en tiempo real de los coeficientes de peso w y v de la red neuronal.

Sea

                                          (1)

la función objetivo o criterio que se desea minimizar, en donde:

                                         (2)

es el error de regulación y es la referencia.

El vector de entrada a la red neuronal, como se expresó anteriormente, se define:

                                      (3)

Las entradas a las neuronas de la capa escondida se expresan mediante:

                               (4)

en donde  representan a los coeficientes de peso de las conexiones entre la capa de entrada y la capa escondida. Se Considera que la función de activación de las neuronas de la capa escondida es la función sigma y entonces:

                              (5)

son las salidas de la capa escondida.

En aras de simplicidad, para la neurona de la capa de salida se considera una  función de activación lineal, de aquí que:

                                             (6)

Para aplicar el algoritmo de retropropagación (Golden, 2001), (Ordaz y Noriega, 2000), (Pozniak et al, 2001) es necesario calcular el gradiente de la función objetivo E(t) con respecto a los coeficientes wji y vj que se define mediante:

                                           (7)

La derivada parcial E(t)/nj puede calcularse, aplicando la regla de la cadena, en la forma siguiente:

           (8)

Considerese además que:

                                              (9)

y calculando las derivadas parciales de (8), se obtiene:

                       (10)

La derivada parcial de E(t) con respecto a los coeficientes wji puede calcularse utilizando una técnica semejante. En efecto:

                     (11)

Sustituyendo en (11) las expresiones de las derivadas incluidas se llega a:

                          (12)

Las ecuaciones de actualización de los coeficientes de peso, utilizando el método de la retropropagación (Lee, 1991) serán entonces:

                    (13)

                (14)

en donde h es un número positivo, generalmente pequeño, que se conoce como coeficiente de aprendizaje.

Nótese que en las ecuación (13) y (14)  aparece la derivada parcial g(t) / uk(t) que  generalmente es desconocida pues no se cuenta con un modelo del proceso a controlar. Esta dificultad, sin embargo, puede resolverse en muchos casos sustituyendo a la derivada parcial por su signo, que, por otra parte, coincide con el signo de la ganancia del proceso. Una sustitución semejante ha sido utilizada exitosamente en (Cui y Shin, 1993) y (Aguado et al, 1998). en cuyos trabajos se demuestra que esa simplificación es válida para una amplia clase de procesos.  Utilizando estos resultados, podemos escribir las ecuaciones de actualización (13)  y (14) en la forma:

            (15)

                 (16)

Las ecuaciones de actualización (15) y (16) pueden calcularse en tiempo real sin mucho esfuerzo dadas las dimensiones muy pequeñas de la red utilizada (cuatro coeficientes w y dos v). La experiencia obtenida de muchas simulaciones con este método enseña que en general se obtiene una convergencia muy rápida de los coeficientes de peso y que el comportamiento dinámico en lazo cerrado depende casi exclusivamente de la selección del valor del coeficiente de aprendizaje h: a valores mayores corresponde un comportamiento más rápido del sistema pudiendo llegar a ser oscilatorio e incluso inestable si se sobrepasa determinado límite superior de este coeficiente. Por el contrario, cuando se reduce el valor de h, se obtiene un comportamiento más amortiguado, pudiendo llegar a ser muy lento.  En algunos casos es posible utilizar un coeficiente h variable, en dependencia del error de regulación; de manera que a errores grandes corresponda un aprendizaje más rápido y viceversa. Por ejemplo, se puede utilizar la expresión:

                                              (17)

La selección del parámetro a generalmente no es crítica y debe hacerse en tiempo real comenzando con valores bien pequeños, por ejemplo 10-6, que pueden aumentarse paulatinamente hasta lograr el comportamiento deseado.

Controladores neurodifusos con componente integral.

Ahora se discute una segunda variante de esquema neuro–difuso también muy simple que consiste en incorporar una componente integral (Aguado et al, 1998) en el regulador cuya ganancia se ajusta automáticamente mediante una red neuronal, tal como se muestra en la figura 4.

 

Fig. 4. Esquema de control neuro-difuso con componente integral

 

Para este esquema se pueden deducir en forma semejante a como se hizo anteriormente con las ecuaciones de ajuste de los coeficientes de peso v  y  w.  En efecto, se tiene que:

                        (18)

La componente integral del control   suponiendo una realización discreta de este controlador, se calcula mediante:

                                                (19)

La ganancia integral  puede expresarse en función de los coeficientes v  de la red neuronal, considerando de nuevo una función de activación lineal para la neurona de  la capa de salida, en la forma:

                                                   (20)

Utilizando ahora las ecuaciones (19) y (20), así como la (1), (2), (4) y (5) y sustituyéndolas

en (18), se obtiene:

                      (21)

Por otra parte, la derivada parcial de E(t) con respecto a los coeficientes  puede obtenerse mediante la siguiente cadena de derivación

                       (22)

y con las sustituciones requeridas se obtiene:

              (23)

Haciendo las consideraciones conocidas sobre la derivada de  con respecto a , es posible escribir las siguientes ecuaciones de actualización para los coeficientes v y w:

                (24)

                   (25)

De acuerdo a la experiencia obtenida en la utilización de este esquema de control, se han observado  algunas peculiaridades del mismo, que a continuación se exponen:

a) El coeficiente de aprendizaje h debe tener valores mucho más pequeños a fin de evitar un comportamiento excesivamente oscilatorio, valores típicos pueden ser por ejemplo del orden de 10-4.

b) Al igual que con el esquema de ganancia ajustable, los coeficientes de peso v y w deben ser restablecidos periódicamente, para evitar que en simulaciones prolongadas se desvíen demasiado de los valores convenientes por problemas numéricos.

Como se observa en las ecuaciones (24) y (25), en la actualización de los coeficientes interviene la integral del error (la sumatoria en el caso discreto). Esta integral también debe restablecerse a 0 periódicamente a fin de evitar su saturación (Omatu et al, 1996).

El tipo de red neuronal que se utiliza para este problema es derivado del perceptrón multicapas aunque con el objetivo de simplificar todo lo posible la optimización asociada, se adopta generalmente una red con una sola capa escondida. Las funciones de activación de las neuronas son sigmoides.

 

ESQUEMA DE CONTROL NEURO-DIFUSO EN EL CONTROL DEL PÉNDULO INVERTIDO.

Se considera la aplicación de los métodos de control neuro-difusos simplificados al problema del péndulo invertido, que indudablemente resulta un objeto de control muy  difícil por sus características de inestabilidad en lazo abierto y fuerte no linealidad.

Supóngase que para el problema de control del péndulo invertido que se muestra en la figura 5, el experto determina las entradas e(t) y e’(t), en donde:

                                          (26)

 

Fig. 5. Péndulo Invertido

 

La salida o variable de control en este caso está clara, es decir, la fuerza aplicada al carrito que se denomina .

 

Fig. 6. Esquema en lazo cerrado

 

Para realizar el estudio de simulación, utilizaremos el siguiente modelo matemático del péndulo:

                     (27)

en donde las variables de estado x1 y x2 representan respectivamente la desviación angular del péndulo con la vertical y su derivada o velocidad angular de desplazamiento del péndulo

Los rangos de las variables de entrada y salida al regulador difuso se muestran en la tabla 3.

 

Tabla 3. Rango de las variables utilizadas

Variable

Mínimo

Máximo

error

-p/2 rad

p/2 rad

cambio del error

-p/4 rad/seg

p/4 rad/seg

fuerza

-200 nts

200 nts

 

Para obtener un buen comportamiento, acudimos a la técnica clásica de reducir la ganancia derivativa, la que después de varias pruebas, llevamos hasta un valor de 0.05. Esto posibilitó también trabajar con valores mayores de h sin que se presentaran signos de inestabilidad.  En la figura 7 se observa el resultado obtenido, con los siguientes parámetros del controlador: h=0.001, Kd=0.05 y Npart=5 ante cambios en la referencia entre -p/5 y p/5 radianes, que sin duda es muy bueno, ya que el péndulo se mueve con relativa rapidez hacia los ángulos de referencia y el error estacionario se hace prácticamente cero.

Este ejemplo sirve para ilustrar la importancia de ajustar adecuadamente el valor de , sobre todo cuando se requieren acciones rápidas para estabilizar a un objeto tan difícil como el péndulo invertido.

Como conclusión del estudio de simulación realizado para el ejemplo del control del péndulo invertido,  es posible recomendar el esquema de control neuro-difuso con ganancia ajustable,  el cual logra un comportamiento difícilmente obtenible con cualquier otro esquema de control con parámetros constantes.

 

CONCLUSIONES

De acuerdo a la experiencia obtenida en la utilización de este esquema de control, hemos observado algunas peculiaridades del mismo, que a continuación exponemos:

El coeficiente de aprendizaje debe tener valores mucho más pequeños a fin de evitar un comportamiento excesivamente oscilatorio. Al igual que con el esquema de ganancia ajustable, los coeficientes de peso v y w deben ser restablecidos periódicamente, para evitar saturaciones.

 

Fig. 7. Control neuro-difuso con ganancia ajustable de un péndulo invertido

 

Los resultados obtenidos, si bien pueden considerarse todavía como preliminares, son alentadores en cuanto que demuestran la posibilidad de disponer de una metodología de control neuro-difuso sumamente general aplicable en principio a cualquier sistema. Desde luego, quedan por despejar todavía numerosas incógnitas, siendo la principal la posible aplicación de esta metodología en tiempo real, dados los altos requerimientos de cómputo.  Resultan también temas de interés para investigaciones futuras: el efecto de los distintos parámetros de la red neuronal y del controlador difuso (funciones de membresía, número de particiones, etc.), el efecto del ruido sobre el comportamiento del algoritmo, etc.  Los temas mencionados y otros seguramente serán objeto de nuestras investigaciones futuras.

 

AGRADECIMIENTOS.

Alfonso Noriega Ponce agradece a CONACYT, México el apoyo para la realización de este proyecto.

 

REFERENCIAS.

Aguado, B. A., Ordaz, H. A., Noriega, P. A. y Rauch, S. V., Self-Tuning Neural Controller, Proceedings of 5th. IFAC Workshop on Algorithms and Architecture for Real Time Control, Cancun, México, (1998).        [ Links ]

Cui, X. y Shin, K. G., Direct Control and Coordination Using Neural Networks, IEEE Trans. On Systems, Man and Cybernetics, 23(3), 686-697, (1993).        [ Links ]

Golden, R. M., Mathematical Methods for Neural Networks: Analysis and Design, The MIT Press, (2001).        [ Links ]

Harris, C. J., Moore, C. G. y Brown, M., Intelligent Control: Aspects of Fuzzy Logic and Neural Nets, World Scientific, (1997).        [ Links ]

Lee, T. Ch., Structure Level Adaptation for Artificial Neural Networks, Kluwer Academic Publishers, (1991).        [ Links ]

Omatu, S., Khalil, H. y Yusof, R., Neuro-Control and its Applications, Springer, (1996).        [ Links ]

Ordaz, H. A. y P. A. Noriega, Inteligencia Artificial: Una Herramienta para Control de Procesos, Memoria del XIII Congreso Nacional de Informática y Computación, Colima, Col., México, (2000).         [ Links ]

Poznyak, A. S., Sanchez, E. S. y Yu, W., Differential Neural Networks for Robust Non-linear Control (Identification, State Estimation and Trajectory Tracking), Springer, (2001).        [ Links ]

Tanaka, K. y H. O. Wang, Fuzzy Control System Design and Analysis: A linear Matrix Inequality Approach, Wiley, (2001).        [ Links ]

Tsoukalas, L. H. y Uhrig, R. E., Fuzzy and Neural Approaches en Engineering, Springer, (1996).        [ Links ]

Ying, H., Fuzzy Control and Modeling: Analytical Foundations and Applications, Wiley, (2000).        [ Links ]