Robótica cooperativa e integración con sensores en el ambiente

Anuncio
Robótica cooperativa e integración con sensores en el ambiente.
Aplicaciones en entornos urbanos.
Luis Merino1, Jesús Capitán2, Aníbal Ollero2
1
Grupo de Robótica, Visión y Control (http://grvc.us.es)
Escuela Politécnica Superior, Universidad Pablo de Olavide, Crta. Utrera km. 1, Sevilla, [email protected]
2
Escuela Superior de Ingenieros, Universidad de Sevilla, Camino de los Descubrimientos s/n, Sevilla
{jescap,aollero}@cartuja.us.es
INTRODUCCIÓN
Los escenarios de aplicación de la robótica han evolucionado en las últimas décadas, desde
entornos muy simples y controlados a entornos muy dinámicos en exteriores. Al mismo tiempo,
para afrontar ciertas aplicaciones, la cooperación en grupos de varios robots se ha convertido
en una necesidad. Una tendencia en la actualidad es la investigación en sistemas que
consideren la colaboración entre robots y sensores heterogéneos presentes en el entorno para
multitud de aplicaciones, como robótica de servicio en entornos urbanos, o monitorización de
desastres. La razón fundamental es que estas aplicaciones involucran entornos dinámicos, con
condiciones cambiantes para la percepción, etc. En la mayoría de las ocasiones, un único
agente (por ejemplo un robot o una cámara) no permite conseguir la robustez y eficacia
necesarias. En estos casos, la cooperación de diferentes agentes (robots, sensores en el
entorno) puede ser muy relevante.
Por otro lado, hay un creciente interés en la robótica de servicio; cada vez son más frecuentes
aplicaciones de robots en entornos urbanos, para tareas como el guiado y asistencia de
personas, transporte de personas y objetos, etc. En este artículo se muestran resultados de
robótica cooperativa en este tipo de entornos. El artículo muestra resultados obtenidos con un
sistema que consta de una flota de robots móviles, una red de cámaras fijas, así como una red
inalámbrica de sensores. Todos estos elementos pueden comunicarse entre sí de forma
inalámbrica, y forman lo que se llama un sistema de robots en red (Network Robot System,
NRS). El sistema ha sido desplegado en un entorno urbano. El artículo mostrará cómo la
cooperación entre los distintos elementos puede ser beneficiosa. Por ejemplo, la fusión de la
información de los distintos elementos permite un seguimiento más preciso, así como hacer
frente a oclusiones, en tareas como el guiado de personas. El artículo mostrará algunos
resultados obtenidos en el proyecto europeo URUS URUS (Ubiquitous Networking Robotics in
Urban Settings) [6].
ROBOTS MÓVILES EN ENTORNOS URBANOS
Una de las posibles aplicaciones de la robótica móvil en robótica de servicio es el guiado e
incluso el transporte de personas y objetos en entornos urbanos. Por ejemplo, en zonas
peatonales o zonas que se convierten en peatonales en las ciudades para mejorar la calidad de
vida de las ciudades. En este caso, los robots deben ser capaces de navegar a través de calles
al mismo tiempo que las personas y posiblemente otros robots.
Romeo es un coche eléctrico que ha sido modificado con sensores, actuadores y procesadores
para la navegación autónoma. Sus capacidades se han incrementado para poder navegar en
entornos urbanos. La figura 1 muestra al robot y los principales sensores que usa Romeo para
realizar sus tareas. Dispone de codificadores en las ruedas para la estimación de la velocidad,
giróscopos y una unidad de media inercial para estimar sus ángulos y velocidades angulares.
Asimismo, dispone de 4 sensores de distancia láser y una cámara para la navegación y la
localización.
Fig. 1: Sensores de Romeo. Los sensores más importantes se dedican a la localización (GPS,
giróscopos, codificadores, láser Sick), construcción de mapas y navegación (láseres Hokuyo).
La figura 2, a la izquierda, muestra los aspectos básicos de la arquitectura software. Para
localizarse, Romeo usa odometría, obteniendo su posición en 6 grados de libertad (posición y
orientación). Para compensar la deriva asociada a la odometría, Romeo posee un receptor
GPS diferencial. Sin embargo, en entornos urbanos, a veces no se dispone de medidas GPS, o
bien éstas se ven afectadas por interferencias multi-trayecto, lo que puede dar lugar a
estimaciones erróneas. Además, en muchos casos es necesario localizarse respecto a un
mapa previo del lugar, para realizar tareas como guiar a alguien a una localización determinada
(una plaza, calle, etc). Por ello, Romeo ha integrado uno de sus láseres en un algoritmo de
localización basado en mapas desarrollado por Corominas et al. [3] [5], que permite cancelar la
deriva a una frecuencia de aproximadamente 1 Hz.
Las áreas peatonales, como por ejemplo un campus universitario, presentan una serie de retos
para robots móviles tipo coche. La figura 3 muestra algunos ejemplos del campus de la
Universidad Politécnica de Cataluña (Campus Nord). Pueden observarse escaleras, rampas
ascendentes y descendentes, pequeños bordillos, árboles, etc. Esto significa que una
representación 2D del entorno no será suficiente en general. Además, por supuesto, hay gente,
por lo que una evitación de obstáculos dinámicos es necesaria. Por tanto, para la navegación,
Romeo construye y emplea una representación 3D del entorno (Fig. 2, derecha). A partir de
esta representación, es posible derivar un mapa de transversabilidad, es decir, un mapa en el
que cada celda indica si puede ser atravesada por Romeo o no. El análisis para decidir esto
depende fundamentalmente de la pendiente presente en cada punto del mapa. Al mismo
tiempo, se deben evitar los obstáculos móviles presentes. Los comandos de evitación de
obstáculos móviles se combinan con el seguimiento de caminos mediante un gestor de
comportamientos que asegura que no se producen colisiones mientras se trata de seguir el
camino indicado por el planificador lo más fielmente posible.
Fig. 2. Izquierda: arquitectura básica de Romeo. Derecha: información 3D obtenida por Romeo
empleando sus láseres. Se pueden identificar distintos obstáculos, como escaleras (derecha),
árboles y pequeños bordillos.
Fig. 3: El escenario contiene algunas zonas complicadas, como escaleras, pendientes, árboles y
pequeños obstáculos.
Por ultimo, Romeo posee a bordo cámaras que se emplean para obtener la posición de
personas (lo que se puede emplear en tareas de guiado o de interacción con personas). Los
algoritmos para determinar esta posición se basan en una combinación de detección y
seguimiento. El algoritmo de seguimiento se basa en la técnica mean-shift. Un algoritmo de
detección de caras [7] se ejecuta en paralelo; los resultados de ambas técnicas se combinan,
de modo que cuando el seguimiento se pierde, el detector permite recuperar a la persona.
Como resultado, el robot puede estimar la posición de la cara de una persona en el plano de la
imagen. Aplicando razonamientos geométricos, sería posible estimar la posición de la persona
con relación al robot. (Fig. 4).
Fig. 4. Seguimiento visual de personas para guiado.
RED DE CÁMARAS FIJAS
Una red de cámaras fijas también se considera en el sistema. Dichas cámaras pueden cubrir
parte del entorno, y permite seguir objetos de interés. Esta información puede combinarse con
la propia información que obtienen los robots para mejorar la percepción del entorno del
mismo.
El sistema empleado es capaz de seguir objetos de interés tanto dentro de una cámara como
entre cámaras diferentes sin necesidad de una calibración explícita e incluso en ausencia de
solape en sus campos de visión. La técnica ha sido desarrollada por Gilbert and Bowden [4].
Los objetos de interés se detectan en cada cámara empleando substracción de fondo. Al
mismo tiempo, un filtro de Kalman permite unir temporalmente los objetos, estimando las
trayectorias de los objetos para una misma cámara. Al mismo tiempo, cuando un objeto de
interés sale de una cámara y entra en otra, el sistema es capaz de seguir e identificar dicho
objeto incluso en el caso de que las cámaras no cubran una zona común. Esto se consigue
empleando dos características, el color y los movimientos de objetos entre cámaras. En una
fase de aprendizaje, se estiman los enlaces temporales más probables entre las distintas
cámaras del sistema. Esto, combinado con el color de los objetos permite al sistema saber si
un objeto ha sido previamente seguido en otra cámara o si se trata de un objeto
completamente nuevo. La figura 5 muestra un ejemplo en el que la misma persona es seguida
por 3 cámaras que tienen muy poca o ninguna superposición.
Fig. 5. Una misma persona es seguida mediante 3 cámaras distintas, con poco o ningún solape
en sus campos de visión.
RED INALÁMBRICA DE SENSORES
Los últimos avances en electrónica de baja potencia y sistemas de comunicación inalámbrica
han dado lugar a una nueva generación de dispositivos capaces de medir variables de su
entorno así como de procesar esta información. Además, dichos dispositivos disponen de
comunicaciones inalámbricas y son capaces de formar redes ad-hoc, de modo que es posible
rutar toda la información hacia un concentrador. A estos sistemas se les denomina redes
inalámbricas de sensores (Wireless Sensor Networks, WSNs).
Fig. 6. Izquierda: uno de los nodos empleados en el sistema. Derecha: arquitectura de la red de
sensores.
En el sistema descrito en el artículo se emplea también una red de nodos Mica2. Cada Mica2
(Fig. 6, izquierda) tiene un conjunto de sensores (como sensores de humedad, iluminación,
acelerómetros), un pequeño procesador y un módulo de comunicaciones. Estos nodos se
pueden emplear para aplicaciones de monitorización. Además, el nivel de señal recibido por el
conjunto de nodos estáticos se puede emplear para inferir la posición de un objeto móvil o una
persona que cargue uno de estos nodos. Por tanto, una de las aplicaciones desarrollada para
el sistema es un algoritmo capaz de estimar la posición de nodos móviles en la red.
Todos estos sensores se integran en el sistema a través de una puerta de enlace que recibe
toda la información de los nodos (Fig. 6, derecha). Como se comentó, estos nodos crean una
red para poder retransmitir toda la información.
ALGUNOS RESULTADOS
Los distintos sistemas descritos anteriormente han sido en misiones tales. Para el guiado de
una persona, el robot debe ser capaz de navegar
La figura 7 muestra algunos resultados de navegación de Romeo en el escenario. Para ello,
emplea la arquitectura descrita más arriba. Uno de estos experimentos corresponde a una
hipotética misión de guiado, en la que el robot debe guiar a una persona de un punto a otro del
mapa.
Fig. 7: Dos misiones de Romeo. El escenario completo tiene unas dimensiones de 100 por 100
metros.
Para poder guiar a alguien, es necesario estimar la posición de dicha persona para ajustar el
movimiento del robot. Como se comentó, una red de sensores está desplegada en el entorno,
compuesta por decenas de nodos estáticos capaces de monitorizar diversas variables del
entorno. Al mismo tiempo, esta red se puede emplear para estimar la posición de un nodo
móvil de la misma red a partir de la potencia de señal radio recibida por los nodos estáticos.
Este mecanismo se emplea para tener medidas adicionales para el seguimiento de personas
(Figura 8, izquierda).
Fig. 8: Izquierda: montaje para el seguimiento de personas empleando niveles de señal radio.
Derecha: cada medida de señal delimita una zona admisible para la posición de la persona dentro
del mapa.
El algoritmo para la estimación de la posición del nodo móvil está basado en un filtro de
partículas. En dicho filtro, la estimación actual de la posición del nodo se describe por un
conjunto de partículas, cada una de las cuales representa una hipótesis sobre la posición real
de la persona que lleva el nodo (figura 8, izquierda). En cada iteración del filtro, modelos de
movimiento de la persona e información del mapa se emplea para predecir la posición futura de
las partículas. El uso de mapas permite descartar movimientos poco probables. Cuando los
nodos estáticos reciben nuevos mensajes del nodo móvil, el peso de las distintas partículas se
ajusta teniendo en cuenta la potencia recibida. Si se consideran modelos de propagación de la
señal radio, es posible calcular la verosimilitud de una hipótesis (partícula) a partir de la
distancia al nodo receptor según dicha hipótesis [1]. Cada mensaje restringe la posición de las
partículas a un anillo circular alrededor del nodo receptor (Fig. 8, derecha).
Como resultado, el filtro proporciona estimaciones de la posición 3D del nodo móvil con una
precisión que puede llegar a ser de 1 metro en función de la densidad de nodos de la red. La
figura 9 muestra la evolución de las partículas para un experimento de guiado. La figura 10
muestra la posición estimada, comparada con la posición del robot que la guía (que se
encuentra unos metros más adelante).
Fig. 9: Evolución de las partículas durante uno de los experimentos de seguimiento.
Fig. 10: Posición estimada de la persona (verde) comparada con la posición del robot (azul) en
una misión de guiado.
REFERENCES
[1] F. Caballero, L. Merino, P. Gil, I. Maza, and A. Ollero. A probabilistic framework for entire
WSN localization using a mobile robot. Robotics and Autonomous Systems, 56(10):798–
806, 2008.
[2] J. Capitán, L. Merino, F. Caballero, and A. Ollero. Delayed-State Information Filter for
Cooperative Decentralized Tracking. In Proceedings of the International Conference on
Robotics and Automation, ICRA, 2009.
[3] A. Corominas Murtra, J. Mirats Tur, A. Sanfeliu, “Real-time robot position tracking with
particle filtering in continuous space”, Technical Report, IRI, 2009
[4] A. Gilbert and R. Bowden. ”Incremental Modelling of the Posterior Distribution of Objects for
Inter and Intra Camera Tracking ”. Proc. BMVC’05, Oxford UK, 2005.
[5] J. M. Mirats Tur, C. Zinggerling and A. Corominas Murtra. Geographical information
systems for map based navigation in urban environments, Robotics and Autonomous
Systems, 57(9):922–930, 2009.
[6] A. Sanfeliu and J. Andrade-Cetto. Ubiquitous networking robotics in urban settings. In
Proceedings of the 2006 IEEE/RSJ International Conference on Intelligent Robots and
Systems, IROS 2006, 2006.
[7] P. Viola and M. Jones. Robust Real-Time Face Detection. International Journal of
Computer Vision, 57:137–154, 2004.
Descargar