Este documento describe el control difuso y su algoritmo. Explica que el control difuso es un sistema de control basado en la lógica difusa que usa reglas lingüísticas en lugar de valores precisos. Detalla que el control difuso es útil cuando se quiere emular el comportamiento humano y no se requiere un modelo matemático exacto del proceso. Finalmente, presenta el algoritmo básico del control difuso, incluyendo la fusificación, base de reglas, inferencia y defusificación.
1. Página 1
UNIVERSIDAD DE FUERZAS ARMADAS “ESPE”
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
ASIGNATURA: CONTROL INTELIGENTE
Actividad No20. Control Difuso
Fecha: 02 de julio 2014
Nombre: Dayana Ochoa y Carlos Mendoza
NRC: 2055
Control Difuso
1. ¿Qué es Control Difuso?
2. ¿Cuándo es útil aplicar el control difuso?
Un sistema de control difuso es un sistema de control basado en la lógica difusa,
es una forma de razonamiento mediante un cálculo con palabras, se puede
programar en una maquina haciendo razonamiento, inferencias a través de una
base de reglas, en este tipo de control se usa terminología basada en valores
lingüísticos. La lógica difusa es ampliamente utilizada en el control difuso. El
término "fuzzy" o difuso se refiere al hecho de que la lógica utilizada puede tratar
con conceptos que no se pueden expresar como "verdadero" o "falso", sino como
"parcialmente cierto". Aunque los enfoques alternativos, tales como los algoritmos
genéticos y redes neuronales pueden realizar tan bien como la lógica difusa en
muchos casos, la lógica difusa tiene la ventaja de que la solución al problema se
puede convertir en términos de que los operadores humanos pueden comprender,
de manera que su experiencia puede ser utilizado en el diseño del
controlador. Esto hace que sea más fácil de mecanizar tareas que ya se llevan a
cabo con éxito por los seres humanos.
Es útil aplicar el control difuso cuando se utiliza el conocimiento y experiencia de un
operador humano para construir un controlador que emule el comportamiento de tal
persona. Comparado con el control tradicional, el control difuso tiene dos ventajas
prácticas, una es que el modelo matemático del proceso a controlar no es requerido y
otra es que se obtiene un controlador no lineal desarrollado empíricamente sin
complicaciones matemáticas.
Las aplicaciones de control difuso más adecuadas son aquellas donde existen
requerimientos cualitativos para una acción de control satisfactoria y dichos
requerimientos pueden ser enunciados fácilmente como reglas difusas. Por esta
razón, los controladores con lógica difusa son usados para operar funciones
automáticas en lavadoras, video-grabadoras, reproductores de CD, sistemas de aire
acondicionado, cámaras y productos similares.
2. Página 2
3. ¿Cómo hacer control difuso? ¿Cuál es el algoritmo?
4. ¿Escriba 2 ejemplos de grado de certeza y grado de pertenencia?
Para hacer un control difuso se debe realizar lo siguiente:
El primer paso en lógica difusa es convertir la señal x (que bien pudiera ser una señal
de error en el sistema de control) en un conjunto de variables difusas. A este paso se le
conoce como clasificación difusa o ‘fusificación’. Esto se hace asignando valores (que
serán nuestros valores difusos) a partir de un conjunto de funciones de membresía o
pertenencia.
Un clasificador difuso divide los rangos posibles en los cuales puede clasificarse el
valor de la señal x como sigue:
a) LP: x es Largo Positivo
b) MP: x es Medio Positivo
c) S: x es Pequeño (de las siglas en ingles ‘Short’)
d) MN: x es Medio Negativo
e) LN: x es Largo Negativo
En un controlador, el clasificador difuso o ‘fusificador’ se utiliza para determinar el
nivel de membrecía conectando una señal obtenida del sistema a su entrada.
La estructura normalmente utilizada en un controlador difuso puede verse en la
siguiente figura:
Para la resolución de este tipo de problemas, se requiere que en su algoritmo consten los
siguientes elementos básicos:
La "base de reglas", que tiene el conocimiento, en la forma de un conjunto de reglas,
de la mejor manera de controlar el sistema (por ejemplo, si hablamos del parámetro
temperatura, la base de reglas puede ser “alta”, “media” y “baja”).
El “mecanismo de inferencia” evalúa qué reglas de control son relevantes en el tiempo
actual y después decide qué entrada a la planta se debe usar.
(Para el ejemplo anterior, se propone que si la temperatura es mayor a 80 grados,
entonces es “alta”).
La “fusificación” simplemente modifica las entradas de modo que puedan ser
interpretados y comparados con las reglas de la base de reglas.
La “defusificación” que convierte las conclusiones alcanzadas por el mecanismo de
inferencia en las entradas a la planta.
1. GRADO DE CERTEZA
Conjunto: FRUTAS
3. Página 3
5. Defina qué son los conjuntos difusos
6. Desarrolle el algoritmo de fusificación para el siguiente ejercicio
P=La cebolla es una fruta
El grado de certeza que de que la cebolla sea una fruta es del 0%.
P=Una manzana es una fruta
El grado de certeza que una manzana sea una fruta es del 100%.
Conjunto: AVES
Q= Una gallina es una ave
El grado de certeza que una gallina sea una ave es del 100%
Q= Una ballena es una ave
El grado de certeza que una ballena sea una ave es del 0%
2. GRADO DE PERTENENCIA
Conjunto: VOCALES
El grado de pertenencia de la “a” al conjunto de las vocales es del 100%
Conjunto: REPTILES
El grado de pertenencia de que el “lagarto” pertenezca al
conjunto de los reptiles es del 100%.
Un conjunto difuso, es un conjunto que surgió como una nueva forma de representar
la imprecisión y la incertidumbre. Es un conjunto que puede contener elementos de
forma parcial. Es decir que la propiedad x € A puede ser cierta con un grado de
verdad.
Se mide esta posibilidad de pertenecer (o pertenencia) con un número 𝝁 𝑨(x), entre 0
y 1, llamado grado de pertenencia de x, a A. Si es 0, x no pertenece a A. Si es 1,
entonces x € A, totalmente, y si 0< 𝝁 𝑨(x)< 1, x pertenece a A de una manera parcial.
En definitiva un conjunto difuso A se define como una función de pertenencia que
enlaza o empareja los elementos de un dominio o universo de discurso X con
elementos del intervalo [0,1].
FUSIFICACIÓN
Algoritmo
GP Velocidad Baja
GP Velocidad Media
GP Velocidad Alta
Velocidad
4. Página 4
El problema consiste en desarrollar el código de Matlab para realizar el proceso de fusificación
para los elementos del universo velocidad en la autopista General Rumiñahui.
Para ello se ha determinado los siguientes rangos de velocidad para velocidad bajas, medias y
altas.
Para determinar el algoritmo de solución se procede a encontrar las ecuaciones de las rectas que
definen los rangos de velocidad baja y alta.
Calculo de recta pendiente positiva velocidad media
𝒚 = 𝒎𝒙 + 𝒃
𝑷 𝟏 = (𝟔𝟎, 𝟏) y 𝑷 𝟐 = (𝟓𝟎, 𝟎)
𝒎 =
𝒚 𝟐 − 𝒚 𝟏
𝒙 𝟐 − 𝒙 𝟏
=
𝟎 − 𝟏
𝟓𝟎 − 𝟔𝟎
=
−𝟏
−𝟏𝟎
=
𝟏
𝟏𝟎
Por lo tanto tenemos que cuando:
𝒙 = 𝟔𝟎 𝒚 = 𝟏
𝟏 =
𝟏
𝟏𝟎
(𝟔𝟎) + 𝒃
𝒃 = 𝟏 − 𝟔 = −𝟓
Por lo tanto la ecuación de la recta está dada por: 𝒚 =
𝒙
𝟏𝟎
− 𝟓
Calculo de recta pendiente negativa velocidad media
Recta 2:
𝒚 = 𝒎𝒙 + 𝒃
𝑷 𝟏 = (𝟖𝟎, 𝟏) y 𝑷 𝟐 = (𝟗𝟎, 𝟎)
𝒎 =
𝒚 𝟐 − 𝒚 𝟏
𝒙 𝟐 − 𝒙 𝟏
=
𝟎 − 𝟏
𝟗𝟎 − 𝟖𝟎
=
−𝟏
𝟏𝟎
= −
𝟏
𝟏𝟎
Por lo tanto tenemos que cuando:
𝒙 = 𝟖𝟎 𝒚 = 𝟏
𝟏 =
𝟏
−𝟏𝟎
(𝟖𝟎) + 𝒃
𝒃 = 𝟏 + 𝟖 = 𝟗
Por lo tanto la ecuación de la recta está dada por: 𝒚 = −
𝒙
𝟏𝟎
+ 𝟗
5. Página 5
Código del Programa
for i=1:3
V=input ('Ingrese el valor de la Velocidad a ser evaluado: ');
if V<50
GP=0;
GP1=1;
GP2=0;
sprintf('El Grado de pertenencia a Velocidades Bajas %.2f', GP1*100)
sprintf('El Grado de pertenencia a Velocidades Medias %.2f',GP*100)
sprintf('El Grado de pertenencia a Velocidades Altas %.2f',GP2*100)
end
if V>60 && V<80
GP=1;
GP1=0;
GP2=0;
sprintf('El Grado de pertenencia a Velocidades Bajas %.2f',GP1*100)
sprintf('El Grado de pertenencia a Velocidades Medias %.2f',GP*100)
sprintf('El Grado de pertenencia a Velocidades Altas %.2f',GP2*100)
end
if V>90
GP=0;
GP2=1;
GP1=0;
sprintf('El Grado de pertenencia a Velocidades Bajas %.2f',GP1*100)
sprintf('El Grado de pertenencia a Velocidades Medias %.2f',GP*100)
sprintf('El Grado de pertenencia a Velocidades Altas %.2f',GP2*100)
end
if V>50 && V<60
GP= 0.1*V-5;
GP1=1-GP;
GP2=0;
sprintf('El Grado de pertenencia a Velocidades Bajas %.2f',GP1*100)
sprintf('El Grado de pertenencia a Velocidades Medias %.2f',GP*100)
sprintf('El Grado de pertenencia a Velocidades Altas %.2f',GP2*100)
end
if V>= 80 && V<=90
GP=9-0.1*V;
GP2=1-GP ;
GP1=0;
sprintf('El Grado de pertenencia a Velocidades Bajas %.2f',GP1*100)
sprintf('El Grado de pertenencia a Velocidades Medias %.2f',GP*100)
sprintf('El Grado de pertenencia a Velocidades Altas %.2f',GP2*100)
end
pause();
end
6. Página 6
Gráficas de resultados
Nosotros Dayana Ochoa y Carlos Mendoza afirmamos que esta actividad es de nuestra autoría y
establecemos que para la elaboración de la misma se ha seguido los lineamientos del Código de
Ética de la Universidad de las Fuerzas Armadas ESPE