Diseño Controlador Fuzzy-Multi-tank

download Diseño Controlador Fuzzy-Multi-tank

of 7

Transcript of Diseño Controlador Fuzzy-Multi-tank

  • 7/23/2019 Diseo Controlador Fuzzy-Multi-tank

    1/7

    Diseo, simulacin e implementacin de un controlador Fuzzy para el

    Control de Nivel para el tanque nmero uno del sistema Multi Tank

    Henry Cueva H, Janneth Lucio A, Carolina Meja H.

    ESCUELA DE LAS FUERZAS ARMADAS (ESPE)

    1. ResumenSe realiz el diseo, simulacin y posterior

    implementacin de un controlador utilizando la

    teora del control difuso con el fin de controlar el

    nivel de lquido en el primer tanque del sistema

    Multi Tank presente en uno de los laboratorios de

    la universidad. Para realizar diseo se utiliz la

    teora de conjuntos y control difuso, el programa

    computacional MatLab y los modelos

    matemticos simulados del tanque en cuestin.

    Obteniendo de esta manera un controlador que

    como se pudo comprobar en la simulacin realiza

    su funcin apropiadamente.

    2. IntroduccinEL presente proyecto tiene como finalidad

    demostrar que la teora de control difuso es

    perfectamente aplicable a problemticas del

    mundo real, dando de esta manera una solucin

    rpida y fcil al control de un sistema.

    Para realizar un controlador difuso es necesario

    primero conocer el modelo matemtico de la

    planta que se desea controlar, segundo se debe

    plantear los conjuntos difusos de las variables que

    se van a utilizar para controlar el sistema y ltimo

    punto se debe generar las reglas de control en

    base a los conjuntos anteriores. Si se realizan

    estos pasos correctamente se espera obtener un

    controlador que sea capaz de regular el nivel del

    primer tanque del sistema Multi Tank.

    3. Desarrollo

    Figura 1. Bloque del tanque superior

    Modelo de la Planta

    Al presionar en el bloque del tanque superior se

    nos despliega la ventana en donde se encuentra el

    modelo del tanque en el cual tenemos.

    Figura 2. Modelo del tanque superior

    Alfa1=0.29; % Una constantea = 25e-2; % Largo del Tanquew = 3.5e-2; % Profundidad delTanqueH0(1)=18e-2; % Valor inicial de

    altura del liquidoC1=5.66e-5; % Caudal de SalidaA= 25*3.5e-4; % rea del Tanque

  • 7/23/2019 Diseo Controlador Fuzzy-Multi-tank

    2/7

    Teora del control Difuso

    El control difuso se introdujo a comienzos de los

    aos 70 como un intento para disear

    controladores para sistemas que son

    estructuralmente difciles de modelar, debido a su

    naturaleza no lineal y otras complejidades en la

    obtencin del modelo. Durante los ltimos aos

    los sistemas de control con lgica difusa (FLC) se

    han venido consolidando como una herramienta

    til para tratar y modelar sistemas complejos y no

    lineales, as los FLChan sido incorporados en un

    gran nmero de productos y procesos.

    Las principales razones para tal proliferacin de

    aplicaciones, quizs sean la sencillez conceptual

    de los Sistemas basados en Lgica Difusa, su

    facilidad para adaptarse a casos particulares con

    pocas variaciones de parmetros, s u habilidad

    para combinar en forma unificada expresiones

    lingsticas con datos numricos, y el no requerir

    de algoritmos muy sofisticados para su

    implementacin.

    Lgica Difusa

    Una de las disciplinas matemticas con mayor

    aplicacin en la actualidad es la Lgica Difusa.

    Desde su aparicin en la dcada de los 60's hastanuestros das, las aplicaciones de la Lgica Difusa

    se han ido consolidando, paulatinamente al

    comienzo, y con un desbordado crecimiento en

    los ltimos aos.

    Las principales razones para tal proliferacin

    quizs sean la sencillez conceptual de los Sistemas

    basados en Lgica Difusa, su facilidad para

    adaptarse a casos particulares con pocas

    variaciones de parmetros, su habilidad paracombinar en forma unificada expresiones

    lingsticas con datos numricos, y el no requerir

    de algoritmos muy sofisticados para su

    implementacin.

    Fundamentos de Lgica Difusa

    La lgica difusa se basa en lo relativo de lo

    observado. Este tipo de lgica toma dos valores

    aleatorios, pero contextualizados y referidos entre

    s. Es una metodologa que proporciona una

    manera simple y elegante de obtener una

    conclusin a partir de una informacin de

    entrada ambigua, imprecisa o incompleta, en

    general la lgica difusa modela como una persona

    toma decisiones basada en informacin con las

    caractersticas mencionadas, en esto se diferencia

    de la lgica convencional que trabaja con

    informacin bien definida y precisa.

    La lgica difusa utiliza expresiones que no son ni

    totalmente ciertas ni completamente falsas, es

    decir lgica aplicada a conceptos que pueden

    tomar un valor cualesquiera de veracidad dentro

    de un conjunto de valores que oscilan entre dos

    extremos, la verdad absoluta y la falsedad total.

    Recalcando la idea de que las cosas no son

    blancas o negras, sino que existen infinitos

    matices de grises.

    Conviene recalcar que lo que es difuso, impreciso

    o vago, no es la lgica en si, sino el objeto que

    estudia.

    La lgica difusa se adapta mejor al mundo real en

    el que vivimos, e incluso puede comprender y

    funcionar con nuestras expresiones, del tipo "hace

    mucho calor", "no es muy alto", "el ritmo del

    corazn est un poco acelerado", etc. La clave de

    esta adaptacin al lenguaje, se basa en

    comprender los cuantificadores de nuestro

    lenguaje ("mucho", "muy" y "un poco") en los

    ejemplos mencionados.

    Esta lgica permite tratar informacin imprecisa,

    como estatura alta, media o baja de una persona,

    tal como se observa en la Figura 3. As, por

    ejemplo, se puede considerar a una persona que

    mida 2 metros, claramente como una persona

    alta, si previamente se ha tomado el valor de una

    persona de estatura baja y se ha establecido en 1

    metro.

    Figura 3. Visin de la lgica difusa

  • 7/23/2019 Diseo Controlador Fuzzy-Multi-tank

    3/7

    4. Conjuntos Difusos y Regla decontrol

    Antes de determinar los conjuntos difusos hay

    que seleccionar las variables que utilizaremos

    como entradas a nuestro controlador. En este

    caso en especfico se utiliz al error y al cambio de

    error como variables de entrada, esto debe a que

    el error posee informacin indirecta tanto del

    setpoint como de la altura del sistema, y se utiliz

    el cambio de error ya que este nos indica la

    velocidad en la que el error est cambiando y nos

    permite determinar si se debe realizar un control

    fuerte o dbil sobre el sistema y la salida que en

    este caso sera la seal de control que acta sobre

    la bomba.

    Una vez definido las variables es necesario

    determinar los conjuntos difusos y el grado de

    pertenencia de cada uno de ellas. Para las

    variables de entrada y de salida se utilizar cinco

    conjuntos difusos denotados como GN Gran

    negativo, PNPequeo Negativo, ZAccin Cero,

    PP Pequeo positivo y GP Gran positivo y se

    diferenciaran en relacin al grado de perteneca y

    los lmites en los que opera cada uno dando comoresultado los conjuntos difusos de la figura 4.

    1

    0

    GN PN PP GPZ

    0.04-0.04 -0.02 0.02Error[m]

    0 0.02-0.02 -0.01 0.01d(Error)[m/s]

    dt

    1GN PN PP GPZ

    1

    0

    GN PN PP GPZ

    0.667-0.667 -0.333 0.333 1-1

    Seal de

    Control

    Figura 4. Conjuntos difusos

    Una vez definidos los conjuntos difusos, se debe

    determinar la regla de control que generar la

    variable de salida del controlador. Es necesario

    entender que esta regla de control es puramente

    intuitiva y que depende nicamente del

    conocimiento del sistema y del entendimiento de

    las acciones de control que se deberan realizar

    para cada accin de entrada. Por ejemplo si la

    seal de error es GP y el cambio de error de igual

    manera es GP implica que el nivel del tanque est

    por debajo del nivel de setpoint y que est

    disminuyendo rpidamente por lo que la accin

    de control debera ser GP para que accione

    completamente la bomba y recupere el nivel de

    agua. Es as que se consigui la regla de control

    presente en la tabla 1.

    GN PN Z PP GP

    GN GN GN GN PN Z

    PN GN GN PN Z PP

    Z GN PN Z PP GP

    PP PN Z PP GP GP

    GP Z PP GP GP GP

    Tabla 1. Regla de Control

    5. Diseo del ControladorPara el diseo del controlador se utiliz el

    comandofuzzyde MatLab, el que nos despliega la

    ventana de la figura 5, donde podemos agregar

    los conjuntos difusos de las variables de entrada y

    salida as mismo como la regla de control que

    hemos seleccionado. Para ello debemos seguir los

    siguientes pasos:

    Figura 5. Ventana de comandofuzzy

    Error

    Ca

    m

    bi

    o

    de

  • 7/23/2019 Diseo Controlador Fuzzy-Multi-tank

    4/7

    1. Teclear el comandofuzzyen laventana principal de MatLab.

    Figura 6. Ventana de comandofuzzy

    2. Agregar una entrada.

    Figura 7. Pasos para agregar Variables

    3. Se procede a cambiar el nombre decada entrada y salida dando un click

    sobre cada una y modificando el

    parmetro que dice Name.

    4. Ingresar a una de las variables dandodoble click sobre ella y se desplegar

    la ventada de la figura 8.

    Figura 8. Ventana de Modificacin de Variables

    5. Se borra el conjunto difuso inicial y seagrega el nmero de conjuntos

    propuesto por nuestro diseo. Los

    pasos para realizar esto se observan

    en la figura 9.

    Figura 9. Pasos para generar un conjunto difuso

  • 7/23/2019 Diseo Controlador Fuzzy-Multi-tank

    5/7

    6. Se cambian los nombres para quecoincidan con los que les dimos a un

    inicio. Para ello se da click sobre el

    conjunto y se modifica en el campo

    que dice Name. De igual manera se

    cambia el rango de accin del grupo

    de conjuntos en el campo Range. Si

    todo se realiz correctamente se

    obtendra lo mismo que se observa en

    la figura 10 y no quedara ms que

    cerrar la ventana. Para este punto hay

    que tomar en cuenta los rangos de

    operacin de los equipos, por ejemplo

    para el rango de la salida de control

    hay que tomar en cuenta que la

    bomba trabaja entre el rango de [0.1 a0.6]e-4, pero al tratarse de valores

    muy pequeos se utilizar un rango

    del conjunto fuzzy de [-1 a 1] que

    posteriormente ser compensado

    mediante un bloque de

    transformacin en la simulacin.

    Figura 10. Modificacin de los nombres y Rango

    de los Conjuntos Difusos

    7. En la ventana principal de trabajo seda doble click sobre el bloque de color

    blanco que corresponde a la regla de

    control que se va a utilizar. El cual nos

    despliega la ventana que se observa

    en la figura 11. En ella hay que

    introducir todas las reglas de control

    previamente establecidas. Para ello se

    seleccionar un valor para ERROR, uno

    PARA CERROR y uno para CONTROL y

    se da un click en el botnAdd rule.

    Figura 11. Ventana para agregar las reglas

    de Control

    8. Ahora simplemente hay que exportarel controlador a un archivo, como se

    muestra en la figura 12, para luego ser

    cargado al momento de realizar la

    simulacin o al momento de utilizarlo

    en el control del tanque real con el

    sistema Multi Tank.

    Figura 12. Pasos para exportar el controlador

    6. SimulacinAntes de realizar la simulacin es necesario cargar

    el archivo generado previamente en el diseo del

    controlador a una variable con ayuda del

    comando readfis y dicha variable ser cargada en

    el mdulo de control fuzzy del MatLab, para ello

    basta con dar doble click sobre el bloque fuzzy e

    ingresar el nombre de la variable como se puede

    ver en la figura 13y figura 14.

  • 7/23/2019 Diseo Controlador Fuzzy-Multi-tank

    6/7

    Figura 13. Comando para cargar el Controlador

    Figura 14. Asignacin de Variable a bloque Fuzzy

    Para la simulacin del controlador se utiliz para

    herramienta simulink de MatLab, Ah se carg el

    modelo de la planta y el controlador fuzzy y se

    gener el lazo de control utilizando al error y a la

    velocidad cambio de error

    como variables de

    entrada. Dicho modelo se puede observar en la

    figura 15.

    Figura 15. Modelo simulado

    Dentro del bloque Fcn es necesario colocar la

    siguiente ecuacin para obtener lo valores con los

    que trabaja la bomba del sistema Multi Tank

    como se explic anteriormente.

    Al final en la figura 16 observamos que el

    controlador realiza un correcto control aunque

    posee un pequeo error en estado estacionario,

    lo que puede ser solucionado agregando una

    parte integral al diseo o sintonizando de mejor

    manera el controlador mediante constantes en la

    entrada o salida.

    Figura 16. Resultado de la Simulacin

    Hay que tomar en cuenta que se est utilizando

    un bloque derivativo discreto, esto se debe a que

    existieron problemas al momento de realizar la

    simulacin con el bloque derivativo en el tiempo,

    pero que al momento de implementar el modelo

    en el laboratorio no existi ningn problema almomento de trabajar con cualquiera de los dos

    bloques.

    7. ResultadosAunque como se pudo observar en las

    simulaciones, el controlador posee un pequeo

    error debido a que no se encuentra

    correctamente sintonizado, pero realiza

    correctamente su trabajo. Esto se debe a que

    nuestro controlador no posee parte integral que

    compense el error en estado estacionario. Es por

  • 7/23/2019 Diseo Controlador Fuzzy-Multi-tank

    7/7

    ese motivo que el momento de la implementacin

    en el laboratorio fue necesario colocar un

    integrador al sistema con el fin de compensar de

    esta manera dicho error en el nivel observado.

    Aunque esto mejor el desempeo del

    controlador hubiese sido mejor el desarrollo de

    un nuevo controlador utilizando la parte integral

    con el fin de obtener un control fuzzy completo

    del sistema.

    Tambin como nos podemos dar cuenta en la

    grfica 16 en la grfica inferior la velocidad de

    cambio de error es ms pequea de por lo que se

    esper, hecho que se podra compensar utilizando

    una constante de multiplicacin a la salida del

    bloque derivativo o redisear el controlador con

    lmites ms pequeos para esta variable.

    8. Bibliografa http://dspace.epn.edu.ec/bitstream/15000/8831/

    6/T%2011060%20CAPITULO%202%20.pdf