Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

FGHJ

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 33

INSTITUTO TECNOLÓGICO SUPERIOR DE

LA REGIÓN DE LOS LLANOS


Ingeniería Mecatrónica

Control Digital Avanzado

Unidad III:

Introducción al control inteligente y sus aplicaciones

Practica 8: Introducción al control difuso con software

Profesor: M.C Jesús Leonel Arce Valdez

Nombre de Alumnos:

José Antonio Ciceña Ponce

Aaron Francisco Galindo Castañeda

Hector Adolfo Garcia Cordero

8”u”
Fecha de entrega: 10/Mayo/2020
1
Contenido
Introducción ............................................................................................................. 1

Marco teórico........................................................................................................... 1

Controlador difuso. .............................................................................................. 1

Antecedentes ................................................................................................... 1

Control Difuso. ................................................................................................. 2

Proceso para realizar un controlador difuso. ....................................................... 3

Definición de variables lingüísticas. ................................................................. 3

Cauterización de los espacios de entrada y salida. ......................................... 5

Fusificacion de la variable de entrada .............................................................. 7

Base de conocimiento. ..................................................................................... 8

Procesos de inferencia ..................................................................................... 9

Defusificacion. ................................................................................................ 11

Matlab. ............................................................................................................... 12

Simulink.......................................................................................................... 13

Procedimiento (descripción) .................................................................................. 14

Equipo necesario ............................................................................................... 14

Material de apoyo .............................................................................................. 14

Desarrollo de la práctica .................................................................................... 14

Resultados. ........................................................................................................... 23

Conclusión............................................................................................................. 30

Bibliografía ............................................................................................................ 31

i
Introducción

La Lógica Difusa proporciona un mecanismo de inferencia que permite simular los


procedimientos de razonamiento humano en sistemas basados en el conocimiento.
La teoría de la lógica difusa proporciona un marco matemático que permite modelar
la incertidumbre de los procesos cognitivos humanos de forma que pueda ser
tratable por un computador. En este primer capítulo se describirán los fundamentos
y características de este mecanismo de representación de la incertidumbre.

En el presente documento se presenta la práctica, la cual consistía en crear un


controlador de tipo difuso para el sistema de posicionamiento del cartucho de una
impresora. Para lograr dicho objetivo primero se pensaron en las variables de tipo
lingüístico que se utilizarían en esta práctica fueron 5 variables para el error enviado
por el sensor y 5 variables para el voltaje del motor, paralelo a ello se piensa en las
reglas de lógica difusa las cuales son del tipo: Si el/la “Variable entrada” es “TL”,
entonces el/la “Variable salida” es “TL”. De la cuales se enunciaron 5. una ves que
se tiene esto se utilizó la herramienta Matlab para crear y simular el controlado esto
se logro gracias al complemento fuzzyLogicDesigner.

Marco teórico
Controlador difuso.
Antecedentes
Las bases de lógica difusa fueron presentadas alrededor de 1965 por el personaje
Lofti Zadeh, profesor de la universidad de California en Berkley. Contraviniendo los
conceptos de la lógica clásica, donde se marca únicamente un elemento como
perteneciente o no aun conjunto, propone el concepto de pertenencias parciales a
conjuntos que denomino difusos. Pero fue en el año 1974 cuando esta lógica se
emplea en el campo del control por el personaje Ebrahim Mandami, el cual hizo la
regulación de un motor de vapor.

1
El profesor Zadeh habla de que la gente no maneja modelos matemáticos o
información cuantitativa cuando ejecuta tareas del medio que lo rodea, realizando
control altamente.

Control Difuso.
Es la principal aplicación de la lógica difusa son los sistemas de control difuso, que
utilizan las expresiones difusas para formular las reglas que controlaran dichos
sistemas. Como la lógica difusa sugiere un cierto grado de pertenencia para un dato
que presente dentro de los conjuntos difusos, permite que un controlador difuso
tomar diferentes grados de acción en un sistema, como se sabe un sistema de
control debe tomarse en cuenta el conocimiento experto de una o varias personas
para la realización de la base de conocimientos sobre la cual se basara la toma de
decisiones. Un control difuso se puede aplicarse en innumerables sistemas tales
como son brazos articulados y vehículos autónomos, empleando técnicas de
razonamiento aproximado es posible controlar sistemas superiores cuando el
entorno no se conoce de forma precisa. Esta característica permite mayor
flexibilidad que el control clásico en el que para la realización de un controlador se
requiere de un alto grado de cálculo matemático. Así, con un controlador difuso es
posible prescindir de la rigidez matemática y transmitir el raciocinio humano hasta
un sistema.

En nuestra figura 1 se muestra la estructura de un controlador difuso

Figura 1 Estructura de un controlador difuso

2
Donde se puede observar un primer bloque el cual tiene como nombre fuzificador
en el que los datos de entrada son procesados para calcular el grado de membresía
que tendrán dentro del controlador, enseguida se tiene el dispositivo de inferencia
que junto con la base de conocimientos realizan la toma de decisiones que dictaran
la forma en que actuara el sistema. El método de inferencia se basa en el grado de
pertenencia de los datos de entrada en los conjuntos difusos de los espacios
correspondientes, siempre que estas se den para tomar una decisión en el espacio
de salida. El conjunto de reglas las también se puede conocer como base de
conocimiento, es del tipo de antecedente – consecuente; es decir si…. entonces …,
y existen distintos métodos de inferencia tales como son: mínimo-máximo, máximo-
producto, etc. La última parte que se puede ubicar es la que tiene como nombre
defuzificador, esta parte es quien realiza el procesador final con el fin de adecuar
los valores difusos de la inferencia en valores no difusos útiles para el proceso que
se ha de controlar. Para realizar un controlador de este tipo se necesita seguir el
siguiente proceso. (Morcillo, 2010)

Proceso para realizar un controlador difuso.


para demostrar este proceso lo vamos hacer mediante un ejemplo el cual es el
sistema golpea la billar a distinta altura(en posición en el eje Y)

Definición de variables lingüísticas.


Primeramente, debemos saber que es una variable lingüística las cuales se pueden
definir de la siguiente manera: son variables cuyos valores se representan mediante
términos lingüísticos. El significado de estos términos lingüísticos se determina
mediante conjuntos difusos un ejemplo se puede observar en la figura 2
representación de un conjunto difuso.

3
Figura 2 Representación de un conjunto difuso

Este tipo de variables tienen las siguientes características

• Proporcionan una transición gradual de estados.


• Tiene capacidad para expresar y trabajar con observaciones y medidas de
incertidumbre.
• Por capturar medidas de incertidumbre son más ajustadas a la realidad que
las variables nítidas

Las variables lingüísticas se escriben de la siguiente manera:

(v,T,X,g,m)

V es el conjunto de la variable.
T es el conjunto de términos lingüísticos de v.
X es el universo del discurso de la variable V
g es una regla sintáctica para generar términos lingüísticos, y
m es una regla semántica que asigna a cada termino lingüístico t su
significado m(t), que es un conjunto difuso en X (J.Garcia, 2009)

4
teniendo en cuenta lo pasado ahora regresemos a nuestro ejemplo como primer
paso para realizar un controlador difuso se deben determinar las variables tanto de
entrada como de salida, teniendo en cuenta que primero deben ser las variables de
salida puesto que basándonos de ellas se plantearan las variables de entrada, en
este ejemplo las variables de salidas son dos la fuerza de golpeo y la altura. Las de
entrada son dos también las cuales son la distancia puesto que con ella entendemos
la distancia que debe viajar la bola que se golpea con el taco para lograr obtener la
carambola, la segunda es reacción, por ella entendemos a lo que hará la bola que
fue golpeada, al tener su primer choque con otra bola. (Hernandez, 2015)

Cauterización de los espacios de entrada y salida.


Se hicieron 5 clusters triangulares los cuales obedecen a las etiquetas lingüísticas
para la variables, las cuales están de acuerdo a las posibilidades del juego de
carambola y se define más adelante. Las variables finalmente tienen un rango de 0
a252 con una parición equidistante, esto es conveniente ya que se utilizó una
resolución para los espacios en los microcontroladores de 8 bits. Es importante
señalar que en el proceso se variaron estos rangos y divisiones, así como que el
programa implementado en hardware está diseñado para realizar estos cambios sin
alterar su funcionamiento. La partición de los espacios de entrada se llevó acabo de
la siguiente manera. Para la variable de la reacción sus términos lingüísticos son los
siguientes: regresa mucho, regresa poco, detenerse ,avanza poco y avanza mucho.
en la figura 3 se muestra la cauterización de esta variable de reacción

Figura 3 Clusterizacion de reacción

5
En el caso de la distancia se divide en: muy cerca, medio, cerca, medio, lejos y muy
lejos. En cual se puede observar en la siguiente figura 4 Clusterizacion de la
distancia.

Figura 4 Clusterizacion de la distancia.

Ahora veremos la partición de los espacios de la salida quedo como se describe a


continuación. Para la variable de fuerza se divide de la siguiente manera: muy
despacio, despacio, medio, fuerte y muy fuerte. En la figura 5 se muestra de una
manera gráfica dicha partición.

Figura 5 Clusterizacion de la fuerza

Para la variable de altura se divide de la siguiente manera: muy abajo, poco abajo,
centro, poco arriba y muy arriba. En la figura 6 se muestra de una manera gráfica
esta partición.

6
Figura 6 variable de altura

Fusificacion de la variable de entrada.

La entrada al controlador difuso son valores discretos en el rango mencionado. Con


cada una de las variables de entrada se hace una comparación con su respectivo
espacio y con esto sabremos cual es el clusters que tenga pertenencia. En nuestra
figura 7 se muestra de manera gráfica lo establecido anteriormente donde la línea
roja representa la variable y la parte sombreada, representa el grado de pertenencia
a cada clúster.

Figura 7 valor de entrada para fuzificar.

Para saber cómo funciona la parte de fuzificacion se puede observar de una manera
gráfica en la figura 8 la cual se muestra a continuación.

7
Figura 8 Funcionamiento del fuzificador.

Cuando se recibe un valor de entrada para distancia y para reacción, devuelve el


grado de pertenencia de cada uno a si respectivo espacio en los clusters que
abarquen al valor.

Base de conocimiento.
También conocido como reglas de control las cuales es la parte central del
controlador difuso, el cual es el punto de partida para la generación del conjunto de
reglas sobre las que se rige la inferencia. Se describen laos términos usados y se
muestra la base en forma de matriz de asociación difusa.

Para esto es necesario hacer una investigación de campo. Lo cual nos lograr tener
un respaldo adecuado y que el controlador se basara en la mejor información
posible. En este ejemplo se desarrollaron dos bases de conocimientos distintas
puesto que es necesario un controlador para una

En las siguientes figuras se muestran las matrices de cada una de las bases de
conocimiento las cuales están a dirigidas a las variables de altura y fuerza las cuales
son las de salida. En la Tabla 1. base de conocimiento de la altura. En la tabla 2 se
muestra la base de conocimiento de la fuerza.

8
Tabla 1 Base de conocimiento de la altura.

Tabla 2 Base de conocimiento de la fuerza

Con estas matrices se puede observar de una manera más sencilla las reglas con
que se cuenta en este ejemplo.

Procesos de inferencia
El proceso de inferencia utilizado tanto en este ejemplo como en el trabajo de esta
práctica es que tiene como nombre mínimo-máximo, también conocido como
Mandami; ya que por sus características es de los métodos más apropiado para
realizar un controlador compilador. El método se basa en lo siguiente:

Valores de entrada: El resultado de la fuzificacion arroja ciertos valores de


membresía para distintos clusters en cada espacio de entrada. (Hernandez, 2015)

9
Aplicación de reglas: las pertenecías que existen se aplican sobre la base de las
reglas para saber en qué clúster del espacio de salida se produce el consecuente
de cierta combinación de antecedentes descritos en dichas reglas. Ejemplo:

R1: Si A1 y B2 entonces C3

En general

Regla # Si Xn y Ym entonces Cz

Leyendo las reglas como: si hay membresía en el clúster n del espacio X y en el


clúster m del espacio Y, entonces se da en el clúster z del espacio de salida C

Membresías de salida : el valor de membresía que se hereda al clúster de salida en


cada regla cumplida, es el valor mínimo de las membresías de los clusters de los
espacios de entrada que se involucra en la regla.

Formación del polígono: Después de aplicar todas las reglas que se cumplen,
podemos tener varios valores de membresía para un mismo clúster del espacio de
salida, si varias reglas heredaron en él. Adicionalmente es necesario formar el
polígono de salida, que refleja el valor de las membresías a lo largo de los clusters
del espacio de salida. Para obtener el producto final del proceso de inferencia se
debe entonces hacer un barrido para cada clúster tomando siempre el máximo valor
de membresía que presente en cualquier regla en la figura 9 se muestra
gráficamente lo estipulado lo pasado.

Figura 9 Formación del polígono de salida.

Donde podemos observar la formación del polígono de salida, así como también
nos da una idea de los puntos anteriores. Donde cada reglón se toma la menor
membresía de los espacios de entrada para heredar al de salida (mínimo). La última

10
columna muestra la integración del polígono de salida, con los máximos de los
mínimos. De esta manera queda conformado el método de inferencia del máximo-
mínimo.

Defusificacion.
Como última parte de los procesos del controlador difuso, se lleva a cabo la
defuzifiacion. En este ejemplo, el método utilizado es el del centroide su elección se
debe a la misma razón que el método de inferencia elegido es decir practicidad para
ser implementado. Es importante mencionar que no por ello se compromete de
ninguna menara su eficiencia ya que estos métodos son también muy confiables. El
proceso de defuzifiacion por centro de área es simple, dado el polígono de salida
por la el proceso de inferencia, simplemente se calcula el centro de gravedad de
figura mediante la siguiente ecuación (1)

Ecuación 1 Formula para el cálculo del centroide.

Basado en la figura 10, donde z* es el centroide.

Figura 10 Método del centroide

11
estas son la partes que conforman a un controlador difuso

Matlab.
MATLAB es un lenguaje de alto desempeño diseñado para realizar cálculos
técnicos. MATLAB integra el cálculo, la visualización y la programación en un
ambiente fácil de utilizar donde los problemas y las soluciones se expresan en una
notación matemática. MATLAB es un sistema interactivo cuyo elemento básico de
datos es el arreglo que no requiere de dimensionamiento previo. Esto permite
resolver muchos problemas computacionales, específicamente aquellos que
involucren vectores y matrices, en un tiempo mucho menor al requerido para escribir
un programa en un lenguaje escalar no interactivo tal como C o Fortran. MATLAB
se utiliza ampliamente en: • Cálculos numéricos • Desarrollo de algoritmos •
Modelado, simulación y prueba de prototipos • Análisis de datos, exploración y
visualización • Graficación de datos con fines científicos o de ingeniería • Desarrollo
de aplicaciones que requieran de una interfaz gráfica de usuario (GUI, Graphical
User Interface). En el ámbito académico y de investigación, es la herramienta
estándar para los cursos introductorios y avanzados de matemáticas, ingeniería e
investigación. En la industria MATLAB es la herramienta usada para el análisis,
investigación y desarrollo de nuevos productos tecnológicos. La ventaja principal de
MATLAB es el uso de familias de comandos de áreas específicas llamadas
toolboxes. Lo más importante para los usuarios de MATLAB es que los toolboxes le
permiten aprender y aplicar la teoría. Los toolboxes son grupos de comandos de
MATLAB (archivos M) que extienden el ambiente de MATLAB para resolver
problemas de áreas específicas de la ciencia e ingeniería. Por ejemplo, existen
toolboxes para las áreas de Procesamiento Digital de Señales, Sistemas de Control,
Redes Neuronales, Lógica Difusa, Wavelets, etc.La ventana de comando. La
ventana de comando es la ventana principal, con la cual el usuario interactúa con
MATLAB. Es la primer ventana que se abre al ejecutar MATLAB. Se utiliza para
correr los comandos, correr el editor de archivos M (MEDIT, presente en la barra de
herramientas), ejecutar los toolboxes, etc. En la figura I.1 se muestra la ventana de
comando de Matlab y algunas otras. Figura I.1 La ventana principal de Matlab; a la
derecha se muestra la ventana. La barra de herramientas proporciona un acceso
12
fácil y rápido a las operaciones más comunes. Al colocar el puntero del ratón sobre
algún botón durante un par de segundos, MATLAB despliega un tooltip, el cual da
el nombre del botón ha seleccionado. (Bautista, 2005)

En la figura 11 se muestra la barra de herramientas y las opciones que contiene.

Figura 11 Barra de herramientas de Matlab.

Simulink

SIMULINK es una toolbox especial de MATLAB que sirve para simular el


comportamiento de los sistemas dinámicos. Puede simular sistemas lineales y no
lineales, modelos en tiempo continuo y tiempo discreto y sistemas híbridos de todos
los anteriores. Es un entorno gráfico en el cual el modelo a simular se construye
clicando y arrastrando los diferentes bloques que lo constituyen. Los modelos
SIMULINK se guardan en ficheros con extensión. Con las nuevas versiones,
SIMULINK ha ido ampliando sus librerías de bloques (blocksets) y capacidades. En
concreto, destaca el paquete STATEFLOW, que permite la simulación de máquinas
de estados. Otras blocksets de interés son, por ejemplo, las de comunicaciones
(Communications Blockset, CDMA Reference Blockset, RF Blockset) que incluyen
bloques que simulan estaciones de telefonía móvil o dispositivos tales como los
PLLs; las de aplicaciones específicas (Aerospace Blockset, Signal Processing
Blockset, Video and Image Processing Blockset); y las de soporte (Gauges
Blockset). Hay muchas demos y efectos (ver, por ejemplo, las demos de

13
SimMechanics o Virtual Reality Toolbox >>mech_conveyor_vr, >>mech_airbag_vr
…). Además algunas toolboxes de MATLAB incorporan también bloques de
SIMULINK. Es el caso, por ejemplo, de la Control Systems Toolbox, Neural Network
Toolbox, Fuzzy Logic Toolbox, System Identification Toolbox… Finalmente, también
existen librerías de bloques que permiten interactuar con tarjetas de adquisición de
dados y DSPs: RealTime Workshop, Embedded Targets for Motorola and TI, xPC
Target. Teclear >>ver en la ventana de comandos de MATLAB para ver qué versión
de SIMULINK y qué blocksets están instaladas (Bautista, 2005)

Procedimiento (descripción)
Equipo necesario
• Equipo de Cómputo

Material de apoyo
• Software Matlab® versión 5 en adelante

Desarrollo de la práctica
Analice el mecanismo de la Figura 12.

I.- Realice un diagrama de bloques del sistema en donde integre el controlador


difuso, tome en cuenta que lo que se quiere controlar es la posición del cartucho de
tinta y la planta es el mecanismo. Indique las variables de entrada y salida del
controlador difuso, al menos una entrada y una salida. En conjuntos difusos la
función de pertenencia que se utiliza es la μ. Ésta toma los valores entre cero (0) y
uno (1). Ejemplo: μ(Variable)

14
Figura 12 Mecanismo de posicionamiento de un cartucho de impresora

En la figura 13 se muestra el diagrama de bloques para el sistema antes mostrado.

Figura 13 Diagrama de bloques

II.- Definiendo las variables como variables lingüísticas.

Nota: Cada variable lingüística está definida en un universo discurso y están


asociados a conjuntos difusos dentro del universo discurso.

a). - Defina mínimo 4 variables lingüísticas para cada variable.

En este caso se utilizaron 5 variables lingüísticas para la entrada la cual definimos


como Error y 5 variables lingüísticas para la salida la cual definimos como voltaje. A
continuación se muestran las variables lingüísticas de entrada:

1. Error negativo grande (ENG).


2. Error negativo pequeño (ENP).
3. Error cero (EC).
4. Error positivo pequeño (EPP).

15
5. Error positivo grande (EPG).

Por otro lado las variables lingüísticas que se tienen para la salida son las
siguientes:

1. Voltaje negativo grande (VNG).


2. Voltaje negativo pequeño (VNP).
3. Voltaje cero (VC).
4. Voltaje positivo pequeño (VPP).
5. Voltaje positivo grande (VPG).

b). - Identifique el universo discurso para cada variable del controlador.

El universo de discurso que se tiene para este caso iría de -20 a 20 que seria el
recorrido del cartucho

c). - Defina los conjuntos difusos (Membresías) que van a estar asociados a cada
variable lingüística de cada variable del controlador. Utilice funciones de membresía
básicas: trapezoidales o triangulares: Abiertas en la izquierda o la derecha, o bien,
cerradas.

Para la variable de entrada se tiene los siguientes conjuntos difusos:

1. M(ENG)=trapmf [-20 -20 -10 – 5]


2. M(ENP)=trimf [-10 -5 0]
3. M(EC)=trimf [-5 0 5]
4. M(EPP)=trimf [0 5 10]
5. M(EPG)=trapmf [5 10 20 20]

Para la variable de salida se tienen los siguientes conjuntos difusos:

1. M(VNG)=trapmf [-12 -12 -6 –3]


2. M(VNP)=trimf [-6 -3 0]
3. M(VC)=trimf [-3 0 3]
4. M(VPP)=trimf [0 3 6]
5. M(VPG)=trapmf [3 6 12 12]

16
III.- Elabore una gráfica (En físico o digital) para cada variable en donde incluya los
datos de los pasos a), b) y c) anteriores. Utilice códigos de colores para las funciones
de membresía.

En la figura 14 y figura 15 se muestra las graficas de las funciones de membresía


de los pasos anteriores

Figura 14 Grafica las funciones de Membresía para el error.

Figura 15 Grafica las funciones de Membresía para el voltaje.

17
IV.- Enuncie las reglas de control.

a). - Si tiene la misma cantidad de términos lingüísticos (TL) para cada variable,
relacione cada término lingüístico de la variable de entrada con un término
lingüístico de la variable de salida mediante una regla de control. Ej. 5 TL de entrada
y 5 TL de salida, 5 reglas de control.

1. Si el error es negativo grande, entonces el voltaje es negativo grande.


2. Si el error es negativo pequeño, entonces el voltaje es negativo pequeño.
3. Si el error es cero, entonces el voltaje es cero.
4. Si el error es positivo pequeño, entonces el voltaje es positivo pequeño.
5. Si el error es positivo grande, entonces el voltaje es positivo grande.

b). - Realice una tabla en donde se muestre la relación/Regla de los términos


lingüísticos de cada variable.

A continuación en la tabla 3 se muestra las reglas de control simplificadas.

Tabla 3 reglas de control.

Error Voltaje
ENG VNG
ENP VNP
EC VC
EPP VPP
EPG VPG

V.- Visualice En Matlab la Curva de control de su controlador Difuso.

a). - Abra Matlab y en la ventana principal ingrese el comando fuzzy seguido de un


Enter. Se despliega la siguiente ventana. Figura 16 (Nota: En algunas versiones el
comando podría cambiar a fuzzyLogicDesigner).

18
Figura 16 Ventana principal

En esta ventana vamos a nombrar nuestra variable de entrada y la de salida dando


clic en los recuadros Input1 /Name, Output1/ Name. Los datos a la izquierda no van
a modificarse.

b).- Dando doble clic en cualquiera de los recuadros se desplegara la siguiente


ventana. Figura 17

Figura 17 Ventana de las variables de entrada y salida.

Aquí vaciaremos los datos de las variables lingüísticas, los conjuntos difusos
(Membresías) y el universo discurso de cada variable. El universo discurso se
agrega en el apartado Range, la forma de cada membresía se selecciona en Type
, El TL de cada Membresia se inserta en Name.

19
Para el tipo de membresia triangular se elige trimf, la membresia trapesoidal
trapmf, etc. Para agregar y/o borrar membresias, seleccione la pestaña Edit/Add
MFs (Agregar) o Edit/Remove All MFs (Eliminar).

Para agregar el conjunto de cada membresía, se selecciona la membresía una a


una y se agregan los conjuntos en la sección Parámetros.

Agregue todas las membresías y no se olvide de nombrarlas con su TL


correspondiente.

En la figura 18 se muestra las variables lingüísticas ya definidas para el error


mostrada en la figura anterior.

Figura 18 variables de error.

c). - Repita el paso anterior para la sección de su variable de salida, puede cambiar
de secciones seleccionando el recuadro:

En la figura 19 se muestra las variables de voltaje ya definidas.

20
Figura 19 variables de voltaje

De clic en cerrar cuando haya terminado y regrese a la ventana de FIS Editor figura
16

d). - En esta ventana de clic en la pestaña Edit/Rules.

Se desplegará otra ventana en donde estarán las membresías de la variable de


entrada y las de salida. Seleccione la membresía de entrada y la de salida
correspondiente y agregue las reglas obtenidas en el paso IV incisos a) y b). (Botón
Add Rule). En la figura 20

Figura 20 ventana para agregar reglas

21
En la figura 21 se muestran las reglas ya editadas.

Figura 21 reglas ya editadas.

Al terminar, de clic en cerrar y vuelva a la ventana FIS Editor. Una vez ahí, use la
pestaña View para ver el comportamiento de las reglas y del Sistema de control.
Guarde su control difuso en la pestaña File/Export/To file y File/Export/To
Workspace.

En la figura 22 se muestra la curva de control.

Figura 22 curva de control.

22
En la figura 23 se muestra en comportamiento de las reglas.

Figura 23 comportamiento de las reglas

Resultados.
1.- En la ventana FIS Editor de su control difuso, abra la ventana de reglas
(View/Rules). Aquí se pueden apreciar Las Reglas y el Método de inferencia.
Describa brevemente los pasos del método de inferencia: Fusificación y
Defusificación (Centroide).

Figura 24 vista de Rules

23
Para poder realizar el método de Inferencia en este caso de Mamdani se es
necesario realizar algunos pasos lo cuales son los siguientes:

1. Fuzificación de las variables de entrada.

2. Evaluación de las reglas.

3. Agregación de las salidas de las reglas.

4. Defuzificación.

1. Fuzificación. El primer paso consiste en tomar los valores crisp de las entradas
(financiacion-del-proyecto y plantilla-del-proyecto) y determinar el grado de
pertenencia de estas entradas a los conjuntos difusos asociados. El valor crisp
naturalmente estará limitado en el universo del discurso de la variable. En nuestro
caso, x e y estarán limitadas al universo del discurso de X e Y respectivamente. En
nuestro caso vamos a suponer que un experto asigna a x un valor del 35 %
(financiacion-proyecto) y a y un valor de 60 % (plantilla-proyecto). Como se puede
ver estos valores Crisp se corresponden con los valores de pertenecia de A1 y A2
(en el caso de x) con 0.5 y 0.2, y con los valores de B1 y B2 (en el caso de y) con
0.1 y 0.7 respectivamente. De este modo cada entrada se fuzzifica sobre todas las
funciones de pertenencia utilizadas en la reglas difusas.

2. Evaluación de Reglas. Tomamos las entradas anteriores y se aplican a los


antecedentes de las reglas difusas. Si una regla tiene múltiples antecedentes, se
utiliza el operador AND u OR para obtener un único número que represente el
resultado de la evaluación. Este número (el valor de verdad) se aplica al
consecuente.

Finalmente el resultado de la evaluación del antecedente se aplica al consecuente,


aplicando un recorte o escalado según el valor de verdad del antecedente. El
método más comúnmente utilizado es el recorte (clipping) que corta el consecuente
con el valor de verdad del antecedente. El escalado proporciona un valor más

24
preciso, preservando la forma original del conjunto difuso. Se obtiene multiplicando
todos los valores por el valor de verdad del antecedente.

Figura 25 Conjunto recortado(a) y escalado(b).

3. Agregación de las salidas. La agregación es el proceso de unificación de las


salidas de todas las reglas; es decir, se combinan las funciones de pertenencia de
todos los consecuentes previamente recortados o escalados, combinando para
obtener un único conjunto difuso por cada variable de salida.

4. Defuzificación. El resultado final habitualmente es necesario expresarlo


mediante un valor crisp. En esta etapa se toma como entrada el conjunto difuso
anteriormente obtenido para dar un valor de salida. Existen varios métodos de
defuzificación, pero probablemente el más ampliamente usado es el centroide; que
calcula el punto donde una línea vertical divide el conjunto en dos áreas con igual
masa.

25
2.- Existen más formas de Defusificación, al menos 5. Nómbrelas y describa
brevemente cómo funcionan.

Para poder dar una respuesta a esta indicación se basó en los contenidos de Matlab
por lo que los tipos de defuzzificacion hallados son aquellos que nos servirían para
poder configurar nuestro controlador difuso.

Para esto podremos observar en la figura 26 el cual es un conjunto de salida difuso


integrado por tres funciones trapezoidales:

Figura 26 Conjunto difuso de salida.

Para la defuzzificación se encontró lo siguientes métodos:

• Centroide.
• Bisectriz.
• Máximo central (MOM).
• Máximo más pequeño (SOM).
• Máximo más grande (LOM).

Centroide.

La defuzzificación centroide se realiza el centro de gravedad del conjunto difuso a


lo largo del eje x. Si se piensa en el área como una placa con espesor y densidad
uniformes, el centroide es el punto a lo largo del eje x sobre el que se equilibraría el
conjunto difuso. El centroide se calcula utilizando la siguiente fórmula, donde μ(xi)
es el valor de membresía para el punto xi en el universo del discurso.

26
Figura 27 Método centroide.

Bisectriz.

El método bisectriz encuentra la línea vertical que divide el conjunto difuso en dos
subregiones de igual área. A veces, pero no siempre, coincide con la línea centroide.

Figura 28 Método Bisectriz.

27
Máximo Central (MOM), Máximo más pequeño (SOM) y Máximo más grande
(LOM).

MOM, SOM y LOM significan central, más pequeño y más grande de máximo,
respectivamente. En este ejemplo, dado que el conjunto difuso agregado tiene una
meseta en su valor máximo, los resultados de defuzzificación MOM, SOM y LOM
tienen valores distintos. Si el conjunto difuso agregado tiene un máximo único,
MOM, SOM y LOM producen el mismo valor.

Figura 29 Métodos de SOM, MOM y LOM

3.- Implemente en Simulink el sistema del Mecanismo de posicionamiento de


un cartucho de impresora. Utilice el control difuso realizado en esta práctica,
una entrada escalón de 0.1 (10 cm) y la funcion de transferencia (Del
Mecanismo) siguiente:

28
Recuerde agregar un bloque para visualizar la salida del sistema. Concluya
sus observaciones.

Para poder realizar este inciso es necesario realizar el diagrama de bloques por lo
que se construyo de la siguiente manera como se puede observar en la figura 30.

Figura 30 Diagrama de bloques en Simulink

Figura 31 Corrección de error.

Al momento de correr dicha simulación encontramos el siguiente comportamiento


de la corrección del error.

29
En la figura 31 podemos observar que el comportamiento de la oscilación es de un
modo subamortiguada, sin embargo no es de una manera muy oscilante ya que
vasto en 3 movimientos la corrección total del error el cual es el escalón que se
indica al comienzo del diagrama de bloques como se puede observar en la figura
30.

Por lo que se puede concluir que el diseño del controlador difuso y su


implementación en la simulación se realizó de una manera exitosa.

En el siguiente link se muestra el funcionamiento de la práctica:

https://youtu.be/ST7xzvk7A04

Conclusión.
La práctica que se realizó de manera simulada, abre una gran puerta hacia lo que
es un tipo de controlador muy importante en nuestros tiempos puesto que no todos
los controladores pueden tener efectos en todos los procesos, es por esto que al
momento de aprender métodos nuevos y distintos uno de cada uno, se tiene mayor
capacidad para poder dar un resultado concreto y mejor justificado ya que se tendrá
que observar desde diferentes perspectivas para de este modo encontrar la más
sencilla pero a la vez será la más eficiente, cumpliendo así con los requerimientos
de necesarios para poder darle una respuesta que solucione el respectivo problema.

Matlab es un software algo avanzado sin embargo en este tema de lógica difusa se
presta a ser sencillo y amigable con principiantes puesto que los comandos
utilizados no son de un grado muy elevado en cuanto a programación y los
requisitos para poder formular tal controlador no son especiales o de alta
comprensión por lo que el ambiente de interfaz hacia el usuario tiende a ser
amigable y es una gran ayuda, para de este modo poder generar lo que se pide en
la práctica ya realizada.

La importancia de esta práctica es grande ya que el uso correcto de lo aprendido se


puede llegar a resultados muy grandes ya que la naturaleza de tales controladores
ayuda al correcto control de algunos procesos y de esta manera se realiza de una

30
forma muy sencilla y bastante productiva puesto que los resultados que s se suelen
obtener son muy importantes.

Comparando un poco con el PID aparte de los resultados, tomando la forma de


realizarse cada uno se puede ver una manera muy distinta ya que el PID y su
sintonización pasan a ser un lenguaje un poco más máquina y/o matemático y al
hacer un control por medio de lógica difusa, al momento del diseño las variables
lingüísticas lo hacen totalmente expresivo con el usuario o diseñador.

Bibliografía
Bautista, R. (2005). Matlab y el diseño de flitros digitales. Ciudad de Mexico:
investigacion y educacion.

Hernandez, P. (20 de abril de 2015). catarina. udlap. Recuperado el 08 de mayo de


2020, de seccion del controlador difuso:
http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/hernandez_b_ii/capitul
o4.pdf

J.Garcia. (21 de septiembre de 2009). variables linguistica, variables difusas y reglas


de aproximacion . Obtenido de es.sildeshare:
https://es.slideshare.net/mentelibre/tema-3-variables-lingsticas-variables-
difusas-y-reglas-difusas-razonamiento-aproximado

Morcillo. (2010). logica difusa una introduccion practica. mexico.

31

También podría gustarte