2. Escuela Politécnica Superior de Elche
Ingeniería Industrial
CONTROL AVANZADO DE SISTEMAS
curso 2001-2002
PRÁCTICA 1: Diseño de reguladores difusos
1. Objetivos
Los objetivos de esta práctica son:
1. Aprender a manejar una herramienta de diseño de reguladores difusos.
2. Comparar el comportamiento de un sistema difuso ante distintos valores de
sus parámetros.
3. Utilizar un regulador difuso para controlar un sistema continuo sencillo.
2. Introducción
Un sistema difuso puede simularse e implementarse directamente usando un
lenguaje de programación como el que incorpora Matlab. En esta práctica no vamos a
implementar el sistema difuso completo, sino que se va a utilizar un toolbox ya
construido que permite definir e implementar distintos sistemas difusos. Por este motivo
es necesario comenzar introduciendo el manejo de esta herramienta que nos va a
permitir analizar el comportamiento de un sistema difuso y su utilización como
regulador en un bucle de control.
3. El toolbox de lógica difusa
En Matlab existe un toolbox dedicado a los sistemas difusos. Este toolbox
permite definir un sistema difuso por medio de diálogos y ventanas que facilitan la
introducción de los datos. Además, dispone de un conjunto de funciones para analizar el
comportamiento de dichos sistemas. A lo largo de este apartado se estudiarán las etapas
que se deben seguir en la edición o modificación de un sistema difuso.
3.1 Estructura de datos
Matlab almacena toda la información relevante de un sistema difuso (funciones
de pertenencia, reglas, métodos de implicación y desdifusificación) en una matriz
siguiendo un determinado formato. Dicha matriz puede almacenarse en la memoria de
trabajo y referenciarse mediante una variable de Matlab, o bien almacenarse en un
fichero que puede ser cargado directamente en memoria, cargado en el editor de
sistemas difusos o utilizado en una simulación de Simulink.
Por ejemplo, si queremos crear el sistema difuso estudiado en teoría, podemos
ejecutar los siguientes comandos :
Control avanzado de sistemas. Práctica 1
Página 2 de 22
3. Escuela Politécnica Superior de Elche
Ingeniería Industrial
a = newfis('ejemplo');
a = addvar(a,'input','x',[0 8]);
a = addmf(a,'input',1,'pequeño','trapmf',[0 0 1 3]);
a = addmf(a,'input',1,'medio','trapmf',[1 3 3 7]);
a = addmf(a,'input',1,'grande','trapmf',[3 7 8 8]);
showfis(a)
El comando newfis crea un sistema difuso nuevo (fis es la abreviatura de fuzzy inference
system). El comando addvar añade una variable de entrada o salida al sistema. Tiene 4
parámetros:
•
•
•
•
El nombre de la variable de matlab en la que está almacenado el sistema difuso.
Una cadena que indica si la variable que queremos introducir es de entrada
(‘input’) o de salida (‘output’).
El nombre de la variable que queremos añadir.
Un vector que indica el rango de valores que puede tomar la variable.
El comando addmf añade una función de pertenencia a un sistema difuso (mf es la
abreviatura de membership function). Esta función tiene 6 parámetros:
•
•
•
•
•
•
El nombre de la variable de matlab en la que está almacenado el sistema difuso.
Una cadena que indica si la variable que queremos introducir es de entrada
(‘input’) o de salida (‘output’).
El índice de la variable a la que se quiere añadir la función de pertenencia.
Una cadena que representa el nombre de la nueva función de pertenencia.
Una cadena que representa el tipo de la nueva función de pertenencia.
El vector de parámetros que define la función de pertenencia.
En nuestro ejemplo se han añadido las tres funciones de pertenencia correspondientes a
la variable de entrada x. Estas tres funciones son trapezoidales (trapmf), y para definir
una función de este tipo es necesario especificar un vector con 4 parámetros: los 4
puntos que definen sobre el eje X el trapecio.
La estructura del sistema difuso se guarda en una matriz, en nuestro ejemplo en
la matriz del entorno ‘a’. El comando showfis nos muestra el contenido de la matriz ya
interpretado.
Este toolbox dispone de un conjunto de funciones para la creación de conjuntos
difusos como los que se han estudiado en teoría. Los nombres de las funciones más
significativas son :
Control avanzado de sistemas. Práctica 1
Página 3 de 22
4. Escuela Politécnica Superior de Elche
Ingeniería Industrial
Función
Gaussiana
forma π
Sigmoide
forma S
Trapezoidal
Triangular
forma Z
Expresión
gaussmf(dominio, [σ, centro])
pimf(dominio, [a, b, c, d])
sigmf(dominio, [amplitud, centro])
smf(dominio, [a, b])
trapmf(dominio,[a, b, c, d])
trimf(dominio, [a, b, c])
zmf(dominio, [a, b])
Como la edición de los parámetros de un sistema difuso es muy costosa si se utilizan
directamente funciones de matlab como las descritas, existe un interfaz de ventanas que
permite la edición de las funciones de pertenencia, de la base de reglas y de las
características de dicho sistema.
3.2 El editor del sistema difuso
Para abrir la ventana de edición del sistema difuso, puede ejecutarse el comando
fuzzy, si se quiere crear un sistema nuevo, o fuzzy(nombre_fis) si se quiere editar el
sistema difuso definido en la matriz almacenada en la variable nombre_fis, o
fuzzy(‘nombre_fichero’) si se quiere editar el sistema almacenado en el fichero
nombre_fichero. Aparece entonces la siguiente ventana:
Control avanzado de sistemas. Práctica 1
Página 4 de 22
5. Escuela Politécnica Superior de Elche
Ingeniería Industrial
La primera acción a realizar es definir el número de entradas y salidas que debe tener el
sistema difuso utilizando la opción Edit->Add input o Edit->Add output.
En nuestro primer ejemplo se va a trabajar con el sistema más sencillo, con una
sola entrada y salida (sistema SISO), por lo que el número de variables que aparecen por
defecto es el correcto.
Se pueden cambiar los nombres de las variables de entrada y salida
seleccionando el icono que representa la variable correspondiente y modificando el
valor que aparece en el campo Name. Modificarlos para que los nombres de las
variables sean x e y.
En esta ventana se declaran las características globales que se asumen para todo
el sistema a través de las listas desplegables correspondientes :
• t-norma utilizada en antecedentes: And method
• s-norma: Or method
• Método de implicación : Implication
• Método de composición o agregación : Aggregation
• Método de desfucificación : Defuzzification
Debe tenerse en cuenta que siempre se supone que el motor de inferencia opera en el
modo de reglas individuales, y que el difusificador no puede ser seleccionado, siendo
siempre de tipo unitario o singleton, aplicado a la entrada del sistema.
En nuestro ejemplo, vamos a dejar todos los parámetros con sus valores por defecto.
3.3 El editor de funciones de pertenencia
A continuación se deben definir las funciones de pertenencia de cada variable.
Para ello se realiza una doble pulsación sobre uno de los iconos de las variables o se
activa la opción View->Edit membership functions, con lo que se abre la siguiente
ventana :
Control avanzado de sistemas. Práctica 1
Página 5 de 22
6. Escuela Politécnica Superior de Elche
Ingeniería Industrial
Lo primero que se debe hacer es declarar el dominio de cada variable, que en este caso
es un intervalo que se introduce en el campo Range. El campo Display Range indica el
rango que se utilizará en el subpanel que muestra las funciones de pertenencia.
Siguiendo el ejemplo visto en clase, introduciremos un rango comprendido entre 0 y
8, tanto para la variable de entrada como para la de salida.
Para añadir funciones de pertenencia seleccionar la opción Edit->Add MFs. A
través del cuadro de diálogo que aparece se define el tipo de función elegido y el
número de funciones que se van a utilizar para esa variable. Al aceptar los datos se
creará una distribución uniforme de funciones de pertenencia con un solapamiento del
100% sobre el dominio definido. En nuestro ejemplo introduciremos 3 funciones
trapezoidales para las variables x e y, y posteriormente ajustaremos sus
parámetros.
Para modificar el nombre o los parámetros de alguna función, se debe
seleccionar primero dicha función con el ratón, apareciendo sus propiedades en el panel
titulado Current Membership Function, donde pueden ser modificadas a través de los
campos correspondientes. También pueden modificarse arrastrando la función con el
ratón directamente sobre su gráfica.
En nuestro caso, los nombres y parámetros de las funciones de pertenencia para
la variable de entrada x aparecen en la tabla siguiente:
nombre tipo parámetros
Pequeño trapmf [0 0 1 3]
Medio trapmf [1 3 3 7]
Grande trapmf [3 7 8 8]
Control avanzado de sistemas. Práctica 1
Página 6 de 22
7. Escuela Politécnica Superior de Elche
Ingeniería Industrial
Las gráficas obtenidas deben ser las que aparecen a continuación:
Los nombres y parámetros de las funciones para la variable de salida y aparecen en la
tabla siguiente:
nombre tipo parámetros
Pequeño trapmf [0 0 2 4]
Medio trapmf [2 4 4 6]
Grande trapmf [4 6 8 8]
Las gráficas obtenidas deben ser las que aparecen a continuación:
Control avanzado de sistemas. Práctica 1
Página 7 de 22
8. Escuela Politécnica Superior de Elche
Ingeniería Industrial
3.4 El editor de reglas
Por último se editan las reglas utilizando el editor correspondiente que se abre
mediante la opción View->Edit Rules o haciendo una doble pulsación sobre el icono que
representa la base de reglas en la ventana principal. La ventana que se abre, es
simplemente un panel de edición donde se editan las reglas siguiendo un formato
prefijado. En nuestro ejemplo, introduciremos las tres reglas que aparecen en la
figura siguiente.
Control avanzado de sistemas. Práctica 1
Página 8 de 22
9. Escuela Politécnica Superior de Elche
Ingeniería Industrial
Si está seleccionado el formato de la regla verbose y el idioma inglés (en Options), el
formato de la regla es :
If (Nombre_Var is nombre_conjunto) {and/or (...)} then (Nom_Var is nom_conjunto) (Confianza_regla)
donde Confianza_regla es un valor del intervalo [0,1] que refleja la confianza que se
tiene sobre esa regla de control, que se refleja en un peso de la misma sobre el valor de
salida del regulador.
Puede probarse cómo quedan las reglas con distintos formatos. En el
formato Indexed, el número que aparece representa el conjunto difuso que está en el
lugar i-ésimo numerando de izquierda a derecha los conjuntos que se han definido en
cada variable. Obsérvese que es posible escribir reglas en forma no canónica, mediante
la s-norma “or” como conexión.
3.5 Análisis entrada-salida del comportamiento del sistema
Para analizar el comportamiento del sistema difuso que se acaba de definir se
dispone de dos ventanas. La primera permite ver gráficamente la transformación del
espacio de entrada en el de salida. Ésta se abre mediante la opción View->view surface.
En nuestro ejemplo el sistema sólo tiene una entrada y una salida, por lo que la
superficie entrada-salida del sistema es una gráfica en dos dimensiones, como aparece
en la figura siguiente.
Como ejercicio se propone intentar obtener una expresión explícita de esta
función.
Control avanzado de sistemas. Práctica 1
Página 9 de 22
10. Escuela Politécnica Superior de Elche
Ingeniería Industrial
La segunda forma de visualizar el comportamiento del sistema permite analizar
cómo se obtiene la conclusión de una forma interactiva para distintos valores de
entrada utilizando la opción View->View rules. Los cambios realizados en los editores
correspondientes se reflejarán de forma automática en estas dos ventanas.
3.6 Gestión de los sistemas difusos
La información editada en estas ventanas se puede almacenar en un fichero
mediante la opción File->save to disk o File->save to disk as... La extensión de los
ficheros es ‘.fis’. También se puede almacenar la información en una variable de matlab
mediante las opciones File->save to workspace. En este último caso hay que recordar
que si se sale de matlab se perderá la información editada, a no ser que se almacene en
un fichero de alguna forma.
ATENCIÓN : La primera vez que se salva un sistema difuso nuevo hay que
salvarlo con la opción Save as, pues de lo contrario se creará un fichero con el nombre
untitle.fis
Para abrir y modificar sistemas ya editados se dispone de las opciones File>Open from disk o File->open from workspace.
Finalmente, si se quiere comenzar a editar un nuevo sistema se dispone de dos
opciones :
Control avanzado de sistemas. Práctica 1
Página 10 de 22
11. Escuela Politécnica Superior de Elche
Ingeniería Industrial
•
File->New Mamdani FIS que abre un sistema tipo Mamdani, donde se
definen funciones de pertenencia para las variables de salida.
•
File->New Sugeno FIS para editar un sistema difuso tipo Sugeno, que
estudiaremos en próximas sesiones de teoría, donde los consecuentes son
funciones lineales de las variables de entrada.
4. Ejercicio 1: Análisis del comportamiento de un sistema difuso.
En este ejercicio se pretende analizar las consecuencias que se producen al
modificar distintos parámetros en los sistemas difusos.
Ø Se
pide como ejercicio comparar cómo se modifica el comportamiento del
sistema difuso editado al cambiar los siguientes parámetros :
1. Utilización de las funciones mínimo y producto como funciones de
implicación.
2. Utilización de las funciones máximo y suma como métodos de agregación.
3. Comparación de los resultados utilizando el centro de las áreas o la media
ponderada de los centros como mecanismo de desdifusificación.
4. Modificación de una o varias reglas.
5. Modificación de las funciones de pertenencia : trapezoidal o triangular (hay
que mantener el grado de superposición entre funciones).
6. Modificación del solapamiento entre las funciones de entrada.
7. Modificación de la distribución de las funciones de entrada y salida.
8. Modificación de las áreas relativas entre los conjuntos difusos de la variable
de salida.
9. Incrementar el número de conjuntos.
Control avanzado de sistemas. Práctica 1
Página 11 de 22
12. Escuela Politécnica Superior de Elche
Ingeniería Industrial
5. Ejercicio 2: Regulación de un sistema sencillo
En este ejercicio se va a utilizar un sistema difuso para regular un depósito cuya
sección va creciendo con la altura. Las ecuaciones del modelo son:
Q s = k s 2 gh
( A0 + kh)
Qe = k e u
∂h
= Qe − Q s
∂t
donde:
•
Qs y Qe son los caudales de salida y entrada respectivamente,
•
h es la altura del depósito,
•
A0 es el área de la base,
•
k es la inclinación de la pared del depósito con respecto a la vertical,
•
u es la señal de actuación (válvula),
•
k e y k s son las constantes de carga y descarga de las válvulas de entrada y salida,
respectivamente.
En la figura siguiente aparece un esquema del depósito.
Control avanzado de sistemas. Práctica 1
Página 12 de 22
13. Escuela Politécnica Superior de Elche
Ingeniería Industrial
u
ke
Qe
h
ks
k
Qs
Debe simularse este sistema en Simulink para diseñar el regulador difuso. La
simulación puede hacerse con bloques o usando las denominadas S-funciones (Sfunction) de Simulink. La S-function para el modelo de este sistema es:
% SimuLink model.
function [sys, x0] =
depo(t, x, u, flag, p)
if flag == 0
sys = [1; 0; 1; 1; 0; 0];
x0(1) = 0.0;
end
if (abs(flag) == 1) |
(abs(flag) == 3)
% Parámetros
g = 9.8;
A0 = 1;
k = 1;
ks = 0.25;
Control avanzado de sistemas. Práctica 1
ke = 2;
ue = u(1);
h = x(1);
%
depo.
Qs = ks*sqrt(2*g*h);
Qe = ke*ue
derh = (Qe - Qs)/(A0 + k*h);
end
if abs(flag) == 1
sys(1) = derh;
elseif abs(flag) == 3
sys(1) = h;
elseif flag ~= 0
sys = [ ];
end
Página 13 de 22
14. Escuela Politécnica Superior de Elche
Ingeniería Industrial
Como entradas al regulador se utilizarán 2 variables:
•
•
La diferencia entre la referencia y el nivel de líquido en el depósito ( l
e
error).
La propia referencia.
Para evitar problemas en la simulación, es conveniente limitar las entradas del
regulador a los valores que se hayan definido como dominio de las variables de entrada.
Definiremos el dominio [-1, 1] para el error, y [0, 3] para la referencia. El dominio de la
variable de control u será [0, 1]. Supondremos que la implementación real del regulador
se realizará en un computador, por tanto es necesario introducir un retenedor con un
periodo de, por ejemplo, 0.5 segundos. También será necesario introducir un
multiplexor para combinar las dos variables de entrada al regulador. Con todos estos
elementos, un esquema para la simulación del sistema de control en Simulink puede ser
el siguiente:
Ø El ejercicio consiste en desarrollar e implementar un sistema difuso que permita
controlar el nivel deseado del depósito. Pueden seguirse las siguientes sugerencias:
1. La idea básica en el diseño del regulador es la siguiente: la ganancia del
mismo debe ser mayor cuanto más alto sea el nivel de referencia, pues al
tener el depósito un área mayor cuanto mayor es la altura, es necesario
añadir más cantidad de líquido para incrementar el nivel.
2. Partiendo de la idea básica anterior, se debe comenzar el diseño del
regulador con un conjunto de reglas IF-THEN que se consideren razonables
y una distribución uniforme de las funciones de pertenencia.
Control avanzado de sistemas. Práctica 1
Página 14 de 22
15. Escuela Politécnica Superior de Elche
Ingeniería Industrial
3. Una vez diseñado un regulador inicial, debe probarse su comportamiento,
obteniendo para ello la respuesta del sistema a partir de un nivel de
referencia fijo, realizando pequeñas modificaciones (incrementos o
decrementos), registrando el funcionamiento para diversos puntos de
funcionamiento.
4. Si el sistema no tiene el funcionamiento deseado, deben realizarse pequeñas
modificacio nes en el regulador difuso y volver a probar.
5. Para el regulador difuso podéis tomar inicialmente 2 conjuntos difusos para
la variable de referencia y 5 para la variable de error.
6. Una vez obtenido el regulador adecuado, aplicar distintos tipos de señales de
entrada para la referencia.
IMPORTANTE
•
Cada grupo de prácticas debe entregar un informe y un disco con el trabajo
realizado.
•
El contenido mínimo del informe es el siguiente:
o Para el ejercicio 1: comentarios sobre el comportamiento observado
del sistema para cada una de las 8 pruebas propuestas en el
enunciado.
o Para el ejercicio 2: una descripción del regulador difuso definitivo
diseñado, con comentarios sobre el proceso de prueba y error
realizado para obtenerlo.
•
El contenido del disco debe ser el siguiente:
o Para el ejercicio 2: el fichero .fis con el regulador difuso y todos los
ficheros necesarios para ejecutar la simulación en Simulink del
sistema.
•
Este material se entregará al finalizar la sesión de prácticas.
Control avanzado de sistemas. Práctica 1
Página 15 de 22
16. Escuela Politécnica Superior de Elche
Ingeniería Industrial
6 Ejercicio complementario: regulación de temperatura y flujo de agua
En esta parte se va a describir un regulador de la temperatura y flujo de salida de
agua de un grifo. A continuación se propondrán cambios en el regulador para estudiar
su comportamiento.
6.1 Descripción del sistema
Existen dos variables que pueden controlarse en el sistema:
•
•
La válvula de agua fría.
La válvula de agua caliente.
Las salidas medibles del sistema son dos:
•
•
El flujo total de salida de agua (medida, por ejemplo, en litros/minuto).
La temperatura del agua de salida.
El flujo total de salida del agua se puede calcular como la suma del flujo de agua fría y
el flujo de agua caliente:
f T = f F + fC
La temperatura del agua de salida puede calcularse como la media ponderada de las
temperaturas de agua fría y caliente, teniendo en cuenta los flujos:
T=
f F * TF + f C * TC
fF + fC
donde f F y f C son los flujos de salida de agua fría y caliente, respectivamente, y TF y TC
son las temperaturas del agua fría y caliente, respectivamente. La temperatura final del
agua dependerá, por tanto, de las temperaturas originales del agua de las dos válvulas y
de los respectivos flujos.
Supondremos que la temperatura deseada será fija, Td = 23o C. Sin embargo,
puesto que la temperatura ambiente puede variar, este valor de temperatura deseada
también puede variar ligeramente. La variación de la temperatura ambiente se modelará
con una onda cuadrada o de cualquier otro tipo de amplitud 4, de tal forma que la
temperatura deseada (referencia) será 23 ± 4 o C, dependiendo de la temperatura
ambiente. El flujo deseado lo modelaremos de forma análoga: estableceremos un flujo
deseado de 0.7, con una variación de ±0.2.
Control avanzado de sistemas. Práctica 1
Página 16 de 22
17. Escuela Politécnica Superior de Elche
Ingeniería Industrial
La temperatura de salida de cada válvula se supone que es constante. Sin
embargo, debido a pequeños cambios en la presión real del agua suministrada por las
válvulas, el flujo no permanece constante. Este hecho lo vamos a modelar introduciendo
una variación máxima de flujo como una señal senoidal de amplitud pequeña. El flujo
de salida de cada válvula se calcula como el mínimo entre el flujo máximo permitido y
la integración de la variación de flujo de la válvula correspondiente.
6.2 Simulación del sistema
La simulación de este sistema está disponible en la carpeta de instalación de
Matlab. El esquema global aparece en la figura 1.
Figura 1: Esquema global del sistema de control de temperatura de agua.
Los bloques flow rate y temp son expresiones en Matlab para calcular el flujo total y la
temperatura del agua, respectivamente. La expresión para el bloque flow rate es la
siguiente:
u(1)+u(3)
donde u(1) es el flujo de agua caliente y u(3) es el flujo de agua fría. La expresión para
el bloque temp es la siguiente:
(u(1)*u(2) + u(3)*u(4))/(u(1)+u(3))
Control avanzado de sistemas. Práctica 1
Página 17 de 22
18. Escuela Politécnica Superior de Elche
Ingeniería Industrial
que es la media ponderada de las temperaturas de agua fría y caliente (u(2) es la
temperatura de agua caliente y u(4) la temperatura de agua fría).
Los bloques flow setpoint y temp setpoint establecen el flujo y la temperatura
deseadas, con pequeñas variaciones modeladas con una señal cuadrada. En las figuras 2
y 3 aparecen los esquemas de estos bloques.
Figura 2: Bloque para el flujo deseado
Figura 3: Bloque para la temperatura deseada
Los esquemas para simular las válvulas de agua fría y caliente son análogos. En
la figura 4 se muestra el bloque para la válvula de agua fría.
Control avanzado de sistemas. Práctica 1
Página 18 de 22
19. Escuela Politécnica Superior de Elche
Ingeniería Industrial
Figura 4: Simulación de la válvula de agua fría
Puede observarse que para obtener el flujo de agua fría se ha incluido un integrador para
la variación de la posición de la válvula. La expresión correspondiente al bloque flow
rate obtiene el mínimo entre el flujo máximo que tiene la válvula y el flujo aplicado
(que es la salida del integrador). La expresión en Matlab es la siguiente:
k*u(1)* ((k*u(1)) <= u(2)) + u(2)* ((k*u(1))>u(2))
que es equivalente a calcular el mínimo entre k*u(1) y u(2), donde k*u(1) es el flujo
aplicado y u(2) es el flujo máximo admitido por la válvula en ese instante.
6.3 Descripción del regulador
Se ha diseñado un regulador difuso para el sistema anterior. Las entradas al
mismo son dos:
(1) El error en el flujo (real – deseado)
(2) El error en la temperatura (real – deseada)
Supondremos que la acción de control sobre las válvulas se puede expresar como un
número real en el intervalo [-1,1], de tal forma que si la acción es u=0, la posición de la
válvula no cambia, si u>0, la válvula se abre aumentando el flujo de salida, y si u<0, la
válvula se cierra disminuyendo el flujo de salida. La magnitud del cierre o apertura de la
válvula depende del valor absoluto de la señal de control.
El regulador tiene 2 salidas, correspondientes a cada válvula. Se han definido los
siguientes conjuntos difusos:
(1) Para la temperatura: cold, good, hot, con las gráficas de la figura 5. El dominio
es [-20,20].
Control avanzado de sistemas. Práctica 1
Página 19 de 22
20. Escuela Politécnica Superior de Elche
Ingeniería Industrial
(2) Para el flujo: soft, good, hard, con las gráficas de la figura 6. El dominio es
[-1,1].
Figura 5: Conjuntos difusos para la temperatura
Figura 6: Conjuntos difusos para el flujo
Para las variables de control se han definido 5 conjuntos difusos en el dominio [-1,1],
cada uno de los cuales representa la variación en la apertura de la válvula. Las etiquetas
de estos conjuntos son closeFast (cerrar rápido), closeSlow (cerrar lento), steady
(mantener estable), openSlow (abrir lento) y openFast (abrir rápido). Las funciones de
pertenencia aparecen en la figura 7.
Control avanzado de sistemas. Práctica 1
Página 20 de 22
21. Escuela Politécnica Superior de Elche
Ingeniería Industrial
Figura 7: Conjuntos difusos para las variables de control
Las reglas del regulador aparecen en la tabla siguiente.
ENTRADAS
Temperatura
cold
cold
cold
good
good
good
hot
hot
hot
Flujo
soft
good
hard
soft
good
hard
soft
good
hard
SALIDAS
Control fría
Control caliente
openSlow
openFast
closeSlow
openSlow
closeFast
closeSlow
openSlow
openSlow
steady
steady
closeSlow
closeSlow
openFast
openSlow
openSlow
closeSlow
closeSlow
closeFast
Ejercicio 3: Análisis del regulador de temperatura y flujo de agua
(1) Analizar las reglas del regulador, y escribir una justificación intuitiva de las
mismas.
(2) A partir de la simulación del sistema con el regulador ¿puede concluirse que
tiene un comportamiento estable? ¿Cuánto tiempo tarda en alcanzar el régimen
estable, si existe?
Control avanzado de sistemas. Práctica 1
Página 21 de 22
22. Escuela Politécnica Superior de Elche
Ingeniería Industrial
(3) Se ha utilizado un regulador de Mamdani por mínimo. Modificar los parámetros
básicos del regulador (entre ellos el método de implicación) y observar si se
producen cambios en el comportamiento del sistema.
(4) Modificar los conjuntos difusos de entrada y salida del regulador para conseguir
disminuir el tiempo de régimen transitorio (si es posible).
(5) Visualizar la función de transferencia E/S del regulador mediante la opción View
Surface. ¿La función E/S obtenida es lineal? ¿Puede controlarse el sistema con
una acción proporciona l?
Control avanzado de sistemas. Práctica 1
Página 22 de 22