Sei sulla pagina 1di 26

UNIVERSIDAD DEL BÍO-BÍO

FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Proyecto 4
Control por Computador 410 151
Modelación y Simulación de un Sistema de Estanque

Nombres: Cristofer A. Millalaf B.


Esteban E. Varas B.
Fecha: 07/08/2019
Profesor: Jaime A. Rohten C.

Cristofer Millalaf, Esteban Varas.


UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Proyecto 4
Control por Computador 410 151
En este tercer proyecto se trabajará con el estanque 1 del
sistema de estanques de la Fig. 1. En este proyecto se trabajará con
control fuzzy aplicado al sistema.
En todo momento se utilizará MatLab Simulink. Responda,
comente y justifique cada una de las siguientes preguntas.
La altura referencia será:
href(t) = 10 + 5u(t – 5)

I. Parte 1: Simulación y Control


a) Realice un set de reglas, con la experiencia que ya posee
en el comportamiento del sistema, de manera de sintetizar un
Controlador Fuzzy, las que deberán ser programadas a través de
líneas de códigos.
b) Utilice el Toolbox de Matlab para sintetizar un Control
Fuzzy al estanque.

Fig. 1. Sistemas de Estanques.

Cristofer Millalaf, Esteban Varas.


Simulación y Control

A. Solución

a) Realice un set de reglas, con la experiencia que ya posee en el comportamiento del


sistema, de manera de sintetizar un Controlador Fuzzy, las que deberán ser
programadas a través de líneas de códigos.

Primero que nada comenzaremos por definir que es un control inteligente.


Según oxford la inteligencia se deriva del intelecto y es la facultad de conocer, razonar y
comprender. Por lo tanto, el comportamiento inteligente es la capacidad de razonar,
planificar y aprender, lo que a su vez requiere acceso al conociemiento.

La inteligencia aritificial (I.A) se divide en diferentes ramas, las cuales son:

1. Redes neuronales.
2. Algoritmos evolutivos.
3. Logica difusa.

Un sistema de control inteligente combina las técnicas de los campos de la inteligencia


artificial con las de la ingeniería de control para diseñar sistemas autónomos capaces de
detectar, razonar, planificar, aprender y actuar de manera inteligente.
Estos procesos se componen de varios subsistemas, los cuales se visualizan en la siguiente
imagen.

Fig. 1.1 Lazo con sistema inteligente.

Cristofer Millalaf, Esteban Varas.


El subsistema de percepción

Este es el encargado de recopilar la información de la planta, se compone en general por


sensores que proporciona los datos en bruto de ella, DSP o Procesamiento Digital de Señales
que transforma la información en una forma adecuada y un sistema de fusión de datos que
utiliza espacios de datos multidimensionales para crear representaciones de la planta y su
entorno.

El subsistema de percepción

Este subsistema se encarga de tomar las decisiones de acuerdo con los datos proporcionados
por la recepción del sistema, se establece las reglas y sus actividades proporciona
razonamiento, planificación y aprendizaje

El subsistema de actuación

Los actuadores (bombas, electroválvulas, etc.) reciben las señales del sistema cognitivo para
llevar la planta al estado deseado

Para esta experiencia utilizaremos el control fuzzy o control experto para que establezca las
decisiones que el sistema debe tomar.

El control fuzzy es utilizado en los casos que no se requiere todos los detalles de la planta,
ya que no afectaran demasiado al proceso, también en los casos donde modelar el sistema a
controlar es sumamente difícil de hacer o simplemente no se puede.

Este tipo de control inteligente también es llamado control experto dado que básicamente
trata de obtener los conocimientos de un operador y llevarlos a un algoritmo de control, sin
embargo, estas frases lingüísticas suelen ser difusas y con cierto grado de incertidumbre.

Debido a la incertidumbre asociada con la impresión, la vaguedad y falta de información es


que se utiliza la teoría de conjuntos difusos para modelar esto, otorgando grados de
veracidad a las variables reales del proceso de acuerdo con la categorización que se les
asigna, por ejemplo.

➢ Operador: si el tanque está a más de 90°C esta al máximo y se debe enfriar

➢ Lógica difusa: 90°C→ 100% de veracidad de que el tanque está caliente por ende se le
asocia un 1 como grado de veracidad.

En conclusión, la lógica difusa toma expresión lingüísticas de un operador experto en el


sistema en estudio y según lo que mencione se asocian grados de veracidad o valores de

Cristofer Millalaf, Esteban Varas.


membrecía que representan que tan cierta es la condición de la variable real con respecto a
una categoría variando el valor entre 0 y 1, para luego de acuerdo con ello tomar una
decisión, a continuación, se visualiza una imagen comparativa de la lógica difusa y la
clásica respecto a la altura del ser humano.

Fig. 1.2 comparación entre lógica difusa y lógica clásica.

El control fussy se divide en tres etapas, las cuales se aprecian en la siguiente imegen:

Fig. 1.3 etapas del controlador Fuzzy.

Fusificación:

En esta etapa se desarrolla el mapeo de las entradas al controlador lógico difuso (FLC)
asignándoles un grado de pertenencia a cada conjunto de valores reales de la entrada.
Las entradas de este bloque son valores concretos de las variables de entrada y las salidas
son grados de pertenencia a los conjuntos difusos.
En esta sección se definen: número de estados; tamaño del universo; cantidad y forma de set
difusa

Cristofer Millalaf, Esteban Varas.


Inferencia Difusa

En esta etapa se establecen las reglas que definen el sistema y toma de decisiones de
acuerdo con los valores de pertenencia de la entrada arrojando un valor de pertenencia a la
salida.
Para elaborarlo se utilizan, leyes físicas, conocimiento “experto” y datos de controladores.

Defusificación

En este bloque se mapea a la lógica tradicional los valores de la salida obtenidos por medio
de la inferencia, es el inverso del bloque de Fusificación, pasando de valores de pertenencia
a magnitudes reales.

Para esta etapa se utilizan diferentes métodos matemáticos, el más utilizado se denomina
centro de área, este consiste en el cálculo del valor del centro de gravedad o del área que
corresponde a la acción de control y lo asigna a la señal de control.

Ahora que ya se posee un cierto conocimiento de lo que es un control inteligente y de la


lógica difusa, procedemos a desarrollar un control fuzzy para el sistema que hemos
estudiado durante el transcurso del semestre, el cual es el estanque visualizado a
continuación:

Fig. 1.4 sistema en estudio.

Utilizando la función de transferencia linealizada en torno a un punto de operación dado por


ℎ0 = 12 𝑐𝑚, la cual es:
𝑘𝑝
ℎ𝑝 (𝑠) =
𝜏𝑠 + 1
(1.1)

2𝑘√ℎ10 2𝐴√ℎ10
Con 𝑘𝑝 = yτ =
𝑘1 𝑘1
Cristofer Millalaf, Esteban Varas.
Donde
𝑐𝑚3
K: Constante de conversión de voltaje a flujo (25 )
𝑠∗𝑣
𝒉𝟏𝟎 : Punto de operación (12 𝑐𝑚)
𝑐𝑚
𝑲𝟏 : Constante de Bernoulli. (𝐴 ∗ √2 𝑔 = 12.94 )
𝑠
A: Área del estanque (141.02 𝑐𝑚2 )
𝑐𝑚
𝑲𝒑 : Ganancia de la planta (13.385 𝑣 )
𝝉: Constante de tiempo de la planta (75.50)

Para implementar el control por la línea de código se procede a discretizar la planta para
poder simularla:

𝑘𝑝
ℎ(𝑠) =
𝜏𝑠 + 1
(1.2)

1 𝑧
Utilizando invarianza al escalón (𝑢(𝑡) = ⇒ )
𝑠 𝑧−1

1
𝐻(𝑧) = ℤ[ℒ −1 {𝐻(𝑠) 𝑥(𝑠) }] (1.3)
𝑋(𝑧)

𝑧−1 𝐾𝑝 1
𝐻(𝑧) = ∗ ℤ [ℒ −1 { ∗ }] (1.4)
𝑧 𝜏𝑠 + 1 𝑠
Haciendo fracciones parciales resulta de la siguiente forma

𝑘𝑝 1 𝐴 𝐵
∗ = + ∕ ∗ (𝜏𝑠 + 1)𝑠
𝜏𝑠 +1 𝑠 𝑠 𝜏𝑠+1
(1.5)

𝑘𝑝 = 𝐴(𝜏𝑠 + 1) + 𝐵 𝑠
(1.6)

Con 𝒔 = 0 ⇒ 𝑨 = 𝑘𝑝
−1
𝒔= ⇒ 𝑩 = − 𝜏 𝑘𝑝
𝜏

Cristofer Millalaf, Esteban Varas.


De esta forma se obtiene

𝑧−1 𝐾𝑝 𝜏𝐾𝑝
H(𝑧) = ∗ ℤ [ℒ −1 { −
𝜏𝑠 + 1 }]
(1.7)
𝑧 𝑠

𝑧−1 1 1
= 𝐾𝑝 ( ) ∗ ℤ [ℒ −1 { − }] (1.8)
𝑧 𝑠 𝑠+1
𝜏

𝑧−1 1
= 𝐾𝑝 ( ) ∗ ℤ [𝑢(𝑡) − 𝑒 −𝜏𝑇 ] (1.9)
𝑧

𝑧−1 𝑧 𝑧
= 𝐾𝑝 ( )[ ∗ 𝑇]
(1.10)
𝑧 𝑧−1 −
𝑧−𝑒 𝜏

𝑧−1
= 𝐾𝑝 [1 − ( 𝑇 )]
(1.11)

𝑧−𝑒 𝜏
𝑇
1 − 𝑒 −𝜏
𝐻(𝑧) = 𝐾𝑝 ( 𝑇)
(1.12)

𝑧−𝑒 𝜏
T
Definimos 𝛼 = 𝑒 − 𝜏 por comodidad

𝐾𝑝 (1 − 𝛼)
𝐻(𝑧) = (1.13)
𝑧−𝛼

Definimos 𝛽 = 𝐾𝑝 (1 − 𝛼) y obtenemos la ecuación en tiempo discreto

𝛽 𝑧 −1 𝛽𝑧 −1
𝐻 (𝑧) = 𝑧−𝛼 / 𝑧−1 = 1−𝛼𝑧 −1
(1.14)

y(𝑧) 𝛽𝑧 −1
H(𝑧) = = (1.15)
u(𝑧) 1 − 𝛼𝑧 −1

𝑦(𝑧) − 𝛼𝑦(𝑧) 𝑧 −1 = 𝛽 𝑢(𝑧) 𝑧 −1 (1.16)

Cristofer Millalaf, Esteban Varas.


Finalmente, la planta discreta viene dada por la siguiente ecuación que posteriormente será
ingresada por la línea de códigos para desarrollar el control experto con ella

𝑦(𝑘) = 𝛼𝑦(𝑘 − 1) + 𝛽𝑢(𝑘 − 1)


(1.17)

Ahora con la planta ya definida se procede a desarrollar el control difuso, comenzando con
la etapa de Fusificación.

1° paso Definir las entradas al controlador.

Las variables de entrada al controlador difuso serán el error dado por:

𝑒(𝑘) = ℎ𝑟𝑒𝑓 (𝑘) − ℎ(𝑘)


(1.18)

Donde ℎ𝑟𝑒𝑓 (𝑘) será la referencia o setpoint dado por el operador y ℎ(𝑘) será la altura
sensada de la planta, ambos en el instante K, y como segunda entrada tendremos la derivada
del error o cambio de él, definido por:

∆𝑒(𝑘) = 𝑒(𝑘) − 𝑒(𝑘 − 1)


(1.19)

La variable de salida la denotaremos por u(k) y representa el voltaje que se le aplica a la


bomba que suministra el flujo de entrada a nuestro estanque.

Para esta sección no se utilizan las funciones de membresía clásica del control fuzzy, si no
unas definida por nosotros mismos.

El control difuso se caracteriza por asignar valores de pertenencia entre 0 y 1 de forma


continua a todos los valores que pueden presentarse en la entrada, sin embargo, en este caso
se asignaran valores específicos para un conjunto dado de valores reales, dado que el
desarrollo por la línea de código de estas funciones de membresía es tedioso y complicado.

2° paso Desarrollo de categorizaciones y conjuntos difusos.

El error estará categorizado por:

1. Negativo
2. Cero
3. Positivo

Cristofer Millalaf, Esteban Varas.


Los conjuntos difusos para estas categorías serán:

1. Negativo, si 𝑒(𝑘) < 1


2. Cero [−1,1] si −1 < 𝑒(𝑘) < 1
3. Positivo [−1, ∞ +] si 𝑒(𝑘) > 1

Esta indica que será aceptado un error de 1 centímetro y si es mayor se forma una acción
correctiva.
El delta error estará categorizado y definido por:

1. Negativo, si ∆𝑒(𝑘) < −0.1


2. Cero [−1,1], si −0.1 < ∆𝑒(𝑘) < 0.1
3. Positivo [−1, ∞ +], si ∆𝑒(𝑘) > 0.1

Esto indica que se requiere un control preciso y ante pequeñas variaciones del error se
tomaran acciones correctivas para minimizarlo.
A continuación, se expone una tabla explicativa
Tabla 1. Definición de las funciones características utilizadas en el error y su derivada.
Categoría Comentario
Negativo Indica error negativo, conlleva altura mayor a la referencia y la derivada negativa indica
una tendencia a continuar aumentando la altura.
Cero Indica error cero, alturas estanque igual a referencia y una tendencia de cambio de error
nula.
Positivo Indica error positivo, altura menor a la referencia y tendencia de cambio de error a
continuar aumentando implicando que la altura continúe disminuyendo.

Según lo expuesto anteriormente los conjuntos difusos para el error y la derivada de el quedara definidos
como se visualizan en la figura

Fig. 1.5 Función de membresía para el error.

Cristofer Millalaf, Esteban Varas.


Las categorías y conjuntos difusos para la salida serán:

1. Disminuir.𝑈(𝑘) = −0.5
2. Mantener. 𝑈(𝑘) = 0
3. Aumentar. 𝑈(𝑘) = 0.5
4. Disminuir harto. 𝑈(𝑘) = −1
5. Aumentar harto. 𝑈(𝑘) = 1

Cabe señalar que en esta sección de la experiencia no se trabaja con valores de pertenencia
que varían entre 0 y 1, sino que se les asigna el mismo valor limite a las variables
fusificadas, esto con el fin de evitar un proceso de Defusificación complejo más adelante.

Al poseer todas las variables fusificadas se debe desarrollar la etapa de inferencia, donde se
plantea un conjunto de reglas para tomar la decisión de que hacer.

Reglas para el proceso:

1) Si el error es negativo y el delta error es negativo entonces disminuir harto la salida de


voltaje.
2) Si el error es negativo y el delta error es cero entonces disminuir la salida de voltaje.
3) Si el error es negativo y el delta error es positivo entonces mantener la salida de voltaje.

Observación: El error negativo implica que la altura sensada está por encima de la
referencia, esto indica que se debe disminuir el voltaje a menos que la tendencia del error ya
sea negativa, entonces mantenemos el voltaje.

4) Si el error es cero y la tendencia del error es negativa entonces disminuir la salida de voltaje.
5) Si el error es cero y la tendencia del error es cero entonces mantener el voltaje.
6) Si el error es cero y la tendencia del error es positiva entonces aumentar el voltaje.

Observación: El error cero implica que la altura sensada es igual a la referencia, entonces
se debe variar el voltaje de acuerdo con la tendencia del error para mantener en ese estado.

7) Si el error es positivo y la tendencia es negativa entonces mantener el voltaje.


8) Si el error es positivo y la tendencia es cero entonces aumentar el voltaje.
9) Si el error es positivo y la tendencia es positiva entonces aumentar harto el voltaje.

Observación: El error positivo implica una altura sensada menor a la referencia por ende se
debe aumentar el voltaje aplicando en la bomba, sin embargo, si la tendencia del error es de
disminuir entonces se mantiene el voltaje que ya se está aplicando.

Cristofer Millalaf, Esteban Varas.


Con las reglas ya establecidas se procede con el último paso, la Defusificación, sin embargo,
como no se trabaja con valores de pertenencia no se requiere realizar un cálculo matemático
para esta etapa, por ende, solo se establece el valor de la salida del control como los valores
que se le asignan a los conjuntos difusos de ella.

A continuación, se presentan los gráficos que se obtuvieron al implementar este control en la


aproximación lineal discretizada de la planta.

Fig. 1.6 Alturas y voltaje aplicado al sistema con yk como la altura real, uk el voltaje
aplicado a la planta como acción de control y sp la referencia ingresada.

Observación: Se visualiza con claridad el efecto correctivo del controlador en los


momentos donde la altura sobrepasa a la referencia, a simple vista la altura no presenta un
seguimiento muy aceptable del setpoint, sin embargo, se debe considerar que esta señal
posee ruido y si imaginariamente trazamos una línea que pase por los puntos medios de la
señal roja podemos darnos cuenta de que no se está muy lejos de lo que se desea.

Fig. 1.7 Erro y derivada de él, entradas ingresadas al controlador fuzzy.

Observación: Lógicamente en el momento cero el delta error presenta su máximo pick dado
que en aquel momento la altura está en cero y la referencia en 10 [cm], luego en un
Cristofer Millalaf, Esteban Varas.
transcurso de muy poco tiempo se observa que este se asienta en torno a valores cercanos a
cero, esto es un indicador de que el error no varía de forma muy abrupta, de ser así la
derivada se dispararía, con respecto al error este presenta el mismo tipo de comportamiento
sin embargo posee magnitudes mayores.

Fig. 1.8 Acción correctiva del controlador, magnitud de cambio de la salida.

Observación: se aprecia que el controlador está constantemente generando acciones


correctivas, dados los sobrepasos de los límites establecidos para los conjuntos difusos,
como es de esperarse en el momento inicial presenta una gran concentración de acciones
de control máxima, esto debido principalmente a que el error es positivo al igual que el
delta en su mayoría, provocando una acción correctiva muy positiva.

Conclusión: En conclusión este sistema incorporado presenta un comportamiento


aceptable sin embargo es notoria su imprecisión en el seguimiento de la referencia,
Además su lógica es más parecida a una clásica que a una difusa dado que no existen
funciones de pertenencia que asignen valores continuos entre 1 y 0 a las categorizaciones
y además tampoco existe entrecruzamiento, sin embargo tiene una similitud, se
comprueba que este tipo de control se debe utilizar en sistemas donde la precisión no sea
de gran importancia.

Cristofer Millalaf, Esteban Varas.


El Código implementado para esta simulación es el siguiente:

clear all
%% Tiempo de muestreo
Ts=1;
%% parámetros de la planta
kp=13.385; % Ganancia
tau=75.5; % constante de tiempo
alpha=exp(-Ts/tau); % A(Z-1): Parte autorregresiva
beta=kp*(1-alpha); % B(Z-1): parte media móvil
yk1=0; % condición inicial de salida
uk1=0; % condición inicial de entrada
%% parámetros control
yref=10; % referencia
tend=400; % tiempo final de simulación
M = tend/Ts; % cantidad de muestras
ek1=0; % condición inicial del error (pasado para delta)

% límites de la salida
umin=0; % límite inferior
umax=5; % límite superior

%% Conjuntos difusos
% define conjunto difuso del error (ek)
Ne=-1; % define límite superior error negativo
Ze= 0; % define error cero
Pe= 1; % define límite inferior error positivo
% define conjunto difuso del delta error (dek)
Nde= -0.1; % define límite superior error negativo
Zde= 0; % define error cero
Pde= 0.1; % define límite inferior error negativo
% define el conjunto difuso de la salida (uk)
Nu = -0.5; % negativo pequeño (disminuye)
Zu = 0; % cero (mantiene)
Pu = 0.5; % positivo pequeño (aumenta)
MPu= 1; % positivo grande (aumenta arto)
MNu= -1;% negativo grande (disminuye arto)

for k=1:M
%% simulación de la planta
yk = alpha*yk1 + beta*uk1 + 1*randn;

%% cambio de referencia a los 5 minutos


if (k*Ts >= 300), yref = 15; end
%% error de control
ek = yref-yk;
%% cálculo del delta del error
dek=ek-ek1;
%% FUZZIFICATION
% calcula función Fusificación del error
if (ek < Ne)
uek = Ne;
elseif (ek > Pe)
uek = Pe;
else
uek = Ze;
end

Cristofer Millalaf, Esteban Varas.


% calcula función Fusificación del delta error
if (dek < Nde)
udek=Nde;
elseif (dek > Pde)
udek=Pde;
else
udek=Zde;
end
%% INFERENCIA
% ejecución de la base de reglas
if uek==Ne && udek==Nde , uduk=MNu ; wr(k)=1; end %regla 1
if uek==Ne && udek==Zde , uduk=Nu ; wr(k)=2; end %regla 2
if uek==Ne && udek==Pde , uduk=Zu ; wr(k)=3; end %regla 3

if uek==Ze && udek==Nde , uduk=Nu ; wr(k)=4; end %regla 4


if uek==Ze && udek==Zde , uduk=Zu ; wr(k)=5; end %regla 5
if uek==Ze && udek==Pde , uduk=Pu ; wr(k)=6; end %regla 6

if uek==Pe && udek==Nde , uduk=Zu ; wr(k)=7; end %regla 7


if uek==Pe && udek==Zde , uduk=Pu ; wr(k)=8; end %regla 8
if uek==Pe && udek==Pde , uduk=MPu ; wr(k)=9; end %regla 9
%% DEFUZZIFICATION
% ejecuta función de Defusificación
if uduk == Nu, duk = Nu; end
if uduk == Zu, duk = Zu; end
if uduk == Pu, duk = Pu; end
if uduk == MNu, duk = MNu; end
if uduk == MPu, duk = MPu; end
%% salida del controlador
uk = uk1 + duk; %%entrada presente será la pasada más el arreglo
(aumentar, disminuir o mantener)
% limites absolutos
if uk>umax, uk=umax; end
if uk<umin, uk=umin; end
%% memorias
yk1= yk; % memoria de la salida
uk1=uk; % memoria de la entrada
ek1=ek; % memoria del error

%% memoria para grafica


w1(k)=yk;
w2(k)=uk;
w3(k)=yref;
w4(k)=duk;
w5(k)=ek;
w6(k)=dek;
end
%% Gráficos
figure(1)
subplot(211),plot(w1,'.r-'),hold on,plot(w2,'.b-'),plot(w3,'.g-'),hold
off,ylabel('y yref u'),legend(['yk';'uk';'sp'],4);grid on
subplot(212),plot(w4,'.-g'), ylabel('duk');grid on
figure(2)
subplot(211),plot(w5,'.-g'),hold on,plot(w6,'.b-'),hold off, ylabel('ek
dek'),legend(['ek','dek']);grid on
subplot(212),plot(wr,'.-');grid on

Cristofer Millalaf, Esteban Varas.


B. Solución

b) Utilice el Toolbox de Matlab para sintetizar un Control Fuzzy al estanque.

Solución b)
En esta sección se profundiza aún más en lo que es el control difuso y se utilizan sus
características más notorias, como los valores de pertenencia asignados a las variables reales
con diferentes relaciones con el eje X como, por ejemplo, en la “figura (2.1)” donde el valor
de pertenencia posee una relación lineal con el eje X arrojando una función característica
triangular

Fig. 2.1 Función de membrecía triangular.

De esta forma existen diferentes tipos de funciones características, la forma que se utiliza
depende del criterio aplicado en la resolución de cada problema y variara en función del
punto de vista del operador, la única condición que se debe cumplir es que tome valores
comprendidos entre 0 y 1 de forma continua.

Las funciones características más comunes utilizadas por su simplicidad matemática y su


manejabilidad son: Triangular, Trapezoidal, Gaussiana y Sigmoidal

A continuación, se visualizan estas funciones.

Cristofer Millalaf, Esteban Varas.


Fig. 2.2 Algunas de las funciones características más habituales: (a) triangular, (b)
trapezoidal, (c) gaussiana, (d) sigmoidal.

El número de funciones de membresía es elegido por el experto y a mayor cantidad de ellos


se tendrá mayor resolución, pero también más complejidad computacional, además estas
funciones pueden estar entrelazadas o no.

El hecho de que las funciones puedan entrelazarse da a conocer un aspecto clave de la lógica
difusa y es que una variable puede pertenecer a diferentes grados a varios conjuntos difusos
a la vez, es decir “el vaso puede estar medio lleno y medio vacío a la vez”.

Se trabaja con el modelo no lineal de la planta y con un ruido con potencia de 0.5, esto se
visualiza en la siguiente imagen:

Fig. 2.3 Modelado no lineal de la planta.

A continuación, se procede a desarrollar el diseño del controlador fuzzy, para ello se hará uso de la
herramienta toolbox de Matlab, la cual presenta la siguiente estructura y se puede acceder a ella
escribiendo “fuzzy” en el command window.

Cristofer Millalaf, Esteban Varas.


Fig. 2.4 Toolbox de Matlab para implementación de control fuzzy.

Comenzamos por la definición de las variables de entrada al controlador.

1° paso Definición de entradas.

Las entradas al controlador serán el error y su derivada, por lo tanto:

• El error estará definido por:

𝑒(𝑘) = ℎ𝑟𝑒𝑓 (𝑘) − ℎ1 (𝑘) (2.1)

Donde ℎ𝑟𝑒𝑓 es la referencia ordenada por el operador y ℎ1 es la altura censada de la planta.

• La derivada del erro o cambio de él estará dada por:

𝜕𝑒(𝑡) 𝑒(𝑘) − 𝑒(𝑘 − 1)


= (2.2)
𝜕𝑡 𝑇𝑠

Como el tiempo de muestreo 𝑇𝑠 será de 1[𝑠] el delta error será:

∆𝑒(𝑘) = 𝑒(𝑘) − 𝑒(𝑘 − 1) (2.3)

Cristofer Millalaf, Esteban Varas.


La variable de la salida del controlador será 𝑢(𝑘) descrito por el voltaje suministrado a la
planta, de acuerdo con esto el toolbox estará de la siguiente forma:

Fig. 2.5 Asignación de entradas y salidas del control inteligente.

Una vez definidas las entradas o variables lingüísticas se proceden a asignarles sus universos
de discusión, estos son los rangos dentro de los cuales las variables se moverán en la
realidad.

Para el error, dado que el estanque posee una altura máxima de 30[𝑐𝑚] el error podrá variar
entre [−30 𝑦 30][𝑐𝑚]

Para la derivada del error el operador (nosotros) indica que el estanque no modifica su altura
a más de 1[𝑐𝑚⁄𝑠] sin embargo debido a la gran cantidad de ruido presente es mejor
considerar un universo de discusión para la derivada entre [−5,5][𝑐𝑚⁄𝑠] y finalmente para
la salida se utiliza un universo de discusión de ± 1.
Esta elección se realiza en base al hecho que, esta variable será integrada antes de ingresar a
la planta, con el fin de generar un voltaje que se mantenga en caso de presentarse un cero
(condición de mantener voltaje) en la salida del controlador, además se requiere que la
función de membresía considere valores negativos, posterior a la integral es escalada
adecuadamente (para rango de 0-5[𝑣]) e ingresada a la planta.

2° paso Categorización.

Ahora entramos a la etapa de Fusificación y se desarrolla las definiciones de diferentes


categorías que describen el comportamiento de las variables.

Para el error y delta error se utilizan 3 categorías a las cuales se les asocia un numero para
posteriormente desarrollar una tabla explicativa.

Categorías error y delta error:


• Negativo ⇒ −1
• Cero ⇒ 0
Cristofer Millalaf, Esteban Varas.
• Positivo ⇒ 1

La declaración “Negativa” implica un error menor que cero y un delta error de la misma
característica, lo que indica una altura mayor a la referencia y tendencia a continuar y
aumentar esta situación (continúa aumentando la altura).

La declaración “Cero” implica un error nulo al igual que el delta error, esto indica una altura
igual a la referencia y una tendencia a continuar así.

La declaración “Positivo” implica un error mayor que cero al igual que la derivada de él,
esto indica que la altura del estanque es menor a la referencia y una tendencia a aumentar
este efecto (continúa disminuyendo la altura).

De esta forma el error se configura y se utilizan funciones triangulares y trapezoidales para


desarrollar las funciones de membresía que describirán el valor de pertenencia de la variable
de entrada a cada conjunto difuso en específico.

Fig. 2.6 Fusificación del error.

Al igual que el delta error.

Cristofer Millalaf, Esteban Varas.


Fig. 2.7 Fusificación del delta error.

Para la salida se definen 5 categorías las cuales son:

• Disminuir harto ⇒ −2
• Disminuir.⇒ −1
• Mantener⇒ 0
• Aumentar. ⇒ 1
• Aumentar harto. ⇒ 2

Las funciones de membresía utilizadas son de forma triangular con medias en


−1; −0.5; 0; 0.5; 1 y desviación de 0.5 a cada lado, resultando de la siguiente forma:

Fig. 2.8 Salida fusificada.

De acuerdo con lo expuesto se poseen 3 categorías para las entradas por ende existen 32 = 9
posibles reglas, una manera conveniente de listar las reglas es mediante una representación
matricial como la que se visualiza en la siguiente tabla:

Cristofer Millalaf, Esteban Varas.


Tabla 2. Base de reglas para el estanque.

Con todo esto definido se puede continuar con la etapa de inferencia donde se establecen las
reglas del control difuso, estas son las siguientes:

Fig. 2.9 Conjunto de reglas que establecen la toma de decisiones del sistema de
control.

Su implementación se desarrolla en la ventana rule editor, se empleó el mecanismo de


inferencia por factores de confianza, donde dependiendo de los grados de pertenencia de las
variables de entradas se define un factor de confianza para cada regla para la variable de
salida.

Finalmente, para la Defusificación se utiliza el método de Madani, obteniendo la salida


mediante el método del centroide.

Es interesante que una vez finalizado el diseño se puede observar la superficie que
representa la salida del controlador fuzzy como función de las 2 señales de entrada, lo que se
aprecia en la figura de a continuación.

Cristofer Millalaf, Esteban Varas.


Fig. 2.10 Salida del controlador en función de la variación de las entradas.

Otra herramienta útil es el Rule viewer, la cual permite visualizar el estado de todas las
reglas de control ante una determinada combinación de las variables de entrada, permitiendo
además apreciar el comportamiento de la salida del controlador fuzzy y la salida
desfusificada para dichas entradas (representada por una línea vertical de color rojo), las
entradas se pueden variar desplazando la barra roja vertical que esta sobre ellas, esta
herramienta se visualiza a continuación.

Fig. 2.11 Herramienta de visualización de reglas y salida ante combinaciones de


entradas.

Dado que la salida de controlador fuzzy es proporcional a la derivada de la actuación real que debe
Cristofer Millalaf, Esteban Varas.
aplicarse al sistema, es preciso que la salida (desfusificada) sea integrada (limitando los valores entre
0 y 1, para que permanezca normalizada), para posteriormente escalar este rango al intervalo real en
que opera la planta, en nuestro caso de 0 a 5[𝑣].

De acuerdo con lo anterior el lazo de control queda definido de la siguiente forma.

Fig. 2.12 Lazo de control inteligente.

A continuación, se visualizan los efectos de implementar el controlador a la planta.

Fig. 2.13 Alturas del estanque registradas con controlador fuzzy por toolbox.

Observación: De la figura 2.13 se puede apreciar que la altura real del sistema posee un
bastante buen seguimiento de la referencia con poco error en torno a él, su respuesta es
bastante rápida teniendo un tiempo de subida menor a 25 segundos.

Fig. 2.14 Acciones de control desfusificada y escalada e integrada.

Observación: En el grafico anterior se aprecia claramente que la acción de control presenta

Cristofer Millalaf, Esteban Varas.


cambios abruptos repentinos y rápidos, esto puede resultar en un funcionamiento que estrese
en gran medida a la bomba generando que su vida útil se acorte, se aprecia que la señal
integrada y escalada funciona como se deseaba con respecto al escalamiento.

Fig. 2.15 Error ingresado al controlador inteligente.

Observación: Se aprecia claramente como se presentan los pick máximos en los tiempos 0
y 300[s] momentos en los cuales se genera el repentino cambio en la referencia, se observa
un pick de igual magnitud entre los tiempos 400 y 450[s] este solo se puede generar debido
a la aparición de un gran ruido en ese instante.

Fig. 2.16 Cambio del error ingresado al controlador experto.

Observación: Se aprecia una gran cantidad de picks de gran magnitud, esto es debido
principalmente al ruido presente en la señal y dado que esta es la derivada del error quien
por definición es el calculo de la pendiente de una recta, a mayor pendiente mayor será la
derivada, como el operador estaba consiente de este efecto del error se desarrollo el universo
de discusión de la variable delta error mayor a lo que las condiciones de variación de altura
de la planta lo requerían, para tratar de obviar el efecto del error.

Conclusión: Se puede decir en base a lo expuesto en la totalidad de este documento que el


control inteligente basado en el control difuso es bastante útil a la hora de controlar procesos
cuya modelación es sumamente compleja de obtener, al igual que en sistemas donde la
precisión no sea muy estricta.

Se observo como por medio de la implementación por líneas de código el control era mas
cercano a la lógica clásica y presentaba un comportamiento no tan aceptable como el del
toolbox de Matlab, esto debido principalmente a que la herramienta proporciona un
ambiente mas cercano a lo que es la lógica difusa y permite la asignación de valores de
pertenencia que varíen linealmente con la variable real.
Cristofer Millalaf, Esteban Varas.
Un lado negativo del control expuesto en este informe fue el hecho de presentarse una
variabilidad grande de la acción de control proporcionada por el control fuzzy más aceptable
en términos de precisión y rapidez, esto se debe principalmente a que se utiliza como
entrada la derivada del error, quien acentúa el efecto del ruido en la señal y generando que el
controlador salte de una regla a otra provocando estas variaciones en la salida, podría
decirse que tiene cierta semejanza a un controlador proporcional derivativo.

Cristofer Millalaf, Esteban Varas.

Potrebbero piacerti anche