1. SISTEMAS INTELIGENTES Y REDES NEURONALES
LABORATORIO No. 3
SISTEMAS DE CONTROL BASADOS EN LOGICA DIFUSA
Prof. Mg. Ing. José C. Benítez P.
INDICACIONES:
- Si en el Informe del Laboratorio o en los scripts de Matlab se encuentra un ejercicio copiado o
parcialmente copiado la nota del Laboratorio será CERO.
- Los laboratorios presentados fuera del plazo establecido tendrán nota NS.
OBJETIVO:
Graficar la interpretación de Kosko de los conjuntos difusos.
Graficar los diferentes tipos de funciones de pertenencia.
Extraer las características de los conjuntos difusos.
Realizar las operaciones unarias en conjuntos difusos.
Hallar las relaciones entre conjuntos difusos.
Realizar las operaciones binarias entre conjuntos difusos.
Analizar las reglas de inferencia difusa.
Modelar un sistema de control basado en lógica difusa.
RESUMEN TEORICO
1. INTERPRETACION DE KOSKO:
Kosko el año 1992 interpretó de una manera muy singular a los conjuntos difusos relacionándolos
con el conjunto potencia. Esta interpretación resulta interesante de mostrarse. Haciendo uso del
MatLab mostrar para valores n=2, n=3 y n=4 la interpretación de Kosko. Identificar en cada
gráfico el conjunto crisp y el conjunto difuso. La teoría requerida para el desarrollo de este tema
se encuentra en la Experiencia de Aprendizaje No. 10 del blog del curso.
2. GRAFICA DE LOS TIPOS FUNCIONES DE PERTENENCIA:
Los tipos de funciones de pertenencia o membresía, nos permiten definir los conjuntos difusos.
Existen nueve tipos de funciones de pertenencia. Haciendo uso del MatLab graficar cada uno de
ellos y verificar cuál es el impacto de las constantes en sus gráficos. La teoría requerida para el
desarrollo de este tema se encuentra en la Experiencia de Aprendizaje No. 10 del blog del curso.
3. CARACTERISTICAS DE LOS CONJUNTOS DIFUSOS
Para analizar los conjuntos difusos, es importante extraer características de los conjuntos
difusos. Existen siete características de los conjuntos difusos. Haciendo uso del MatLab, dado
un conjunto difuso y elegida su característica, mostrar el resultado de dicha característica. La
2. teoría requerida para el desarrollo de este tema se encuentra en la Experiencia de Aprendizaje
No. 11 del blog del curso.
4. OPERACIONES UNARIAS DE LOS CONJUNTOS DIFUSOS
Existen operaciones en conjuntos difusos que requieren de un solo operador, éstas son las
llamadas operadores unarios. Existen seis operaciones unarias de los conjuntos difusos.
Haciendo uso del MatLab, dado un conjunto difuso y elegida su operación unaria, mostrar el
resultado de dicha operación unaria. La teoría requerida para el desarrollo de este tema se
encuentra en la Experiencia de Aprendizaje No. 11 del blog del curso.
5. RELACIONES ENTRE CONJUNTOS DIFUSOS
A veces resulta necesario realizar relaciones entre conjuntos difusos. Existen tres tipos de
relaciones entre los conjuntos difusos. Haciendo uso del MatLab, y dados dos conjuntos difusos
y elegida su relación, mostrar el resultado de dicha relación. La teoría requerida para el desarrollo
de este tema se encuentra en la Experiencia de Aprendizaje No. 11 del blog del curso.
6. OPERACIONES BINARIAS DE LOS CONJUNTOS DIFUSOS
Existen operaciones entre conjuntos difusos que requieren de dos operadores, éstas son las
llamadas operadores binarios. Existen varias operaciones binarias entre conjuntos difusos.
Haciendo uso del MatLab, dado dos conjuntos difusos y elegida su operación binaria, mostrar el
resultado de dicha operación binaria. La teoría requerida para el desarrollo de este tema se
encuentra en la Experiencia de Aprendizaje No. 11 del blog del curso.
7. REGLAS DE INFERENCIA DIFUSA
Las reglas de inferencia difusa son necesarias para implementar un sistema de control basado
en lógica difusa. Haciendo uso del MatLab, dados conjuntos difusos y una regla de inferencia
difusa, mostrar el resultado de dicha inferencia difusa. La teoría requerida para el desarrollo de
este tema se encuentra en la Experiencia de Aprendizaje No. 12 y 13 del blog del curso.
8. MODELAMIENTO DE UN SISTEMA DE CONTROL BASADO EN LOGICA DIFUSA
MatLab posee una herramienta paras el modelamiento de sistemas de control basados en lógica
difusa. Utilizar la herramienta fuzzy facilita la implementación de sistemas de control complejos
que utilizan variables difusas. La teoría requerida para el desarrollo de este tema se encuentra
en la Experiencia de Aprendizaje No. 12, 13 y 14 del blog del curso.
PROCEDIMIENTO
1. INTERPRETACION DE KOSKO:
Haciendo uso de funciones (implementadas por el alumno) del MatLab mostrar para valores de
n=2, n=3 y n=4 las interpretaciones de Kosko de los conjuntos difusos.
Ejemplo:
Si se ejecuta en el CW:
>> k(2)
Se mostrará gráficamente la interpretación de Kosko para n=2. Los valores de n son 2, 3 y 4.
3. 2. GRAFICA DE LOS TIPOS FUNCIONES DE PERTENENCIA:
Haciendo uso de funciones (implementadas por el alumno) del MatLab graficar los diferentes
tipos (09) de funciones de pertenencia de los conjuntos difusos dados los parámetros
necesarios.
Ejemplo:
Si se ejecuta en el CW:
>> triangular(2, 4, 5, [1:6])
Se mostrará el gráfico de la función de pertenencia con valores de sus parámetros a=2, m=4 y
b=5; en el dominio o universo del discurso X=[1,6].
3. CARACTERISTICAS DE LOS CONJUNTOS DIFUSOS
Haciendo uso de funciones (implementadas por el alumno) del MatLab se mostrar las
diferentes características (07) de los conjuntos difusos dados los parámetros necesarios.
Ejemplo:
Si se ejecuta en el CW:
>> altura(A)
Se mostrará el conjunto difuso A y la altura del conjunto difuso A.
4. OPERACIONES UNARIAS DE LOS CONJUNTOS DIFUSOS
Haciendo uso de funciones (implementadas por el alumno) del MatLab mostrar las diferentes
operaciones unarias (06) de los conjuntos difusos dados los parámetros necesarios.
Ejemplo:
Si se ejecuta en el CW:
>> normalizar(A)
Se mostrará el conjunto difuso A y su conjunto normalizado.
>> dilatar(A, p)
Se mostrará el conjunto difuso A y luego el conjunto difuso A dilatado por p.
5. RELACIONES ENTRE CONJUNTOS DIFUSOS
Haciendo uso de funciones (implementadas por el alumno) del MatLab implementar los tipos
(03) de relaciones entre los conjuntos difusos, dados los parámetros necesarios.
Ejemplo:
Si se ejecuta en el CW:
>> igualdad(A, B)
Se mostrarán lo conjuntos difusos A, B y se mostrará 0 y el mensaje “DIFERENTES” si el
conjunto difuso A y B son diferentes, y 1 y el mensaje “IGUALES” si son iguales.
4. >> incluDifusa(A, B)
Se mostrarán lo conjuntos difusos A, B y se mostrará la inclusión difusa de A en B. Y se
indicará que conjunto está más incluido en quién.
6. OPERACIONES BINARIAS DE LOS CONJUNTOS DIFUSOS
Haciendo uso de funciones (implementadas por el alumno) del MatLab realizar las diferentes
operaciones binarias (05) entre dos conjuntos difusos, dados los parámetros necesarios.
Ejemplo:
Si se ejecuta en el CW:
>> ORzadeth(A, B)
Se mostrarán los conjuntos difusos A y B, y el resultado de aplicar el operador lógico OR de
Zadeth entre los conjuntos difusos A y B.
>> ORlukas(A, B)
Se mostrarán los conjuntos difusos A y B, y se mostrará el resultado de aplicar el operador
lógico OR de Lukasiewicz entre los conjuntos difusos A y B.
7. REGLAS DE INFERENCIA DIFUSA
Haciendo uso de funciones (implementadas por el alumno) del MatLab se mostrará el resultado
de una inferencia difusa, dados sus parámetros.
Ejemplo:
Si se ejecuta en el CW:
>> inferenciaD(A, B)
Se mostrarán los conjuntos difusos A y B, y se mostrará el operador lógico “Si A entonces B”.
8. MODELAMIENTO DE UN SISTEMA DE CONTROL BASADO EN LOGICA DIFUSA
a. Haciendo uso de comandos del CW del MatLab implementar un sistema de control basado
en lógica difusa, dados sus parámetros necesarios y sus relaciones de inferencia difusa.
b. Haciendo uso de la herramienta fuzzy del MatLab implementar un sistema de control
basado en lógica difusa, dados sus parámetros necesarios y sus relaciones de inferencia
difusa.
INFORME FINAL
El Informe de Laboratorio es un documento gráfico en lo posible y es redactado en Word con el
desarrollo del laboratorio.
Niveles de Informe:
• Primer nivel: Observaciones. Imágenes con comentarios cortos. Redactar al ir desarrollando
el laboratorio. (Requiere desarrollar el laboratorio).
• Segundo nivel: Conclusiones. Redactar al terminar el laboratorio. (Requiere haber
desarrollado el laboratorio).
5. • Tercer Nivel: Recomendaciones. (Requiere la lectura de otras fuentes).
Dentro de su Carpeta Personal del Dropbox crear una carpeta para el Laboratorio 3 con el
siguiente formato de nombre:
SIRN_PaternoM_L3
Esta carpeta debe contener:
• El Informe de Laboratorio (documento Word),
• Los códigos comentados (scripts de Matlab),
• Las fuentes y
• Los recursos utilizados.
Las fuentes deben conservar el nombre original de archivo y se debe agregar en su nombre “_L3”
al final.
CUESTIONARIO
Mostrar en el Informe de Laboratorio los resultados los ejercicios del Laboratorio, del Resumen
Teórico, los Procedimientos, el Cuestionario.
El Informe de Laboratorio no contiene códigos, sólo las referencias a los números de línea de los
scripts.
1. Implementar un sistema difuso (SCbLD – Sistema de Control basado en Lógica Difusa) para el
control automático de:
a. Frenado de un automóvil. Considerar las variables de entrada presión, radio.
b. Un ventilador en una sala de conferencias. Considerar las variables de entrada
temperatura, área y número de personas.
c. Control de fuerza del brazo de un robot. Considerar las variables de entradas que
estime pertinentes.
d. Control de velocidad de un motor DC. Considerar las variables de entradas que
estime pertinentes.
e. Contratación de un jugador de futbol. Considerar las variables de entradas que
estime pertinentes.
En cada uno de los sistemas:
• Diseñar sus reglas difusas.
• Diseñar las funciones de pertenencia (tipos y rango).
• Implementar cada sistema con el toolbox de MatLab.
2. Dar tres (03) ejemplos de aplicación práctica (incluir los scripts comentados de Matlab) de
Sistema de Control basado en Lógica Difusa.
FUNCIONES DE MATLAB:
plot, plot3D, meshgrid, surf, newfis, addvar, rmvar, addmf, rmmf, addrule, showfis, getfis, guide, y
fuzzy.