SciELO - Scientific Electronic Library Online

 
vol.75 issue154THE GRADUAL PROCESS OF DATA ABSTRACTIONLIP GESTURE-BASED ROBOT MANIPULATION author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


DYNA

Print version ISSN 0012-7353On-line version ISSN 2346-2183

Dyna rev.fac.nac.minas vol.75 no.154 Medellín Jan./Mar. 2008

 

SMART: SISTEMAS MULTI-AGENTE ROBÓTICO

SMART: MULTI-AGENT ROBOTIC SYSTEM

 

JOVANI ALBERTO JIMÉNEZ BUILES
Escuela de Ingeniería de Sistemas, Facultad de Minas, Universidad Nacional de Colombia, jajimen1@unal.edu.co

DEMETRIO ARTURO OVALLE CARRANZA
Escuela de Ingeniería de Sistemas, Facultad de Minas, Universidad Nacional de Colombia, dovalle@unal.edu.co

JOHN FREDY OCHOA GÓMEZ
Escuela de Ingeniería de Sistemas, Facultad de Minas, Universidad Nacional de Colombia

 

Recibido para revisar Junio 21 de 2007, aceptado Octubre 23 de 2007, versión final Octubre 23 de 2007

 


RESUMEN: El siguiente artículo busca dar una visión global de los Sistemas Multi-Agentes Robóticos (MARS) mediante una explicación de las áreas relacionadas con el tema para luego presentar el Sistema Multi-Agente Robótico (SMART). SMART es un enjambre inteligente conformado por un robot nodriza y tres robot tipo baliza (guías) que navegan de manera colaborativa un escenario estructurado.

PALABRAS CLAVE: Robótica móvil, Sistemas Multi-Agente, Sistemas Multi-Agentes Robóticos.

ABSTRACT: This paper gives a global vision of the Multi-Agent Robotic Systems (MARS) by means of a explication of the areas related with the theme and then present the Mult-Agent Robotic System (SMART). SMART is an intelligent swarm formed by one wet-nursed and three beacon robots (guides) what navigate of a collaborative way in a structured scenario.

KEYWORDS: Movil robotics, Multi-Agent Systems, Multi-Agent Robotic Systems.


 

1. INTRODUCCIÓN

Una de las problemáticas de la robótica móvil que más interés ha suscitado en los últimos años es la navegación de agentes robóticos que trabajan cooperativamente en la solución de problemas como el desplazamiento de cargas [1], entrega de materiales en oficinas [2], construcción de mapas de entornos desconocidos [3], entrega de medicinas en hospitales [4], detección de minas [5], entre otros [6] [7].

El trabajo en esta área es lo suficientemente amplio y se han aplicado conceptos de etología animal, de la teoría de la organización, el aprendizaje y de la inteligencia artificial

distribuida, siendo de esta última de donde ya han salido algunas propuestas de metodologías para el desarrollo de proyectos [8] [9] [10]. En este punto surgen ciertos problemas ya que a pesar de que los entornos cooperativos robóticos se pueden abordar desde la teoría de sistemas multi-agente (MAS, Multi-Agent Systems), los agentes robóticos tienen características diferentes a los agentes computacionales [11].

Adicionalmente las técnicas de coordinación y cooperación en los MAS no son las mas adecuadas para el tratamiento de incertidumbre y falta de información que hay comúnmente en la robótica [10]. Algunos de los requerimientos que impone el funcionamiento de agentes en entornos reales son los siguientes [12]:

  • Saberse comportar de acuerdo a las circunstancias (situated behavior), y reaccionar ante sucesos imprevistos.
  • Las tareas deben realizarse con eficiencia teniendo en cuenta las imposiciones restrictivas del trabajo en tiempo real.
  • Se debe de tener en cuenta la presencia de otros agentes en el entorno.

En el capitulo dos se presenta el marco teórico de referencia enmarcado en la inteligencia artificial y los MAS. El capítulo tres expone los sistemas multi-agente robóticos (MARS, Multi-Agent Robotics Systems) para luego, en el capítulo cuatro validar este componente conceptual mediante la demostración de una plataforma de investigación denominada SMART. Finalmente se ofrecen las conclusiones y referencias.

 

2. INTELIGENCIA ARTIFICIAL DISTRIBUIDA Y SISTEMAS MULTI-AGENTE

La inteligencia artificial distribuida (DAI, Distributed Artificial Intelligence) integra dos campos de conocimiento: la inteligencia artificial y los sistemas distribuidos. A partir de esto se concibe la DAI como el campo del conocimiento que intenta construir conjuntos de entidades autónomas e inteligentes que cooperan para desarrollar un trabajo y se comunican por medio de mecanismos basados en el envío y recepción de mensajes [13].

Desde que surgió la DAI se ha basado en tres ejes: sistemas multi-agente (MAS), nivel en el cual se estudia el comportamiento de agentes inteligentes que resuelven problemas de forma cooperativa; resolución distribuida de problemas (DPS, Distributed Problems Solving), en donde se busca la división óptima de un problema para asignar las partes a un conjunto de entidades independientes para que, conjuntamente, hallen la solución; y la inteligencia artificial en paralelo (PAI, Parallel Artificial Intelligence), donde se busca el desarrollo de lenguajes y algoritmos paralelos para sistemas concurrentes.

Los MAS tienen como unidad funcional el agente, el cual es una entidad física o abstracta que puede percibir su ambiente mediante sensores, es capaz de evaluar tales percepciones y tomar decisiones por medio de mecanismos de razonamiento simples o complejos, comunicarse con otros agentes para obtener información y actuar sobre el medio en el que se desenvuelven a través de ejecutores [14]. A partir de esto se espera que un agente actué de manera racional, intencional y autónoma en el momento preciso. Haciendo una analogía, se puede comparar un MAS como un conjunto de personas, con diferentes dominios de conocimiento, tratando de resolver un problema común.

Se conciben varios modelos de diseño para los agentes de acuerdo al grado de complejidad con el cual procesan las percepciones. Por un lado se encuentran los agentes reactivos con un grado de procesamiento perceptual relativamente sencillo en pro de una respuesta adecuada rápida. Por otro lado están los agentes cognitivos con mayor procesamiento en las percepciones con el fin de que se haga buen uso del conocimiento que ellos mismos poseen y, también, del que los demás agentes tienen, en busca de poder escoger la mejor opción entre las diferentes opciones posibles. Finalmente se encuentran agentes híbridos que contienen capas reactivas y cognitivas para los casos en los que los requisitos del problema no son satisfechos por ninguna de las dos arquitecturas anteriormente citadas [14].

La integración de un conjunto de agentes de diversos tipos para constituir un MAS necesita de tres conceptos importantes: comunicación, cooperación y coordinación.

La comunicación ha sido reconocida siempre como un tópico de gran importancia en las ciencias de la computación, donde se busca que sistemas que se ejecutan de modo concurrente puedan interactuar unos con otros de manera ordenada. Se suele tomar como partida la forma como se dan las conversaciones entre las personas (actos de habla) y se han llegado a desarrollar lenguajes siendo de los mas conocidos KIF, KQML, ACL, entre otros [15].

El objetivo de la coordinación y la cooperación, es lograr una integración y un ajuste armonioso de los esfuerzos de trabajo individual, en beneficio de una meta común.

Se pueden presentar dos modos de cooperación para la solución de problemas [16]. Se “comparte tareas” cuando los individuos cooperan distribuyendo la carga computacional para la solución de las subtareas del problema. Se “comparte resultados” cuando los agentes aportan los resultados de sus tareas individuales.

La coordinación es una propiedad de los sistemas de agentes que se encuentran realizando una actividad en un ambiente compartido. Por medio de la comunicación los agentes pueden coordinar sus acciones y comportamientos, con el consiguiente resultado de sistemas más coherentes, es decir, sistemas que se comportan bien como una unidad. En síntesis, el objetivo de la coordinación es evitar situaciones de conflictos entre los agentes [17].

 

3. SISTEMAS MULTI-AGENTES ROBOTICOS

La investigación en sistemas multi-agente robóticos (MARS) consiste en el estudio de algoritmos para la percepción, cognición, y comportamiento de sistemas compuestos de múltiples robots [10].

El primer equipo de robots que fue diseñado para trabajar en conjunto fue el construido por Fukuda [18]. Su sistema robótico celular (CEBOT) es una colección de agentes robóticos heterogéneos los cuales tienen la capacidad de ensamblarse y desensamblarse entre ellos. A partir de este aquí ha ganado popularidad entre los investigadores hasta el punto de celebrarse en la actualidad competencias como la RoboCup [19], el AAAI Robotic Contest [20], y MiroSot [21], en las cuales poblaciones de robots trabajan en conjunto para la solución de tareas

El diseño de grupos o enjambres de robots para la realización cooperativa de tareas ofrece una serie de ventajas comparativas con respecto a al esquema tradicional de solución mediante un solo robot [22][23][24]:

  • Robustez: Un diseño redundante permite que al sufrir daño un agente, el funcionamiento del sistema no se vea comprometido ya que otro agente podría cumplir su función.
  • Escalabilidad: Los MARS tiene la ventaja de ser sistemas abiertos. Se pueden introducir nuevos agentes sin realizar mayores cambios en el sistema.
  • Mayor cubrimiento de área geográfica: Se pueden distribuir los agentes de manera que cubran mayor espacio de búsqueda.
  • Divide y Vencerás: Hay gran cantidad de problemas cuya solución es de naturaleza distribuida.
  • Simplicidad: Los MARS son modulares, además los agentes tienen un diseño mas simple que en los sistemas monolíticos de un solo robot.

A pesar de las ventajas los MARS cuentan con las siguientes desventajas [25][26]:

  • A nivel de arquitecturas software: el desarrollo de arquitecturas para este tipo de sistemas presenta muchas dificultades. Algunas de las formas más frecuentes de abordar este tipo de inconvenientes son las siguientes:
    • Uso de una arquitectura centralizada: un solo agente procesa toda la información adquirida y envía las acciones que deben de tomarse a los otros agentes.
    • Uso de una arquitectura distribuida: la información es recuperada por todos los agentes pero las decisiones las toma un agente central.
    • Uso de una arquitectura totalmente distribuida: cada robot toma sus decisiones de acuerdo a la información que adquiere.
  • A nivel de planificación y distribución de tareas: los planes deben tener en cuenta la naturaleza distribuida de la tarea a realizar. Las diferentes tareas deben de distribuirse en los distintos agentes de acuerdo a sus destrezas. Los planes deben de considerar sincronización y comunicación entre los diferentes miembros del equipo envueltos en la tarea. Si un agente no puede llevar a cabo su tarea, deberá haber un mecanismo que la reasigne.
  • A nivel de coordinación de tareas: La introducción de la coordinación de tareas a un equipo de múltiples agentes filtra problemas relacionados a la distribución y mantenimiento del conocimiento, y los problemas propios de los sistemas de comunicación (ruido, ancho de banda limitado). Dado que la comunicación puede ser implícita o explicita , se debe de tener en cuenta el mecanismo mediante el cual los agentes generan eventos cuando necesitan comunicar algo de relevancia para otros agentes (por ejemplo cuando un agente necesita comunicar que ha alcanzado un objetivo). La comunicación es uno de los mecanismos mas importantes para la coordinación de tareas en un equipo por lo tanto es uno de los problemas claves a atacar en el desarrollo de este tipo de sistemas.
  • A nivel de modelamiento distribuido del mundo: dado que se pueden distribuir diferentes capacidades sensoricas en los diferentes agentes, la representación obtenida del mundo puede ser mas rica que la obtenida con un solo agente. El problema que surge es como lograr una fusión sensorica eficiente de manera que se logre una integración adecuada de los datos.
  • Sensado, localización y exploración cooperativa: mientras que un solo robot solo tiene acceso a la información local, un robot en un MARS puede reunir información de todo el equipo de robots. La técnica mas usada para la exploración cooperativa es el manejo distribuido del mapa del entorno de trabajo en la cual cada robot maneja versiones reducidas e intercambiables de su área de trabajo.
  • Control y adaptación: En este punto el espectro es muy amplio, se puede tener estrategias de adaptación y control mediante aprendizaje en procesos coevolutivos, adaptación a entornos con la presencia de humanos, trabajo con humanos en el equipo, y arquitecturas de control y adaptación de inspiración biológica.

 

4. PROYECTO SMART

El proyecto SMART esta concebido como una plataforma para la investigación de técnicas de inteligencia artificial distribuida y cooperación entre agente en entornos estructurados [17]. El enfoque permite estudiar tanto arquitecturas de software centralizadas como distribuidas al poderse desempeñar los agentes tanto con comunicación como sin esta. La figura 1 muestra como esta diseñada la plataforma. Los elementos claves son la disposición de una red inalámbrica para la comunicación entre agentes tanto software en el PC como hardware en las plataformas. Aunque el sistema en la actualidad cuenta con tres agentes robóticos y uno hardware, es posible la introducción de mas agentes, esto solo se ve limitado por las capacidades de la red inalámbrica que depende de los dispositivos que se utilizan actualmente para la comunicación.


Figura 1.
Arquitectura de SMART.
Figure 1. SMART Architecture

Se propone un modelo de agente en tres niveles [27]: individual, para la interacción con el medio; relacional, para la gestión de formación de grupos con otros agentes; y organizacional, para la solución cooperativa de problemas. Este enfoque permite abstraer diferentes comportamientos que los agentes deberán de exhibir en diferentes etapas de solución de un problema determinado.

El enfoque de agentes de tres capas también constituye el primer paso para la el análisis y diseño de sistemas multi-agentes robóticos mediante la metodología MAD-Smart [28]. Los gráficos que se discutirán mas adelante, exceptuando la última fotografía, pertenecen a diferentes etapas de dicha metodología.

La tabla 1 muestra el modelo de la Arquitectura de Grupo para un proyecto de digitalización de entornos estructurados. Este modelo describe básicamente la infraestructura necesaria para llevar a cabo un proyecto determinado usando grupos de agentes robóticos.

Tabla 1. Modelo de Arquitectura de Grupo para un sistema de digitalización de entornos.
Table 1. Model of Group Architecture for a environment digitalization system.

La figura 2 muestra el Modelo de Descripción Modular para el agente dado. Este último modelo tiene como propósito enseñar la manera como se encuentran vinculadas las partes físicas que constituyen los agentes. La figura 3 muestra la plantilla de diseño para una plataforma determinada en el sistema. La plantilla de diseño se realiza al final de la aplicación de la metodología, y busca dejar definido varios de los elementos que harán parte del sistema. Finalmente, la figura 4 muestra un agente robótico particular del sistema y se señalan algunos de sus elementos.


Figura 2.
Modelo de Descripción Modular para una Plataforma.
Figure 2. Model of Modular Description for a Platform


Figura 3
. Plantilla de Diseño.
Figure 3. Design Template.


Figura 4
. Agente Robótico del proyecto SMART.
Figure 4. Robotic Agent of the Smart Project.

 

5. CONCLUSIONES

La gran cantidad de tareas en el mundo real cuya solución involucra un gran número de humanos apoyándose unos a otros parece ser el campo de aplicación mas inmediata de los MARS.

El campo de los MARS es en la actualidad, un área bien establecida y con una cada vez mayor trayectoria y madurez. Se espera que la complejidad de las tareas en las cuales intervendrán equipos de robots sea cada vez mayor.

El campo de investigación en robótica cada vez se esta desplazando mas hacia el desarrollo en robótica cooperativa, esto implica, mas que un rediseño de toda la tecnología existente, un compromiso por parte de los investigadores de asumir de una manera diferente los problemas a solucionar y la manera como se conciben los agentes individuales. En el articulo ya se mostró como el modelo tres niveles se esta desarrollando dentro del proyecto y como existe ya una metodología en torno a este modelo. No hay duda que con el tiempo surgirán nuevas maneras de entender como deberán de ser los agentes dentro de un grupo.

Queda un gran camino por recorrer por la reconciliación de las teorías de los MAS de software, los cuales tienen como ventajas las grandes capacidades computacionales y las tecnologías de redes teleinformáticas actuales, y los MARS, aunque no se puede negar que la teoría de los agentes inteligentes esta cambiando la manera como se conciben y diseñan los robots.

 

6. AGRADECIMIENTOS

Este artículo se enmarca dentro del proyecto de investigación “Sistema Multi-Agente Robótico para la Navegación Colaborativa en Escenarios Estructurados” (30805961) auspiciado por la Dirección de Investigación de la Universidad Nacional de Colombia Sede Medellín (DIME).

 

REFERENCIAS

[1] ALAMIS R., FLEURY S., HERRB M., INGRAND F., Y ROBERT F. Multi-Robot Cooperation in the MARTHA Project. IEEE Robotics and Automation Magazine, Vol. 5, No. 1, 1998.         [ Links ]
[2] EVANS J., KRISHNAMURTHY B., HelpMate, The Trackless Robotic Courier. Lectures Notes in Control and Information Sciences. Springer Verlag. 1998.         [ Links ]
[3] REKLEITIS I., SIM R. , DUDEK G., MILLOS E. Collaborative Exploration for the Construction of Visual Maps. 2001. Disponible en: http://citeseer.ist.psu.edu/449413.html Fecha de acceso: Mayo de 2007         [ Links ]
[4] TAMBE M. Towards Flexible Teamwork. Journal Artificial Intelligence Research. 1997.         [ Links ]
[5] FRANKILN D., KAHNG A., LEWIS A. Distributed Sensing and Proving with Multiple Search Agents: Towards System-level landmine Detection Solutions. Proceedings of Detection Technologies for Mines and Minelike Targets, vol 2496. 1995.         [ Links ]
[6] DONALD B., JENNINGS J, RUS D. Experimental Information Invariants for Cooperating Autonomous Mobile Robots. Proceedings International Symposium on Robotics Research. 1993         [ Links ]
[7] ALTENBURG K. Adaptive Resource Allocation for a Multiple Mobile Robot System using Communication. Technical Report NDSU-CSOR-TR-9404. 1994.         [ Links ]
[8] COLLINOT A., DROGOUL A., BENHAMOU P. Agent Oriented Design of a Soccer Robot Team. ICMAS’96; 1996         [ Links ]
[9] DELOACH S., MATSON E., LI Y.; Applying Agent Oriented Software Engineering to Cooperative Robotics. Proceedings of the Fifteenth International Florida Artificial Intelligence Research Society Conference. 2002.         [ Links ]
[10] VELOSO M., NARDI D. Special Issue on Multirobot Systems. Proceedings of the IEEE, Vol. 94, No. 7, July 2006         [ Links ]
[11] FRANKLIN S., GRAESSER T. Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents. Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1996.         [ Links ]
[12] MÜLLER J.P. The Design of Intelligent Agents. A Layered Approach. Lecture Notes in Artificial Intelligence, Vol. 1177. Ed. Springer-Verlag. 1996.         [ Links ]
[13] RUEDA S., M. E. Ucrós, and A. Quintero. Agentes y Sistemas Multiagente: Integración de Conceptos Básicos. Memos de investigación, No. 319, pp.1-14.         [ Links ]
[14] RUSSELL S.J. and P. Norving. Artificial intelligence .Englewood Cliffs, NJ: Prentice-Hall, 1995.         [ Links ]
[15] WOOLDRIDGE MICHAEL. An Introduction to Multi-Agent System. John Wiley & Sons Ltd. 2002         [ Links ]
[16] DAVIS R. SMITH R. G. Negotiation as a Metaphor for Distributed Problem Solving. Distributed Artificial Intelligence. Morgan Kaufmann Publishers Inc. 1988         [ Links ]
[17] OVALLE D. JIMÉNEZ J. ACOSTA G. Arquitectura de Ambiente Multi-Agente Robótico para la Navegación Colaborativa. Quinta Conferencia Iberoamericana en Sistemas, Cibernética e Informática CISCI. 2006, USA.         [ Links ]
[18] FUKUDA T. NAKAGAWA S. KAWAUCHI Y. Buss M. Structure Decision for Self Organising Robots Based on Cell Structures – CEBOT. IEEE International Conference on Robotics and Automation. 1989         [ Links ]
[19] RoboCup. RoboCup online. Disponible en: http://www.robocup.org/, 1998. Fecha de acceso: Abril de 2007.         [ Links ]
[20] AAAI Robot Competition and Exhibition. Disponible en: http://www.palantir.swarthmore.edu/aaai06/ Fecha de acceso: Abril de 2007.         [ Links ]
[21] MiroSot. MiroSot context and exhibition. Disponible en: http://www.mirosot.org/, 1999. Fecha de acceso: Abril de 2007.         [ Links ]
[22] FUKUDA T. NAKAGAWA S. Approach to the dynamically reconfigurable robotic system. Journal of Intelligent and Robotic Systems. Springer Netherlands. Volumen 1, Numero 1, 1988.         [ Links ]
[23] STONE P. VELOSO M. Multiagent Systems: a Survey from a Machine Learning Perspective. Technical Report CMU-CS-97-193, CMU, School of Computer Science, Carnegie Mellon University, May 1997.         [ Links ]
[24] ARKIN R. C. Behaviour Based Robotics. MIT Press, 1998         [ Links ]
[25] LIMA P., CUSTODIO L.. Artificial Intelligence and System Theory: Applied to Cooperative Robots. Disponible en: http://citeseer.ist.psu.edu/578654.html Fecha de acceso: Mayo de 2007.         [ Links ]
[26] VELOSO M. NARDI D. Special Issue on Multirobot Systems. Proceedings of the IEEE. Volumen 94, Julio 2006         [ Links ]
[27] DROGOUL A, ZUCKER J.-D. Methodological Issues for Designing Multi-Agent Systems with Machine Learning Techniques: Capitalizing Experiences from the RoboCup Challenge. LIP6 – Université París 6. 1998         [ Links ]
[28] JIMÉNEZ J., VALENCIA M., OCHOA J. Metodología para el Análisis y Diseño de Sistemas Multi-Agente Robóticos: MAD-Smart. Segundo Congreso Colombiano de Computación, CCC 2007.
        [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License