Ingeniero Tcnico Industrial en Electrnica por la Departamento de Lenguajes y Ciencias de la Computa- Universidad de Mlaga, Espaa cin, Universidad de Mlaga, Espaa calixto@auna.com ppgg@lcc.uma.es
Resumen software [1,3,11], capaz de controlar procesos y simular-
los (Xfuzzy, FuzzyTech, Matlab Fuzzy Logic Toolbox, En el presente documento se describe la apli- por citar slo algunas de las ms recientes, junto a otros cacin informtica Sistema de Control Difuso mencionados en www.eusflat.org). (SCD), como plataforma que permite simular El software que aqu presentamos trata de ser una algunos tipos de sistemas de control basados aportacin con sustanciales mejoras respecto a otras en lgica difusa. Este software proporciona un aportaciones (como la presentada en [3]). Cubre la fina- entorno intuitivo y claro para la creacin y lidad de poder crear, de la forma ms general posible, modificacin de los elementos que conforman sistemas basados en conocimiento difuso. Adems, la un sistema de control basado en conocimiento aplicacin de la lgica difusa a los sistemas de produc- difuso. La base de conocimiento de SCD est cin agrcola [2, 4] es un enfoque adecuado en la bs- formada por un conjunto de reglas del tipo queda de soluciones pues servira como herramienta para condicional <sientonces> siendo posible almacenar conocimiento experto de ayuda a la deci- la eleccin de operadores conectivos y de ne- sin. Por este motivo hemos aplicado el programa al gacin entre antecedentes. El programa es control climtico en un invernadero dedicado al cultivo muy flexible, visualizando de forma grfica de pimientos en la zona del sureste espaol (Almera). las caractersticas de cada variable junto a los Por supuesto, el programa puede tambin aplicarse al datos de simulacin. Este software puede control de otros aspectos de la agricultura (fertirrigacin, aplicarse a cualquier mbito de la simulacin aplicacin de tratamientos fitosanitarios). industrial. En nuestro caso lo hemos aplicado En primer lugar expondremos una descripcin del al control climtico en invernaderos industria- software listando sus caractersticas principales y resu- les, como una posible herramienta para solu- miendo su funcionamiento (Seccin 2). Seguidamente cionar los distintos problemas que subyacen mostraremos las fases de creacin del sistema de control en el mbito de los sistemas de control de en la aplicacin (Seccin 3). Posteriormente expondre- produccin agrcola. En sntesis, aqu presen- mos los pasos a la hora de simular el sistema y para ello tamos un software genrico de simulacin de veremos las distintas fases que realiza la aplicacin para control difuso, que se ha aplicado al funcio- obtener las acciones de control (Seccin 4). Finalmente, namiento de un sistema particular basado en presentamos unas conclusiones, algunos trabajos futuros conocimiento difuso. y las referencias bibliogrficas.
Palabras clave: Controlador Difuso, Lgica
Difusa, Controlador Basado en Conocimiento 2. CARACTERSTICAS PRINCIPALES DEL Difuso, Software de Control Difuso, Sistema SOFTWARE SCD Basado en Reglas, Agricultura. SCD [5] trata de ser una plataforma genrica para el desarrollo y simulacin de sistemas de control difuso. El 1. INTRODUCCIN programa permite definir un sistema (variables, etique- tas, reglas...) y simular dicho sistema para una secuencia Desde que Mamdani [9] mostrase la primera aplicacin de valores de entrada y obtener la correspondiente se- de la Lgica Difusa al control de un proceso particular, cuencia de accin de control (salida). SCD ha sido pro- una extensa gama de aplicaciones, desde electrodomsti- gramado como aplicacin multidocumento (MDI) de cos a robots y sistemas de control industrial [6,7,10] han forma que sea posible manipular mltiples ventanas de sido desarrollados bajo las premisas del Control Difuso. forma simultnea. En la actualidad podemos encontrar una gran variedad de
XII CONGRESO ESPAOL SOBRE TECNOLOGAS Y LGICA FUZZY 551
El primer men, Archivo, contiene las opciones tpi- cas de apertura, cierre, guardar necesarias para la ges- tin de los ficheros de la aplicacin. Seguidamente se encuentra el men Ver, el cual permite al usuario mostrar las ventanas General y de Reglas. La ventana General (Figura 1) muestra, en estructura de rbol, toda la infor- macin referente al fichero actualmente cargado. El men Variables proporciona las opciones sobre las va- riables de entrada y salida (creacin, modificacin, eli- minacin o restauracin). Igualmente, el men Reglas permite aadir, modificar, eliminar, restaurar u organizar las reglas en la base de conocimiento. En el men Infe- rencia se encuentran las distintas opciones de simulacin que posteriormente comentaremos en la Seccin 4 junto a la edicin de las opciones de inferencia.
Las principales caractersticas de SCD son:
o Redimensionable en tiempo de ejecucin en el
nmero de variables de entrada, salida, reglas, conjuntos difusos de cada variable y antecedentes y consecuentes en cada regla. o Definicin rpida, cmoda y flexible de varia- Figura 1: Ventana General de SCD. bles, reglas, etiquetas o 7 tipos de Conjuntos Difusos: Gamma, L, Sin- o 12 tipos de Concresores (para los valores de las gleton, Intervalo, Tringulo, Trapecio y Trapecio variables de salida): Media de Mximos (MoM), Extendido. Estas posibilidades son muy superio- Centro de Gravedad (CoG), CoG de mayor rea, res a otros programas de este tipo. CoG ponderado por el rea, CoG ponderado por o Trapecio Extendido: Este novedoso tipo de con- la altura, CoG de mayor altura, Punto de Mximo junto difuso es una funcin lineal a trozos que Criterio (PMC) ponderado por el rea, PMC pon- permite gran flexibilidad (incluso permite conjun- derado por la altura, Media del PMC, Media del tos no convexos) y eficiencia. Es redimensionable mnimo y mximo PMC, PMC de mayor rea, y en el nmero de puntos de inflexin de dicha fun- PMC de mayor altura. cin. o Operador de Comparacin: T-norma del Mni- o 5 tipos de Difuminadores (para los valores de las mo. variables de entrada): Singleton, Intervalo, Trin- gulo, Trapecio y Trapecio Extendido. o Universo de Discurso: Tras modificaciones del 3. CREACIN DE UN CONTROLADOR EN SCD Universo de una variable, existe la opcin de mantener la proporcionalidad de los conjuntos di- Un controlador queda definido en SCD cuando han sido fusos previamente definidos (o mantenerlos fijos). declaradas las variables de entrada y de salida, el con- o Anlisis Puntual y por Secuencia de Estados: junto de reglas y las opciones de inferencia. Dado que el Para un valor concreto o para una secuencia tem- objetivo en un invernadero es conseguir un microclima poral de datos. idneo para el desarrollo ptimo del cultivo, nos propo- o Operador And: T-normas de la Familia Dubois nemos con esta idea simular el proceso de control clim- Prade, Frank, Yager, Mnimo, Producto Acotado, tico del invernadero bajo SCD. Algebraico, Drstico, Einstein y Hamacher. o Operador Or: S-normas de la Familia Sugeno, 3.1 Declaracin de Variables de Entrada Yager, Mximo, Suma Acotada, Drstica y Pro- ducto. Como primer paso, se establecen las variables de entrada o Operador Implicacin: T-norma Mnimo. que son segn los expertos [9]: o Operador Agregacin: S-norma Mximo. o Generador de tablas de resultados en formato o Radiacin Solar. HTML: Esto no est incluido en otros programas o Temperatura. de este tipo analizados. o Humedad Relativa. o Repres. grfica de variables lingsticas. o Direccin del Viento. o Ficheros de datos en formato texto. o Velocidad del Viento.
552 XII CONGRESO ESPAOL SOBRE TECNOLOGAS Y LGICA FUZZY
Figura 3: Modificar Parmetros de una Variable. Figura 2: Ventana de una Variable de Entrada.
En la creacin de una variable de entrada en SCD el
usuario podr optar por crear una nueva variable sin etiquetas lingsticas o bien a semejaza de una ya exis- tente. Esta ltima opcin copia las etiquetas de otra va- riable y, posteriormente, podrn modificarse. Una vez creada, se visualizar una ventana como la Figura 2 que mostrar toda la informacin concerniente a dicha variable visualizando en su parte superior izquierda a travs de una estructura de rbol los valores actuales de sus parmetros. En la parte superior derecha se expone la representacin grfica del tipo de difuminador y en la parte inferior las de las etiquetas lingsticas. En este caso la Figura 2 muestra los datos de la va- riable direccin del viento que permiten establecer un Figura 4: Construyendo el Antecedente en una Regla. nivel de seguridad estructural del invernadero (ante vien- tos fuertes). A travs del botn Modificar Parmetros de esa Figura podr variar el contenido de dicha variable. gestin de la humedad interior del invernadero y la utili- Para ello SCD visualizar una ventana (Figura 3) que zacin de la pantalla trmica como elemento de retencin mostrar las caractersticas de la variable agrupndolas de energa calorfica durante la noche y de sombreo en tres grupos: general, difuminador y conjuntos difusos. durante el da. En la Figura 3 se visualiza la pestaa conjuntos difusos El mtodo de concrecin elegido para estas variables de la variable velocidad del viento, en concreto, la eti- ha sido el Centro de Gravedad ponderado por la Altura. queta lingstica leve de tipo L considerada por los ex- Este mtodo calcula el centro de gravedad de cada uno pertos como un nivel de velocidad del viento hasta los 11 de los conjuntos difusos resultantes del conjunto global Km/h decreciendo con una pendiente del 16%. de salida, recibiendo en base a su altura un peso distinto. Se ha recurrido a ste mtodo, porque creemos que la 3.2 Variables de Salida nica caracterstica diferenciable entre los conjuntos difusos del tipo singleton son la altura que puedan tomar En segundo lugar se estableceran las variables de salida, segn el grado de activacin de las reglas de control; al que en nuestro caso son las siguientes: ponderar por la altura las reglas que activen en dichos conjuntos difusos tomarn su grado de importancia en el o Ventilacin Superior de Oeste y de Este. resultado global. o Ventilacin Lateral del Oeste y de Este. o Nebulizacin. 3.3 Base de Reglas o Pantalla Trmica. Una vez definidas las variables de entrada y salida pasa- Se ha considerado la ventilacin a travs de ventana- mos al tercer paso que es la construccin de la Base de les distribuidos sobre el invernadero para gestionar las Conocimiento. Se han establecido las siguientes agrupa- renovaciones de aire, la nebulizacin como sistema de ciones:
XII CONGRESO ESPAOL SOBRE TECNOLOGAS Y LGICA FUZZY 553
o Reglas de Seguridad. o Reglas de Control Nocturno. o Reglas de Control Diurno.
La Base de Conocimiento es una de las partes ms
importantes del sistema y es la que ms trabajo cuesta a los expertos. Sin embargo, la inclusin de la Base de Conocimiento en el programa es relativamente rpida y sencilla a travs de las ventanas constructoras de antece- dente (Figura 4) y consecuente de cada regla. Estas ven- tanas muestran al usuario respectivamente todas las posi- bles variables de entrada y salida disponibles junto a los correspondientes conjuntos difusos asociados a cada una. Adems, en la formacin del antecedente existe la posi- Figura 5: Fase 2, Activacin de Reglas. bilidad de elegir entre operadores and/or entre trminos, cin de las acciones de control. Tales fases pueden ser como se aprecia en la Figura 4. visualizadas a travs de sus correspondientes ventanas. Estas cinco fases son: 3.4 Opciones de Inferencia 1) Fase de Comparacin: Este proceso compara los Por ltimo se estableceran las Opciones de Inferen- conjuntos difusos. Compara los valores de entrada cia. En el presente estudio se han tomado como operado- (difuminados segn el difuminador elegido) y los res los mostrados en la Tabla 1. La eleccin del producto distintos conjuntos difusos que conforman las eti- algebraico como operador and ha sido en base a lo ex- quetas lingistas de la variable de entrada. Con esto puesto en [12] en donde revela, a travs de experimentos, se mide en qu medida el difuminador y las etique- que el operador del mnimo no trabaja bien como mode- tas se superponen a travs del concepto de posibili- lador del conectivo and. dad (Poss). Tabla 1: Opciones de Inferencia. 2) Fase de Activacin de Reglas (Figura 5): Con los Operador Tipo Implicacin Mnimo valores de posibilidad de cada trmino que forman Agregacin Mximo los antecedentes en la base de conocimiento, se apli- And Producto Algebraico can los operadores and/or y not sobre estos trminos Or Mximo en cada regla. Con esto se obtiene el grado de acti- Comparacin Mnimo vacin de cada regla. Todo este proceso se ilustra en la Figura 5, la cual 4. SIMULACIN DEL CONTROLADOR EN SCD muestra en su parte superior el conjunto de reglas de la base de conocimiento. El usuario podr seleccio- Una vez definido el controlador, nos disponemos a reali- nar aquella regla sobre la cual desee ver de forma zar un anlisis y exposicin de los resultados obtenidos a descompuesta el proceso de obtencin del grado de travs de la simulacin del sistema en SCD. Para ello se activacin. Una vez seleccionada el recuadro central puede ejecutar la simulacin de tres formas distintas. En izquierdo mostrar las posibilidades de todos los una primera, la simulacin puede ejecutarse paso a paso trminos que forman el antecedente de la regla y en (Seccin 4.1), obteniendo todos los datos intermedios de la parte central derecha se muestra el valor del grado la inferencia. En segundo lugar, pueden tambin obtener- de activacin correspondiente a la regla seleccionada se los datos de salida directamente para un instante dado junto a los tipos de operadores and/or utilizados. segn unos valores de entrada establecidos (Seccin 4.2). 3) Fase de Implicacin: El proceso de implicacin As, de forma rpida se podrn comprobar las conse- trabaja sobre las variables de salida del sistema. cuencias ante la variacin de los valores de entrada. Por Aplica el operador de implicacin sobre cada uno de ltimo, tenemos la posibilidad de evaluar el sistema dada los conjuntos difusos de cada variable de salida. Na- una secuencia de valores de entrada (Seccin 4.3). De turalmente, esto tiene en cuenta el grado de activa- esta forma podramos evaluar el sistema dado un regis- cin de las reglas activadas que influyan sobre dicho tro de las variaciones de las distintas variables que actan conjunto difuso de salida. sobre el mismo, obteniendo tambin una secuencia en los 4) Fase de Agregacin: Se realiza a travs del opera- valores de cada variable de salida. dor de agregacin (unin). En esta fase se unirn los conjuntos difusos resultantes de la fase de implica- 4.1 Simulacin Paso a Paso cin. Esta es la fase que unifica los criterios expre- sados en todas las reglas, generando un conjunto di- El proceso de clculo del controlador basado en conoci- fuso que expresa la informacin de todas las reglas. miento difuso en SCD realiza cinco fases para la obten-
554 XII CONGRESO ESPAOL SOBRE TECNOLOGAS Y LGICA FUZZY
Figura 6: Fase 4, Concrecin.
Figura 8: Calcular secuencia de datos de salida.
trados grficamente en el marco de la parte inferior. Se
muestra el valor actual de la variable, los conjuntos difu- sos que la forman, el difuminador y los puntos de inter- seccin. El valor actual podr ser modificado y de forma automtica se realizar el proceso de clculo global que se indicar en el grfico de salida de la derecha. Igual que se explic en el apartado anterior, se muestra el valor concreto de salida (trazo discontinuo) junto al conjunto difuso resultante tras la Fase 4. Figura 7: Calcular variables de salida. 4.3 Simulacin de Secuencias de Valores de Entrada 5) Fase de Concrecin (Figura 6): En la ltima fase se procesa la informacin difusa (conjunto difuso resul- La posibilidad de evaluar el sistema en distintos instantes tante de la fase de agregacin) y se obtiene un valor de tiempo (estados) va a proporcionar una forma de concreto como resultado fsico, real, de la variable simular la evolucin en la accin de control ante unas de salida. Como se ha dicho, son varios los mtodos determinadas secuencias de datos. Esto nos permite tam- de concrecin que el sistema permite utilizar. bin registrar el comportamiento del sistema a lo largo En la Figura 6, una vez seleccionada la variable del tiempo, con el objetivo de tomar decisiones sobre el de salida, se visualizar el conjunto difuso resultante sistema (cambiar la base de reglas, o la definicin de de la acumulacin de clculos de la Fase 4. Junto a algunas etiquetas...). Esta opcin es muy importante para esto, se muestra en trazo discontinuo el valor actual el estudio del sistema, su evaluacin y su afinamiento. de salida obtenido en esta Fase 5 al aplicar el mto- Dicha evaluacin se realiza a travs de la ventana do de concrecin a dicho conjunto difuso de salida. calcular secuencias de datos de salida (Figura 8). La ventana se presenta con dos marcos de elementos. Por un 4.2 Clculo de las Variables de Salida para un Ins- lado, en la parte superior se encuentra el marco de datos tante Concreto (o para un Valor Concreto de las de entrada el cual contiene en su parte derecha un listado Variables de Entrada). con las variables de entrada. Aquellas que estn che- queadas sern visibles en el grfico de la izquierda (se- La agrupacin de todas las fases descritas anteriormente cuencia de datos de entrada). El eje X de ese grfico es el dan lugar al proceso global de clculo. Una forma rpida tiempo, medido en instantes en los cuales cada variable de suministrar al usuario la respuesta del sistema a unos toma un valor particular. Lo comentado anteriormente valores concretos de entrada, es por medio de la ventana para las variables de entrada es aplicable a las de salida de clculo de variables de salida (Figura 7). (parte inferior). La ventana dispone de dos listados: la parte superior En la Figura 8 puede verse cmo todas las variables izquierda contiene las variables de entrada y la parte de entrada son constantes menos la velocidad del viento. superior derecha, las variables de salida. Al seleccionar Un cambio brusco en la velocidad del viento, genera un una variable de entrada los datos de la misma son mos-
XII CONGRESO ESPAOL SOBRE TECNOLOGAS Y LGICA FUZZY 555
cierre inmediato de las ventanas. Tras ese cambio brusco, partir del tiempo transcurrido desde su plantacin. Esa las ventanas vuelven a abrirse. Como la velocidad del funcin es compleja de calcular matemticamente. Sin viento sigue aumentando lentamente, llega un momento embargo, usando los principios de control difuso podra en el que las ventanas vuelven a cerrarse. Puede verse ser factible calcular una aproximacin a esa funcin a que el resto de variables de salida toma valores graduales partir de reglas simples. segn la velocidad del viento va modificando sus valores de entrada en los distintos instantes de tiempo. REFERENCIAS
[1] I. Alvarez Lpez, S. Orestes Llanes. Una aplicacin
5. CONCLUSIONES de control difuso para secado de tabaco en hojas, Proyecto JA00/69 Consejera de Presidencia de la Hemos presentado aqu un software de simulacin de Junta de Andaluca, 2002. control difuso [5]. Una de las caractersticas ms impor- [2] A. M. G. Cornelissen, J. van den Berg, W. J. Koops, tantes es su flexibilidad que permite adaptarse a las posi- U. Kaaymak. Eliciting Expert Knowledge for bles necesidades de cada usuario dado su carcter flexi- Fuzzy Evaluation of Agricultural Production Sys- ble y redimensionable. El interfaz permite, de una forma tems, November 2002, http://www.erim.eur.nl sencilla y amena, introducirse en las nociones bsicas [3] Oscar G. Duarte, G. Prez. Unfuzzy: Fuzzy Logic sobre controladores difusos y gracias a la evaluacin System anlisis, design, simulation and implementa- paso a paso conocer de forma ms detallada el funcio- tion software. EUSFLAT-ESTYLF Joint Confer- namiento de un controlador basado en conocimiento ence (European Society for Fuzzy Logic and Tech- difuso. Adems, las ventanas de avisos incluyen explica- nology), pp. 251-254, Palma de Mallorca (Spain), ciones detalladas. Por estos motivos creemos, que SCD September 1999.Univ. Nacional de Colombia: podra ser una herramienta de carcter didctico muy http://ohm.ingsala.unal.edu.co/ogduarte til. El hecho de ser un programa gratuito y abierto [5] [4] E. G. Dunn, J. M. Keller, L. A. Marks. Extending hace que sea, en este punto superior a otros programas, the application of fuzzy sets to the problem of agri- como los citados en la Introduccin. cultural sustainability. 3rd International Symposium La bsqueda de la implantacin de los principios de on Uncertainty Modelling and Analysis, March 17- control difuso en los sistemas de produccin agrcola ha 20, pp. 497, College Park, Maryland, 1995. sido la gran meta a buscar con la elaboracin de este [5] C. Escobar. Software para Control Difuso de Todo software. El control difuso sera una herramienta ms Tipo de sistemas (SCD): Aplicacin al Control de que permitira a agricultores, cientficos recopilar Invernaderos Industriales. Proyecto Fin de Carrera informacin de la problemtica que los agrupa y obtener de Ingeniera Tcnica Industrial en Electrnica resultados productivos. Estos resultados productivos (Universidad de Mlaga), dirigido por J.Galindo, vendran dados por una capacidad de almacenamiento 2003: http://www.lcc.uma.es/~ppgg/PFC del conocimiento experto de forma que una maquina [6] J. Galindo. Curso sobre Conjuntos y Sistemas Di- pudiese servir de soporte de ayuda a la decisin. fusos (Lgica Difusa y Aplicaciones). Informe La aplicacin de SCD al control climtico de un Tcnico de Docencia. LCC-ITI-2001-11, del Dpto. invernadero de pimientos nos ha permitido su simula- de Lenguajes y Ciencias de la Computacin de la cin, de forma que podamos obtener informacin para Univ. de Mlaga, 2001 (www.lcc.uma.es). mejorar el cultivo. [7] J. George, Klir: Fuzzy Sets and Fuzzy Logics: Como trabajos futuros se pretende implementar fsi- Theory and Applications, NJ. Prentice Hall, 1995. camente el controlador. El objetivo sera no slo la simu- [8] P. Lorenzo, Dpto. de Horticultura y Und. Fisiologa lacin del sistema sino el control real del mismo por del Centro de Investigacin y Formacin Agraria parte de SCD. Para ello se tendra que elaborar un siste- (C.I.F.A. - Almera) Junta de Andaluca, ma de adquisicin de datos en tiempo real de las varia- fisiovht@arrakis.es bles de entrada actuando consecuentemente sobre los [9] E. H. Mamdani. Applications of fuzzy algorithms dispositivos fsicos que gestionen las variables de salida. for simple dynamic plant. Proc. IEE, Vol. 121, No. Por otra parte el sistema puede ampliarse incluyendo 12, pp. 1585-1588, 1974. ms funciones, especialmente para las opciones de infe- [10] A. Piegat, Fuzzy Modeling and Control. Physica- rencia (Tabla 1). No obstante eso no resulta tan necesa- Verlag (Studies in Fuzziness and Soft Comp.), 2001. rio. Quizs es ms importante incluir nuevos tipos de [11] Thiang, A. Hannawati, L. Resmana, H. Ferdinando. reglas que nos permitan expresar la base de conocimien- PetraFuz: a Low Cost Embedded Controller Based to de forma ms cmoda. Fuzzy Logic Development System, August 2001. El trabajo presentado podra ser utilizado tambin en http://ee.petra.ac.id/basiclab/petrafuz.htm el sentido de aproximador de funciones. Por ejemplo, [12] H. J. Zimmermann, P. Zysno. Latent connectives in supongamos, en el mbito de la agricultura, que una human decision making. Fuzzy Sets and Systems 4, funcin f calcula la evapotranspiracin de un cultivo a pp. 37-51, 1980.
556 XII CONGRESO ESPAOL SOBRE TECNOLOGAS Y LGICA FUZZY