Control Difuso y Lógica Fuzzy
Control Difuso y Lógica Fuzzy
• Introducción.
Sea por aceptación, curiosidad o desconfianza, uno de los temas que está en la boca de las
personas dedicadas al control es el de fuzzy control. De cualquier forma, a nadie escapa la
importancia y la actualidad del mismo. Esto se observa en los artículos de las revistas
especializadas cuando se lee sobre sus cualidades para desarrollar sistemas de control
robustos, sencillos, económicos y de rápida implementación; cuando aparecen avisos
publicitando cámaras de video fuzzy, lavarropas que emplean fuzzy logic para determinar las
condiciones de lavado, sistemas ABS con fuzzy logic para automóviles, sistemas de aire
acondicionado, subterraneos con controles fuzzy, etc, o que gran cantidad de compañías
japonesas introducen controles fuzzy en sus nuevos productos, y que el furor está llegando a
los [Link]. donde se espera un volumen de mercado de 10.000 millones de dólares para
1998.
Los controladores fuzzy, al igual que otros, toman los valores de las variables de entrada,
realizan algún procedimiento con ellas, deciden como modificar las variables de salida y lo
realizan, afectando estas últimas a la planta. La diferencia escencial es que no procesan
ecuaciones ni tablas, procesan reglas para decidir como cambiar las salidas. Esto lo hace
una tecnología muy accesible, ya que las reglas están más cerca del sentido común que de
las ecuaciones y los modelos.
Este método de procesamiento de reglas está vinculado con los sistemas expertos, uno de
los frutos tangibles de la Inteligencia Artificial (IA). Estos sistemas nacieron como
consecuencia natural del desarrollo de esta disciplina, ya que era necesario agregar a los
programas ese conocimiento y experiencia, que el experto humano tiene para resolver un
determinado problema. Estos programas de computadora, utilizan conocimiento y algún tipo de
mecanismo de inferencia para resolver un tipo de problema en especial, con el objetivo de
obtener resultados parecidos a los del experto humano, no sólo en cuanto a la conclusión
final, sino también a la forma en que se llega a la misma.
Los problemas atacados con esta técnica son entre otros, los de diagnóstico médico, path
planning, controladores de tráfico, acceso inteligente a bases de datos.
Este conocimiento consta de hechos y heurística, siendo los primeros la información pública y
generalmente disponible, para la resolución de un problema en particular, mientras que la
heurística, es más privativa del experto, es justamente ese conocimiento en particular que lo
hace destacarse en su tarea. Cuando este conocimiento está expresado como reglas del tipo
En general la evaluación de las reglas se realiza utilizando lógica aristotélica, la cual es muy
“dura” y por lo tanto es a veces dificil representar el conocimiento del experto mediante este
paradigma.
Para ello basta con tratar de describir con un conjunto de reglas, el conocimiento necesario
para realizar una tarea sencilla y cotidiana como por ejemplo, la de estacionar un vehículo. Es
en este punto donde comienza a cobrar importancia la fuzzy logic, ya que enseguida
trataremos de esbozar reglas con calificativos no demasiado precisos, tales como, si el móvil
está muy cerca del cordón y .... entonces .... , o si el ángulo es pequeño y .... entonces .... , o si
.... entonces girar un poco a la izquierda, etc.
• Fuzzy logic.
A mediados de la década del 60 el Profesor Lotfi Zadeh, de la Universidad de California en
Berkeley, introdujo su teoría de los conjuntos fuzzy , donde la idea de pertenencia de un
elemento a un determinado conjunto no era ya pertenece o no pertenece, sino que pertenece en
un cierto grado. Las funciones que vinculan al elemento con su grado de pertenencia, se
llaman membership functions.
• Controladores fuzzy.
Los controladores fuzzy, igual que otros controladores, toman el valor de las variables de
entrada, procesan, y actúan sobre sus salidas a fin de controlar la planta.
En fuzzy control se utilizan sistemas basados en reglas, que emplean fuzzy logic, como
elemento central.
Dado su estado, y los valores de las variables de entrada, estos sistemas evalúan la
veracidad de cada regla, y así, toman decisión sobre los cambios a realizar en las variables
de salida. Una vez actualizadas las mismas, estas producirán un cambio sobre la planta,
luego se vuelven a obtener los valores de las variables de entrada, comenzando un nuevo
ciclo.
Al utilizar este tipo de resolución de problemas, es importante observar que lo que se está
procesando no son ya ecuaciones, números o tablas crudas sino, reglas, es decir se
procesan cosas tales como:
Tal tipo de procesamiento está mucho mas cercano al razonamiento del experto humano, ya
que permite realizar operaciones entre palabras como mas bajo, subir un poquito etc.
Este proceso cíclico puede ser dividido en tres grandes partes, fuzzification, evaluación de
reglas y defuzzification.
2
Fuzzy Control. Ing. Juan Carlos Gómez
• Fuzzification.
Esta es la primera parte del proceso, donde luego del procedimiento convencional de adquirir
los valores de las variables del sistema y calcular otras, se procede a calcular el grado de
pertenencia de tales variables a todos los posibles conjuntos fuzzy ( fuzzy inputs ) que se le
han asignado.
Tomando como ejemplo otra vez la variable temperatura, con un valor de 20°c, se cuantifica
su grado de pertenencia a los conjuntos representados con las siguientes etiquetas
lingüisticas, muy_baja, baja, templada, alta y muy_alta. Para ello se debe haber definido, para
cada una de las etiquetas, una membership function, que define qué valores de la variable
temperatura les pertenecen y con qué grado.
Son las membership functions las que permiten cuantificar los conceptos que representan las
etiquetas.
En el gráfico se puede observar la membership function para la fuzzy input baja, y el valor de
pertenencia para 20°c.
grado de baja
pertenencia
20ºc temperatura
Si ahora se realiza el mismo procedimiento para muy_baja, se verá que también, para 20°c, es
parcialmente muy_baja.
muy_baja
grado de baja
pertenencia
20ºc temperatura
Al finalizar este proceso, queda asignado a cada fuzzy input, el grado de pertenencia del valor
actual de la variable que le corresponde.
• Evaluación de reglas.
Una vez realizada la fuzzification, se está en condiciones de evaluar los antecedentes de las
reglas, obteniendo el grado de verdad o “peso”, para cada una de ellas. Si se tiene una regla
como la siguiente:
Se asigna directamente como peso, el grado de pertenencia del valor leído de temperatura a
la etiqueta lingüística baja.
3
Fuzzy Control. Ing. Juan Carlos Gómez
La regla será tan verdadera como lo sea el menos verdadero de sus antecedentes. Es decir,
se le asigna a la regla como peso, el menor de los grados de pertenencia de las variables de
los antecedentes a las respectivas etiquetas lingüísticas.
Este proceso se realiza para cada una de las reglas del sistema, quedando luego de este
ciclo cada regla con su peso correspondiente.
Así como para las variables de entrada, a cada variable de salida le corresponde un grupo de
membership functions, representadas con etiquetas lingüísticas. Cada una de ellas es una fuzzy
output. ( subirlo mucho, subirlo, bajarlo, bajarlo mucho ).
A cada una de las fuzzy outputs se le asigna como valor, o grado de aplicabilidad, el máximo
valor entre todas las reglas que la mencionan, de manera que al finalizar toda la evaluación,
queda cada fuzzy output con su valor.
• Defuzzification.
Para el ejemplo se tomará la forma más simple de membership function, esta es la que
considera a un solo elemento del universo de discurso perteneciente totalmente al conjunto.
Este tipo de funciones se denominan singleton.
A cada fuzzy output, se le asignó el máximo valor de verdad o peso de las reglas que la
mencionan como consecuente.
Ahora quedan varias fuzzy outputs para cada variable de salida, cada una con su valor de
verdad, o grado de aplicabilidad, pero ¿ cuál es el nuevo valor de la variable de salida ?. Una
forma simple y efectiva de determinarlo es realizando un promedio ponderado entre todas las
fuzzy outputs que le corresponden a una variable de salida.
Para el caso en que las membership functions no sean singletons, se procede en forma similar,
pero considerando las superficies de las fuzzy outputs, afectadas por su valor de aplicabilidad,
y tomando el centro de gravedad de las mismas como el nuevo valor de la variable de salida
en consideración.
Una vez actualizada la variable de salida, se está en condiciones de comenzar un nuevo ciclo.
4
Fuzzy Control. Ing. Juan Carlos Gómez
Conclusiones.
Se ha realizado una breve descripción de los fuzzy controllers, sistemas de control cuyo
funcionamiento está basado en la evaluación de reglas utilizando fuzzy logic.
Se comprobó la robustez de los fuzzy controllers, ya que es posible describir reglas para todo
el rango de variación de las variables de entrada, obteniéndose controles que no necesitan un
posicionamiento manual en el arranque, proceso utilizado cuando los parámetros del sistema
son muy diferentes al comienzo, respecto de los que tiene en el punto de funcionamiento.
• Referencias.
Creating Fuzzy Micros. James M. Sibigtroth. Embedded Systems Programming, Dec. 91.
Fuzzy Logic for Embedded Microcontrollers. J. Sibigtroth. Circuit Cellar INK. March 95.
Fuzzy Logic Finally Gains Acceptance in the U.S. Richard Nass. Electronic Design. June 92.
Software that can Dethrone Computer Tyranny. Larry Armstrong. Business Week. April 92.
Generating Fuzzy Rules by Learning from Examples. Li-Xin Wang. IEEE Transactions on
Systems, Man and Cybernetics. Nov 92.
Fuzzy Control and introduction to Home Appliances. Techno Japan. September 91.
Fuzzy Mathematical Techniques with Applications. Abraham Kandel. Florida State University.
Addison-Wesley Publishing Company.
5
Grupo de Inteligencia Artificial y
Robótica
Universidad Tecnológica Nacional
Facultad Regional Buenos Aires
Secretaría de Ciencia, Tecnología e
Innovación Productiva
[Link]/gia/
Fuzzy Control
JuanCa 1
Fuzzy Control
Temario:
Introducción General.
Sistemas Basados en Reglas.
Fuzzy Logic.
Controladores Fuzzy.
Ejemplos.
Conclusiones.
JuanCa 2
Aplicaciones
JuanCa 3
1
Funcionamiento General
de Controladores
Variables de Variables de
Entrada Salida
Σ Controlador Planta
JuanCa 4
Controladores Basados
sobre µProcesadores
Variables de Variables de
Entrada Salida
Controlador con µP
Filtro S&H A/ D D/A
JuanCa 5
Controladores Basados
sobre µProcesadores
Comportamiento
Adquiere
valores de entrada.
JuanCa 6
2
Controladores Fuzzy
Fuzzy Control
JuanCa 7
Sistemas basados en
reglas
Interfaz con el Usuario
Estructura
de control
Datos de
Entrada
JuanCa 8
JuanCa 9
3
Conjuntos Fuzzy
Teoría Clásica
Grado de
Pertenencia
Personas
Altas
1
0.5
1.00 1.10 1.20 1.30 1.40 1.50 1.70 1.80 1.90 2.00 2.10 2.20
Estaturas
Posibles
soporte
JuanCa 10
Conjuntos Fuzzy
Teoría Fuzzy
Grado de
Pertenencia
Membership
Functions Personas Personas
1 Altas Muy Altas
0.5
1.00 1.10 1.20 1.30 1.40 1.50 1.70 1.80 1.90 2.00 2.10 2.20
Estaturas
Posibles
JuanCa 11
Conjuntos Fuzzy
Intersección
Grado de
Pertenencia A B
Membership Personas Personas
Functions Altas Muy Altas
1
0.5
1.00 1.10 1.20 1.30 1.40 1.50 1.70 1.80 1.90 2.00 2.10 2.20
X
Estaturas
Posibles
µ( A ∩ B ) (x) = min (µA (x), µB (x) )
JuanCa 12
4
Conjuntos Fuzzy
Unión
Grado de
Pertenencia A B
Membership Personas Personas
Functions Altas Muy Altas
1
0.5
1.00 1.10 1.20 1.30 1.40 1.50 1.70 1.80 1.90 2.00 2.10 2.20
X
Estaturas
Posibles
µ( A ∪ B ) (x) = max (µA (x), µB (x) )
JuanCa 13
Conjuntos Fuzzy
Complemento
Grado de
Pertenencia A
Personas
Altas
1
0.5
1.00 1.10 1.20 1.30 1.40 1.50 1.70 1.80 1.90 2.00 2.10 2.20
X
Estaturas
Posibles
¬ µA (x) = 1 - µA (x)
JuanCa 14
Conjuntos Fuzzy
Inclusión
Grado de
Pertenencia A B
Personas Granaderos
Altas
1
0.5
1.00 1.10 1.20 1.30 1.40 1.50 1.70 1.80 1.90 2.00 2.10 2.20
X
Estaturas
Posibles
µB (x) ≤ µA (x) ∀x
JuanCa 15
5
Fuzzy Logic
JuanCa 16
Fuzzy Logic
Reglas
JuanCa 17
Fuzzy Logic
Reglas
SI el error de temperatura es bajo Y el cambio de temperatura
es cero ENTONCES aumentar el ciclo de actividad del
calefactor µ
Error de
temperatura [°c]
Antecedentes
µ Fuzzy
muy decrec. decreciente cero creciente muy creciente
∆ temperatura [°c]
µ
Consecuentes
Disminuir mucho disminuir dejar aumentar aumentar mucho Fuzzy
Incremento del ciclo
de actividad del
calefactor [%]
JuanCa 18
6
Controladores Fuzzy
Fuzzy Control
JuanCa 19
Fuzzy Controllers
Diagrama Conceptual
Base de Base
Conocimiento de Datos
( Reglas ) Global
JuanCa 20
Fuzzy Controllers
Estructura de Control
Evaluación de Reglas
JuanCa 21
7
Fuzzy Controllers
Porqué Fuzzification y Defuzzification
Fuzzification
Evaluación de
Sensores Reglas Actuadores
Defuzzification
JuanCa 22
Fuzzy Controllers
Fuzzification
Error de temperatura = 20 °c
µ2
-20 °c error de
temperatura [°c]
JuanCa 23
Fuzzy Controllers
Fuzzification
∆ temperatura = 1 °c
µ
µ1
1 °c ∆ temperatura [°c]
µ cero ( 1 °c ) = 0.7
µ creciente ( 1 °c ) = 0.2
JuanCa 24
8
Fuzzy Controllers
Evaluación de reglas
4. ............................
JuanCa 25
Fuzzy Controllers
Evaluación de reglas
Asignación del grado de aplicabilidad de las fuzzy outputs
Fuzzy outputs
JuanCa 26
Fuzzy Controllers
Defuzzification
C.O.G.
u= ∫ u.µ (u )∂u
∫ u∂u
JuanCa 27
9
Fuzzy Controllers
Defuzzification
C.O.G.
Disminuir mucho disminuir dejar aumentar aumentar mucho
µ
JuanCa 28
Fuzzy Controllers
Defuzzification
Promedio Ponderado
JuanCa 29
Detalles de la entrada
JuanCa 30
10
Detalles de las reglas
JuanCa 31
Análisis de la salida
Reglas contradictorias
JuanCa 32
Análisis de la salida
Reglas coherentes
JuanCa 33
11
Análisis de la salida
JuanCa 34
Fuzzy Controllers
Takagi – Sugeno – Kang
(TSK)
La salida se expresa como una
combinación de las entradas y salidas
u = f(x1, x2, x3, ...., uk-1....)
Un caso particular
u = Kp e + Ki Σe + Kd ∆e
JuanCa 35
Mamdani:
• Es intuitivo.
• Más cercano al “razonamiento” humano.
• Mayor divulgación y aceptación.
JuanCa 36
12
Sistemas de desarrollo
Matlab [Link]
fide ™ Aptronix Inc. 2150 North First Street, Suite 300 San José,
California 95131 U.S.A.
Fuzz-C Byte Craft Ltd. 421 King Street N. Waterloo, Ontario N2J
4E4 Canadá.
JuanCa 37
Sistemas de desarrollo
Edición Gráfica de
fuzzy inputs
fuzzy outputs
IF temperatura alta
AND ∆
Edición de Reglas
temperatura
THEN elevar el
ciclo de actividad
del calefactor.
JuanCa 38
Sistemas de desarrollo
Simulación.
Visualización de
Superficies de Control.
fuzzy.c
fuzzy.h
Generación del Código [Link]
Fuente
JuanCa 39
13
¿Por qué Fuzzy Control?
• Es una técnica accesible.
• Complementa a los métodos tradicionales.
• Puede manejar información vaga, imprecisa e incompleta igual que los seres vivos.
• No necesita modelos más y más exactos.
• Son sistemas robustos.
• Se obtienen acciones de control suaves.
• Son inherentemente transparentes, ( procesan reglas ).
• Son fáciles de mantener.
• Son fáciles de ajustar.
• Requieren menos código, y tiempo de proceso cuando los modelos tradicionales son complejos.
• Aptos para sistemas con microcontroladores.
• Permiten bajar costos de desarrollo y de componentes.
• Disminuye el “time to market”.
• Se pueden incrementar las prestaciones de un producto.
• Los sistemas de desarrollo y simulación no son costosos.
JuanCa 40
Fuzzy Pong
JuanCa 41
14