You are on page 1of 6

SOFTWARE GENRICO DE CONTROL DIFUSO:

APLICACIN EN AGRICULTURA INDUSTRIAL


Calixto Escobar
Ingeniero Tcnico Industrial en Electrnica por la
Universidad de Mlaga, Espaa
calixto@auna.com

Resumen
En el presente documento se describe la aplicacin informtica Sistema de Control Difuso
(SCD), como plataforma que permite simular
algunos tipos de sistemas de control basados
en lgica difusa. Este software proporciona un
entorno intuitivo y claro para la creacin y
modificacin de los elementos que conforman
un sistema de control basado en conocimiento
difuso. La base de conocimiento de SCD est
formada por un conjunto de reglas del tipo
condicional <sientonces> siendo posible
la eleccin de operadores conectivos y de negacin entre antecedentes. El programa es
muy flexible, visualizando de forma grfica
las caractersticas de cada variable junto a los
datos de simulacin. Este software puede
aplicarse a cualquier mbito de la simulacin
industrial. En nuestro caso lo hemos aplicado
al control climtico en invernaderos industriales, como una posible herramienta para solucionar los distintos problemas que subyacen
en el mbito de los sistemas de control de
produccin agrcola. En sntesis, aqu presentamos un software genrico de simulacin de
control difuso, que se ha aplicado al funcionamiento de un sistema particular basado en
conocimiento difuso.
Palabras clave: Controlador Difuso, Lgica
Difusa, Controlador Basado en Conocimiento
Difuso, Software de Control Difuso, Sistema
Basado en Reglas, Agricultura.

1.

INTRODUCCIN

Desde que Mamdani [9] mostrase la primera aplicacin


de la Lgica Difusa al control de un proceso particular,
una extensa gama de aplicaciones, desde electrodomsticos a robots y sistemas de control industrial [6,7,10] han
sido desarrollados bajo las premisas del Control Difuso.
En la actualidad podemos encontrar una gran variedad de

Jos Galindo
Departamento de Lenguajes y Ciencias de la Computacin, Universidad de Mlaga, Espaa
ppgg@lcc.uma.es

software [1,3,11], capaz de controlar procesos y simularlos (Xfuzzy, FuzzyTech, Matlab Fuzzy Logic Toolbox,
por citar slo algunas de las ms recientes, junto a otros
mencionados en www.eusflat.org).
El software que aqu presentamos trata de ser una
aportacin con sustanciales mejoras respecto a otras
aportaciones (como la presentada en [3]). Cubre la finalidad de poder crear, de la forma ms general posible,
sistemas basados en conocimiento difuso. Adems, la
aplicacin de la lgica difusa a los sistemas de produccin agrcola [2, 4] es un enfoque adecuado en la bsqueda de soluciones pues servira como herramienta para
almacenar conocimiento experto de ayuda a la decisin. Por este motivo hemos aplicado el programa al
control climtico en un invernadero dedicado al cultivo
de pimientos en la zona del sureste espaol (Almera).
Por supuesto, el programa puede tambin aplicarse al
control de otros aspectos de la agricultura (fertirrigacin,
aplicacin de tratamientos fitosanitarios).
En primer lugar expondremos una descripcin del
software listando sus caractersticas principales y resumiendo su funcionamiento (Seccin 2). Seguidamente
mostraremos las fases de creacin del sistema de control
en la aplicacin (Seccin 3). Posteriormente expondremos los pasos a la hora de simular el sistema y para ello
veremos las distintas fases que realiza la aplicacin para
obtener las acciones de control (Seccin 4). Finalmente,
presentamos unas conclusiones, algunos trabajos futuros
y las referencias bibliogrficas.
2.

CARACTERSTICAS PRINCIPALES DEL


SOFTWARE SCD

SCD [5] trata de ser una plataforma genrica para el


desarrollo y simulacin de sistemas de control difuso. El
programa permite definir un sistema (variables, etiquetas, reglas...) y simular dicho sistema para una secuencia
de valores de entrada y obtener la correspondiente secuencia de accin de control (salida). SCD ha sido programado como aplicacin multidocumento (MDI) de
forma que sea posible manipular mltiples ventanas de
forma simultnea.

XII CONGRESO ESPAOL SOBRE TECNOLOGAS Y LGICA FUZZY

551

El primer men, Archivo, contiene las opciones tpicas de apertura, cierre, guardar necesarias para la gestin 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 informacin referente al fichero actualmente cargado. El
men Variables proporciona las opciones sobre las variables de entrada y salida (creacin, modificacin, eliminacin o restauracin). Igualmente, el men Reglas
permite aadir, modificar, eliminar, restaurar u organizar
las reglas en la base de conocimiento. En el men Inferencia 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

o
o

o
o
o

o
o

552

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.
Definicin rpida, cmoda y flexible de variables, reglas, etiquetas
7 tipos de Conjuntos Difusos: Gamma, L, Singleton, Intervalo, Tringulo, Trapecio y Trapecio
Extendido. Estas posibilidades son muy superiores a otros programas de este tipo.
Trapecio Extendido: Este novedoso tipo de conjunto difuso es una funcin lineal a trozos que
permite gran flexibilidad (incluso permite conjuntos no convexos) y eficiencia. Es redimensionable
en el nmero de puntos de inflexin de dicha funcin.
5 tipos de Difuminadores (para los valores de las
variables de entrada): Singleton, Intervalo, Tringulo, Trapecio y Trapecio Extendido.
Universo de Discurso: Tras modificaciones del
Universo de una variable, existe la opcin de
mantener la proporcionalidad de los conjuntos difusos previamente definidos (o mantenerlos fijos).
Anlisis Puntual y por Secuencia de Estados:
Para un valor concreto o para una secuencia temporal de datos.
Operador And: T-normas de la Familia Dubois
Prade, Frank, Yager, Mnimo, Producto Acotado,
Algebraico, Drstico, Einstein y Hamacher.
Operador Or: S-normas de la Familia Sugeno,
Yager, Mximo, Suma Acotada, Drstica y Producto.
Operador Implicacin: T-norma Mnimo.
Operador Agregacin: S-norma Mximo.
Generador de tablas de resultados en formato
HTML: Esto no est incluido en otros programas
de este tipo analizados.
Repres. grfica de variables lingsticas.
Ficheros de datos en formato texto.

Figura 1: Ventana General de SCD.


o

3.

12 tipos de Concresores (para los valores de las


variables de salida): Media de Mximos (MoM),
Centro de Gravedad (CoG), CoG de mayor rea,
CoG ponderado por el rea, CoG ponderado por
la altura, CoG de mayor altura, Punto de Mximo
Criterio (PMC) ponderado por el rea, PMC ponderado por la altura, Media del PMC, Media del
mnimo y mximo PMC, PMC de mayor rea, y
PMC de mayor altura.
Operador de Comparacin: T-norma del Mnimo.

CREACIN DE UN CONTROLADOR EN SCD

Un controlador queda definido en SCD cuando han sido


declaradas las variables de entrada y de salida, el conjunto de reglas y las opciones de inferencia. Dado que el
objetivo en un invernadero es conseguir un microclima
idneo para el desarrollo ptimo del cultivo, nos proponemos con esta idea simular el proceso de control climtico del invernadero bajo SCD.
3.1 Declaracin de Variables de Entrada
Como primer paso, se establecen las variables de entrada
que son segn los expertos [9]:
o
o
o
o
o

Radiacin Solar.
Temperatura.
Humedad Relativa.
Direccin del Viento.
Velocidad del Viento.

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 existente. Esta ltima opcin copia las etiquetas de otra variable 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 variable direccin del viento que permiten establecer un
nivel de seguridad estructural del invernadero (ante vientos fuertes). A travs del botn Modificar Parmetros de
esa Figura podr variar el contenido de dicha variable.
Para ello SCD visualizar una ventana (Figura 3) que
mostrar las caractersticas de la variable agrupndolas
en tres grupos: general, difuminador y conjuntos difusos.
En la Figura 3 se visualiza la pestaa conjuntos difusos
de la variable velocidad del viento, en concreto, la etiqueta lingstica leve de tipo L considerada por los expertos como un nivel de velocidad del viento hasta los 11
Km/h decreciendo con una pendiente del 16%.
3.2 Variables de Salida
En segundo lugar se estableceran las variables de salida,
que en nuestro caso son las siguientes:
o
o
o
o

Ventilacin Superior de Oeste y de Este.


Ventilacin Lateral del Oeste y de Este.
Nebulizacin.
Pantalla Trmica.

Se ha considerado la ventilacin a travs de ventanales distribuidos sobre el invernadero para gestionar las
renovaciones de aire, la nebulizacin como sistema de

Figura 4: Construyendo el Antecedente en una Regla.


gestin de la humedad interior del invernadero y la utilizacin de la pantalla trmica como elemento de retencin
de energa calorfica durante la noche y de sombreo
durante el da.
El mtodo de concrecin elegido para estas variables
ha sido el Centro de Gravedad ponderado por la Altura.
Este mtodo calcula el centro de gravedad de cada uno
de los conjuntos difusos resultantes del conjunto global
de salida, recibiendo en base a su altura un peso distinto.
Se ha recurrido a ste mtodo, porque creemos que la
nica caracterstica diferenciable entre los conjuntos
difusos del tipo singleton son la altura que puedan tomar
segn el grado de activacin de las reglas de control; al
ponderar por la altura las reglas que activen en dichos
conjuntos difusos tomarn su grado de importancia en el
resultado global.
3.3 Base de Reglas
Una vez definidas las variables de entrada y salida pasamos al tercer paso que es la construccin de la Base de
Conocimiento. Se han establecido las siguientes agrupaciones:

XII CONGRESO ESPAOL SOBRE TECNOLOGAS Y LGICA FUZZY

553

o
o
o

Reglas de Seguridad.
Reglas de Control Nocturno.
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 antecedente (Figura 4) y consecuente de cada regla. Estas ventanas muestran al usuario respectivamente todas las posibles variables de entrada y salida disponibles junto a los
correspondientes conjuntos difusos asociados a cada una.
Adems, en la formacin del antecedente existe la posibilidad de elegir entre operadores and/or entre trminos,
como se aprecia en la Figura 4.
3.4 Opciones de Inferencia
Por ltimo se estableceran las Opciones de Inferencia. En el presente estudio se han tomado como operadores los mostrados en la Tabla 1. La eleccin del producto
algebraico como operador and ha sido en base a lo expuesto en [12] en donde revela, a travs de experimentos,
que el operador del mnimo no trabaja bien como modelador del conectivo and.
Tabla 1: Opciones de Inferencia.
Operador
Implicacin
Agregacin
And
Or
Comparacin

4.

Tipo
Mnimo
Mximo
Producto Algebraico
Mximo
Mnimo

SIMULACIN DEL CONTROLADOR EN SCD

Una vez definido el controlador, nos disponemos a realizar un anlisis y exposicin de los resultados obtenidos a
travs de la simulacin del sistema en SCD. Para ello se
puede ejecutar la simulacin de tres formas distintas. En
una primera, la simulacin puede ejecutarse paso a paso
(Seccin 4.1), obteniendo todos los datos intermedios de
la inferencia. En segundo lugar, pueden tambin obtenerse los datos de salida directamente para un instante dado
segn unos valores de entrada establecidos (Seccin 4.2).
As, de forma rpida se podrn comprobar las consecuencias ante la variacin de los valores de entrada. Por
ltimo, tenemos la posibilidad de evaluar el sistema dada
una secuencia de valores de entrada (Seccin 4.3). De
esta forma podramos evaluar el sistema dado un registro de las variaciones de las distintas variables que actan
sobre el mismo, obteniendo tambin una secuencia en los
valores de cada variable de salida.
4.1 Simulacin Paso a Paso
El proceso de clculo del controlador basado en conocimiento difuso en SCD realiza cinco fases para la obten-

554

Figura 5: Fase 2, Activacin de Reglas.


cin de las acciones de control. Tales fases pueden ser
visualizadas a travs de sus correspondientes ventanas.
Estas cinco fases son:
1) Fase de Comparacin: Este proceso compara los
conjuntos difusos. Compara los valores de entrada
(difuminados segn el difuminador elegido) y los
distintos conjuntos difusos que conforman las etiquetas lingistas de la variable de entrada. Con esto
se mide en qu medida el difuminador y las etiquetas se superponen a travs del concepto de posibilidad (Poss).
2) Fase de Activacin de Reglas (Figura 5): Con los
valores de posibilidad de cada trmino que forman
los antecedentes en la base de conocimiento, se aplican los operadores and/or y not sobre estos trminos
en cada regla. Con esto se obtiene el grado de activacin de cada regla.
Todo este proceso se ilustra en la Figura 5, la cual
muestra en su parte superior el conjunto de reglas de
la base de conocimiento. El usuario podr seleccionar aquella regla sobre la cual desee ver de forma
descompuesta el proceso de obtencin del grado de
activacin. Una vez seleccionada el recuadro central
izquierdo mostrar las posibilidades de todos los
trminos que forman el antecedente de la regla y en
la parte central derecha se muestra el valor del grado
de activacin correspondiente a la regla seleccionada
junto a los tipos de operadores and/or utilizados.
3) Fase de Implicacin: El proceso de implicacin
trabaja sobre las variables de salida del sistema.
Aplica el operador de implicacin sobre cada uno de
los conjuntos difusos de cada variable de salida. Naturalmente, esto tiene en cuenta el grado de activacin de las reglas activadas que influyan sobre dicho
conjunto difuso de salida.
4) Fase de Agregacin: Se realiza a travs del operador de agregacin (unin). En esta fase se unirn los
conjuntos difusos resultantes de la fase de implicacin. Esta es la fase que unifica los criterios expresados en todas las reglas, generando un conjunto difuso que expresa la informacin de todas las reglas.

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 difusos que la forman, el difuminador y los puntos de interseccin. 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.
5) Fase de Concrecin (Figura 6): En la ltima fase se
procesa la informacin difusa (conjunto difuso resultante de la fase de agregacin) y se obtiene un valor
concreto como resultado fsico, real, de la variable
de salida. Como se ha dicho, son varios los mtodos
de concrecin que el sistema permite utilizar.
En la Figura 6, una vez seleccionada la variable
de salida, se visualizar el conjunto difuso resultante
de la acumulacin de clculos de la Fase 4. Junto a
esto, se muestra en trazo discontinuo el valor actual
de salida obtenido en esta Fase 5 al aplicar el mtodo de concrecin a dicho conjunto difuso de salida.
4.2 Clculo de las Variables de Salida para un Instante Concreto (o para un Valor Concreto de las
Variables de Entrada).
La agrupacin de todas las fases descritas anteriormente
dan lugar al proceso global de clculo. Una forma rpida
de suministrar al usuario la respuesta del sistema a unos
valores concretos de entrada, es por medio de la ventana
de clculo de variables de salida (Figura 7).
La ventana dispone de dos listados: la parte superior
izquierda contiene las variables de entrada y la parte
superior derecha, las variables de salida. Al seleccionar
una variable de entrada los datos de la misma son mos-

4.3 Simulacin de Secuencias de Valores de Entrada


La posibilidad de evaluar el sistema en distintos instantes
de tiempo (estados) va a proporcionar una forma de
simular la evolucin en la accin de control ante unas
determinadas secuencias de datos. Esto nos permite tambin registrar el comportamiento del sistema a lo largo
del tiempo, con el objetivo de tomar decisiones sobre el
sistema (cambiar la base de reglas, o la definicin de
algunas etiquetas...). Esta opcin es muy importante para
el estudio del sistema, su evaluacin y su afinamiento.
Dicha evaluacin se realiza a travs de la ventana
calcular secuencias de datos de salida (Figura 8). La
ventana se presenta con dos marcos de elementos. Por un
lado, en la parte superior se encuentra el marco de datos
de entrada el cual contiene en su parte derecha un listado
con las variables de entrada. Aquellas que estn chequeadas sern visibles en el grfico de la izquierda (secuencia de datos de entrada). El eje X de ese grfico es el
tiempo, medido en instantes en los cuales cada variable
toma un valor particular. Lo comentado anteriormente
para las variables de entrada es aplicable a las de salida
(parte inferior).
En la Figura 8 puede verse cmo todas las variables
de entrada son constantes menos la velocidad del viento.
Un cambio brusco en la velocidad del viento, genera un

XII CONGRESO ESPAOL SOBRE TECNOLOGAS Y LGICA FUZZY

555

cierre inmediato de las ventanas. Tras ese cambio brusco,


las ventanas vuelven a abrirse. Como la velocidad del
viento sigue aumentando lentamente, llega un momento
en el que las ventanas vuelven a cerrarse. Puede verse
que el resto de variables de salida toma valores graduales
segn la velocidad del viento va modificando sus valores
de entrada en los distintos instantes de tiempo.
5.

CONCLUSIONES

Hemos presentado aqu un software de simulacin de


control difuso [5]. Una de las caractersticas ms importantes es su flexibilidad que permite adaptarse a las posibles necesidades de cada usuario dado su carcter flexible y redimensionable. El interfaz permite, de una forma
sencilla y amena, introducirse en las nociones bsicas
sobre controladores difusos y gracias a la evaluacin
paso a paso conocer de forma ms detallada el funcionamiento de un controlador basado en conocimiento
difuso. Adems, las ventanas de avisos incluyen explicaciones detalladas. Por estos motivos creemos, que SCD
podra ser una herramienta de carcter didctico muy
til. El hecho de ser un programa gratuito y abierto [5]
hace que sea, en este punto superior a otros programas,
como los citados en la Introduccin.
La bsqueda de la implantacin de los principios de
control difuso en los sistemas de produccin agrcola ha
sido la gran meta a buscar con la elaboracin de este
software. El control difuso sera una herramienta ms
que permitira a agricultores, cientficos recopilar
informacin de la problemtica que los agrupa y obtener
resultados productivos. Estos resultados productivos
vendran dados por una capacidad de almacenamiento
del conocimiento experto de forma que una maquina
pudiese servir de soporte de ayuda a la decisin.
La aplicacin de SCD al control climtico de un
invernadero de pimientos nos ha permitido su simulacin, de forma que podamos obtener informacin para
mejorar el cultivo.
Como trabajos futuros se pretende implementar fsicamente el controlador. El objetivo sera no slo la simulacin del sistema sino el control real del mismo por
parte de SCD. Para ello se tendra que elaborar un sistema de adquisicin de datos en tiempo real de las variables de entrada actuando consecuentemente sobre los
dispositivos fsicos que gestionen las variables de salida.
Por otra parte el sistema puede ampliarse incluyendo
ms funciones, especialmente para las opciones de inferencia (Tabla 1). No obstante eso no resulta tan necesario. Quizs es ms importante incluir nuevos tipos de
reglas que nos permitan expresar la base de conocimiento de forma ms cmoda.
El trabajo presentado podra ser utilizado tambin en
el sentido de aproximador de funciones. Por ejemplo,
supongamos, en el mbito de la agricultura, que una
funcin f calcula la evapotranspiracin de un cultivo a

556

partir del tiempo transcurrido desde su plantacin. Esa


funcin es compleja de calcular matemticamente. Sin
embargo, usando los principios de control difuso podra
ser factible calcular una aproximacin a esa funcin a
partir de reglas simples.
REFERENCIAS
[1] I. Alvarez Lpez, S. Orestes Llanes. Una aplicacin
de control difuso para secado de tabaco en hojas,
Proyecto JA00/69 Consejera de Presidencia de la
Junta de Andaluca, 2002.
[2] A. M. G. Cornelissen, J. van den Berg, W. J. Koops,
U. Kaaymak. Eliciting Expert Knowledge for
Fuzzy Evaluation of Agricultural Production Systems, November 2002, http://www.erim.eur.nl
[3] Oscar G. Duarte, G. Prez. Unfuzzy: Fuzzy Logic
System anlisis, design, simulation and implementation software. EUSFLAT-ESTYLF Joint Conference (European Society for Fuzzy Logic and Technology), pp. 251-254, Palma de Mallorca (Spain),
September 1999.Univ. Nacional de Colombia:
http://ohm.ingsala.unal.edu.co/ogduarte
[4] E. G. Dunn, J. M. Keller, L. A. Marks. Extending
the application of fuzzy sets to the problem of agricultural sustainability. 3rd International Symposium
on Uncertainty Modelling and Analysis, March 1720, pp. 497, College Park, Maryland, 1995.
[5] C. Escobar. Software para Control Difuso de Todo
Tipo de sistemas (SCD): Aplicacin al Control de
Invernaderos Industriales. Proyecto Fin de Carrera
de Ingeniera Tcnica Industrial en Electrnica
(Universidad de Mlaga), dirigido por J.Galindo,
2003: http://www.lcc.uma.es/~ppgg/PFC
[6] J. Galindo. Curso sobre Conjuntos y Sistemas Difusos (Lgica Difusa y Aplicaciones). Informe
Tcnico de Docencia. LCC-ITI-2001-11, del Dpto.
de Lenguajes y Ciencias de la Computacin de la
Univ. de Mlaga, 2001 (www.lcc.uma.es).
[7] J. George, Klir: Fuzzy Sets and Fuzzy Logics:
Theory and Applications, NJ. Prentice Hall, 1995.
[8] P. Lorenzo, Dpto. de Horticultura y Und. Fisiologa
del Centro de Investigacin y Formacin Agraria
(C.I.F.A. - Almera) Junta de Andaluca,
fisiovht@arrakis.es
[9] E. H. Mamdani. Applications of fuzzy algorithms
for simple dynamic plant. Proc. IEE, Vol. 121, No.
12, pp. 1585-1588, 1974.
[10] A. Piegat, Fuzzy Modeling and Control. PhysicaVerlag (Studies in Fuzziness and Soft Comp.), 2001.
[11] Thiang, A. Hannawati, L. Resmana, H. Ferdinando.
PetraFuz: a Low Cost Embedded Controller Based
Fuzzy Logic Development System, August 2001.
http://ee.petra.ac.id/basiclab/petrafuz.htm
[12] H. J. Zimmermann, P. Zysno. Latent connectives in
human decision making. Fuzzy Sets and Systems 4,
pp. 37-51, 1980.

XII CONGRESO ESPAOL SOBRE TECNOLOGAS Y LGICA FUZZY

You might also like