Sei sulla pagina 1di 10

Lgica Difusa

Edwin Hilario, Julio Oscanoa, Pool Tasayco Facultad de Ingeniera Electrnica, Universidad Peruana de Ciencia Aplicadas Lima, Per u911952@upc.edu.pe u910933@upc.edu.pe u910585@upc.edu.pe

Abstract Nowadays, there are many automatic elements that people look to have in order to facilitate their duties. For that reason, people demand objects more and more "intelligent" every time. Understanding the complexity of the human's brain to organize itself at the time to do a task, it is difficult to find a mathematical model that allows to describe the same process in numbers. It is then when, to imitate this process, a new method was created with linguistic variables; because they are better to understand for men. This tool is called Fuzzy Logic and in these days is used to design many kind of controllers, like the ones in some washing machines, rice cookers or air conditioners. This paper simulates one of the last mentioned, with MATLAB, and shows the optimal results.

lineales o incluso sistemas que son demasiado complejos para obtener un modelo matemtico del mismo. Lo que realmente es importante en el uso de esta herramienta es la experiencia que se tiene acerca del funcionamiento del sistema a controlar. A continuacin se muestra el diagrama de bloques que explica el mtodo de lgica difusa:

Fig. 1

A. Conceptos Bsicos Para disear un controlador difuso, se deben seguir una serie de procedimientos: Anlisis del Sistema, es necesario intercambiar informacin con la o las personas que han trabajado controlando el sistema por mucho tiempo y saben a perfeccin todos los trucos para que todo funcione como se espera. Determinar las variables de entrada/salida y sus escalas, es necesario definir cules sern las entradas y salidas de inters que tiene el proceso, o tambin llamadas variables lingsticas. Determinar el universo de discursin de cada variable, en este paso, lo que se debe hacer es definir un rango numrico en el cual cada variable va a trabajar.

I. MARCO TERICO El concepto de lgica difusa fue introducido por el profesor Lotfi A. Zadeh en 1965 en la Universidad de Berkeley. Inicialmente, Zadeh buscaba aplicaciones en el rea de humanidades. Sin embargo, poco tiempo despus, las aplicaciones dedicadas al control de sistemas y procesos industriales complejos empezaron a desarrollarse. Entre las ventajas que ofrece esta herramienta para el control de sistemas, es que puede trabajar con informacin que no es exacta, es decir, ambigua. Adems, permite disear controladores para sistema no

Estructurar las funciones de membresa, una funcin de membresa o de pertenencia consiste en lo siguiente:

II.

DESARROLLO DEL TRABAJO Y ANLISIS

A. Problema Planteado En los ltimos aos, ha ido creciendo la cantidad de electrodomsticos que poseen un control difuso para su funcionamiento. Es as que ahora hay lavadoras, ollas arroceras, cmaras fotogrficas y aires acondicionados que funcionan con este principio. Este trabajo aborda la ltima problemtica y simula, mediante el software, el comportamiento de dicho dispositivo encargado de controlar la temperatura y el ambiente de un cuarto.
Fig. 2

Armar la base de Reglas Difusas, estas reglas difusas, estn basadas en la informacin recogida acerca del ptimo funcionamiento del sistema. Con estas reglas, se controlan las diferentes salidas con combinaciones de entradas. Estas relaciones se reflejan en la estructura

Para la simulacin del sistema a controlar se utiliz un ejemplo de Simulink, del software MATLAB, en el que se simula un Controlador de temperatura de una casa. El esquema completo se puede apreciar en el Anexo 3. Sin embargo, lo que nos interesa, solamente, es el modelamiento de la casa, cuyo sistema se representa en la Figura 3.

Donde x e y son variables de entrada que, dependiendo de su valor, determinan el valor de la variable de salida, z. Elaborar la Memoria Asociativa Difusa, la Memoria Asociativa Difusa o Fuzzy Associative Memory (FAM) define el comportamiento que tendr el sistema por accin del controlador difuso. Es decir, describe completamente la accin del sistema en un cuadro relacionando pares de entradas con una salida. Un ejemplo se ve en el Anexo 1. Operaciones Difusas, existen 3 tipos de operaciones difusas, que permiten unir, intersectar o complementar los diferentes conjuntos difusos. Defuzzificacin y Desescalamiento, luego de implementar las reglas difusas, se obtiene como salida una variable difusa, la cual debemos devolver al dominio real. El proceso se explica en el Anexo 2.

Fig. 3

A partir del Diagrama de Bloques mostrado, se pueden deducir las ecuaciones que regirn el comportamiento de la temperatura dentro del cuarto. Segn la imagen, las entradas y salidas son: : Flujo de Calor del Controlador : Temperatura Externa : Temperatura del Cuarto Asimismo, es necesario definir las siguientes constantes: : Masa de aire dentro de la casa : Capacidad trmica del aire : Resistencia trmica equivalente de la casa

Se obtiene la siguiente ecuacin que modela el proceso. ( ( ) ( ) )


Tdiff Negative Zero Ut

Td=Optimal
Low O A O A F A F A Optimal O A O A M A F A
Fig. 4

High O A O A M A F A

De esta manera, el Flujo de Calor por la entrada 1 ser la producida por el Controlador Difuso. Asimismo, la temperatura exterior (Entrada 2), ser modelada como una entrada constante fijada a 30C. Por otro lado, para simplificar los clculos, se asumi un descenso lineal de la variable Humedad cuando el Controlador actuaba en modo Deshumedecedor. En otras palabras:

Positive Large

Td=Humid
Ut Tdiff Low F D F D F A F A Optimal L D M D F A F A
Fig. 5

High L D M D M A F A

Donde es la Humedad del cuarto y es la salida del controlador que deshumedece el ambiente B. Implementacin del Controlador

Negative Zero Positive Large

El diseo del controlador difuso se construy en base al paper: Fuzzy Logic Control of Air Conditioners. El controlador propuesto tiene 3 variables de entrada (Temperatura de Usuario, Diferencia de Temperatura y Punto de Roco) y 4 variables de salida (Velocidad del Compresor, Velocidad del Ventilador, Modo de Operacin y Direccin de Aleta), sin embargo, para poder simplificar el modelo matemtico del sistema a controlar (modelo trmico de una casa) se ha omitido la Direccin de Aleta. Por motivo de espacio, las funciones de membresa de las entradas y las salidas del controlador a disear se encuentran en el Anexo 4. Las FAM generadas se muestran en las siguientes tablas, la celda superior de cada combinacin es la Velocidad del Compresor y la celda inferior es el Modo de Operacin.

El controlador difuso se realiz utilizando el editor FIS (Fuzzy Inference System) de MATLAB. Para llamar al editor, en el entorno de trabajo de MATLAB, escribimos el comando: >>fuzzy Con el cual abrimos el editor en una ventana como la que se muestra a continuacin.

Una vez terminado todo lo anterior, en el editor podemos observar las superficies de control de todas las variables de salida. Debido a que son 3 entradas, se define una de las entradas (en este caso, la Temperatura de usuario, Ut) constante y se grafica. Para fines de anlisis, el universo de discursin de la variable tdiff (Diferencial de Temperatura) se ha limitado a [-1,3]. Sin embargo, para la simulacin, se conserva el universo original [-1,27] A continuacin se muestra la superficie de control de la Velocidad del Compresor, con Ut definido en 25C.
Fig. 6

Se construyen las FAM en la ventana editora de funciones de membresa: se escoge el tipo de conjunto difuso (trimf o tramf) y los lmites respectivos para todas las entradas y salidas.

Fig. 8

Esta misma superficie y la superficie de control del Modo de Operacin se encuentra en el Anexo 6 con un mayor detalle. Una vez concluido el desarrollo del controlador difuso en el editor FIS, se exporta el sistema al workspace de MATLAB. >> fuzzy_AC fuzzy_AC = name type andMethod orMethod defuzzMethod impMethod aggMethod input output rule

Fig. 7

En la ventana de reglas se escriben todas y cada una de las reglas difusas. Para el diseo de este controlador las reglas tienen la forma: If (Ut is L) and (tdiff is N) and (td is O) then (Fan is O)(Mode is A). Todo el conjunto de reglas difusas se muestran en la ventana de reglas ubicada en el Anexo 5. El procedimiento de listado de reglas debe ser realizado con mucho orden y debe ser revisado exhaustivamente para que el controlador resultante sea el deseado.

: 'fuzzy_AC' : 'mamdani' : 'min' : 'max'x : 'centroid' : 'min' : 'max' : [1x3 struct] : [1x2 struct] : [1x24 struct]

Para utilizarlo en la simulacin, se llama a fuzzy_AC de la siguiente manera: >> controlfuzzy=readfis(fuzzy_AC); >>inputs=[Ut tdiff td]; >>outputs=evalfis(inputs,controlfuzzy) outputs = Vcomp Moper

Donde Vcomp es la Velocidad del Compresor y Moper es el Modo de Operacin. Lafuncin evalfis(inputs,controlfuzzy) se utilizar como funcion de control en el proceso de simulacion del modelo.
Fig. 10

C. Resultados A continuacin se presenta las grficas obtenidas del trabajo del controlador para una Temperatura definida del usuario de 25C y una temperatura exterior de 30C. Como se puede apreciar en la Figura 10, la temperatura del Cuarto de estabiliza en, aproximadamente, los 25C deseados. Por otro lado, debajo, se puede apreciar como la Humedad Relativa sigue descendiendo a un valor deseado como es la de 40 %. II. CONCLUSIONES

Un controlador difuso permite abordar problemas muy complejos para el control tradicional. Como se pudo observar en este trabajo, incluir la humedad como variable de entrada hubiera significado una gran complicacin si se deseaba resolver el problema desde una perspectiva de Espacio de Estados. Por esta razn, la aplicacin de simple razonamiento a nuestro sistema nos permiti obtener resultados ptimos.

Para el problema de control de temperatura, se pudo concluir que la humedad juega un papel muy importante dentro de como las personas sienten la temperatura del ambiente. Pueden estar a la temperatura deseada; no obstante, una alta humedad puede generar incomodidad.

Fig. 9

Por otro lado, en la Figura 10 de abajo se puede ver el comportamiento de las salidas del Controlador.

La denormalizacin de una variable es muy necesaria para el correcto funcionamiento del sistema. Esto es debido a que la salida no siempre se encontrar en el rango deseado, como se pudo apreciar en la Simulacin, en la que la salida del compresor tuvo que multiplicarse por una alta pendiente debido a que solo consideraba valores del 0 al 100 (porcentaje).

El editor FIS es una herramienta muy til ya que simplific considerablemente el proceso de diseo del controlador Difuso, el cual necesitaba trabajar con ms de dos variables de entrada para dos salidas. En el editor FIS, una funcin de membresa triangular que se encuentra en los extremos del universo de discursin en lugar de implementarse con el comando trimf, debe ser implementada con el comando trapmf, caso contrario se generan errores en las funciones de membresa.

III.

BIBLIOGRAFA

[1]AMIYA, Patanik. Fuzzy Logic Control of Air Conditioners. Kharagpur. Indian Institute of Technology. [2]ARNEZ, Enrique. Material del Curso Robtica e Inteligencia Artificial del Aula Virtual. Lima. UPC. [3]MATA, Mario. Material del Curso Automatizacin Industrial. Madrid. Universidad Europea de Madrid. [4]MATHWORKS (2012) Thermal Model of a House (Consulta: 18 de setiembre del 2012) (http://www.mathworks.com/products/simulink/example s.html?file=/products/demos/shipping/simulink/sldemo_ househeat.html) [5]MORALES-LUNA, Guillermo (2002) Introduccin a la lgica difusa. [6]RAMREZ, Osvaldo (2008) Simulacin en simmechanics de un sistema de control difuso para el robot udlap. Puebla. Universidad de las Amricas Puebla. [7]SEZ, D (2006) Fundamentos de Lgica Difusa. Chile. U. Chile.

V. ANEXOS

Anexo 1: Ejemplo de Memoria Asociativa Difusa

Anexo 3: Modelo Trmico de una Casa

Fig. 11

En este ejemplo, se observa como las diferentes variantes de las relaciones entre temperatura (letras azules) y velocidad (letras rojas) definen el comportamiento del voltaje o variable de salida (letras moradas).Esta es una FAM de las muchas que puede haber en el diseo de un controlador difuso. Se recomienda agrupar de a pares las variables de entradas, pues de este modo se facilitar la depuracin a la hora de programar. Anexo 2: Defuzzificacin y escalamiento Para lograr esto, se debe obtener la funcin de mxima membresa; en otras palabras, se debe hallar la unin de las funciones de membresa que satisfacen el buen funcionamiento del sistema. A continuacin, se halla el centroide de la regin obtenida, de esta operacin solo se usa el valor que cae en el eje de abscisas. Este valor es la posible salida del sistema; sin embargo, este valor puede estar fuera del universo de discursin de la variable de salida. Es por tal motivo que es necesario realizar una operacin de denormalizacin, cuya funcin es reparametrizar el valor obtenido e introducirlo en el universo de discursin correspondiente.

Anexo 4 Entradas: Funcin de Membresa de Temperatura

L: Low

O: Optimal

H: High

Funcin de Membresa de Diferencia de Temperatura

N: Negative

Z: Zero P: Positive

L: Large

Funcin de Membresa de Punto de Roco

Anexo 5 Ventana de Reglas Difusas:

O: Optimal

H: Humid

Salidas: Funcin de Membresa de Modo de Operacin

D: Dehumidifier A: Air Conditioner Funcin de Membresa de Velocidad del Compresor

O: Off

L: Low

M: Medium

F: Fast

Anexo 6 Superficie de Control del Modo de Operacin con temperatura de usuario de 25C

Anexo 7
%Simulacion del Controlador de Lgica Difusa clear all; clc; close all;

% Constantes del Sistema % M masa de la casa %M = 1.7784e+03; %Req = 4.2698e-07; %c = 1.0054e+03; M = Req % c c = 1.7784e+002; = 4.2698e-04; = cp of air (273 K) = 1005.4 J/kg-K 1.0054e+03;

Te = 30; ut = 25; %% Para usar el controlador fuzzy. fuzzy_AC=readfis('fuzzy_AC');

Superficie de Control de la Velocidad del Compresor con temperatura de usuario de 25C

% Definicion de tiempos ti = 0; dt =1; tf = 400; % Condiciones Iniciales tcp = 0; tc = Te; %Temperatura del Cuarto u_comp = 0; u_mode = 0; k = 1; hum = 70; td = ((hum/100)^(1/8))*(110 + tc) - 110;

%Normalizacion a = 140; b = 0; % Simulacion for t = ti:dt:tf TC(k,1) = tc; TCP(k,1) = tcp; HUM(k,1) = hum; U1(k,1) = u_comp; U2(k,1) = u_mode; TT(k,1) = t;

%Sistema tcp = (-1/(M*c*Req))*tc + (1/(M*c*Req))*Te - (1/(M*c))*u_comp; hum = hum - 0.1*u_mode; tdiff = tc - ut; td = ((hum/100)^(1/8))*(110 + tc) 110; % COrrecion para le td

%Controlador [salidas]=evalfis([ut tdiff td],fuzzy_AC); u_comp = salidas(1); u_comp = u_comp*a + b; u_fan=salidas(2); u_mode=salidas(3); if(hum < 40) hum = 40; u_mode = 0; end %Integracion tc = tc + tcp*dt; k = k + 1; end figure(1) subplot(211) plot(TT,TC); grid on; title('Temperatura del Cuarto'); subplot(212) plot(TT,HUM); grid on; title('Humedad'); figure(2) subplot(211) plot(TT,U1); grid on; title('Controlador 1: Compresor de aire'); subplot(212) plot(TT,U2); grid on; title('Controlador 2: Deshumedecedor');

Potrebbero piacerti anche