Está en la página 1de 6

SOFTWARE GENRICO DE CONTROL DIFUSO:

APLICACIN EN AGRICULTURA INDUSTRIAL

Calixto Escobar Jos Galindo


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