SciELO - Scientific Electronic Library Online

 
vol.28 issue2Separating a water-propanol mixture using PDMS pervaporation membranesOptimum control criteria for an electric driver for dynamic systems author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Article

Indicators

Related links

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

Share


Ingeniería e Investigación

Print version ISSN 0120-5609

Ing. Investig. vol.28 no.2 Bogotá May/Aug. 2008

 

Comunicación en sistemas de múltiples robots desde la metodología MAD-Smart

Multiple robot systems’ communication using MAD-Smart methodology

Jovani Alberto Jiménez Builes1, Demetrio Arturo Ovalle Carranza2 y John William Branch Bedoya3


1 Licenciado, Docencia de Computadores, Universidad de Medellín, Colombia. Magíster, Ingeniería de Sistemas, Universidad Nacional de Colombia. Doctor, en Ingeniería de Sistemas, Universidad Nacional de Colombia. Pasantía Doctoral, Grupo de Inteligencia Artificial, Universidade Federal do Rio Grande do Sul, Brasil. Profesor Asistente, Universidad Nacional de Colombia, sede Medellín. jajimen1@unal.edu.co
2 Ingeniero de sistemas y computación, Universidad de los Andes, Bogotá, Colombia. Master, Informatique, l'Institut National Polytechnique de Grenoble, Francia. Docteur, Informatique de la Université Joseph Fourier, Grenoble, Francia. Profesor Asociado, Universidad Nacional de Colombia, sede Medellín. dovalle@unal.edu.co
3 Ingeniero de minas y metalurgia, Universidad Nacional de Colombia. Magíster, Ingeniería de Sistemas, Universidad Nacional de Colombia. Doctor, en Ingeniería de sistemas, Universidad Nacional de Colombia. Profesor Asociado, Universidad Nacional de Colombia. jwbranch@unal.edu.co


RESUMEN

Este artículo demuestra la importancia de la comunicación en sistemas de múltiples robots enmarcado desde la metodología MAD-Smart. La metodología está compuesta por las fases de conceptuación, análisis y diseño de equipos de múltiples robots mediante la definición de un conjunto de actividades. El propósito de MAD-Smart es ayudar al desarrollador a entender mejor el problema a resolver, las características finales que deberá tener el sistema y el papel que cada agente juega en la solución del problema. La metodología se ha validado mediante la implementación de los proyectos Smart (Sistema multiagente robótico), robótica educativa: máquinas inteligentes en educación y modelo de sensórica y percepción en agentes robóticos para la identificación de materiales. MAD-Smart ha demostrado que es más relevante el manejo de roles, que los agentes mismos para el modelo de comunicación. Lo anterior obedece al grado de abstracción buscado en la metodología, ya que un rol como una representación abstracta de un comportamiento de alto nivel permite generalizar de mejor manera los escenarios posibles que se pueden encontrar en un sistema determinado.

Palabras clave: comunicación entre agentes, modelamiento de conversaciones, metodología MAD-Smart, sistemas multiagente robóticos (Smart).


ABSTRACT

This paper was aimed at exhibiting the real need for having good communication within multiple robots systems using MAD-Smart methodology. Such methodology consists of conceptualising, analysing and designing multiple robot teams by defining a set of activities. MAD-Smart assists developers in further understanding not only the problem to be solved but the final characteristics which a particular system must accomplish and the role played by each agent in resolving problems. This methodology has already been validated by implementing the SMART (robotic multi-agent system) project, educational robotics: intelligent machines in education and sensory and perception models in robotic agents for material identification. MAD-Smart has been shown to be more relevant in handling agent roles than the agents themselves for a given communication model. This issue reflects this methodology’s degree of abstraction since a role defining as an abstract representation of high level behavioural allows generalising the best possible scenarios which can be found in a given multi-robot system.

Keywords: communication among agents, conversation modelling, MAD-Smart methodology, multiagent robotic systems.


Recibido: febrero 19 de 2008
Aceptado: junio 27 de 2008

Introducción

Un sistema de múltiples robots se puede caracterizar, en términos generales, como un conjunto de robots que operan en el mismo entorno, aunque esto no implica que el diseño de estos sistemas sea la simple generalización de un sistema de un solo robot, ni el diseño de un caso especial de un sistema multiagente (MAS). Es decir, incorporar a un sistema un conjunto de robots que han sido construidos de manera aislada sin la concepción de concurrencia no asegura que se obtenga un sistema de múltiples robots.

La comunicación se ha reconocido como un tópico de gran importancia en las ciencias de la computación, llegándose a desarrollar gran cantidad de formalismos para representar sus características en los sistemas concurrentes. La comunicación entre robots puede aumentar sus capacidades y efectividad, pero su nivel puede variar de un problema a otro (Balch y Arkin, 2008). Además, la cantidad de información que se intercambia a la vez que puede aumentar el grado de coordinación ampliará siempre el grado de complejidad del sistema (Klavins, 2008).

Por otro lado, la comunicación entre robots permite replantear hipótesis y conocer más a fondo la manera como evolucionan los mecanismos de interacción en sistemas no necesariamente artificiales (Lipson, 2007).

Aunque aún no se dispone de una teoría que permita saber cuál es la cantidad necesaria de información que se debe intercambiar para que la comunicación sea efectiva, se sabe que tanto el emisor como el receptor deben compartir conocimientos relevantes para que ocurra la comunicación. Se debe tener en cuenta que la información contenida en un mensaje emitido sólo tendrá valor en la medida que desempeñe un papel importante en el sistema de destino. El mensaje emitido debe disminuir su grado de incertidumbre (Dennet, 1996).

Esto es importante en la teoría de agentes dado el grado de autonomía que manejan. La información intercambiada no debe tener un carácter impositivo sobre un agente destino (Wooldridge, 2002), solo debe reducir su grado de incertidumbre respecto a una situación dada.

Dado que los sistemas de múltiples robots pueden operar en entornos en los cuales se encuentran personas, cada vez se buscan mejores mecanismos que permitan una mayor comunicación entre los agentes y las personas en estos entornos (Fügen et al., 2008). Este tema no es tratado en la metodología en su versión actual.

La esencia del artículo es mostrar la importancia de la comunicación en sistemas de múltiples robots y cómo esta es abordada desde la metodología MAD-Smart. El artículo está distribuido de la siguiente manera: en la sección dos se muestran los aspectos relacionados con la comunicación de agentes robóticos y cómo estos aspectos están relacionados con el nivel de cooperación en un sistema. En la sección tres se muestra el modelamiento de la comunicación desde la metodología MAD-Smart y se exhibe un par de casos de estudio. La sección cuatro está dedicada a indicar algunos aspectos del proyecto SMART. Finalmente, se presentan las conclusiones y referencias.

Comunicación entre agentes robóticos

Un sistema de múltiples robots es cooperativo cuando estos operan de manera conjunta para alcanzar algún objetivo global. Es coordinado cuando hay cooperación y cada una de las acciones que puede llevar a cabo un agente están influenciadas por las acciones que hayan sido llevadas a cabo por los otros agentes (Mataric, 1995). La cooperación es un modo de interacción que suele estar basada en alguna forma de comunicación (Farinelli et al., 2004). De esta manera, el nivel de comunicación que se maneje en el sistema puede llegar a determinar el grado de coordinación entre los agentes y por lo tanto la eficiencia del sistema cooperativo.

En un sistema de múltiples robots puede haber dos tipos de comunicación: intencional o directa, en la cual se usan dispositivos dedicados que garanticen la efectividad de la comunicación. En este primer tipo los mensajes tienen un receptor definido al cual siempre debe llegar la información. El segundo tipo es la no intencional o indirecta, en la cual la información se transmite mediante modificaciones del medio o del estado visible de los agentes. En este tipo de comunicación no hay un receptor específico para los mensajes y por lo tanto no hay garantía de que los mismos lleguen a un receptor cualquiera.

Existen básicamente tres mecanismos de comunicación en los sistemas de múltiples robots:

-No comunicación: para este tipo de comunicación los agentes deben estar en total capacidad de distinguirse unos de otros. Este tipo de comunicación es útil para problemas en los cuales no se requiere coordinación, pero es muy importante que los agentes no interfieran unos con otros, obteniéndose de esta manera resultados significativos de cooperación (Arkin, 1992).

-Comunicación basada en estados: cuando se maneja este tipo de comunicación la información relevante es el estado interno que posee en un momento determinado un agente. Lo anterior implica que los participantes de un acto comunicativo deben estar en capacidad de distinguir los roles o comportamientos que se puedan presentar en la conversación. El grado de conocimiento que un agente deberá tener de un compañero variará con el grado de complejidad de la tarea a realizar. Este modo de comunicación es indirecta ya que el agente al hacer evidente el estado en el que se encuentra no garantiza que otro agente esté recibiendo esta información. Hay tareas en las cuales dicho mecanismo de comunicación ha demostrado claras ventajas sobre la opción de no comunicación (Arkin et al., 1998; Hannawati et al., 2007).

-Comunicación de objetivos: este mecanismo involucra la transmisión y recepción de información específica. La implementación en robots móviles requiere que los datos sean codificados, transmitidos, recibidos y decodificados. Tal mecanismo es útil para la comunicación directa, en la cual el emisor debe enviar la información de manera deliberada, y por lo tanto es muy utilizado en los sistemas encargados del levantamiento de mapas (Khosla, 1999; Fox et al., 2005).

Modelamiento de la comunicación entre agentes robóticos usando la metodología MAD-smart

El enfoque de la metodología para el análisis y diseño de sistemas multiagente robóticos MAD-Smart está fundamentado en: (1) independencia de las técnicas de implementación, (2) proceso metodológico ascendente iniciando en la determinación de los requerimientos del proyecto para llegar a las estrategias de solución de estos de manera cooperativa (Jiménez et al., 2007).

La metodología está concebida para el modelado a nivel microscópico en el cual se considera cada robot en el sistema con sus respectivas interacciones y comportamientos en un nivel alto de detalle (Vernon, 2005). De esa manera la metodología define una actividad en la fase de análisis dedicada a la descripción de las conversaciones posibles entre los agentes (modelo de comunicación).

El modelo consta de un par de pasos: la identificación de comunicaciones posibles y la naturaleza de dichas comunicaciones (modelo de conocidos); y la descripción de las conversaciones posibles entre los agentes (modelo de conversaciones).

El modelo de conocidos hace uso de rectángulos para representar agentes o roles, y de flechas que pueden ser punteadas para el caso de comunicaciones indirectas y sólidas para las comunicaciones directas. Se debe hacer un modelo de conocidos por cada escenario en el cual se pueda presentar una conversación entre agentes.

El modelo de conversaciones hace uso de una tabla en la cual se entrega información sobre el nombre de la conversación, la descripción y un diagrama de secuencias de UML. Un diagrama de secuencia permite especificar un sentido de orden en el intercambio de mensajes (Fowler, 2004), a la vez que alberga estructuras de control que permiten modelar conversaciones que tienen una naturaleza no necesariamente lineal (Martin, 2004).

En la metodología se usan los diagramas de secuencia para mostrar las interacciones que puede haber entre agentes para un escenario determinado; en particular, para mostrar los agentes que participan en las interacciones, la secuencia de mensajes intercambiados, el tipo de interacción (directa o indirecta) y los roles que están siendo llevado a cabo por dichos agentes (Odell, 2008). La Figura 1 muestra algunos elementos de diagramas de secuencias con sus respectivas extensiones para agentes, dentro del enfoque de la metodología. Cualquier otro elemento del diagrama de secuencias conserva la notación típica de UML.

La Figura 2 muestra un ejemplo de conversaciones en un entorno de recolección de objetos, atractores, en un sistema con tres agentes. La conversación indica que, luego de que un agente encuentra un atractor envía un mensaje a los otros dos agentes. Si alguno de estos no se encuentra en el rol de Deambular, simplemente no entra en el escenario. Se indica el tiempo de espera en la respuesta. Si ninguno de los dos agentes se encuentra disponible simplemente se vencerá el tiempo de espera, se disolverá la conversación y el Agentei volverá a su rol Deambular. Si hay respuesta se reclutará el primer agente que haya enviado la respuesta, y ambos, Agentei y el agente reclutado, pasaran al rol de Entregar. Nótese que hay un cuadro opcional en el cual se muestra la posibilidad de que sea cualquiera de los dos agentes convocados el primero en responder.

Existen muchos otros formalismos para modelar conversaciones: máquinas de estado finito, grafos, redes de Petri, etc. (Martin et al., 1999); y cualquiera de ellos es válido dentro de la metodología.

Algunos otros aspectos que son claves en la comunicación entre agentes robóticos y que comprometen técnicas de criptografía, protocolos de comunicación y protocolos avanzados para redes inalámbricas (Guevara, 2006), no son abordados aún por la metodología y se esperan tener en cuenta más adelante a medida que el estudio del área cobre mayor madurez.

Sistemas multiagentes robóticos para la digitalización de escenarios estructurados

El proyecto Smart busca en su primera versión desarrollar un ambiente multiagente robótico para la navegación colaborativa en escenarios estructurados capaz de obtener versiones digitales del entorno de trabajo. El sistema para este propósito cuenta con tres agentes robóticos (exploradores) para recolección de información, y un agente ubicado en una PC (mapeador) para el almacenamiento de los datos. Todos estos agentes se comunican mediante una red inalámbrica (Hara et al., 2006), aunque en una versión inicial se piensa en la posibilidad de uso de comunicación por cables ya que se ha mostrado igualmente útil en varios entornos (Birk et al., 2006). Versiones posteriores harán uso de dispositivos que permitan más libertad de movilidad pero que debido a sus características comprometerán la cantidad de información, intercambiable exigiendo la implementación de técnicas que no serán tratadas.

La Figura 3 muestra la arquitectura planteada. Se cuenta con una capa superior en la cual se sitúan los agentes inteligentes, los cuales serán los que implementarán los algoritmos de navegación y planificación colaborativa. Bajo esta capa se encuentra la pizarra del sistema, la que permitirá el almacenamiento e intercambio de información entre los agentes del sistema (Ono et al., 2004; Vranes y Stanojevic, 1995). El entorno robótico puede ser tanto software, mediante el uso del simulador Simbad (Hugues y Verdece, 2008), o hardware, usando las plataformas robóticas. El subsistema de percepción/comandos permite la comunicación con el entorno robótico tanto si este es software o hardware. Esta división en capas facilita el intercambio y validación de técnicas y algoritmos.

En esta arquitectura hay varios escenarios para la formación de conversaciones. Dado que el artículo está orientado a mostrar las virtudes de la metodología MAD-Smart para el modelado de interacciones entre agentes, se mostrarán sólo las conversaciones que se presentan entre los agentes en el entorno de agentes robóticos y el subsistema de Percepción/Comandos.

El subsistema de Percepción/Comandos está pensado para que transmita los comandos sugeridos desde la capa de Agentes Inteligentes hacia los agentes robóticos y para que reciba y les dé formato a los datos de los sensores de los agentes robóticos. Las Figuras 4 y 5 muestran las posibles conversaciones que se presentan a este nivel.

Resultados

En esta primera fase del proyecto se ha buscado hacer más robusta la comunicación del Entorno de Agentes Robóticos con el subsistema de Percepción/Comandos, de manera que se pueda llegar a un estado de conectar/ejecutar que permita experimentar lo máximo posible en las capas superiores, ya que es finalmente en estas donde se implementan los algoritmos inteligentes.

La comunicación entre estos entornos está basada en Sockets y es del tipo cliente servidor (Figura 6). Con el Entorno de Agentes Robóticos simulados la comunicación es directa, sólo se tuvo que añadir a las clases de robots existentes una librería que permitiera la comunicación mediante los Sockets. Para el Entorno de Agentes Robóticos se implementó una librería de comunicación adicional que tiene como función el manejo del flujo de datos sobre el puerto serial mediante el paquete javaComm del lenguaje Java.

La Figura 7 muestra la interfaz que se está utilizando para la visualización de los datos que llegan continuamente al subsistema de Percepción/Comando, y la Figura 8 señala una de las plataformas usadas para la adquisición de los datos. Los datos representan medidas en centímetros y se deben ajustar de acuerdo a las curvas de comportamiento de los sensores ya que el sensor ultrasónico es el único que tiene comportamiento lineal. Los sensores de posición no se han terminado totalmente al momento de realizar el trabajo, aunque igual se envía un comodín desde la plataforma para que en el momento en que se tengan implementados se haya contado con ellos en la comunicación. Los elementos de comunicación aquí expuestos se han trabajado primero de manera alámbrica, y de menor manera inalámbrica ya que se han encontrado inconvenientes con la tecnología para la radiofrecuencia de la que se está haciendo uso. Aunque la comunicación inalámbrica entre un solo agente y el módulo que lleva los datos al puerto serie ha mostrado buenos resultados, aún se explora el uso del único canal de comunicación que hay disponible; en el caso alámbrico, un mismo bus sobre el puerto serie para poder llevar mejores técnicas al caso inalámbrico.

Conclusiones

El correcto modelado de la comunicación en un sistema puede disminuir el grado de complejidad a la vez que puede aumentar la capacidad de respuesta del sistema. Entre mayor sea el número de interacciones innecesarias entre los agentes, menor será el tiempo que estos estarán dedicados a alcanzar objetivos en el sistema. Todo elemento que se añada sin generar beneficio, acarreará costos innecesarios.

A medida que aumenta el grado de comunicación entre los agentes se nota una disminución en el conocimiento que los agentes deben tener unos de los otros. Esto es muy relevante, ya que el modelamiento del estado interno de un agente particular por parte de otro agente puede llegar a ser una carga computacional muy alta.

Los diagramas de secuencias, junto a las extensiones planteadas para agentes, son una herramienta poderosa para el modelamiento de interacciones entre agentes, en este caso conversaciones, aunque el grado de complejidad en los gráficos puede hacer ilegibles los modelos si no se realiza una buena distinción de escenarios y un buen manejo del lenguaje.

El uso de diagramas de secuencias permite un grado mayor de difusión de conocimiento debido al nivel de estandarización que tienen estos diagramas, como todos los relacionados con el estándar UML.

El número de agentes que pueden participar en la solución de un problema es otro elemento a tener en cuenta y del que se puede sacar conclusiones a partir del modelado de las comunicaciones, ya que aunque el desempeño de un sistema se puede ver incrementado con el numero de agentes, llegará un momento en el que un aumento en el total de agentes no reporte ninguna ganancia y, en el peor de los casos, incurra en un decremento del desempeño. Esto puede deberse, entre otras cosas, a efectos de interferencia y a sobrecarga del medio o canal por el cual se transmiten los mensajes. De esta manera, sistemas que dependan mucho de la comunicación se verán siempre afectados por el incremento de la población de agentes.

La metodología muestra cómo es más relevante el manejo de roles que los agentes mismos para el modelo de comunicación. Lo anterior obedece al grado de abstracción buscado en la metodología, ya que un rol como una representación abstracta de un comportamiento de alto nivel permite generalizar de mejor manera los escenarios posibles que se pueden encontrar en un sistema determinado.

La metodología MAD-Smart se utiliza actualmente para el análisis y diseño de sistemas multiagente robóticos dentro del proyecto Smart de la Universidad Nacional de Colombia, Sede Medellín.

Agradecimientos

El trabajo descrito en este artículo se enmarca dentro del proyecto de investigación “Robótica educativa: máquinas inteligentes en educación”, auspiciado por la Dirección de Investigación de la Universidad Nacional de Colombia, Sede Medellín (DIME). También se resalta la labor del estudiante auxiliar de investigación John Fredy Ochoa Gómez.

Bibliografía

Arkin, R., Cooperation without Communication: Multi-Agent Schema Based Robot Navigation., Journal of Robotic System, Vol. 9(3), 1992, pp. 351-364        [ Links ]

Arkin, R., Balch, T., Nitz, E., Communication of Behavioral State in Multi-Agent Retrieval Task., Proceedings IEEE International Conference on Robotics and Automation, Vol. 1, 1998, pp. 678.        [ Links ]

Balch, T., Arkin, R., Communication in Reactive Multiagent Robotic System., Disponible en: http://citeseer.ist.psu.edu/balch94communication.html Fecha de acceso: junio de 2008.        [ Links ]

Birk, A., Condea, C., Mobile Robot Communication without the Drawbacks of Wireless Networking., Lecture Notes in AI (LNAI) 4020, 2006, pp 585-592.        [ Links ]

Dennet, D., Contenido y Conciencia., Editorial Gedisa, España, 1996.        [ Links ]

Farinelli, A., Iocchi, L., Nardi, D., Multi-Robot System: A Classification focused on Coordination., Systems, Man and Cybernetics, Part B, IEEE Transactions on, Vol. 34, Issue 5, 2004,pp. 2015–2028.        [ Links ]

Fowler, M., UML Distilled: A Brief Guide to the Standard Object Modeling Language., Pearson Education, USA, 2004.        [ Links ]

Fox, D., Ko, J., Konolige, K., Limketkai, B., Schulz, D., Stewart, B., Distributed Multirobot Exploration and Mapping., Computer and Robot Vision, Proceedings of the 2nd Canadian Conference on, 2005.        [ Links ]

Fügen, C., Gieselmann, P., Holzapfel, H., Kraft, F., Natural Human Robot Communication., Human Centered Robotic Systems, HCRS, München, Germany, Disponible en: http://isl.ira.uka.de/fileadmin/publication-files/666_fuegen-HCRS-2006-v3.pdf. Fecha de acceso: febrero de 2008.        [ Links ]

Guevara, N., SWARM: Secure Wireless Ad hoc Robots on Mission., A Course Where Wireless Security Meets Robotics. Proceedings of the 10th Colloquium for Information Systems Security Education, University of Maryland, University College Adelphi, 2006.        [ Links ]

Hara, S., Yomo, H., Popovski, P., Hayashi, K., New Paradigms in Wireless Communication Systems., Wireless Personal Communications: An International Journal Archive, Vol. 37, No. 3-4, Kluwer Academic Publishers, Hingham, MA, USA, 2006, pp. 233 – 241.        [ Links ]

Hannawati, A., Russell, A. Practical Implementation of Robot Pheromone Communication., Disponible en: ftp://aass.oru.se/pub/ali/Papers/Final/Andy-paper.pdf. Fecha de acceso: noviembre de 2007        [ Links ]

Hugues, L., Bredeche, N., SIMBAD Project. Disponible en: http://simbad.sourceforge.net/index.php, Fecha de acceso: junio de 2008.        [ Links ]

Jiménez, J., Vallejo, 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, 2007.        [ Links ]

Klavins, E., Communication Complexity of Multi-Robot System., Disponible en: http://citeseer.ist.psu.edu/596134.html. Fecha de acceso: julio de 2008.        [ Links ]

Khosla, P., Navarro, L., Paredis, C., A Beacon System for the Localization of Distributed Robotic Teams., Carnegie Mellon University, 1999.        [ Links ]

Lipson, H., Evolutionary Robotics: Emergence of Communication., Current Biology, Vol. 17, No. 9, 2007, pp. 330-332.        [ Links ]

Martin, F., Plaza, E., Rodriguez, J., Conversation Protocols Modeling and Implementing Conversations in Agent-Based Systems., Issues in Agent Communication, 1999.        [ Links ]

Martin, R., UML para Programadores Java., Pearson Prentice Hall, 2004.        [ Links ]

Mataric, M., Issues and Approaches in Design of Collective Autonomous Agents., Robotics and Autonomous Systems, Vol. 16, 1995, pp. 321-331.        [ Links ]

Odell, J., Parunak, H., Bauer, B., Extending UML for Agent., Disponible en: http://www.jamesodell.com/ExtendingUML.pdf, Fecha de acceso: julio de 2008.        [ Links ]

Ono, Y., Uchiyama, H., Potter, W., A Mobile Robot for Corridor Navigation: a Multi-Agent Approach., ACM, USA, 2004.        [ Links ]

Vernon, C., A Principled Design Methodology for Minimalist Multi-Robot System Controllers., Ph.D. Thesis. University of Southern California, 2005.        [ Links ]

Vranes, S., Stanojevic M., Integrating Multiple Paradigms within the Blackboard Architecture., IEEE Trans. Software Engineering, Vol. 21, No. 3, 1995, pp. 244-262.        [ Links ]

Wooldridge M. An Introduction to Multi-Agent System. John Wiley & Sons Ltd., 2002.        [ Links ]

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