8/16/2019 Aplicación en Agricultura
1/6
SOFTWARE GENÉRICO DE CONTROL DIFUSO:APLICACIÓN EN AGRICULTURA INDUSTRIAL
Calixto Escobar
Ingeniero Técnico Industrial en Electrónica por laUniversidad de Málaga, España
José Galindo
Departamento de Lenguajes y Ciencias de la Computa-ción, Universidad de Málaga, España
Resumen
En el presente documento se describe la apli-
cación informática Sistema de Control Difuso(SCD), como plataforma que permite simularalgunos tipos de sistemas de control basadosen lógica difusa. Este software proporciona unentorno intuitivo y claro para la creación ymodificación de los elementos que conforman
un sistema de control basado en conocimientodifuso. La base de conocimiento de SCD estáformada por un conjunto de reglas del tipocondicional siendo posiblela elección de operadores conectivos y de ne-gación entre antecedentes. El programa es
muy flexible, visualizando de forma gráficalas características de cada variable junto a losdatos de simulación. Este software puede
aplicarse a cualquier ámbito de la simulaciónindustrial. En nuestro caso lo hemos aplicadoal control climático en invernaderos industria-
les, como una posible herramienta para solu-cionar los distintos problemas que subyacen
en el ámbito de los sistemas de control de producción agrícola. En síntesis, aquí presen-tamos un software genérico de simulación decontrol difuso, que se ha aplicado al funcio-
namiento de un sistema particular basado enconocimiento difuso.
Palabras clave: Controlador Difuso, Lógica
Difusa, Controlador Basado en ConocimientoDifuso, Software de Control Difuso, Sistema
Basado en Reglas, Agricultura.
1. INTRODUCCIÓN
Desde que Mamdani [9] mostrase la primera aplicaciónde la Lógica Difusa al control de un proceso particular,una extensa gama de aplicaciones, desde electrodomésti-cos a robots y sistemas de control industrial [6,7,10] hansido desarrollados bajo las premisas del Control Difuso.En la actualidad podemos encontrar una gran variedad de
software [1,3,11], capaz de controlar procesos y simular-los (Xfuzzy, FuzzyTech, Matlab Fuzzy Logic Toolbox, por citar sólo algunas de las más recientes, junto a otrosmencionados en www.eusflat.org).
El software que aquí presentamos trata de ser unaaportación con sustanciales mejoras respecto a otras
aportaciones (como la presentada en [3]). Cubre la fina-lidad de poder crear, de la forma más general posible,sistemas basados en conocimiento difuso. Además, laaplicación de la lógica difusa a los sistemas de produc-ción agrícola [2, 4] es un enfoque adecuado en la bús-queda de soluciones pues serviría como herramienta para
“almacenar” conocimiento experto de ayuda a la deci-sión. Por este motivo hemos aplicado el programa alcontrol climático en un invernadero dedicado al cultivode pimientos en la zona del sureste español (Almería).Por supuesto, el programa puede también aplicarse alcontrol de otros aspectos de la agricultura (fertirrigación,aplicación de tratamientos fitosanitarios…).
En primer lugar expondremos una descripción delsoftware listando sus características principales y resu-miendo su funcionamiento (Sección 2). Seguidamentemostraremos las fases de creación del sistema de controlen la aplicación (Sección 3). Posteriormente expondre-mos los pasos a la hora de simular el sistema y para ello
veremos las distintas fases que realiza la aplicación paraobtener las acciones de control (Sección 4). Finalmente, presentamos unas conclusiones, algunos trabajos futurosy las referencias bibliográficas.
2. CARACTERÍSTICAS PRINCIPALES DELSOFTWARE SCD
SCD [5] trata de ser una plataforma genérica para eldesarrollo y simulación de sistemas de control difuso. El programa permite definir un sistema (variables, etique-
tas, reglas...) y simular dicho sistema para una secuenciade valores de entrada y obtener la correspondiente se-cuencia de acción de control (salida). SCD ha sido pro-gramado como aplicación multidocumento (MDI) deforma que sea posible manipular múltiples ventanas deforma simultánea.
XII CONGRESO ESPAÑOL SOBRE TECNOLOGÍAS Y LÓGICA FUZZY 551
mailto:[email protected]:[email protected]:[email protected]:[email protected]
8/16/2019 Aplicación en Agricultura
2/6
El primer menú, Archivo, contiene las opciones típi-cas de apertura, cierre, guardar… necesarias para la ges-tión de los ficheros de la aplicación. Seguidamente seencuentra el menú Ver , el cual permite al usuario mostrarlas ventanas General y de Reglas. La ventana General
(Figura 1) muestra, en estructura de árbol, toda la infor-
mación referente al fichero actualmente cargado. Elmenú Variables proporciona las opciones sobre las va-riables de entrada y salida (creación, modificación, eli-minación o restauración). Igualmente, el menú Reglas permite añadir, modificar, eliminar, restaurar u organizar
las reglas en la base de conocimiento. En el menú Infe-rencia se encuentran las distintas opciones de simulación
que posteriormente comentaremos en la Sección 4 juntoa la edición de las opciones de inferencia.
Las principales características de SCD son:
o Redimensionable en tiempo de ejecución en el
número de variables de entrada, salida, reglas,conjuntos difusos de cada variable y antecedentesy consecuentes en cada regla.
o Definición rápida, cómoda y flexible de varia- bles, reglas, etiquetas…
Figura 1: Ventana General de SCD.
o 7 tipos de Conjuntos Difusos: Gamma, L, Sin-gleton, Intervalo, Triángulo, Trapecio y TrapecioExtendido. Estas posibilidades son muy superio-res a otros programas de este tipo.
o Trapecio Extendido: Este novedoso tipo de con- junto difuso es una función lineal a trozos que permite gran flexibilidad (incluso permite conjun-
tos no convexos) y eficiencia. Es redimensionable
en el número de puntos de inflexión de dicha fun-ción.
o 5 tipos de Difuminadores (para los valores de lasvariables de entrada): Singleton, Intervalo, Trián-gulo, Trapecio y Trapecio Extendido.
o Universo de Discurso: Tras modificaciones delUniverso de una variable, existe la opción demantener la proporcionalidad de los conjuntos di-fusos previamente definidos (o mantenerlos fijos).
o Análisis Puntual y por Secuencia de Estados:Para un valor concreto o para una secuencia tem-
poral de datos.o Operador And: T-normas de la Familia Dubois
Prade, Frank, Yager, Mínimo, Producto Acotado,Algebraico, Drástico, Einstein y Hamacher.
o Operador Or: S-normas de la Familia Sugeno,Yager, Máximo, Suma Acotada, Drástica y Pro-
ducto.o Operador Implicación: T-norma Mínimo.o Operador Agregación: S-norma Máximo.o Generador de tablas de resultados en formato
HTML: Esto no está incluido en otros programasde este tipo analizados.
o Repres. gráfica de variables lingüísticas. o Ficheros de datos en formato texto.
o 12 tipos de Concresores (para los valores de lasvariables de salida): Media de Máximos (MoM),Centro de Gravedad (CoG), CoG de mayor área,CoG ponderado por el área, CoG ponderado porla altura, CoG de mayor altura, Punto de MáximoCriterio (PMC) ponderado por el área, PMC pon-derado por la altura, Media del PMC, Media del
mínimo y máximo PMC, PMC de mayor área, y
PMC de mayor altura.o Operador de Comparación: T-norma del Míni-
mo.
3. CREACIÓN DE UN CONTROLADOR EN SCD
Un controlador queda definido en SCD cuando han sidodeclaradas las variables de entrada y de salida, el con- junto de reglas y las opciones de inferencia. Dado que elobjetivo en un invernadero es conseguir un microclima
idóneo para el desarrollo óptimo del cultivo, nos propo-nemos con esta idea simular el proceso de control climá-
tico del invernadero bajo SCD.
3.1 Declaración de Variables de Entrada
Como primer paso, se establecen las variables de entrada que son según los expertos [9]:
o Radiación Solar. o Temperatura. o Humedad Relativa. o Dirección del Viento. o Velocidad del Viento.
552 XII CONGRESO ESPAÑOL SOBRE TECNOLOGÍAS Y LÓGICA FUZZY
8/16/2019 Aplicación en Agricultura
3/6
Figura 2: Ventana de una Variable de Entrada.
Figura 3: Modificar Parámetros de una Variable.
En la creación de una variable de entrada en SCD elusuario podrá optar por crear una nueva variable sinetiquetas lingüísticas o bien a semejaza de una ya exis-tente. Esta última opción copia las etiquetas de otra va-riable y, posteriormente, podrán modificarse.
Una vez creada, se visualizará una ventana como laFigura 2 que mostrará toda la información concerniente adicha variable visualizando en su parte superior izquierdaa través de una estructura de árbol los valores actuales desus parámetros. En la parte superior derecha se exponela representación gráfica del tipo de difuminador y en la parte inferior las de las etiquetas lingüísticas.
En este caso la Figura 2 muestra los datos de la va-
riable dirección del viento que permiten establecer unnivel de seguridad estructural del invernadero (ante vien-tos fuertes). A través del botón Modificar Parámetros de
esa Figura podrá variar el contenido de dicha variable.Para ello SCD visualizará una ventana (Figura 3) que
mostrará las características de la variable agrupándolasen tres grupos: general, difuminador y conjuntos difusos.En la Figura 3 se visualiza la pestaña conjuntos difusosde la variable velocidad del viento, en concreto, la eti-
queta lingüística leve de tipo L considerada por los ex- pertos como un nivel de velocidad del viento hasta los 11
Km/h decreciendo con una pendiente del 16%.
Figura 4: Construyendo el Antecedente en una Regla.
3.2 Variables de Salida
En segundo lugar se establecerían las variables de salida,que en nuestro caso son las siguientes:
o Ventilación Superior de Oeste y de Este. o Ventilación Lateral del Oeste y de Este. o Nebulización. o Pantalla Térmica.
Se ha considerado la ventilación a través de ventana-les distribuidos sobre el invernadero para gestionar las
renovaciones de aire, la nebulización como sistema de
gestión de la humedad interior del invernadero y la utili-zación de la pantalla térmica como elemento de retención
de energía calorífica durante la noche y de sombreodurante el día.
El método de concreción elegido para estas variablesha sido el Centro de Gravedad ponderado por la Altura.Este método calcula el centro de gravedad de cada unode los conjuntos difusos resultantes del conjunto global
de salida, recibiendo en base a su altura un peso distinto.Se ha recurrido a éste método, porque creemos que la
única característica diferenciable entre los conjuntosdifusos del tipo singleton son la altura que puedan tomarsegún el grado de activación de las reglas de control; al ponderar por la altura las reglas que activen en dichosconjuntos difusos tomarán su grado de importancia en el
resultado global.
3.3 Base de Reglas
Una vez definidas las variables de entrada y salida pasa-mos al tercer paso que es la construcción de la Base deConocimiento. Se han establecido las siguientes agrupa-ciones:
XII CONGRESO ESPAÑOL SOBRE TECNOLOGÍAS Y LÓGICA FUZZY 553
8/16/2019 Aplicación en Agricultura
4/6
8/16/2019 Aplicación en Agricultura
5/6
Figura 6: Fase 4, Concreción.
5)
Fase de Concreción (Figura 6): En la última fase se procesa la información difusa (conjunto difuso resul-tante de la fase de agregación) y se obtiene un valorconcreto como resultado físico, real, de la variablede salida. Como se ha dicho, son varios los métodos
de concreción que el sistema permite utilizar. En la Figura 6, una vez seleccionada la variable
de salida, se visualizará el conjunto difuso resultantede la acumulación de cálculos de la Fase 4. Junto a
esto, se muestra en trazo discontinuo el valor actualde salida obtenido en esta Fase 5 al aplicar el méto-
do de concreción a dicho conjunto difuso de salida.
4.2
Cálculo de las Variables de Salida para un Ins-tante Concreto (o para un Valor Concreto de lasVariables de Entrada).
La agrupación de todas las fases descritas anteriormentedan lugar al proceso global de cálculo. Una forma rápidade suministrar al usuario la respuesta del sistema a unosvalores concretos de entrada, es por medio de la ventanade cálculo de variables de salida (Figura 7).
La ventana dispone de dos listados: la parte superior
izquierda contiene las variables de entrada y la partesuperior derecha, las variables de salida. Al seleccionaruna variable de entrada los datos de la misma son mos-
trados gráficamente 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-sección. El valor actual podrá ser modificado y de formaautomática se realizará el proceso de cálculo global quese indicará en el gráfico de salida de la derecha. Igualque se explicó en el apartado anterior, se muestra el valor
concreto de salida (trazo discontinuo) junto al conjuntodifuso resultante tras la Fase 4.
Figura 7: Calcular variables de salida.
Figura 8: Calcular secuencia de datos de salida.
4.3 Simulación de Secuencias de Valores de Entrada
La posibilidad de evaluar el sistema en distintos instantes
de tiempo (estados) va a proporcionar una forma desimular la evolución en la acción de control ante unasdeterminadas secuencias de datos. Esto nos permite tam- bién registrar el comportamiento del sistema a lo largodel tiempo, con el objetivo de tomar decisiones sobre elsistema (cambiar la base de reglas, o la definición de
algunas etiquetas...). Esta opción es muy importante parael estudio del sistema, su evaluación y su afinamiento.
Dicha evaluación se realiza a través de la ventanacalcular secuencias de datos de salida (Figura 8). Laventana se presenta con dos marcos de elementos. Por un
lado, en la parte superior se encuentra el marco de datosde entrada el cual contiene en su parte derecha un listadocon las variables de entrada. Aquellas que estén che-queadas serán visibles en el gráfico de la izquierda (se-cuencia de datos de entrada). El eje X de ese gráfico es eltiempo, medido en “instantes” en los cuales cada variabletoma 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 cómo todas las variables
de entrada son constantes menos la velocidad del viento.Un cambio brusco en la velocidad del viento, genera un
XII CONGRESO ESPAÑOL SOBRE TECNOLOGÍAS Y LÓGICA FUZZY 555
8/16/2019 Aplicación en Agricultura
6/6
cierre inmediato de las ventanas. Tras ese cambio brusco,las ventanas vuelven a abrirse. Como la velocidad delviento sigue aumentando lentamente, llega un momentoen el que las ventanas vuelven a cerrarse. Puede verseque el resto de variables de salida toma valores graduales
según la velocidad del viento va modificando sus valores
de entrada en los distintos instantes de tiempo.
5. CONCLUSIONES
Hemos presentado aquí un software de simulación decontrol difuso [5]. Una de las características más impor-
tantes es su flexibilidad que permite adaptarse a las posi- bles necesidades de cada usuario dado su carácter flexi- ble y redimensionable. El interfaz permite, de una formasencilla y amena, introducirse en las nociones básicas
sobre controladores difusos y gracias a la evaluación paso a paso conocer de forma más detallada el funcio-
namiento de un controlador basado en conocimientodifuso. Además, las ventanas de avisos incluyen explica-ciones detalladas. Por estos motivos creemos, que SCD podría ser una herramienta de carácter didáctico 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 Introducción.La búsqueda de la implantación de los principios de
control difuso en los sistemas de producción agrícola hasido la gran meta a buscar con la elaboración de este
software. El control difuso sería una herramienta másque permitiría a agricultores, científicos… recopilar
información de la problemática que los agrupa y obtener
resultados productivos. Estos resultados productivosvendrían dados por una capacidad de “almacenamiento”del conocimiento experto de forma que una “maquina” pudiese servir de soporte de ayuda a la decisión.
La aplicación de SCD al control climático de un
invernadero de pimientos nos ha permitido su simula-ción, de forma que podamos obtener información paramejorar el cultivo.
Como trabajos futuros se pretende implementar físi-camente el controlador. El objetivo sería no sólo la simu-lación del sistema sino el control real del mismo por
parte de SCD. Para ello se tendría que elaborar un siste-ma de adquisición de datos en tiempo real de las varia-
bles de entrada actuando consecuentemente sobre losdispositivos físicos que gestionen las variables de salida.
Por otra parte el sistema puede ampliarse incluyendomás funciones, especialmente para las opciones de infe-
rencia (Tabla 1). No obstante eso no resulta tan necesa-rio. Quizás es más importante incluir nuevos tipos dereglas que nos permitan expresar la base de conocimien-to de forma más cómoda.
El trabajo presentado podría ser utilizado también enel sentido de aproximador de funciones. Por ejemplo,supongamos, en el ámbito de la agricultura, que una
función f calcula la evapotranspiración de un cultivo a
partir del tiempo transcurrido desde su plantación. Esafunción es compleja de calcular matemáticamente. Sinembargo, usando los principios de control difuso podríaser factible calcular una aproximación a esa función a partir de reglas simples.
REFERENCIAS
[1] I. Alvarez López, S. Orestes Llanes. “Una aplicaciónde control difuso para secado de tabaco en hojas”,Proyecto JA00/69 Consejería de Presidencia de la
Junta de Andalucía, 2002.[2] A. M. G. Cornelissen, J. van den Berg, W. J. Koops,
U. Kaaymak. “Eliciting Expert Knowledge forFuzzy Evaluation of Agricultural Production Sys-tems”, November 2002, http://www.erim.eur.nl
[3] Oscar G. Duarte, G. Pérez. “Unfuzzy: Fuzzy Logic
System análisis, design, simulation and implementa-tion software”. EUSFLAT-ESTYLF Joint Confer-
ence (European Society for Fuzzy Logic and Tech-nology), 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. “Extendingthe application of fuzzy sets to the problem of agri-
cultural sustainability”. 3rd
International Symposiumon Uncertainty Modelling and Analysis, March 17-20, pp. 497, College Park, Maryland, 1995.
[5] C. Escobar. “Software para Control Difuso de Todo
Tipo de sistemas (SCD): Aplicación al Control deInvernaderos Industriales”. Proyecto Fin de Carrera
de Ingeniería Técnica Industrial en Electrónica
(Universidad de Málaga), dirigido por J.Galindo,2003: http://www.lcc.uma.es/~ppgg/PFC
[6] J. Galindo. Curso sobre “Conjuntos y Sistemas Di-fusos (Lógica Difusa y Aplicaciones)”. InformeTécnico de Docencia. LCC-ITI-2001-11, del Dpto.
de Lenguajes y Ciencias de la Computación de laUniv. de Málaga, 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. Fisiologíadel Centro de Investigación y Formación Agraria
(C.I.F.A. - Almería) Junta de Andalucía,[email protected]
[9]
E. H. Mamdani. “Applications of fuzzy algorithmsfor simple dynamic plant”. Proc. IEE, Vol. 121, No.12, pp. 1585-1588, 1974.
[10] A. Piegat, “Fuzzy Modeling and Control”. Physica-
Verlag (Studies in Fuzziness and Soft Comp.), 2001.[11] Thiang, A. Hannawati, L. Resmana, H. Ferdinando.
“PetraFuz: a Low Cost Embedded Controller BasedFuzzy Logic Development System”, August 2001.http://ee.petra.ac.id/basiclab/petrafuz.htm
[12] H. J. Zimmermann, P. Zysno. “Latent connectives inhuman decision making”. Fuzzy Sets and Systems 4,
pp. 37-51, 1980.
556 XII CONGRESO ESPAÑOL SOBRE TECNOLOGÍAS Y LÓGICA FUZZY
http://www.erim.eur.nl/http://ohm.ingsala.unal.edu.co/ogduartehttp://www.lcc.uma.es/~ppgg/PFChttp://www.lcc.uma.es/mailto:[email protected]://ee.petra.ac.id/basiclab/petrafuz.htmhttp://ee.petra.ac.id/basiclab/petrafuz.htmmailto:[email protected]://www.lcc.uma.es/http://www.lcc.uma.es/~ppgg/PFChttp://ohm.ingsala.unal.edu.co/ogduartehttp://www.erim.eur.nl/