Informe - Lab 19 - Control Difuso

download Informe - Lab 19 - Control Difuso

If you can't read please download the document

Transcript of Informe - Lab 19 - Control Difuso

  • CONTROL AUTOMTICO II

    Laboratorio N19

    CONTROL DIFUSO

    Alumna:

    MORALES MORENO, Angie Milagros

    Profesor: Ernesto Godnez de la Cruz

    Grupo: C15- V B

    2013- II

  • OBJETIVO:

    1. Analisis del controlador difuso usando la herramienta FIS Editor de Matlab

    2. Usar la herramienta Simulink de Matlab para simular ms un controlador integral.

    FUNDAMENTO TEORIO:

    Los controladores fuzzy, igual que otros controladores, toman el valor de las variables

    de entrada, procesan, y actan 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 evalan

    la veracidad de cada regla, y as, toman decisin sobre los cambios a realizar en las

    variables de salida. Una vez actualizadas las mismas, estas producirn 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 resolucin de problemas, es

    importante observar que lo que se est procesando no son ya ecuaciones, nmeros o

    tablas crudas sino, reglas, es decir se procesan cosas tales como:

    SI la temperatura es baja ENTONCES aumente el ciclo de actividad del calefactor

    Tal tipo de procesamiento est mucho ms cercano al razonamiento del experto

    humano, ya que permite realizar operaciones entre palabras como ms bajo, subir un

    poquito etc. Este proceso cclico puede ser dividido en tres grandes partes,

    fuzzification, evaluacin de reglas y defuzzification.

  • PROCEDIMIENTO:

    a) Para acceder FIS Editor se debe digitar la palabra fuzzy en la lnea de comandos,

    luego presionar enter.

    Figura 1. Men principal de FIS Editor.

    b) Para elegir el modelo a usar,Mandani o Sugeno,se debe accder al menu File/New

    Fiss/mandani

    Figura 2. Eleccin del modelo Mamdani

    c) El controlador difuso tendra dos variables de etrada y una variable de salida. Para

    aumentar una variable de netrada ingresamos a Edit/Add Variable/Input

    Figura 3. Adicin de una variable de entrada

  • d) Las variables de entrada son el error (e) y a derivada del error (de), y la variable

    de salida es out. Para cambiar los nombres de estas variables, seleccionamos la

    variable correspondiente y en name escribimos el nuevo nombre. Para definir los

    rangos de las variables de entrada y salida, seccionamos cada variable y en Range

    escribimos el rango correspondiente. Considerar un rango de -1 a 1 para cada

    variable.

    Figura 4. Definicin de los nombres de las variables de entrada y salida

    e) Para definir los rangos de las variables de netrada y salida,seleccionamos cada

    variable y en Range escribimos el rango correspondiente.Considerar un rango de

    -1 a 1 para cada variable. Cada una de las variables de entrada sera calsificada en 5

    categorias alas cuels se presentan por medio de las funciones de membresia.ara

    crear estas fucniones , primero seleccionamos la variable error (e) luego

    eliminamos las funciones de membresia actuales con Edit/Remove ALL MFs.

    Ingresamos al menu Edit/Add MFs y en Number of MFs selecionamos 5 y

    presionamos OK.

  • Figura 5. Creacion de las funciones demembresia de las variable error (e)

    Para grabar el archivo entrmaos a File/Export/To workspace y le damos el nombre

    difuso,entramos a File/Export/To file y le damos el mismo nombre.

    f) Cambiamos las funciones mf1 y mf5 de trimf a tramf. En la grafica seleccionamos

    mf1 y en type seleccionamos trampf. Repetimos el precedimiento para mf5.

    Figura 6. Funciones de membresia del error (e)

    g) Cabiamos los nombres de las funciones de membresia ,segn la aplicacin ,de la

    siguiente manera.

    Mf1 =NL= negative large

    Mf2=NS=negative small

    Mf3=Z=Zero Mf4=PS=positive

    small Mf5=PL = positive

    large

  • En la grafica seleccionamos mf1 y en Name cambiamos mf1 por NL.Repetimos lo

    mismo para otras funciones.

    Figura.7 Cambio de los nombres de las funciones de membresia del error ( e)

    h) Repetimos los pasos 6,7 y 8 para la variable de entrada derivada del error

    (de).Similarmente creamos las 5 funciones de membresa de la variable de salida

    Out. Debemos considerar que las 5 funciones son de tipo Trimf y los nombres de

    cada una de ellas son los siguientes.

    Figura 8.Procedimiento para crear las funciones de membresa de la variable de salida

    Out

    Mf1=CL= Cerrado largo

    Mf2= CS=Cerrado small

    Mf3=Z=Zero Mf4=OS= Abierto

    small Mf5=OL=Open large

  • 2. Reglas difusas del modelo:

    a) Para poder crear las reglas del modelo se debe acceder al Rule Editor,

    haciendo doble click sobre el modelo difuso.

    Figura 9. Procedimiento para ingresar las reglas difusas

    b) Considerar las siguientes reglas difusas:

    Derivada del error (de)

    NL NS Z PS PL

    Error( e)

    NL CL CL CL CS Z

    NS CL CL CS Z OS

    Z CL CS Z OS OL

    PS CS Z OS OL OL

    PL Z OS OL OL OL

    NL: Negative large

    NS:Negative small Z:Zero PS:Positive small PL:Positive large

    En total se tienen 25 reglas difusas las cuales se leen as:

    Si e es NL y de es NL entonces out es CL Si e es NL y de es NS entonces out es CL Si e es NL y de es Z entonces out es CL

    Si e es NL y de es PS entonces out es CS Si e es NL y de es PL entonces out es Z

    Si e es NS y de es NL entonces out es CL Y as sucesivamente.

  • Estas reglas difusas ser ingresadas a Rule editor La primera regla se ingresar as: En e,

    de y out seleccionamos NL,NS y CL respetivamente, en la opcin Connection elegir and,

    luego presionamos en Add rule. Repetimos el mismo procedimiento para las otras

    reglas. Para borrar una regla se tiene la opcin Delete rule y para cambiar una regla se

    tiene la opcin Change rule.

    Figuras 10. Reglas difusas

    3. Mtodo de Defuzzification:

    a) Seleccionamos en Defuzzification la opcin bisector.

    Figura 11. Mtodo de Defuzzitication

  • Grabar el archivo en File/Export/To Workspace con el nombre difuso, y en File /Export/To

    file con el mismo nombre.

    b) Ingresar a View/Rules, Luego en input escribir [0.4 0.8] y presionamos enter.

    Figura 12. Evaluacin de reglas

    Completar la siguiente tabla:

    e de out

    0.4 0.8 0.84

    0.4 -0.8 -0.34

    0 0 0

    -0.4 0.8 0.34

    -0.4 -0.8 -0.74

    4. Simulacin:

    a) En la lnea de comandos del workspace escribimos simulink. Abrimos una nueva hoja

    de trabajo en File/New/Model. Grabamos con el nombre Nivel.

    Figura 13. Hojas de trabajos para visualizar la simulacin

  • b) Ingresar a la librera el simulink/sources, y selecciona las opciones Step y Signal

    Generator y arrstralas hacia la hoja de trabajo. Configurar el Step de 0 a 1 y

    Signal Generator como square, Amplitud 0.5 y frecuencia 0.001 Hz

    Figura 14. Configuracin de la seal de referencia, formada por una onda cuadrada

    superpuesta a un Step

    c) Ingresar a la librera del simulink/Math Operations, seleccionar la opcin Add y

    arrastrar hacia la hoja de trabajo. Repetir el procedimiento luego Ingresamos a la librera

    del simulink / continuos y seleccionamos las opciones Derivative, Integrator , Transfer

    Fcn y Transport Delay un tiempo muerto de 1.104 segundos y en Transfer Fcn la funcin

    de transferencia del proceso de nivel:

  • Figura 15. Funcin de transferencia y tiempo de retardo.

    c) Ingresar a la librera Fuzzy Logic Toolbox,seleccionar Fuzzy Logic Controller y

    arrastrar hacia la hoja de trabajo.Luego estando en la hoja de trabajo hacer

    click Fuzzy logic Controller y arrastrar hacia la hoja de trabajo.Luego estando

    en la hoja de trabajo hacer click sobre Fuzzy Logic Controller y poner el

    nombre del archivo donde se configuro el controlador difuso.

    Figura 16. Fuzzy Logic Controller

  • d) Ingresar a Simulink/Signal Rounting y seleccionamos la opcion Mux y arrastrar

    hacia la hoja de trabajo.Luego ingresar a Simulink/Sink Y seleccionar la opcion

    Scope y arrastar hacia la hoja de trabajo.Unir todas los elementos y en la barra

    de estados cambiar el tiempo de simulicion a 3000.

    Figura 17. Diagrama de bloques del sistema de control Fuzzy

    e) Ejecutar la simulacion presionando en PLAY ubicado en la barra de estados,

    esperar que se complete el tiempo de ejecucion,luego hacer doble click en

    Scope, se debe obtener el siguiente resultado.

    Figura 18. Resultado de la simulacin

  • CUESTIONARIO:

    1. A que se denomina funciones de membresa?

    Las funciones de membresa representan el grado de pertenencia de un elemento a

    un subconjunto definido por una etiqueta. Existe una gran variedad de formas para

    las funciones de membresa, las ms comunes son del tipo trapezoidal, triangular,

    singleton.

    2. En qu consiste la Fuzzification?

    El control difuso siempre involucra este proceso de Fuzzificacin, esta operacin se

    realiza en todo instante de tiempo, es la puerta de entrada al sistema de inferencia

    difusa. Es un procedimiento matemtico en el que se convierte un elemento del

    universo de discurso (variable medida del proceso) en un valor en cada funcin de

    membresa a las cuales pertenece.

    Ejemplo de Fuzzificacin de una variable.

  • 3. A que se denomina grado de pertenencia?

    En un conjunto clsico que se asigna el valor 0 1 a cada elemento para indicar la

    pertenencia o no a dicho conjunto. Esta funcin puede generalizarse de forma que

    los valores asignados a los elementos del conjunto caigan en un rango particular, y

    con ello indiquen el grado de pertenencia de los elementos al conjunto en cuestin.

    4. A que denomina universo de discurso?

    El concepto clave para entender cmo trabaja la lgica difusa es el de conjunto difuso, se puede definir un conjunto difuso de la siguiente manera. Teniendo un posible rango de valores al cual llamaremos U, por ejemplo U=Rn, donde Rn es un espacio de n dimensiones, a U se le denominara Universo de Discurso. En U se tendr un conjunto difuso de valores llamado F el cual es caracterizado por de una funcin de pertenencia uf tal que uf: U-> [0, 1], donde uf (u) representa el grado de pertenencia de un u que pertenece a U en el conjunto difuso F.

    5. En el archivo difuso modifique los rangos de las funciones de

    membresa de las variables de entrada y salida, grabar los cambios,

    luego ejecutar el archivo nivel y observar los cambios en la respuesta

    del sistema.

    Se cambi la funcin de membresa de las variables de entrada y salida a

    , Se observ que las funciones de membresa cambiaron de forma

    como de una campa.

  • OBSERVACIONES:

    Utilizamos el tipo bisector para el mtodo de defuzzification.

    Al colocar las reglas difusas se debe ir en orden que por lo general son muchas,

    para no crear una confusin.

    Al tener las reglas difusas se puedo ver en una grfica la evaluacin de estas

    reglas de cada entrada y salida respectivamente.

    Se puede observar que debemos tener mucho cuidado al guardar el archivo con

    un nombre sencilla para no tener problemas al momento de llamarlo desde

    simulink.

    CONCLUSIONES:

    Se ha realizado una breve descripcin de los fuzzy controllers, sistemas de control cuyo funcionamiento est basado en la evaluacin de reglas utilizando fuzzy logic.

    El controlador Fuzzy lleva a la planta a cero de manera satisfactoria, la respuesta

    presenta un pequeo sobre-impulso, corto tiempo en alcanzar el SP.

    Se comprob la robustez de los fuzzy controllers, ya que es posible describir reglas para todo el rango de variacin de las variables de entrada, obtenindose controles que no necesitan un posicionamiento manual en el arranque.

  • La implementacin del sistema es sencillo, ya que al describir el comportamiento del controlador mediante reglas, no es necesario realizar una modelizacin exacta, sino que basta con entender conceptualmente su comportamiento.

    Finalmente se observa, que mediante el mtodo de evaluacin de reglas, resultan acciones de control suaves, una de las principales caractersticas de los fuzzy controllers.

    APLICACIN:

    Control difuso de una calefaccin

    Se pretende controlar la calefaccin de un invernadero/edificio/etc a partir de los

    parmetros de temperatura y humedad del mismo.

    Variables de estado

    Temperatura

    Se asumen 5 etiquetas lingsticas: muy baja (MB), baja(B), normal (N), alta(A), muy

    alta(MA)

    Humedad

    Se asumen 5 etiquetas lingsticas: muy baja (MB), baja(B), normal (N), alta(A), muy

    alta(MA)

  • Variables de control

    Variacin de temperatura

    Se asumen 7 etiquetas lingsticas: bajada grande (BG), bajada normal (BN), bajada

    pequea (BP), mantener (M), subida pequea (SP), subida normal (SN), subida

    grande (SG).

    Reglas difusas

    Se considera la siguiente FAM (Fuzzy Association Matrix) para la variable de control

    Variacin de temperatura.

    Ejemplo de funcionamiento

    Se suponen las siguientes entradas en los sensores del sistema:

    Temperatura actual: 19,5 oC

    Humedad actual: 65 %

    Fuzzyficacin (singleton)

  • Modus ponens difuso

  • Agregacin y desfuzzyficacin

    Variable de control

    Salida: bajar la calefaccin 2,125 0C

    BIBLIOGRAFA:

    http://ccia.ei.uvigo.es/docencia/IA/1213/transparencias/ejemplo-control-difuso.pdf

    http://isa.uniovi.es/~hilario/dsac_archivos/pdf_dsac/Fuzzy.pdf

    Hao Ying. Fuzzy Control and modeling: Analytical foundations and

    applications. IEEE Press Series on Biological Engineering. 2000

    http://ccia.ei.uvigo.es/docencia/IA/1213/transparencias/ejemplo-control-difuso.pdfhttp://isa.uniovi.es/~hilario/dsac_archivos/pdf_dsac/Fuzzy.pdf