Proceso de Acoplamiento de Robots Móviles … · Resumen — En este articulo, se presenta un...

5
ResumenEn este articulo, se presenta un enfoque de auto- alineación basado en comportamientos de cooperación para el proceso de acoplamiento de robots móviles modulares. Para ello, se han definido dos estrategias de auto-alineación. Las cuales comparten el mismo objetivo de lograr una alineación óptima entre dos robots. La principal diferencia de dichas estrategias es que: la estrategia 1 consta de un robot activo y un robot inactivo, mientras que en la estrategia 2 ambos robots son activos. Además, los comportamientos de cooperación se obtienen a través de Redes de euronas Artificiales y Algoritmos Evolutivos. Se presentan los experimentos realizados a través de un simulador de dispositivos robóticos (Player) y un simulador multi-robot en 2D (Stage) para cada estrategia mostrando las diferencias. I. INTRODUCCIÓN En los últimos años, la investigación sobre sistemas de robots modulares ha atraído la atención de varios investigadores de la comunidad científica debido a las ventajas que ofrecen estos tipos de sistemas con respecto a un solo robot. Desde el punto de vista de tareas, la versatilidad de un robot especializado es sólo para un círculo restringido de tareas y, a veces se convierte en un exceso de diseño para un subconjunto de tareas menos complejas. En algunas situaciones, la utilización de robots con diferentes parámetros para una variedad de tareas es posible cuando los requerimientos de la tarea se indican con antelación. Sin embargo, en muchos ambientes no estructurados y menos previsibles, tales como; la exploración de un terreno, misiones de rescate en casos de desastres ambientales o dispositivo de espacio, es muy difícil o imposible diseñar un único sistema robótico que puede satisfacer una amplia gama de requisitos de la tarea. En estas circunstancias, podría ser favorable la implementación de un sistema robótico modular que pueda ser reconfigurado o auto-reconfigurarse en robots con diferentes parámetros adaptándose a las exigencias de diversas tareas. Los robots modulares se componen habitualmente de múltiples unidades elementales de un repertorio relativamente pequeño, con interfaces de conexión estandarizados que permiten la transferencia de fuerzas mecánicas, y la comunicación en todo el robot. Los sistemas robóticos auto-reconfigurables son potencialmente más adaptables que sólo los sistemas reconfigurables [1, 2]. La capacidad para auto-reconfigurarse permite a un robot o un grupo de robots desarmar y volver a armar la máquina para formar nuevas configuraciones cinemáticas que se adapten mejor a las nuevas tareas, o cambiar de un equipo de robots con ruedas a un solo robot con ruedas y luego a un robot con patas. Es evidente que la separación de los módulos de una configuración del robot es fácil de hacer, sin embargo, la auto-reconfiguración de los módulos es difícil de realizarse. Sólo algunos intentos hasta ahora han sido hechos para el acoplamiento de los robots modulares, y sus resultados son muy limitados, es decir, se requieren procedimientos complicados y por lo tanto son muy lentos. Esto se debe principalmente porque el mecanismo de conexión requiere una alineación precisa. Unos pocos estudios han sido realizados sobre acoplamiento autónomo de robots modulares. Los sensores infrarrojos [3, 4] o cámaras a bordo [5, 6, 7] son los dispositivos más comunes que se utilizan para el acoplamiento autónomo. En este trabajo, se proponen dos estrategias de adaptación para la auto-reconfiguración de robots móviles modulares a través de comportamientos cooperativos. Las estrategias se basan en comportamientos de cooperación, permitiendo a los robots modificar su comportamiento para hacer frente a los cambios ambientales o las acciones realizadas por otros robots, con el fin de obtener un comportamiento cooperativo que les permita lograr un objetivo común. Para este propósito, la implementación de los experimentos se han realizado mediante el proyecto Player/Stage [8], a través de el simulador de dispositivos robóticos (Player) y un simulador multi-robot en 2D (Stage). II. HERRAMIENTAS DE IMPLEMENTACIÓN Player es un servidor multi-hilo para el control de dispositivos robóticos, puede soportar una gran variedad de hardware robótico. La plataforma original de Player se diseñó para funcionar con la familia ActivMedia Pioneer 2, actualmente está diseñado para ser independiente del lenguaje de programación y de la plataforma, en este momento, soporta una gran variedad de sensores y robots Proceso de Acoplamiento de Robots Móviles Modulares mediante Comportamientos Cooperativos Yadira Quiñonez, Javier de Lope, Darío Maravall Universidad Politécnica de Madrid Perception for Computer and Robot Campus de Montegancedo, 28660, Madrid, España. [email protected] , [email protected] , [email protected]

Transcript of Proceso de Acoplamiento de Robots Móviles … · Resumen — En este articulo, se presenta un...

Resumen— En este articulo, se presenta un enfoque de auto-

alineación basado en comportamientos de cooperación para el

proceso de acoplamiento de robots móviles modulares. Para

ello, se han definido dos estrategias de auto-alineación. Las

cuales comparten el mismo objetivo de lograr una alineación

óptima entre dos robots. La principal diferencia de dichas

estrategias es que: la estrategia 1 consta de un robot activo y un

robot inactivo, mientras que en la estrategia 2 ambos robots son

activos. Además, los comportamientos de cooperación se

obtienen a través de Redes de &euronas Artificiales y

Algoritmos Evolutivos. Se presentan los experimentos

realizados a través de un simulador de dispositivos robóticos

(Player) y un simulador multi-robot en 2D (Stage) para cada

estrategia mostrando las diferencias.

I. INTRODUCCIÓN

En los últimos años, la investigación sobre sistemas de robots modulares ha atraído la atención de varios investigadores de la comunidad científica debido a las ventajas que ofrecen estos tipos de sistemas con respecto a un solo robot. Desde el punto de vista de tareas, la versatilidad de un robot especializado es sólo para un círculo restringido de tareas y, a veces se convierte en un exceso de diseño para un subconjunto de tareas menos complejas. En algunas situaciones, la utilización de robots con diferentes parámetros para una variedad de tareas es posible cuando los requerimientos de la tarea se indican con antelación. Sin embargo, en muchos ambientes no estructurados y menos previsibles, tales como; la exploración de un terreno, misiones de rescate en casos de desastres ambientales o dispositivo de espacio, es muy difícil o imposible diseñar un único sistema robótico que puede satisfacer una amplia gama de requisitos de la tarea. En estas circunstancias, podría ser favorable la implementación de un sistema robótico modular que pueda ser reconfigurado o auto-reconfigurarse en robots con diferentes parámetros adaptándose a las exigencias de diversas tareas. Los robots modulares se componen habitualmente de múltiples unidades elementales de un repertorio relativamente pequeño, con interfaces de conexión estandarizados que permiten la transferencia de fuerzas mecánicas, y la comunicación en todo el robot.

Los sistemas robóticos auto-reconfigurables son potencialmente más adaptables que sólo los sistemas reconfigurables [1, 2]. La capacidad para auto-reconfigurarse permite a un robot o un grupo de robots desarmar y volver a armar la máquina para formar nuevas configuraciones cinemáticas que se adapten mejor a las nuevas tareas, o cambiar de un equipo de robots con ruedas a un solo robot con ruedas y luego a un robot con patas. Es evidente que la separación de los módulos de una configuración del robot es fácil de hacer, sin embargo, la auto-reconfiguración de los módulos es difícil de realizarse. Sólo algunos intentos hasta ahora han sido hechos para el acoplamiento de los robots modulares, y sus resultados son muy limitados, es decir, se requieren procedimientos complicados y por lo tanto son muy lentos. Esto se debe principalmente porque el mecanismo de conexión requiere una alineación precisa. Unos pocos estudios han sido realizados sobre acoplamiento autónomo de robots modulares. Los sensores infrarrojos [3, 4] o cámaras a bordo [5, 6, 7] son los dispositivos más comunes que se utilizan para el acoplamiento autónomo. En este trabajo, se proponen dos estrategias de adaptación para la auto-reconfiguración de robots móviles modulares a través de comportamientos cooperativos. Las estrategias se basan en comportamientos de cooperación, permitiendo a los robots modificar su comportamiento para hacer frente a los cambios ambientales o las acciones realizadas por otros robots, con el fin de obtener un comportamiento cooperativo que les permita lograr un objetivo común. Para este propósito, la implementación de los experimentos se han realizado mediante el proyecto Player/Stage [8], a través de el simulador de dispositivos robóticos (Player) y un simulador multi-robot en 2D (Stage).

II. HERRAMIENTAS DE IMPLEMENTACIÓN

Player es un servidor multi-hilo para el control de dispositivos robóticos, puede soportar una gran variedad de hardware robótico. La plataforma original de Player se diseñó para funcionar con la familia ActivMedia Pioneer 2, actualmente está diseñado para ser independiente del lenguaje de programación y de la plataforma, en este momento, soporta una gran variedad de sensores y robots

Proceso de Acoplamiento de Robots Móviles Modulares mediante

Comportamientos Cooperativos

Yadira Quiñonez, Javier de Lope, Darío Maravall

Universidad Politécnica de Madrid Perception for Computer and Robot

Campus de Montegancedo, 28660, Madrid, España. [email protected], [email protected], [email protected]

comerciales más comunes del mercado [9]. Player permite que varios dispositivos puedan ser presentados a través de la misma interfaz. Esta característica es muy útil cuando se utiliza Player con un simulador, ya que los programas escritos para el simulador no tienen que ser cambiados para funcionar con el hardware real. Stage es un simulador capaz de controlar una población de robots móviles, sensores y objetos en un entorno bidimensional, ha sido diseñado específicamente para soportar investigación en sistemas multi-robóticos, debido a que, los experimentos realizados con poblaciones numerosas de robots tienen costos muy elevados para comprar y mantener entonces con Stage se desarrollan experimentos con un número elevado de robots aumentando los beneficios y disminuyendo los costos. Tiene dos propósitos principales: permitir el desarrollo más rápido de controladores que tarde o temprano manejarán los robots reales y, realizar los experimentos con los robots sin tener acceso al hardware real ni al entorno [10]. Además proporciona la simulación de una amplia variedad de sensores y actuadores, tales como sonar, medidores de distancia por láser, dispositivos de detección de color por visión, odometría, etc. Stage suele ser utilizado como un módulo de Player que permite simular dispositivos virtuales.

III. DESCRIPCIÓN DE LOS COMPORTAMIENTOS BÁSICOS

Para llevar a cabo el proceso de acoplamiento entre los robots se requiere un conjunto de comportamientos básicos de bajo nivel. Dichos comportamientos han sido modelados mediante redes de neuronas artificiales (RNA), para el comportamiento de evitación de obstáculos los parámetros de entrada son la lectura de los sensores del robot obtenidos a través de la interfaz del sonar que proporciona acceso a una colección de sensores de alcance fijo. Para el comportamiento de seguimiento el parámetro de entrada es la componente x que retorna la cámara de video obtenidos a través de la interfaz de Blobfinder que proporciona acceso a los dispositivos que detectan manchas en imágenes. Por último, los parámetros de salida corresponden a la velocidad de rotación de los robots (Fig. 1), considerando la velocidad de avance como un valor constante para todos los comportamientos.

Fig. 1. Estructura de las Redes de Neuronas.

Las RNAs son evolucionadas a través de Algoritmos Evolutivos (AE). Los AEs son técnicas usualmente empleadas para la búsqueda y la optimización, basadas en procesos naturales de evolución, con el fin de resolver problemas complejos utilizando modelos informáticos. Actualmente, existen diferentes AE tales como: Estrategias Evolutivas, Algoritmos Genéticos, Programación Evolutiva, Programación Genética, Evolución Diferencial, Co-evolución [11]. A pesar de que son desarrollados forma independiente, comparten el objetivo de imitar los procesos naturales de evolución. La fig. 2 muestra un diagrama de flujo que describe la estructura general del AE. En primer lugar, se inicia con una población que se genera aleatoriamente, después de esto, evaluamos y ordenamos la adaptabilidad (fitness) de cada individuo de la población, se seleccionan los mejores individuos al azar, donde los individuos mejor adaptados tendrán más probabilidad de ser seleccionados. Luego, se aplica el operador de mutación a cada uno de los individuos seleccionados para generar un nuevo individuo y renovar la población. El algoritmo converge cuando el mejor individuo de la población satisface la solución al problema [12].

Fig. 2. Algoritmo evolutivo diseñado para evolucionar los

comportamientos de bajo nivel.

Los comportamientos de navegación cubren las habilidades básicas que tiene un robot, utilizando los datos de las características del entorno para llevar a cabo la navegación autónoma. A continuación se describen cada uno de los comportamientos de bajo nivel definidos para lograr el objetivo:

� Buscando Robot: Este comportamiento hace que los robots naveguen por el entorno, en busca de otros robots para llevar a cabo el proceso de alineación (Fig. 3a).

� Evitando obstáculos: este comportamiento de genera una trayectoria en la que cada robot de forma dinámica evita el contacto físico con otros elementos del entorno como los obstáculos, las paredes u otros robots. Utiliza la información del sonar con el fin de determinar las posiciones de los elementos y generar una velocidad de giro para evitar el posible contacto (Fig. 3b).

� Desbloqueando: mientras que los robots navegan por el entorno, pueden ser bloqueados por obstáculos. Un comportamiento de desbloqueo se ha definido para dar solución a esta situación. Básicamente, el comportamiento hace que los robots vayan en dirección opuesta al obstáculo que se ha detectado por el sensor del sonar (Fig. 3c).

� Siguiendo robot: Este comportamiento hace que los robots sigan a otros robots cuando son percibidos a través de la cámara. Un proceso de seguimiento basado en el color del robot se lleva a cabo y en algunos momentos son calculados. El comportamiento trata de mantener la coordenada de la posición horizontal del robot a seguir en el centro de la imagen y también trata de aumentar el área blob asociado con el robot detectado (Fig. 3d).

Fig. 3. Comportamientos de navegación.

La fig. 4 muestra el diagrama de estado en el que los robots se basan para lograr la alineación, donde las condiciones de entrada y salida dependen de la percepción de que el robot tiene del medio ambiente en todo momento.

Fig. 4. Comportamientos cooperativos implementados en la simulación del robot.

IV. AUTO-ALINEACIÓN

Se han definido dos estrategias de adaptación para la auto-reconfiguración de los robots móviles modulares. Ambas estrategias comparten el mismo objetivo, moverse de un lugar a otro en un entorno desconocido evitando los obstáculos para alcanzar la alineación óptima entre dos robots. La primera estrategia consiste en la aplicación de los comportamientos mencionados sólo en uno de los dos robots, es decir, un robot (en estado activo) busca y se mueve hacia el segundo robot (estado inactivo), tratando de alinearse con el otro robot. La segunda estrategia consiste en la aplicación de los comportamientos en los dos robots, es decirde proximidad, cámara de video y su mecanismo de conexión. La principal diferencia entre robots activos e in, dos robots en estado activo. A. Auto-Alineación: Estrategia 1

La estrategia 1 consta de un robot activo y un robot inactivo, ambos robots están equipados con sensores activos es que el robot inactivo no utiliza los comportamientos. Por lo tanto, siempre está esperando que el robot activo realice la alineación entre ellos, como se muestra en la fig. 5. El robot activo utiliza los comportamientos básicos descritos anteriormente para desplazarse por el entorno, una vez que el robot activo ha encontrado el punto de unión, utiliza la información de la cámara de vídeo y sensores de proximidad para lograr el acoplamiento entre los dos robots. B. Auto-Alineación: Estrategia 2

La estrategia 2 consiste en la implementación de los comportamientos básicos en los dos robots. Esto significa que ambos robots son considerados como robots activos y al mismo tiempo se buscan en el entorno uno al otro. Una vez que los robots han identificado el punto de unión, es decir, que están frente a frente; uno de ellos utiliza la información recibida de la cámara de video y de sus sensores de proximidad para girar, y el otro hace parada esperando que se lleve a cabo el acoplamiento entre los dos como se muestra en la fig. 6. Previamente se define cuál es el robot que realizará la parada y cuál realizará el giro.

Fig. 5. Simulación del proceso de alineación aplicando

la estrategia 1.

Fig. 6. Simulación del proceso de alineación aplicando

la estrategia 2.

V. RESULTADOS EXPERIMENTALES

Se han realizado veinte experimentos para cada estrategia, el punto de partida del robot activo es aleatorio en todas las pruebas.

Como ya se mencionó en la estrategia 1, el robot activo tiene que moverse en el entorno buscando a través de la cámara de vídeo al otro robot para alinearse adecuadamente antes del proceso de acoplamiento. Mientras tanto en la fase de búsqueda, el robot puede encontrar obstáculos que deben evitarse como prioridad principal (Fig. 5). Cada experimento tiene asociado un tiempo de ejecución, correspondiente al tiempo que consiguió el robot activo alinearse con el otro robot. El tiempo obtenido en cada experimento se muestra en la fig. 7.

Fig. 7. Rendimiento obtenido con la estrategia 1.

En la segunda estrategia, ambos robots son considerados como robots activos. Esto es, ambos robots usan los mismos comportamientos y mismas prioridades, inician la búsqueda del punto de unión para llevar a cabo el proceso de acoplamiento (Fig. 6). Los resultados obtenidos de 20 experimentos con la estrategia 2 se muestran en la fig. 8, cada experimento cuenta con un tiempo de ejecución que los robots activos obtuvieron para conseguir la alineación entre ellos.

Fig. 8. Rendimiento obtenido con la estrategia 2.

Los resultados de simulación muestran diferencias relacionadas con el tiempo necesario para realizar la tarea, como se muestra en la fig. 9. Mientras que la estrategia 1 tiene un tiempo promedio de 2.47 minutos, la estrategia 2 tiene un tiempo medio de 1.29 minutos. La variación reside en el comportamiento cooperativo del robot. Se puede ver claramente que la aplicación de comportamientos cooperativos en ambos robots es la manera más rápida de

lograr el alineamiento y así, se lleve a cabo el proceso de acoplamiento.

Fig. 9. Rendimiento obtenido con la estrategia 1 y 2.

En la fig. 10 se presenta el proceso acoplamiento de los robots a partir de la estrategia 2 incorporando obstáculos en el entorno. Se puede observar como los robots activos navegan por el ambiente evitando los obstáculos presentados, hasta que logran el acoplamiento entre ambos robots.

Fig. 10. Rendimiento estrategia 2 con obstáculos.

VI. CONCLUSIONES Y TRABAJOS FUTUROS

Uno de los principales problemas de la auto-reconfiguración de robots móviles modulares es la coordinación entre ellos, en este trabajo se ha presentado la alineación de robots basada en comportamientos cooperativos usando el simulador de dispositivos robóticos (Player/Stage). Se ha

comprobado que el uso de técnicas evolutivas en los comportamientos básicos de los robots ayuda a lograr una buena coordinación entre los robots, y así lograr una mejor alineación. Las dos estrategias descritas y simuladas demuestran que con la aplicación de comportamientos cooperativos en el proceso de acoplamiento, se obtienen mejores resultados con respecto a trabajos previos realizados que obtienen resultados muy limitados que requieren procedimientos complicados. Teniendo en cuenta que la coordinación entre robots reales es complicada, sería interesante poner en práctica las estrategias propuestas en robots físicos.

VII. AGRADECIMIENTOS

Los autores quieren dar las gracias al Consejo Nacional de Ciencia y Tecnología (CONACYT) y la Universidad Autónoma de Sinaloa por la financiación de éste proyecto de investigación.

REFERENCIAS

[1] M. Yim, Y. Zhang, K. Roufas, D.Duff, C. Eldershaw, “Connecting and disconnecting for chain self-reconfiguration with PolyBot”, IEEE/ASME Trans. Mechatronics, 7, 442-451, 2002.

[2] W.M. Shen, P. Will, “Docking in Self-Reconfigurable Robots”, Proc. IEEE/RSJ Intl Conf. Intelligent Robots and Systems (IROS), 2001.

[3] K. Roufas, Y. Zhang, D. Duff, M. Yim, “Six Degree of Freedom Sensing for Docking Using IR RED Emitters and Receivers”, Experimental Robotics VII, Lecture Notes in Control and Information Sciences 271, D. Rus and S. Singh Eds. Springer, 2001.

[4] M. Rubenstein, K. Payne, P. Will, W. Shen “Docking among independent

and autonomous CONRO self-reconfigurable robots”, Proc. IEEE Intl Conf. Robotics and Automation (ICRA), 3, 2877-2882, 2004.

[5] S. Murata, K. Kakomura, H. Kurokawa, ”Docking Experiments of a Modular Robot by Visual Feedback”, Intelligent Robots and Systems, 2006 IEEE/RSJ International Conference on , vol., no., pp.625-630, 9-15 Oct. 2006 doi: 10.1109/IROS.2006.282545.

[6] C. Bererton, P. Khosla, “Toward a Team of Robots with Repair Capabilities: A Visual Docking System”, Seventh International Symposium on Experimental Robotics, 2000.

[7] F. Mondada, M. Bonani, S. Magnenat, A. Guignard, D. Floreano, “Physical connections and cooperation in swarm robotics”, F. Mondada, et al. editors, Proc. 8th Conf. Intelligent Autonomous Systems (IAS8), 53-60, 2004.

[8] The Player and Stage Project, http://playerstage.sourceforge.net

[9] Jennifer Owen.; “How to use Player/Stage”, 2nd Edition, 16th April 2010.

[10] B. Gerkey, R. Vaughan, and A. Howard.; “The player/stage project: Tools for multi-robot and distributed sensor systems”, June 2003.

[11] S. Nolfi, D. Floreano, “Evolutionary robotics: The biology, intelligence and technology of self-organizing machines”, Journal Artificial Life, MIT Press, Cambridge, MA, USA, pp. 419-424, 2002.

[12] Y. Quiñonez, J. de Lope, D. Maravall, “Cooperative and competitive behaviors in

a multi-robot system for surveillance tasks”, Computer Aided Systems Theory, EUROCAST, pp. 437-444, 2009.