Sistema de Control de Flujo y Temperatura de un grifo con varias lógicas borrosas. Fernández de Alba, José María jmfernandezdalba@gmail.com Garmendia, Luis lgarmend@fdi.ucm.es Departamento de Ingeniería del Software e Inteligencia Artificial Facultad de Informática Universidad Complutense de Madrid RESUMEN Se describe e implementa una ducha inteligente autorregulada. Se comienza discutiendo algunas diferencias con un modelo de desarrollo de sistemas de control más convencional y luego se va describiendo cada una de las fases de desarrollo: definición del problema, análisis y diseño, e implementación y pruebas. Se comparan y analizan los resultados de razonamiento aproximado con las lógicas de Zadeh, producto y Lukasiewicz. Palabras claves Lógica borrosa, control borroso, grifo inteligente, Xfuzzy ABSTRACT In this work is described in a detailed way how has been performed, following the fuzzy reasoning systems development model, a typical example of an autoadjustable shower. It starts discussing some differences with a more conventional control systems development model and then each development phases are described: problem definition, analysis and design, and implementation. Different fuzzy logic are tested and compared. Keywords Fuzzy Logic, Fuzzy Control, intelligent shower, Xfuzzy Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería 249 Sistema Borroso de Control de Flujo y Temperatura 1. INTRODUCCIÓN En la sección 1 se discute la metodología de desarrollo de un sistema borroso comparandolo con uno tradicional. En la sección 2 se muestra el problema y los requisitos. En la sección 3 se define el modelo y las reglas asociadas al sistema. En la sección 4 se discute la implementación y los resultados obtenidos. En la sección 5 se exponen las conclusiones. En la sección 6 se ofrecen las referencias. Los sistemas de control basados en lógica borrosa ofrecen ciertas ventajas frente a los sistemas de control tradicionales. Las principales son: la definición de los sistemas es más sencilla, por hacer uso de lenguaje natural y, en los sistemas basados en estados, se consigue un comportamiento más suave y mayor estabilidad debido a la ausencia de fronteras nítidas. En este trabajo se desarrolla una pequeña aplicación de control con lógica borrosa para regular la temperatura y el flujo de una ducha. Con ésto se pretende ilustrar el proceso de desarrollo de este tipo de sistemas y los resultados obtenidos. 1.1 INTRODUCCIÓN A LA LÓGICA BORROSA Y AL RAZONAMIENTO APROXIMADO La Teoría de los Conjuntos Difusos o Conjuntos Borrosos (“fuzzy sets” en inglés) se aplica con éxito para modelar información con falta de nitidez incertidumbre y para resolver problemas de control. Lotfi A. Zadeh [16] en 1965 escribe su artículo “Fuzzy Sets” en el que los conjuntos difusos, de frontera no precisa y cuya función de pertenencia indica un grado. Las lógicas borrosas necesitan generalizar las conectivas para definir la intersección, unión y negación entre conjuntos borrosos, para lo cual se utilizan diferentes familas de operadores llamadas normas triangulares, conormas triangulares y negaciones [12]. En control es habitual definir reglas borrosas para efectuar inferencias y razonamiento aproximado de la forma: Si ‘x es P’ entonces ‘y es Q’ ‘x es casi P‘ _____________________ ‘y es casi Q’ donde x, y son variables y P, Q son conjuntos borrosos y la regla es una relación borrosa que se puede definir con diferentes operadores de implicación [15]. 250 Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería Sistema Borroso de Control de Flujo y Temperatura 2. METODOLOGÍA DE DESARROLLO La metodología de desarrollo usada para el desarrollo de sistemas de control borrosos difiere de la metodología para sistemas convencionales en su mayor sencillez. El punto principal de diferencia es la necesidad en los sistemas convencionales de diseñar un modelo lineal del problema y hacer uso de simplificaciones de la teoría de control. Ambos pasos, aunque más el segundo, requieren un conocimiento experto de la teoría de control. Por el contrario, el desarrollo de sistemas borrosos se basa en reglas borrosas, es decir, expresables en el lenguaje natural, y por tanto requiere menos conocimiento experto para su desarrollo. El ejemplo de la validez de esta metodología está en el éxito en el desarrollo de la aplicación de control descrita en este trabajo por parte de un desarrollador no especialmente experto en teoría de control. Figura 1: Modelo de Desarrollo Convencional Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería 251 Sistema Borroso de Control de Flujo y Temperatura Figura 2: Modelo de Desarrollo Borroso El último modelo es el utilizado en este artículo y se detalla en las próximas 3 secciones. 3. DEFINICIÓN DEL PROBLEMA El problema consiste en una ducha que obtiene el agua de dos fuentes distintas: una de agua caliente y otra de agua fría, cada una con su respectivo grifo para ajustar el flujo. El objetivo es conseguir ajustar automáticamente los grifos de tal manera que la temperatura y el flujo totales se encuentren dentro de un rango preferido. El problema ha sido simplificado suponiendo situaciones ideales, como que el agua a las dos temperaturas se mezcla perfectamente y que no hay otras pérdidas de calor o presión. Estas son las ecuaciones relevantes: 252 • Tfri ∈ [0,36]0 C(Temperatura _ fuente _ fría) • Tcal ∈ [36,100]0 C(Temperatura _ fuente _ caliente) • Tx = (Fcal Tcal + F friTfri ) /Fx (Temperatura _ total) • Fx = Fcal + F fri (Flujo _ total) • Pa = 30(Pr esión _ atmosférica) Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería Sistema Borroso de Control de Flujo y Temperatura • F fri = V fri (Pfri − Pa )(Flujo _ fría) • Fcal = Vcal (Pcal − Pa )(Flujo _ caliente) • V fri ∈ [0,1](Apertura _ grifo _ fría) • Vcal ∈ [0,1](Apertura _ grifo _ caliente) • Pfri,Pcal ∈ [50,110](Presión _ fuentes_ fría _ y _ caliente) Figura 3: Diagrama del Sistema Tcal, Tfri, Pcal y Pfri se consideran la entrada o “input” del problema, mientras que Vcal y Vfri se consideran la salida o “output”. Esto es: el sistema debe reaccionar a los cambios de presión y temperatura en las fuentes cambiando la apertura de los grifos. Los objetivos propuestos en el problema son: • Mantener Tx muy cercana a 36ºC • Mantener Fx muy cercano a 12L/min • Mantener las válvulas insensibles a fluctuaciones muy pequeñas de las variables de entrada. 4. DEFINICIÓN DEL MODELO Y LAS REGLAS El proceso de control consiste en tres tareas: percepción del entorno, razonamiento y actuación sobre el entorno. Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería 253 Sistema Borroso de Control de Flujo y Temperatura Figura 4: Ciclo del Sistema El razonamiento borroso lo lleva a cabo un sistema como éste. Los nombres son autoexplicativos: Figura 5: Módulo de Razonamiento Sobre las variables de entrada y salida del sistema se definen los siguientes conjuntos borrosos: Figura 6: Temperatura Total 254 Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería Sistema Borroso de Control de Flujo y Temperatura Figura 7: Flujo Total Figura 8: Giro de los Grifos Las siguientes son las reglas de control que debe seguir el sistema: Figura 9: Definición de Reglas Como se puede observar, la definición de los tipos y las reglas es muy intuitivo y no requiere conocimientos especializados sobre control. El objetivo de estas reglas es mantener la temperatura y el flujo cerca de unos valores preferidos. El tercer objetivo, que es que los cambios mínimos en el entorno no produzcan grandes cambios en las variables de salida, para que no se produzcan ‘sustos’ y se obtenga un funcionamiento ‘suave’. Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería 255 Sistema Borroso de Control de Flujo y Temperatura Si se hace una simulación previa del comportamiento, se puede observar la naturaleza continua de la función de control: Figura 10: Función de Giro del Agua Caliente La función para el agua fría es simétrica respecto de la temperatura: Figura 11: Función de Giro del Agua Fría 5. SIMULACIÓN Y PRUEBAS Para llevar a cabo la simulación se ha construido una aplicación que proporciona la posibilidad de efectuar cambios en el entorno del sistema mediante varios sliders y ver su impacto en las variables de salida. Además, permite visualizar las gráficas en el tiempo del cambio de estas variables. El aspecto es el siguiente: 256 Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería Sistema Borroso de Control de Flujo y Temperatura Figura 12: Pantalla de la Aplicación El programa se puede descargar desde http://www.fdi.ucm.es/profesor/lgarmend/SC/grifo/ . Debe descomprimirse la carpeta entera y ejecutar ducha.jar . Al ser un programa java, para poder ejecutarse hace falta tener instalado un JRE, que tienen ya instalado la mayoría de ordenadores, descargable en http://java.sun.com/ En la esquina inferior derecha de la interfaz, se encuentra un indicador del error y el tiempo de estabilización del sistema. Se están obviando algunos hechos importantes en un sistema real, como que los cambios de temperatura obtenidos al cambiar los distintos flujos no son instantáneos en la realidad, sino que requieren un cierto tiempo, por lo que el sistema no sufriría esas variaciones tan bruscas. 5.1 COMPARACIÓN DE LÓGICAS BORROSAS La aplicación da los resultados para tres sistemas distintos por el conjunto de operadores que utilizan, que conforman distintas lógicas borrosas: Zadeh, Producto y Lukasiewicz [13]. Para cada una de ellas se muestran los valores de salida que ofrecen y los tiempos de reacción y errores. Al pulsar los botones de las gráficas se muestra una gráfica de la evolución de las variables en el tiempo como la siguiente: Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería 257 Sistema Borroso de Control de Flujo y Temperatura Figura 13: Gráfica de las Variables en el Sistema de Zadeh Figura 14: Cambios en el Sistema del Producto 258 Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería Sistema Borroso de Control de Flujo y Temperatura Figura 15: Cambios en el Sistema de Lukasiewicz Se observa que los mejores resultados de precisión los ofrece la lógica de Zadeh, no así con los tiempos de estabilización. En esta aplicación los sistemas implementados con las lógicas de Lukasiewicz y del Producto no consiguen “suavidad” en los cambios. Si se examina la siguiente gráfica se puede observar, que en el sistema de Lukasiewicz y en el del Producto se producen cambios “bruscos” en las variables de salida. 6. CONCLUSIONES Aunque en principio el problema propuesto no supone un gran reto, la complicación surgida al probar el sistema con las distintas lógicas ha permitido poder observar algunas características de éstas. Además, ha mostrado el problema que supone el que se activen unas reglas con mayor verosimilitud que otras, y las diferencias sgún el método de inferencia y defuzzyficación que se use. Sin embargo, este sistema aplicado a un entorno real tendría un comportamiento algo distinto, ya que en éste entorno ideal, los cambios introducidos por el sistema se ven reflejados en el entorno de manera inmediata, y en la realidad, los cambios son más graduales, por tanto el sistema tiene mucho más tiempo para poder adaptarse correctamente. Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería 259 Sistema Borroso de Control de Flujo y Temperatura 7. REFERENCIAS BIBLIOGRÁFICAS [1] DUBOIS, D., PRADE, H., (1980), “Fuzzy Sets and Systems. Theory and its Applications”. Academic Press, New York. [2] IMSE Centro Nacional de Microelectrónica. Herramientas de CAD para Lógica Difusa. Xfuzzy 3.0. http://www.imse.cnm.es (2003). [3] KLIR G. and YUAN, B. (1995). “Fuzzy Sets and Fuzzy Logic Theory and its Applications” Prentice Hall. [4] LEWIS, H.W. (1997), “The Foundations of Fuzzy Control”.,Springer. [5] NGUYEN, H.T. and WALKER, E. A., (1996). “A first course in Fuzzy Logic”. CRC Press. [6] OH, S., PEDRYCZ, W., PARK, B. (2002), “Hybrid identification of fuzzy rulebased models”. Int. Journal of Intelligent Systems, vol. 17 (1), pp.77-103. [7] PEDRYCZ, W., (1991), “Fuzzy Dynamic Systems”. IJCAI, Fuzzy Logic and Fuzzy Control, pp. 37-44, Sydney, Australia. [8] PEDRYCZ, W.: Modelling with fuzzy sets in fuzzy control. Fuzzy Days, 3-34, 1992. [9] PIEGAT, A., (2001). “Fuzzy Modeling and Control”. Springer [10] PRADERA, A., TRILLAS, E., CUBILLO, S., (2000) “On modus ponens generating functions” Int. J. Uncertain. Fuzziness Knowledge Based Systems 8, 1, pp. 7-19. [11] SUGENO, M., (1985), “An introductory survey of fuzzy control”. Information Sciences, n. 36, pp. 59-83. [12] SCHWEIZER B. and SKLAR, A., (1960), “Probabilistic Metric Spaces”. NorthHolland, New York. [13] TRILLAS E. and VALVERDE, L. (1985), “On mode and implication in approximate reasoning”, Approximate reasoning in expert systems, Eds. M. M. Gupta, North-Holland. pp. 157-166. [14] TRILLAS, E., ALSINA, C. and TERRICABRAS, J. M. (1995) “Introducción a la Lógica Borrosa”. Editorial Ariel. [15] TRILLAS, E., and VALVERDE, L. (1985). “On mode and implication in approximate reasoning”. Approximate reasoning in expert systems. Eds. M. M. Gupta. North-Holland. pp. 157-166. [16] ZADEH, L.A. (1965), “Fuzzy sets”. Proceedings of the IEEE (Information and Control), Vol:8: pp. 338-353. 260 Jornadas Internacionales de Didáctica de las Matemáticas en Ingeniería