logica difusa

Upload: boris-barzallo

Post on 14-Jan-2016

19 views

Category:

Documents


0 download

DESCRIPTION

construccion deun seguidor de linea con logica difusa

TRANSCRIPT

  • 1Lgica DifusaBoris Barzallo

    [email protected] Punin

    [email protected]

    ResumenEn el presente documento se detalla el uso dela teora de Lgica Difusa por medio de las herramientas deLabview y Matlab, con el fin de modelar una funcin impuestaal inicio. Se compara los resultados del modelamiento grfico dela funcin con la tabulacion de la grfica inicial.

    Index TermsFuzzy, funcin, ingreso, reglas, salidas.

    I. INTRODUCCIN

    Una de las disciplinas matemticas con mayor nmero deseguidores actualmente es la llamada lgica difusa o borrosa,que es la lgica que utiliza expresiones que no son ni total-mente ciertas ni completamente falsas, es decir, es la lgicaaplicada a conceptos que pueden tomar un valor cualquiera deveracidad dentro de un conjunto de valores que oscilan entredos extremos, la verdad absoluta y la falsedad total. Convienerecalcar que lo que es difuso, borroso, impreciso o vago noes la lgica en s, sino el objeto que estudia: expresa la faltade definicin del concepto al que se aplica. La lgica difusapermite tratar informacin imprecisa, como estatura media otemperatura baja, en trminos de conjuntos borrosos que secombinan en reglas para definir acciones: si la temperaturaes alta entonces enfriar mucho. De esta manera, los sistemasde control basados en lgica difusa combinan variables deentrada, definidas en trminos de conjuntos difusos, por mediode grupos de reglas que producen uno o varios valores desalida.

    II. DESARROLLO

    Como punto de partida se escoge una funcin cualquiera quesea lineal, se realiza un script en matlab la cual nos permitagraficar dicha funcin y obtener una tabulacin de 15 valores,para esta x es variable de entrada y y es variable de salida.Por lo tanto la funcin a emplearse es la siguiente:

    y(x) = x2/5 + 3x2 2 (1)

    Realizando la tabulacion de los 15 valores de ingreso, seobtiene los siguientes resultados

    II-A. Matlab

    Al ingresar el comando Fuzzy en Matlab se desplegarala siguiente ventana, donde encontramos los 3 bloques quedefinirn la funcin a aproximar.

    x y(x)1 22 5.31953 8.55184 11.74115 14.90376 18.04777 21.17798 24.29749 27.4082

    10 30.511911 33.609512 36.701913 39.789814 42.873815 45.9542

    Cuadro ITABULACIN DE DATOS DE LA FUNCIN

    Figura 1. Ventana principal de Fuzzy en Matlab

    Al ingresar en el bloque Input1 aparece la siguiente subventana, donde se agrega los valores de ingreso que paranuestro caso ser los valores de x. En total se utilizan 15 datoscuyas grficas son del tipo Gaussiana con la misma abertura.

  • 2Figura 2. Ventana de Ingresos de Fuzzy

    Luego de aadir los ingresos al bloque Fuzzy, se agregalas salidas que para este ejercicio sern 15 datos en total,estos datos tendrn grficas Gaussianas cuyas aberturas se irnajustando de acuerdo a la grfica final de modo que se ajustea la funcin original.

    Figura 3. Ventana de Salidas de Fuzzy

    Ahora se incrementa las reglas en Fuzzy, puesto que elresultado final es una funcin en 2 dimensiones, para cadavalor de ingreso abra una salida, el compendio de reglasquedara de la siguiente manera.

    Figura 5. Grfica final de Fuzzy

    Figura 4. Reglas de Fuzzy

    Finalmente se obtiene una grfica resultante de los ingresos,salidas y reglas impuestas en Fuzzy, ya que en las reglas sedispuso para cada ingreso una salida se genera una funcinlineal en 2 dimensiones con el rango planteado al inicio delejercicio.

    Para comparar los resultados de Fuzzy en Matlab y losresultados de Labview se utiliza la tabulacin de la funcinen Matlab, la siguiente imagen es una comparacin entre lasgrficas obtenidas.

  • 3Figura 7. Grficas de las entradas

    Figura 8. Grficas de las salidas

    Figura 6. Comparacin de grficos

    III. LABVIEW

    Por medio de la herramienta Labview, se procede analizarun VI para el diseo de la lgica difusa de la funcinpreestablecida al inicio, a continuacin se detallara los bloquesque constituyen dicho modelamiento.

    Se inicia diseando el tipo de grficas de las entradas,como se ve a continuacin, el bloque esta comprendido poruna funcin triangular, la cual es modificable sus parmetrosmediante el ingresos de constantes que dar forma final a lasgrficas de entrada.

    Para disear las salidas se realiza el mismo procedimientoque en las entradas, para este caso tambin se eligi una grficatriangular con sus parmetros definidos como lo vemos en lasiguiente imagen.

    Como bien se haba mencionado, el diseo de la lgica di-fusa comprende, entradas, salidas y reglas. Las determinacinde las reglas en Labview se disean como se indica en lasiguiente imagen, donde mediante una igualdad nos indica laposicin o numero de la regla.

    En el VI, se establece mediante el bloqueNI_Fuzzy_Logic_API el ingreso de entradas, salidas y

    Figura 9. Grfica final de Fuzzy

    Figura 10. Grfica final de Fuzzy

    reglas que componen el sistema; con este nos permite crearun sistema interactivo entre los parmetros anteriores.

    Como resultado se obtuvo la siguiente curva, que es laaproximacin de la funcin mediante lgica difusa diseadaen Labview.

    IV. CONCLUSIONES

    En la aproximacin mediante la utilizacin de Fuzzy enMatlab se debe modificar el tipo de las grficas tanto de lasentradas como de las salidas, con la utilizacin de las grficasgaussianas se genera la aproximacin de la funcin ms suavey se refleja en la imagen final. Es inevitable que al final de lagrfica aparezca una curva, esto es debido a que es el final dela tabulacin pero es corregida cambiando el tipo de grficasde las salidas o entradas.

    Analizando las grficas finales de Labview y Fuzzy, esevidente que la aproximacin de Labview es ms exacta quela de Fuzzy.

    Figura 11. Grfica final de Fuzzy

  • 4Definir las funciones de membership adecuadas para nues-tras aplicaciones o seales, garantiza la compatibilidad oproximidad con las curva que deseamos, es importante irmanipulando para ver con cual hay mayor semejanza. Lareglas se deben colocar en un orden cclico, as se irndesarrollando cada una de estas de acuerdo a como fueroncreadas. Para levantar el vi en labview se debe verificar queeste instalado el toolking PID Fuzzy Logic, este permitehacer un uso adecuado para nuestras aplicaciones, ya que sevisualiza en tiempo real.

    REFERENCIAS[1] Klir, G., & Yuan, B. (1995). Fuzzy sets and fuzzy logic (Vol. 4). New

    Jersey: Prentice Hall.[2] Lee, C. C. (1990). Fuzzy logic in control systems: fuzzy logic controller.

    II. Systems, Man and Cybernetics, IEEE Transactions on, 20(2), 419-435.