You are on page 1of 13

Aplicacin de la Lgica Difusa en Robtica

Carmen Lpez Martnez


Programa de Doctorado: Diseo, Anlisis y Aplicaciones de Sistemas Inteligentes Curso: "Planicacin y Robtica" klopez@ugr.es

El uso de la lgica difusa se hace cada vez ms extensivo en el campo del control de agentes mviles. La capacidad de tratar con informacin imprecisa la convierte en una herramienta muy adecuada en el diseo de aplicaciones de control. A continuacin se muestran una serie de trabajos en los que se ha hecho uso de la lgica difusa para diversos aspectos del control: diseo y coordinacin de comportamientos, percepcin, navegacin, construccin de mapas (modelado) y autolocalizacin.

1. Introduccin
Al construir un robot autnomo mvil pretendemos que sea capaz de desenvolverse en un entorno real, sin modicaciones que ayuden al desarrollo de la tarea a llevar a cabo. Esto conlleva el problema de que el conocimiento que tenemos del entorno es parcial: Los sensores son sensibles a ruidos, el entorno suele ser cambiante y las tareas a llevar a cabo no estn completamente especicadas. La lgica difusa se ha convertido en una herramienta muy til para el desarrollo de tcnicas de control ya que es capaz de tratar la incertidumbre existente en el entorno. La lgica difusa se aplica de forma natural a dos tipos de incertidumbre: imprecisin debida a la dicultad de caracterizar una medida en un valor concreto (conjunto crisp); y falta de evidencia, debida al conocimiento incompleto. El nmero de aplicaciones de lgica difusa para control de agentes autonmos ha crecido signicativamente debido a sus caractersticas. Entre ellas podemos citar el tratamiento robusto de la informacin imprecisa, la facilidad que ofrece a la hora de interpolar las medidas de los sensores y la exibilidad en la denicin de reglas de control no lineales.

2. Comportamientos
Una tendencia actual en el diseo de controladores para robots mviles es el diseo basado en comportamientos. Este diseo consiste en dividir las tareas de control en pequeas unidades simples. La lgica difusa es una herramienta muy apropiada para el control de robots mviles basado en comportamientos. Gracias a sus capacidades de razonamiento aproximado se consiguen controles que son robustos a la incertidumbre, como puede ser los ruidos o las pertubaciones en las medidas de

Aplicacin de la Lgica Difusa en Robtica los sensores. Adems, los comportamientos difusos pueden ser sintetizados en un conjunto de reglas de tipo if-then, de forma que el conocimiento experto queda reejado en trminos lingisticos fciles de entender. Otro aspecto a tener en cuenta a la hora de disear un control es cmo elegir en cada momento el comportamiento adecuado a los objetivos a alcanzar por el robot. Se han propuesto mltiples soluciones a este problema, pero bsicamente se pueden distinguir dos tipos de coordinacin: elegir un solo comportamiento cada vez (arbitraje) o mezclar las acciones a llevar a cabo de dos comportamientos complementarios (fusin).

2.1. Diseo de Comportamientos


La arquitectura Saphira diseada por Safotti, Ruspini y Konolige ([5] y [6]) se basa en la descomposicin de las tareas complejas en comportamientos. Estos comportamientos estn codicados usando una base de reglas difusas del tipo if Antecedente then Consecuente. Tanto el antecedente como el consecuente son conjuntos difusos. El valor de verdad del antecedente determina la "deseabilidad" de aplicar esa regla en el estado actual. En [9] y [10], Agurirre, Garca-Alegre y Gonzlez presentan una aproximacin similar al problema. En este caso se han denido tres comportamientos bsicos (aproximacin a la pared ms cercana, seguir la pared, evitar obstculos). Cada comportamiento se ha implementado como una base de reglas difusas. La salida de cada comportamiento es un conjunto difuso. Los comportamientos se encargan del control del movimiento del robot. Para combinar estos tres comportamientos se han denido unas metareglas difusas que aseguran una transicin suave entre los estados.

2.2. Coordinacin de Comportamientos


Un problema que surgi desde la aparicin de este tipo de arquitectura fue cmo coordinar la actividad simultanea de varios comportamientos para producir un comportamiento global que realice la tarea impuesta al agente. Bsicamente se han seguido dos aproximaciones: elegir un slo comportamiento cada vez (arbitraje de comportamientos) o combinar los resultados de varios comportamientos en un slo comando (fusin de comportamientos).

2.2.1. Fusin de comportamientos


En la arquitectura Saphira ([5] y [6]) se combinan comportamientos bsicos para obtener otros comportamientos ms complejos. La combinacin de los comportamientos se realiza aplicando el operador mnimo sobre la funcin de "deseabilidad" obtenida para cada comportamiento. El resultado da preferencia a los controles que satisfacen ambos comportamientos. Posteriormente se lleva a cabo un proceso de defuzzicacin para elegir el valor de control. Para evitar posibles conictos, producidos por funciones de "deseabilidad" que asignan valores altos a acciones opuestas se ha denido el "Contexto de Aplicabilidad", por el cual cada funcin de "deseabilidad" slo se tiene en cuenta cuando es apropiada. A esta tcnica los autores la denominan "Fusin Dependiente del Contexto" (Context Depending Blending)

Aplicacin de la Lgica Difusa en Robtica Aguirre, Garca-Alegre y Gonzlez realizan una comparacin entre dos mtodos de combinacin de comportamientos en [9] y [10]. El primer caso se basa en una fusin dependiente del contexto, en el segundo caso realiza una combinacin lineal de la respuestas de los comportamientos defuzzicadas. En los dos mtodos se han usado metareglas difusas que determinan el contexto de aplicacin de cada comportamiento asegurando transiciones suaves, de forma que los comportamientos complejos se generan combinando los ms simples. La inuencia del contexto de aplicacin en el estado actual se puede calcular de dos formas: Combinando y Defuzzicando (C&D) o Defuzzicando y Combinando (D&C). La activacin de los comportamientos viene determinanda por el contexto actual. En el primer caso (C&D) se calcula para cada comportamiento el valor de activacin de cada comportamiento en el contexto actual y posteriormente se calcula el conjunto difuso resultante mediante la interseccin. Por ltimo se defuzzica usando, por ejemplo, el centro de gravedad. En el segundo caso (D&C), primero defuzzicamos cada uno de los comportamientos, usando por ejemplo, el centro de gravedad y posteriormente procedemos calcular la composicin de los comportamientos ponderando cada uno de esos valores por el grado de aplicabilidad del contexto. Experimentalmente se ha comprobado que el primer mtodo (D&C) da mejores resultados cuando un comportamiento est contenido en el otro, sin embargo, cuando se producen transiciones entre comportamientos, el mtodo C&D proporcina mejores resultados.

2.2.2. Arbitraje de comportamientos


En el trabajo de Bonarini [19] el control del agente se realiza mediante una base de reglas difusas que determinan una serie de comportamientos bsicos. Estos comportamientos se agrupan dentro de dos tipos de entornos. Como pertenecientes a los entornos globales estn aquellos comportamientos ntimamente ligados con la cosencucin de la tarea que debe llevar a cabo el robot. Un comportamiento de este tipo puede ser "seguir pasillo". Los comportamientos incluidos en los entornos de contexto son los encargados de reaccionar ante sucesos del entorno, como por ejemplo, "evitar obstculo". La eleccin de un entorno global viene determinada por la tarea a llevar a cabo por el agente, por lo que no es necesario un mecanismo de seleccin. Sin embargo, el entorno de contexto se va modicando con la ejecucin de la tarea, por lo que debe existir un mecanismo que elija el mejor comportamient para cada entorno de contexto. Esta tarea es llevada a cabo, en el trabajo de Bonarini, por el algoritmo S-ELF. Este algoritmo se explica en detalle en la seccin Seccin 7. En el trabajo de Michaud [22] se implementa el control del robot usando un conjunto de comportamientos codicados mediante una base de reglas de difusas. Tambin hace uso de la lgica difusa a la hora de decidir qu comportamiento es ms apropiado para una situacin. En la arquitectura propuesta se dene un mdulo de "recomendaciones" el cual est formado por dos conjuntos de reglas difusas que determinan qu comportamiento activar basandose en los impulsos externos y en las tareas que debe llevar a cabo el agente.

Aplicacin de la Lgica Difusa en Robtica

2.3. Otros trabajos


Pirjanian y Mataric en [23] describen el diseo de un controlador para un robot Nomad 200 basado en comportamientos implementados mediante una base de reglas difusas. La coordinacin de los comportamientos se lleva a cabo usando los conceptos de la teora de decisin de objetivo mltiple. En [20] Goodridge, Kay y Luo describen un sistema de control reactivo basado en comportamientos. Los comportamientos de control simples se han implementado usando la lgica difusa. Esto comportamientos se combinan mediante reglas difusas para formar comportamientos ms complejos. Se ha implementado una red de control de comportamientos, usando las reglas difusas tanto para implentar dichos comportamientos como para arbitrar entre las recomendaciones de control.

3. Modelado
Los mapas proporcionan una navegacin ptima al permitir el clculo de los mejores caminos hasta la meta. Adems son utiles en las tareas de autolocacin de los robots en el entorno. Los mapas que se usan en el control de agentes mviles son de dos tipos: geomtricos, en los cuales se representa las caractersticas del entorno; y topolgicos, en los que se reejan las relaciones entre las estructuras relevantes para la navegacin del robot. Tanto los mapas topolgicos como los geomtricos se han construido usando herramientas difusas para evitar la vaguedad y el ruido de los datos de los sensores. Los conjuntos difusos representan la incertidumbre en la localizacin real de los objetos.

3.1. Modelo Geomtrico


La construccin del modelo geomtrico consiste en distinguir entre reas ocupadas y libres del espacio a explorar, asi como representar caractersticas geomtricas del entorno. En [14] Gass y Safotti se nos presenta un mtodo de construccin del mapa geomtrico en el que el agente recorre el espacio y recoge informacin. Los puntos que va detectando el robot mientras se desplaza por el entorno se preprocesan para eliminar lecturas erroneas y puntos redundantes leidos por el mismo sensor. Cada grupo de medidas se intenta integrar en una lnea recta (segmento) y la incertidumbre sobre su posicin y localizacin se representa usando conjuntos difusos. Los segmentos difusos que corresponden a un mismo objeto se combinan para obtener un "borde difuso". Cada segmento difuso proporciona informacin sobre la posicin y la orientacin de los bordes de un objeto. Como los segmentos se obtienen de diferentes sensores y posiciones del robot, es necesario detectar y combinar los segmentos que pertenecen al mismo borde. El resultado es un proyeccin en 2-D sobre el suelo de los objetos localizados en el entorno. El robot realiza un mapa inicial con las primeras observaciones del entorno. Posteriormente, mientras sigue navegando, crea mapas locales que actualizarn el mapa global obtenido inicialmente.

Aplicacin de la Lgica Difusa en Robtica Una aproximacin similar se lleva a cabo en [12] por Aguirre y Gonzlez. En este trabajo se describe un mtodo de construccin de un modelo geomtrico del entorno basado en lgica difusa. La idea consiste en construir un mapa de segmentos de cada habitacin del entorno para obtener, usando ste como base, un mapa de rejilla. En el recorrido que realiza el robot por la habitacin detecta puntos del entorno, de los cuales slo se almacenan aquellos detectados con un valor de certeza mayor que un umbral dado. Esos puntos se usan para construir lneas rectas, que represantarn las paredes de la habitacin. La incertidumbre medida se emplea para construir regiones de posibilidad que contendrn las lneas detectadas. Estas regiones se denominan "segmentos difusos" y denen las paredes de la habitacin. A partir del mapa de segmentos, se construye un mapa de ocupacin de la rejilla denida sobre la habitacin. Dividimos la habitacin en celdas de 50 cm y se le asigna a cada una de esas celdas un valor de ocupacin que indica la presencia o ausencia de objetos. Este valor viene determinado por los valores de incertidumbre recopilados por el robot en su reconocimiento del entorno y a partir de ellos, se construyen unos nuevos segmentos difusos para esos objetos. En cada punto de la celda se comprueba el grado de pertenencia al segmento difuso. En realidad no es necesario medir todos y cada uno de los puntos. Con un subconjunto de puntos equidistantes es suciente. El nivel de ocupacin de la celda se puede se denir como el mximo de la funcin de pertenencia a cualquier segmento difuso de los puntos seleccionados. En el trabajo de Garca-Alegre, Ribeiro y Caas [24] se parte de un conjunto de puntos detectados por los sensores y se genera un conjunto de rectngulos, denominados "segmentos". Para ello, se llevan a cabo las tareas listadas a continuacin:

Se procesan las lecturas de los sensores de ultrasonidos para detectar errores en los datos. Se agrupan las medidas consecutivas del mismo objeto. Se intenta aunar los puntos en una lnea recta, representando la incertidumbre sobre su posicin y orientacin mediante conjuntos difusos. Los segmentos del borde de un mismo objeto detectados por diferentes sensores y en diferentes posiciones del robot, se intentan agrupar para formar un borde nico. Por ltimo, se analiza la conectividad entre pares de bordes difusos y se recostruyen los lmites del entorno.

El grado de incertidumbre en la localizacin de un segmento se ve afectado por la falta de eco en las medidas de los sensores, la distancia del objeto al sensor, las condiciones del aire y los errores en la odometra del robot. El mapa obtenido por este mtodo se rena usando una base de conocimiento, codicada mediante reglas difusas, que analiza la relacin entre los segmentos. De esta forma consigue localizar estructuras en el entorno. En el trabajo de Oriolo, Ulivi y Vendittelli [21] se construye el mapa del entorno como el conjunto difuso de puntos peligrosos, cuya funcin de pertenencia cuantica la posibilidad de que cada punto pertenezca a un obstculo. El resultado es semejante a una rejilla de ocupacin, donde el grado de

Aplicacin de la Lgica Difusa en Robtica ocupacin viene determinado por una funcin difusa. Para cada cuadrante de la rejilla se calcula el valor de pertenencia al conjunto "ocupado" y "libre" segn las medidas obtenidas por los sensores.

3.2. Modelo Topolgico


Con el modelo topolgico pretendemos obtener una representacin de tipo semntico del entorno (denicin de puertas, corredores...) as como la relacin que existe entre los objetos detectados, por ejemplo la puerta 1 une las habitaciones A y B. En [14] y [16] se presenta un mtodo para la construccin del modelo semntico del espacio. Para ello, a cada objeto relevante (puertas, corredores...) se le asignan una tripleta (x,y,) que representan la posicinen coordenadas cartesianas y la orientacin con respecto al eje X. Para tener en cuenta la incertidumbre posicional, a cada caracterstica detectada se le asigna una posicin aproximada, representada por un conjunto difuso. Un mapa semntico aproximado de un espacio de referencia es una tupla M,type,pos,P1,...,Pn donde M es un conjunto de ndices del mapa (nombre de los objetos), type asocia cada objeto con un tipo de objeto (puerta, corredor, pared), pos asocia cada objeto con una posicin difusa en el espacio y Pi hacen referencia a caractersticas topolgicas de los objetos. Adems de la representacin global del espacio, es necesario tener una representacin de los objetos detectados por el robot en su mbito de percepcin. En este caso tambin se han usado conjuntos difusos para la posicin aproximada de los objetos detectados.

4. Localizacin
El robot debe ser capaz de conocer su situacin en el entorno para determinar la siguiente tarea a llevar a cabo. Una solucin a este problema puede ser medir la distancia recorrida mediante los sensores propios del robot. Sin embargo, estos sensoses son muy sensibles a errores. Para complementar esta informacin se suelen usar distintos tipos de mapas. La lgica difusa es una herramienta muy utilizada debido a su gran capacidad de tratar con la incertidumbre y los errores en las medidas. Safotti y Wesley en [13] presentan una solucin al problema de la estimacin de la posicin basada en el uso de tcnicas difusas. El algoritmo propuesto se basa en que, en cada momento, el robot tiene una idea aproximada de su posicin en el mapa representada por un conjunto difuso. Adems existe un conjunto de "pistas", que ayudan a la localizacin, tambin representadas por un localizador difuso. Mientras navega, el robot va reconociendo objetos relevantes del entorno y los va asociando a localizaciones aproximadas. Adems de objetos simples, como paredes o puertas que estn representados por conjuntos difusos, se hace uso de reglas difusas para reconocer objetos ms complejos como por ejemplo, vestbulos. Cada vez que reconoce un objeto busca en el mapa para asociar el objeto percibido con el objeto representando en el mapa. Cada objeto encontrado se usa para construir un localizador difuso del

Aplicacin de la Lgica Difusa en Robtica robot, consistente en un conjunto difuso que representa la localizacin aproximada en el mapa del robot para poder detectar el objeto en cuestin. Cada localizador proporciona una medida imprecisa de la posicin del robot. Para actualizar la hiptesis sobre la posicin del robot, todos los localizadores se combinan mediante interseccin difusa (en este caso se ha usado el mnimo). Gass y Rosetti [17], [16] y [14] hacen uso del mtodo descrito en la Seccin 3.1 para implementar la autolocalizacin del robot en el entorno. El agente construye en una primera instancia un mapa global del entorno basado en las medidas obtenidas por sus sensores. Este mapa est formado por una serie de segmentos difusos que determinan los bordes de los objetos localizados en el espacio. Los mapas siguientes que se obtienen mientras el robot sigue navegando se denominan mapas locales que se intentar correlacionar con el mapa global obtenido en primera instancia. Esta correlacin y las rotaciones que son necesarias para conseguir que los dos mapas concuerden se usa para estimar el error acumulado en las medidas de la odometra. Adems, los mapas locales proporcionan informacin adicional del entorno que se usa para mejorar el mapa inicial y reejar los cambios que se pueden producir en entornos dinmicos. El primer paso en la autolocalizacin consiste en la bsqueda de bordes del mapa local que coinciden con los del mapa global. Como resultado obtenemos un conjunto de bordes coincidentes, un conjunto de bordes del mapa local que no se corresponden con ningn borde del mapa global y una coleccin de bordes del mapa global que no se corresponden con ningn borde del mapa local. Los nicos que tendremos en cuenta son los bordes coincidentes y los no coincidentes del mapa local, puesto que mientras se construy el mapa global pudo haber lugares a los que no se accedi. Segn esto podemos tener las siguientes situaciones: Todos los bordes del mapa global coinciden con los bordes del mapa local. Esta es la situacin ms favorable y podemos actualizar directamente la situacin del robot. Si un nmero signicativo de bordes del mapa local son coincidentes con los del mapa global, podemos usar los bordes coincidentes para actualizar la situacin del robot y los discordantes para actualizar el mapa global. Si no hay un nmero signicativo de bordes coincidentes puede que nos encontremos en alguna de las siguientes situaciones: el rea considerada no se explor en la construccin del mapa global, ha habido cambios importantes desde que se construy el mapa o el error en la odometra es mayor que el esperado. La solucin en este caso es dejar que el robot siga moviendose y obteniendo ms informacin. En los dos primeros casos, el robot debera llegar a una zona del mapa conocida, puesto que el mapa global slo diere en una porcin pequea. Una vez en esa zona, se actualiza la posicin del robot. Si nos encontramos en la tercera situacin, el robot se da por perdido y es necesario iniciar un proceso de exploracin para volver a encontrar una zona conocida. En este caso, se realizan rotaciones y traslaciones de los bordes para encontrar la localizacin actual. Este proceso es muy costoso en tiempo, puesto que hay que tener en cuenta todos y cada uno de los bordes del mapa y se debe comprobar el espacio completo. Sin embargo, nos encontraremos en esta situacin solo cuando estemos iniciando la exploracin del entorno o en casos excepcionales, por lo que esta situacin no implica una restriccin importante del rendimiento del sistema.

Aplicacin de la Lgica Difusa en Robtica

5. Navegacin
Graves, Mollenhauer y Skubic en [25] describen el diseo y la implementacin de un robot movil que hace uso de la lgica difusa para la navegacin. La implementacin consta de dos mdulos (denominados Mini Boards): la unidad de inferencia difusa (FIU) y la unidad de supervisin. La unidad de inferencia difusa (FIU) se encarga de leer las seales de los sensores y la baliza del objetivo, fuzzicar estas seales, ejecutar un conjunto de reglas de inferencia difusas y defuzzicar los resultados. Las reglas de inferencia determinan,e para cada una de los efectores, la accin a llevar a cabo. El segundo nivel de inferencia realiza una media ponderada con cada una de las salidas calculadas anteriormente para determinar la direccin y la velocidad que tomar el robot. La unidad supervisora consta de un mdulo para detectar si el robot est atascado, un mdulo para traducir la direccin que le ha pasado la unidad FIU y la unidad de control del motor.

6. Percepcin
Con percepcin nos referimos a la capacidad del robot de detectar caractersticas del entorno. La informacin referente a estas caractersticas se obtiene mediante un sistema de visin, por ejemplo, una cmara de video. Estos datos estn muy afectados por la luz del ambiente y la complejidad del entorno. Adems el tratamiento de la imagen se produce en tiempo real. Por estos motivos, la lgica difusa constituye una herramienta muy apropiada abordar este aspecto del control de agentes. En [2], [3] y [4], Howard, Seraji y Tunstel exponen un mtodo basado en lgica difusa para el anlisis de las caractersticas de un terreno. Se ha diseado un ndice de "Atravesabilidad" (Traversability Index). Las caractersticas del terreno primero se convierten en variables difusas. Las funciones de pertenencia de los conjuntos que denen estas variables se usan en un conjunto de reglas difusas que determinan la "atravesabilidad" del terreno. Las variables que se han considerado son la inclinacin del terreno, la escabrosidad, las discontinuidades, y la dureza del terreno. Todas estas variables se calculan a partir de las imgenes obtenidas por el sistema de visin del robot. En el trabajo de Li, Jiang y Wang [18] la lgica difusa se emplea en la creacin de una base de reglas que nos permiten detectar los bordes de la carretera a partir del sistema de visin con el que est equipado el robot mvil THMR-III. El mtodo seguido consiste en clasicar, usando la base de reglas difusas, cada pixel de la imagen obtenida por el sistema de visin en negro o blanco segn pertenezca o no a los bordes.

7. Aprendizaje
En el trabajo de Bonarini y Basso [19] se presenta el algoritmo S-ELF (Symbolic Evolutionary Learning of Fuzzy Rules). Este algoritmo constituye un sistema de aprendizaje por refuerzo, sobre una poblacin de reglas difusas, por el cual se aprenden a coordinar los comportamientos bsicos predenidos. SELF aprende el contexto de activacin de cada comportamiento, produciendo metareglas difusas que determinan el contexto en el que ser activado cada comportamiento. Cada miembro de la poblacin es una regla difusa que se codica mediante una cadena de genes que representa el antecendente y el consecuente de la regla. El antecedente se reere al contexto de

Aplicacin de la Lgica Difusa en Robtica aplicacin y el consecuente es el comportamiento a aplicar. Cada poblacin se divide en subpoblaciones, para tener en cuenta en cada evaluacin slo aquellos comportamientos que hayan contribuido a la actividad del agente en el paso anterior. De esta forma, se acelera la convergencia, puesto que la competicin entre los miembros de la poblacin se realiza a nivel local. La evaluacin del rendimiento del agente se realiza al nal de cada episodio de aprendizaje. En este punto, se distribuye el correspondiente refuerzo a las reglas que se han aplicado al agente durante el episodio. Si nos encontramos en un estado en que ninguna regla es aplicable, se generan nuevas reglas cuyo antecedente se corresponde con el estado actual. Al nal de cada episodio, se les aplican los operadores de cruce y mutacin a las reglas de la subpoblacin actual. Las reglas con mejor valoracin formarn parte de la siguiente subpoblacin, as como los hijos que no estn duplicados. Una poblacin es estable si un porcentaje elevado de las reglas que la componen lo es. Una regla es estable si ha sido probada lo suciente y su valoracin no se ha modicado demasiado. Cuando una poblacin es estable, se eliminan las reglas inestables y se prueba durante una serie de ciclos de control. Si su rendimiento es bueno, se guarda la poblacin y se le aplica el operador de mutacin antes de continuar con el aprendizaje. Chronis, Keller y Skubic [26] extienden el trabajo de Bonarini y Basso [19]. En este caso, el sistema aprende el antecedente y el consecuente de las reglas. La bondad de las reglas se determina mediante una funcin de evaluacin. El nmero de reglas se ajusta dinmicamente y slo sobreviven las reglas cuyo valor de la funcin de evaluacin es ms alto. Las funciones de pertenencia al conjunto difuso de las variables linguisticas se jan en la inicializacin del sistema. Como en el caso anterior, cada regla est representada por una cadena, que denominaremos "cromosoma". Cada gen del cromosoma representa una variable que determina los valores actuales del antecedente y el consecuente de la regla. El aprendizaje se efecta en sesiones de entrenamiento, que se dividen en ciclos. Los ciclos se agrupan en fases. Las reglas se refuerzan al nal de cada fase. Una sesin de entrenamiento termina si se ha conseguido el objetivo jado al principio, si ocurre un fallo o si se sobrepasado el mximo nmero de ciclos. El objetivo se consigue cuando se ha alcanzado el mximo refuerzo en las reglas y un fallo ocurre cuando el agente est atascado en un obstculo. Las reglas se dividen en subpoblaciones con los mismos valores en los antecedentes, es decir, reglas que se usaran en situaciones similares. En cada fase, se seleccionan las subpoblaciones cuyas reglas son aplicables al estado actual. La regla se aplica y se evalua su resultado. Todas las reglas compiten para ofrecer los mejores resultados. Pero si una regla de una subpoblacin ya usada es aplicable a un estado posterior de esta fase, se usar esa regla. De esta forma reforzamos secuencias de acciones en lugar de acciones independientes. Una regla contribuye a la accin global proporcionalmente a las veces que se ha disparado. Despus del proceso de refuerzo, se actualiza la poblacin de reglas difusas. Es necesario que alguna subpoblacin sea aplicable al estado actual. Si no existe ninguna, se crea una nueva. Las reglas con mayor valor de la funcin de evaluacin pasan a la siguiente generacin y el resto se eliminan.

Aplicacin de la Lgica Difusa en Robtica

8. Conclusiones
Se han presentado distintos trabajos en los que se tratan diversos aspectos del control de agentes mviles, abordados desde el punto de vista de la lgica difusa, donde ha quedado demostrada la validez de la herramienta para el diseo de robots mviles. La lgica difusa permite tratar con la incertidumbre inherente al control de un robot. Esta incertidumbre puede provenir del ruido de los sensores, los cambios en el entorno o las ordenes especicadas de forma incompleta. La propia naturaleza de la lgica difusa hace que este sea un campo en el que su aplicacin resulte muy adecuada. La representacin de la informacin mediante variables linguisticas hace que las bases de reglas generadas para los diversos aspectos del control sean, en general, comprensibles por un experto que puede incorporar su conocimiento para renar el control diseado. De esta forma obtenemos controles de mejor calidad y ms robustos frente a errores o cambios en el entorno.

Bibliografa
[1] The uses of fuzzy logic in autonomous robot navigation. , A. Safotti, Soft Computing, 1, 180-197, 1997.

(http://citeseer.ist.psu.edu/safotti95multivalued.html) [2] A Real-Time Autonomous Rover Navigation System , Ayanna Howard, Homayoun Seraji, In Proc. of the World Automation Congress, 2000.

(http://citeseer.ist.psu.edu/howard00realtime.html) [3] Enhancing Fuzzy Robot Navigation Systems by Mimicking Human Visual Perception of Natural Terrain Traversability , Ayanna Howard, Edward Tunstel, Dean Edwards, Carlson Alan, Joint 9th IFSA World Congress/20th NAFIPS International Conference, Vancouver, Canada, Julio 2001.

(http://robotics.jpl.nasa.gov/people/tunstel/papers/ifsa_naps01.pdf) [4] A Rule-Based Fuzzy Traversability Index for Mobile Robot Navigation , Ayanna Howard, Homayoun Seraji, Edward Tunstel, IEEE International Conference on Robotics and Automation, Seoul (Korea), Mayo 2001.

(http://citeseer.ist.psu.edu/howard01rulebased.html)

10

Aplicacin de la Lgica Difusa en Robtica [5] The Saphira architecture for autonomous mobile robots. , K. Konolige, K. Myers, In Articial Intelligence and Mobile Robots: Case Studies of Successful Robot Systems, chapter 9, The MIT Press, 211-242, 1998.

(http://www.ai.sri.com/~konolige/saphira/arch.pdf) [6] A multivalued logic approach to integrating planning and control. , A. Safotti, K. Konolige, E. Ruspini, Articial Intelligence, 76, 481-526, 1995.

(http://citeseer.ist.psu.edu/safotti95multivalued.html) [7] Fuzzy Logic in Autonomous Robotics: behavior coordination , A. Safotti, Proc. of the 6th IEEE Intl. Conf. on Fuzzy Systems, Barcelona, Spain , 573-578, 1997. [8] Fuzzy Logic in Autonomous Robot Navigation: a case study , A. Safotti, Handbook of Fuzzy Computation , chapter G6.1, Oxford University Press, Editado por E. Ruspini, P. Bonissone and W. Pedrycz , 1998. [9] A fuzzy safe follow wall behavior fusing simpler fuzzy behaviors. , E. Aguirre, M. Garca-Alegre, A. Gonzlez, In Proc. of the Third IFAC Symposium on Intelligent Autonomous Vehicles. Madrid. (Spain), 607-612, 1998.

(http://www.iai.csic.es/users/gpa/postscript/iav98_granada.ps) [10] Fuzzy behaviors for mobile robot navigation: design, coordination and fusion , E. Aguirre, A. Gonzlez, International Journal of Approximate Reasoning, 25, 255-289, 2000. [11] A study of the inuence of the combination method in fuzzy behavior coordination , E. Aguirre, A. Gonzlez, Septiembre 1998.

(ftp://decsai.ugr.es/pub/arai/tech_rep/eaguirre/TR98-23.ps.Z) [12] Integrating Fuzzy Topological Maps and Fuzzy Geometric Maps for Behavior-Based Robots , E. Aguirre, A. Gonzlez, International Journal of Intelligent Systems, 17, 333-368, 2003. [13] Perception-based self-localization using fuzzy locations , A. Safotti, L. P. Wesley, Reasoning with Uncertainty in Robotics. LNAI. Berlin. DE., Editado por M. van Lambalgen, L. Dorst, F. Voorbraak , Springer-Verlag , 368-385, 1996.

(http://citeseer.ist.psu.edu/safotti96perceptionbased.html) [14] Using Fuzzy Sets to Represent Uncertain Spatial Knowledge in Autonomous Robot , J. Gass, A. Safotti, Spatial Cognition and Computation, Kluwer Academic Publishers, Hingham, MA, USA , 1, 205-226, 1999.

11

Aplicacin de la Lgica Difusa en Robtica (http://portal.acm.org/citation.cfm?id=599088&dl=ACM&coll=portal) [15] Integrating fuzzy geometric maps and topological maps for robot navigation , J. Gass, A. Safotti, In: Proc 3rd Int Conf on Intelligent Industrial Automation and Soft Computing. Genova, Italy , 1999.

(http://aass.oru.se/~asafo/Papers/soco99.html) [16] Uncertainty Representation for mobile robots: perception, modeling and navigation in unknown environment. , J. Gass, A. Rosetti, Fuzzy Sets and Systems.

(ftp://iridia.ulb.ac.be/pub/jgasos/fss99.ps.gz) [17] Mobile Robot Localization Using Fuzzy Maps , J. Gass, A. Martn.

(http://www.pa.info.mie-u.ac.jp/bioele/wsc1/papers/p060.html) [18] Road recognition for vision navigation of an autonomous vehicle by fuzzy reasoning , W. Li, X. Jiang, Y. Wang, Fuzzy Sets and Systems , 93, 275-280, 1998. [19] Learning to compose fuzzy behaviors for autonomous agents , A. Bonarini, F. Basso, International Journal on Approximate Reasoning , 17 (4), 409-432, 1997. [20] Multi-layered fuzzy behavior fusion for reactive control of an autonomous mobile robot , S. G. Goodridge, M. G. Kay, R. C. Luo, In Proc. IEEE Int. Conf. on Fuzzy Systems, Barcelona, Spain , 579-584, 1997. [21] Real-time map building and navigation for autonomous robots in unknown environments , G. Oriolo, G. Ulivi, M. Vendittelli, IEEE Transactions on Systems, Man and Cybernetics. Part B: Cybernetics , 28 (3), 316-333, 1998. [22] Selecting behaviors using fuzzy logic , F. Michaud, In Proc. IEEE Int. Conf. on Fuzzy Systems, Barcelona, Spain , 585-592, 1997. [23] A decision-theoretic approach to fuzzy behavior coordination , P. Pirjanian, M. Mataric, IEEE International Symposium on Computational Intelligence in Robotics and Automation , 1999. [24] A cartographer robot: Merging and interpreting maps in unknown environments , M. C. GarcaAlegre, A. Ribeiro, J. M. Caas, In Proc 3rd IFAC Symp on Intelligent Autonomous Vehicles. Madrid, Spain. , 1998, 730-734.

(http://gsyc.escet.urjc.es/~jmplaza/iav98_maps.ps.gz) [25] The FuzzBug Mobile Robot , S. Graves, J. Mollenhauer, M. Skubic, Technical Report 93-041, Department of Computer Science, Texas A&M University , Mayo 1993.

12

Aplicacin de la Lgica Difusa en Robtica (http://citeseer.ist.psu.edu/graves93fuzzbug.html) [26] Learning Fuzzy Rules by Evolution for Mobile Agent Control , G. Chronis, J. Keller, M. Skubic, Proceedings of the 1999 IEEE International Symposium on Computational Intelligence in Robotics and Automation, Monterey, CA , Noviembre 1999.

(http://www.cecs.missouri.edu/~skubic/Papers/cira.pdf)

13