If you can't read please download the document
Upload
angie-morales-moreno
View
57
Download
5
Embed Size (px)
Citation preview
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