METODOLOGIA PARA LA IMPLEMENTACIÓN DE SISTEMAS DE INFERENCIA DIFUSO TIPO SUGENO EN SISTEMAS...

Click here to load reader

Transcript of METODOLOGIA PARA LA IMPLEMENTACIÓN DE SISTEMAS DE INFERENCIA DIFUSO TIPO SUGENO EN SISTEMAS...

METODOLOGIA PARA LA IMPLEMENTACIN DE SISTEMAS DE INFERENCIA DIFUSO TIPO SUGENO EN SISTEMAS EMBEBIDOSIng. Javier Castillo M.Sc*, Ing. Eduardo Caicedo Ph.D* * Universidad del valle, Grupo de investigacin Percepcin y Sistemas Inteligentes. [email protected], [email protected], [email protected]

Resumen Se presenta una metodologa que permite implementar en un sistema embebido de bajo costo como un microcontrolador, un sistema de inferencia difuso tipo Sugeno. Se presenta la forma de calcular los tiempos de ejecucin, el espacio de memoria requerido, los campos necesarios en la trama de datos para comunicar la herramienta computacional y el sistema embebido y la forma de implementar el algoritmo para ejecutar el sistema de inferencia difuso. Se logr ejecutar sistemas de inferencia difuso tipo Sugeno, observando la facilidad que se presenta en la implementacin y se obtuvieron coeficientes de correlacin del orden de 99% indicando una alta fiabilidad o concordancia entre los resultados entregados por la herramienta de diseo y los obtenidos en el sistema embebido. Palabras claves: fuzzy, sistemas embebidos, Sugeno, sistema inferencia difuso. Abstract Se presenta una metodologa que permite implementar en un sistema embebido de bajo costo como un microcontrolador, un sistema de inferencia difuso tipo Sugeno. Se presenta la forma de calcular los tiempos de ejecucin, el espacio de memoria requerido, los campos necesarios en la trama de datos para comunicar la herramienta computacional y el sistema embebido y la forma de implementar el algoritmo para ejecutar el sistema de inferencia difuso. Se logr ejecutar sistemas de inferencia difuso tipo Sugeno, observando la facilidad que se presenta en la implementacin y se obtuvieron coeficientes de correlacin del orden de 99% indicando una alta fiabilidad o concordancia entre los resultados entregados por la herramienta de diseo y los obtenidos en el sistema embebido. Keywords: fuzzy, embebed system, Sugeno, Fuzzy Inference System.

1. INTRODUCCIN Recientemente, el nmero y la variedad de aplicaciones de lgica difusa se han incrementado significativamente. Las aplicaciones van desde productos de consumo tales como cmaras, lavadoras, hasta

proceso de control industrial, instrumentacin mdica, etc. Existen en el mercado herramientas computacionales que permiten simular sistemas de inferencia difusa en conjunto con los sistemas a controlar o modelar, con esto se logra ajustar y redefinir las reglas, los

parmetros de entrada y salida del sistema antes de ser llevados a su implementacin. La tecnologa fuzzy o difusa se utiliza :[1] -en procesos complejos - si no existe un modelo de solucin sencillo, - en proceso no lineales - Cuando haya que introducir la experiencia de un operador experto que se base en conceptos imprecisos obtenidos de su experiencia. - Cuando ciertas partes del sistema a controlar son desconocidas y no pueden medirse de forma fiable (con errores posibles). - Cuando el ajuste de una variable puede producir el desajuste de otras. En general, cuando se quieran representar y operar con conceptos que tengan imprecisin o incertidumbre (como en las Bases de Datos Difusas). En este articulo se pretende acercar las potencialidades de los sistemas de inferencia difusa, ha aquellos niveles de conocimientos bsicos, ya que los sistemas embebidos particularmente aquellos que tienen como base los sistemas microcontrolado de bajo costo, en ellos se presenta una gran dificultad en la implementacin de estas tcnicas, ya que no cuentan con hardware y/o software especifico para tal fin y cada modificacin o redefinicin de reglas, funciones de pertenencia puede implicar, volver a disear el algoritmo, trayendo consigo demoras en la implementacin.

2. ANTECEDENTES Existen diversos documento donde se referencias sistemas difusos implementados en sistemas microcontrolados, en los cuales solo se presentan soluciones particulares, es decir que si se necesita modificar alguna regla o incrementar las salidas o entradas, implican redefinir el algoritmo de cada implementacin.[5],[6],[7]. 3. SISTEMA DE DIFUSA INFERENCIA

La inferencia difusa es un proceso que formula el mapeo de las salidas desde unas entradas usando tcnicas de lgica difusa. El mapeo provee las bases desde las cuales se pueden tomar decisiones o discernir patrones. Para caracterizar los procesos de inferencia difusa se deben definir: Funciones de pertenencia, operaciones lgicas y reglas de si entonces.[1]. Se pueden implementar dos tipos de sistemas de inferencia difusos: los tipos Mamdani y los Sugeno. Estos dos tipos de sistemas de inferencia varan en la forma de generar la salida. En la figura No.1 se muestra el esquema general de un sistema de inferencia difusa [2], [3], [4], este tipo de sistemas utilizan dos elementos, uno que transforma las variables numricas a conjuntos difusos (Fuzzificador) y un segundo, que transforma las variables difusas en numricas (defuzzificador). El

mecanismo de inferencia internamente, corresponde a un sistema difuso puro, ya que procesa variables difusas. A estos sistemas tambin se les denomina Controladores Difusos ya que son usualmente utilizados para controlar sistemas dinmicos recurriendo a la modificacin de la seal de salida hacia un actuador, mediante reglas difusas.

lineal de estas. La principal ventaja de este sistema es su simplicidad a la hora de ser implementado. 3.1. Estructura de datos de un sistema de inferencia difuso (FIS)

En la figura No.2 se observa la estructura de datos de un sistema de inferencia difusa (FIS de sus siglas en ingles). El primer campo contiene informacin del tipo de inferencia, el mtodo para calcular la fuzzificacin y desfuzzificacin, luego se encuentran los campos de las entradas y salidas; donde se definen los tipos de funciones de pertenencia y tambin se definen las reglas indicando la relacin entre los antecedentes y los consecuentes. 3.2. Sistema de inferencia difuso tipo Sugeno

Figura No.1 Esquema general de un sistema de inferencia difusa

Este sistema tiene varias caractersticas interesantes: Primero, es til para sistemas en ingeniera, ya que sus entradas y salidas son numricas; segundo, provee un entorno natural para incorporar informacin lingstica; tercero, hay diferentes tipos de fuzzificadores, defuzzificadores y sistemas de inferencia. En un sistema de inferencia tipo Mamdani, tanto las entradas como las salidas las definimos como conjuntos difusos, lo que trae como ventaja el utilizar completamente la informacin lingstica para describir el problema a solucionar. En un sistema de inferencia tipo Sugeno las entradas se definen como conjuntos difusos, pero las salidas se definen en funcin de las entradas, usualmente como una combinacin

El mtodo de inferencia Sugeno fue introducido en 1985 [4], es similar al mtodo de Mamdani en muchos aspectos. Las dos primeras partes del proceso de inferencia, la fuzzificacin de las entradas y la aplicacin del operador fuzzy son exactamente el mismo. La principal diferencia entre Mamdani y Sugeno estriba en que las funciones de pertenencia de las salidas pueden ser valores constantes o se pueden representar como una combinacin lineal de las entradas. Una tpica regla en el modelo Sugeno tiene la siguiente forma:

If Input 1 = x and Input 2 = y, then Output is z = ax + by + c

Figura No.3 Sistema de inferencia difuso tipo Sugeno

Las siguientes son las consideraciones finales acerca de los dos diferentes mtodos:Figura No.2 Estructura de datos de un FIS

Ventajas del mtodo Sugeno Computacionalmente ms eficiente Trabaja bien con tcnicas lineales (ejem. Controladores PID) Trabaja bien con tcnicas adaptativas y de optimizacin Garantiza continuidad en la salida Es una buena plataforma para el anlisis matemtico

Para un modelo Sugeno de orden cero, los niveles de salida z tienen una constante y los parmetros (a=b=0). El nivel de salida zi de cada regla es ponderado por el valor wi de la regla. Por ejemplo, para una regla AND con Input 1 = x & Input 2 = y, el ponderado correspondiente es:( ) ( )

-

( )

Donde F1,2 (.) son la funciones de pertenencia para las entradas Inputs 1 and 2. La salida final del sistema es el ponderado promedio de todas las reglas, este se calcula como sigue: ( )

Ventajas del mtodo Mamdani Es intuitivo Tiene una amplia aceptacin Es una buena plataforma para el operario humano

4. HERRAMIENTAS PARA LA GENERACIN DE LOS SISTEMAS FIS Dentro del campo de aplicacin de la ingeniera han surgido muchas herramientas computacionales para la generacin de sistemas de inferencia difusos entre los que destacamos:

Donde N es el nmero de reglas. En la figura No.3 se muestra una operacin de las reglas en el sistema Sugeno

. otras herramientas . Matlab y su toolbox fuzzy, es quizs la herramienta ms completa para el anlisis y diseo de sistemas difuso y permite la interaccin con otros elementos: sistema de control, control electrnico de potencia, robtica, entre otros bloque funcionales. 4.1. Descripcin herramienta Matlab de fuzzy la deFigura No.4 esquema general de la herramienta fuzzy de Matlab.

En la figura No.4 se muestra el esquema general de la herramienta fuzzy, se observa que cuenta con el editor difuso (FIS Editor), en este se gestionan las entradas, salidas y la creacin de nuevos sistemas, ya sean Sugeno o Mamdani. El editor de funciones de pertenencia gestiona los tipos y los parmetros de las funciones de pertenencia de las entradas y salidas. El editor de reglas establece el conectivo lgico de las entradas y salidas y el ponderado establecido para cada regla dada. El visor de reglas y el visor de superficie permiten observar la interaccin entrada-salida del sistema.

5. METODOLOGIA Con el fin de establecer un mecanismo que facilite la implementacin del sistemas difuso en un sistema embebido es importante presentar las consideraciones para la generacin del sistema difuso y envi de la estructura de este. Desde el sistema embebido el observa el proceso de recepcin, organizacin de los datos y ejecucin del algoritmo de inferencia. 5.1. Metodologa aplicada a la generacin del FIS en Matlab

A continuacin se relacionan los pasos necesarios para la implementacin desde la herramienta de generacin del sistema de inferencia difusa. Pasos para la implementacin a partir del sistema obtenido en Matlab

1. Crear el sistema de inferencia difusa. definir el numero de entradas, salidas y las reglas que le permitan obtener el resultado deseado: Anlisis: a. Definir los Objetivos, las Restricciones y el Comportamiento del Sistema. b. Identificar las variables de Entrada y Salida: Variables lingsticas y sus etiquetas lingsticas. c. Definir procedimientos y criterios para la prueba y validacin. Diseo: d. Definir los conjuntos difusos de cada etiqueta lingstica. e. Definir el marco de representacin de la solucin (Representacin del conocimiento, reglas...). f. Definir el marco de los procedimientos empleados (Inferencia). g. Especificar la forma requerida de la salida del sistema (decodificacin). h. Ejecutar pruebas para validar el sistema. i. Verificar si la solucin es compatible con el paso a: Refinar el Diseo: Ir al paso e. Necesidad de Mejora: Ir al paso a. 2. Extraer las reglas, entradas, salidas del FIS. Si el FIS es tipo Mamdani usar el comando mam2sug para convertirlo a tipo Sugeno. %leer reglas Leer los antecedentes, los consecuentes, los pesos y el tipo de conector lgico utilizado. %leer entradas Las funciones de pertenencia por cada entrada y el rango inf. y sup., codificar las funciones de pertenencia de las entradas, leer los parmetros para la funciones de entrada %leer salida Las funciones de pertenencia por cada salida y el rango inf. y sup.. Vase la figura 5, en esta se observa N valores que van desde el rango inferior hasta el superior de la p-sima entrada y luego se calculan las posibles combinaciones y se evalan el sistema de inferencia, de all se obtienen los valores mximos y mnimos de cada salida, se codifican las funciones de pertenencia de la salida, y se leen los parmetros para la funciones de salida 3. 4. Se configura la trama como se muestra en la tabla 1 Se enva la trama usando el puerto serie

Figura No.5 esquema utilizado para hallar los valores mximos y mnimos de las salidas

5.2.

Metodologa aplicada al sistema embebido

Esta metodologa cuenta con generalizacin para cualquier sistema embebido, a continuacin se relacionan los pasos para su implementacin.

Pasos para la implementacin en el sistema embebido1. Se recibe la trama de datos que contiene el FIS 2. Desentramado de los datos : a. El primer dato corresponde al tiempo de muestreo b. El siguiente corresponde al nmero de datos del tipo entero, este primer rango contiene la informacin de el nmero de entradas, nmero de salidas, nmero de reglas, el nmero de funciones de perteneca por cada entrada y salida, las reglas incluyendo sus antecedentes, consecuentes, valores pesantes y el conector lgico. c. El siguiente campo recibido es el nmero de datos del tipo flotante, este rango contiene la informacin de los valores limites inferior y superior de las salidas, en este rango tambin se encuentran las entrada y las salidas que definen el FIS. 3. Luego de obtener todos los datos se procede a

ejecutar el siguiente esquema para la obtencin de las salidas, vase la figura No.6: a. En la j-sima regla se lee la funcin de pertenencia de la i-sima entrada b. Se obtiene el tipo de funcin y se halla el valor que corresponda a la i-sima entrada, hasta leer el total de la entrada, esos valores se almacenan en wi c.Para la j-sima regla se lee el conector y se procede a aplicar los wi pesos obtenidos en cada entrada d. Cuando se halla el peso de la j-sima

regla, se lee la k-sima salida y evala con este se obtiene el valor zk o consecuente de la j-sima regla. e. Se suman los wi pesos y se multiplican por los zk valores y se acumulan los Wi f. El valor de salida para un total de N reglas es:

( )

En la tabla II y III se muestra las funciones de pertenencia de las entradas y salidas respectivamente

6. ANLISIS DE DESEMPEO DE LA IMPLEMENTACIN

Para evaluar el desempeo de la implementacin hay que establecer la cantidad de memoria requerida por la configuracin, los tiempos de ejecucin y la correlacin entre el sistema de referencia y el implementado. 6.1. Espacio de memoria

Para los sistema difusos se observa que en la medida de las cantidad de entradas que se elijan, la cantidad reglas para caracterizar el sistema se incrementa de forma exponencial, por ende la memoria requerida tambin se incrementa, suscitando el dilema de la maldicin de la dimensionalidad [8].

En la tabla IV se presenta la cantidad de memoria requerida para algunas configuraciones, de esta se observa que por cada entrada o salida se incrementa en 100 [bytes] el espacio de memoria requerido, sirviendo de parmetro esencial para la especificacin de hardware. 6.2. Tiempos de ejecucin Con el fin de evaluar el desempeo en velocidad se realiz la prueba de algunas funciones y expresiones. Ya que el tiempo de ejecucin de las operaciones en punto flotante vara segn el dato, se realizaron las pruebas con nmeros en diferentes rangos. Para medir el tiempo se repiti la expresin 10 veces dentro de un bucle indefinido y se conmut una salida por cada ciclo, luego se midi el perodo de varios ciclos y se obtuvo el promedio.

figura No.6 Algoritmo para la implementacin en el sistema embebido del sistema de inferencia difusa tipo Sugeno

Para un sistema con 3 entradas, 2 salidas 3 funciones de pertenencia en la entrada y la salida y 10 reglas, el tiempo de ejecucin es de 53 ms. 6.3. La Error! Reference source not found. muestra el tiempo de ejecucin promedio de algunas instrucciones teniendo en cuenta que el microcontrolador est trabajando a 20 Mhz. 6.2.1. Tiempo de ejecucin total Para el caso de un sistema con 1 entrada 3 funciones de pertenencia tipo triangular y 1 salida con 3 funciones de pertenencia solo una de ellas constante, esta topologa tarda aproximadamente 31.5 ms en completar todo un ciclo. Validacin de implementacin. la

Para este fin realizamos la implementacin en un microcontrolador 18f2550 de microchip @20Mhz, en el se integro el sistema de 1 entrada, 1 salida y 3 reglas. En la figura No.7 se ilustra la interaccin entrada- salida para una configuracin 1 entrada, 1 salida y 3 reglas.

Figura No.7 visor de reglas de la configuracin [1 1 3]

. En la figura No.8 se muestra los valores numricos asociados para el sistema embebido

La implementacin se ilustra en la figura No.9, para simular las entradas se utilizaron potencimetros y la salida se enva a travs de un generador de seales PWM (modulacin de ancho de pulso).

Figura No.8 Representacin matemtica del FIS desde el lado del sistema embebido.

para aplicar estas tcnicas, desde la visin acadmica es de gran importancia poder llevar todos lo conceptos relacionados a los sistemas difusos a trminos plausibles y tangibles con el fin de ahondar en estas temticas. La obtencin de las reglas y funciones de pertenencia de entrada y salida, pasan por varios procesos de depuracin y mejoras constantes, hecho que lleva a tener un mecanismo que permita simplemente actualizar los datos y llevarlos al sistema embebido, este es uno de los grandes aportes obtenidos en este proyecto. La alta correlacin obtenida en las distintas pruebas muestran la validez de la implementacin, sabemos que las herramientas de gestin de los sistemas FIS presentan una interfaz con los elementos necesarios para verificar los resultados esperados, luego de obtenidos estos se procede a su implementacin. El sistema de inferencia tipo Sugeno presenta una mayor grado de complejidad que el Mamdani en cuanto la definicin de las funciones de pertenencia de la salida, para facilitar esta abstraccin se puede crear todo el sistema como Mamdani y utilizar el comando mam2sug de Matlab para convertirlo en Sugeno y enviarlo al sistema embebido. En los sistemas difusos convencionales o de tipo estndar, el nmero de reglas aumenta de forma exponencial con el crecimiento en el nmero de variables de entrada, esto es, suponga que existen n variables de entrada y m funciones de

Figura No.9 Diagrama esquemtico para la implementacin del sistema de inferencia difuso

En la figura No.10 se muestra la grfica obtenida de la toma de datos del sistema FIS en Matlab y el microcontrolador. El coeficiente de correlacin es de 0.9996046, lo cual indica el alto grado de similitud de las dos respuestas, validando a si la implementacin.1.5Salida (Volts)

Entrada Vs Salida FISCoefi. Correl.= 0.9996046

1 0.5 0 0Matlab

0.5Entrada (volts)

1

Figura No.10 Entrada Vs Salida par el FIS de Matlab y el sistema embebido

7. CONCLUSIONES TRABAJOS FUTUROS

Y

La implementacin de sistemas de inferencia difuso en sistemas embebidos de bajo costo, supone una mejora sustancia en la aplicacin de estas tcnicas a diversos problemas cuya complejidad tenga los meritos

pertenencia para cada variable, entonces necesitaremos m^n reglas para construir un controlador difuso completo y tan rpido como n aumente su tamao, la base de reglas difusas sobrecargar rpidamente la memoria de cualquier sistema de computo y por supuesto, har difcil la implementacin del controlador difuso. En general, la complejidad de un problema aumenta de forma exponencial debido al nmero de las variables implicadas, este fenmeno llamado la maldicin de la dimensionalidad, se propone la implementacin de sistemas difusos jerrquicos los cuales presentan un crecimiento lineal con las entradas. Brown [8] BIBLIOGRAFA [1] Sur A&C, Omron Electronics, S.A., Lgica Fuzzy para Principiantes. Ed. I. Hernndez, 1997. ISBN 84-920326-3-4. [2] Jang, J.-S. R. and C.-T. Sun, Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence, Prentice Hall, 1997. [3] Mamdani, E.H. and S. Assilian, "An experiment in linguistic synthesis with a fuzzy logic controller," International Journal of Man-Machine Studies, Vol. 7, No. 1, pp. 1-13, 1975. [4] Sugeno, M., Industrial applications of fuzzy control, Elsevier Science Pub. Co., 1985. [8] M. Brown, K.M Bossley, D.J. Mills and C.J. Harris, High Dimensional Neurofuzzy Systems: overcoming the curse of the dimensionality, Proc. IEEE International Conference,

1995, pp. 2139-2146. AUTORES:

Javier Ferney Castillo Garca, Ingeniero electrnico de la universidad del valle, 2004. Magister en ingeniera con nfasis en automtica de la universidad del valle,2009. Actualmente es Aspirante a Doctor en Ingeniera, particip en el proyecto Sistema piloto para la evaluacin integral de pavimentos usando un robot mvil ROBOPAV financiado por COLCIENCIASUNIVALLE. Cod.2470. Profesor auxiliar de la Escuela de Ingeniera Elctrica y Electrnica. Areas de inters: Electronica Bsica, Intrumentacin, Electrnica de Potencia, Sistemas Automticos de Control. Sistemas embebidos, control [email protected] Celular No. 3154657286

Eduardo F. Caicedo Bravo,Ingeniero Electricista de la Universidad del Valle, 1984. Mster en Tecnologas de la Informacin en Fabricacin de la Universidad Politcnica de Madrid, 1993. Doctor en Informtica Industrial de la misma universidad, 1996. Profesor Titular de la Escuela de Ingeniera Elctrica y Electrnica, Director del Grupo de Investigacin Percepcin y Sistemas Inteligentes. Areas de inters: Electronica Bsica, Instrumentacin, Robtica, Inteligencia Computacin y Percepcin Aritificial. [email protected] Tel 3392104 ext 122