Nuestra sociedad está en un estado de cambio permanente. Piense en una ciudad: peatones, ciclistas, automóviles, autobuses y más. Todos se mueven de manera impredecible todo el tiempo. Para que los robots móviles autónomos (AMR) realmente prosperen en este contexto, deben ser capaces de ver e interpretar su entorno de forma inteligente. En este artículo, conocerá formas efectivas de utilizar el mapeo en tiempo real basado en la apariencia (RTAB‑Map) y los sensores de tiempo de vuelo (ToF) para posibilitar que los robots naveguen con total autonomía.
Introducción
La exploración es un aspecto crucial de la navegación autónoma aplicada a la robótica. La localización y mapeo simultáneo (SLAM) es una técnica fundamental que permite a los robots navegar y crear mapas de entornos desconocidos. La localización y mapeo visual simultáneo, o SLAM visual (VSLAM), es un tipo específico de SLAM que permite a los robots crear mapas de su entorno y estimar su propia posición (es decir, su odometría) en tiempo real mediante la información visual de las cámaras. Esta técnica tiene diversas aplicaciones, por ejemplo, en rovers y helicópteros de Marte y en robots terrestres, submarinos y aspiradores. Se llevaron a cabo distintas investigaciones para determinar qué tan bien funcionan las cámaras ToF con RTAB‑Map para la navegación autónoma de los AMR utilizando únicamente imágenes de profundidad. Las cámaras ToF capturan imágenes tanto infrarrojas (IR) como de profundidad. Las imágenes de profundidad se utilizan para crear nubes de puntos 3D. RTAB‑Map utiliza nubes de puntos 3D y la odometría de las ruedas para generar una odometría corregida y un mapa de cuadrícula de ocupación 2D para la navegación autónoma de los AMR.
¿Qué son las cámaras ToF?
Una cámara ToF es una cámara de profundidad de Analog Devices que se basa en el procesador de señal ToF ADSD3100. Ofrece soporte para el procesamiento de datos en la plataforma del procesador integrado además de conexión USB, Ethernet o Wi‑Fi a una computadora host. La cámara ToF está diseñada para aplicaciones industriales, automotrices y de consumo. Utiliza un método de tiempo de vuelo para calcular la distancia con respecto a los objetos que se encuentran en la escena, lo que le permite crear mapas de profundidad precisos. La cámara ToF proporciona tanto imágenes infrarrojas como de profundidad y se muestra en la Figura 1.

Arquitectura de RTAB‑Map
El mapeo en tiempo real basado en la apariencia, o RTAB‑Map, es una técnica de SLAM basada en gráficos. RTAB‑Map incorpora un enfoque de detección de cierre de bucle basado en la apariencia y un enfoque de administración de memoria para llevar a cabo mapeos en línea a gran escala y a largo plazo. La odometría, es decir, la pose del AMR, es una entrada externa a RTAB‑Map. Por lo tanto, se puede utilizar cualquier tipo de odometría que sea apropiada para una aplicación determinada, incluida la odometría de ruedas, la visual y la de punto iterativo más cercano (ICP). Se pueden utilizar cuatro configuraciones de entrada diferentes con RTAB‑Map:
- Imagen RGB, imagen de profundidad y odometría
- Imágenes estéreo y odometría
- Nube de puntos 3D y odometría
- Escaneo láser 2D y odometría
La Figura 2 representa los diferentes bloques de RTAB‑Map. La nube de puntos 3D y la odometría son las entradas que utiliza RTAB‑Map para nuestro caso de uso. Además, necesita dos transformaciones de entrada: transformación de odom a base_link y transformación de base_link a camera_link. RTAB‑Map genera el mapa para la transformación de odom, un mapa de cuadrícula de ocupación 2D y la odometría corregida. El nodo de RTAB‑Map consta de los siguientes bloques: sincronización, memoria a corto plazo (STM), memoria a largo plazo (LTM), cierre de bucle y detección de proximidad, optimización de gráficos y conjunto de mapas globales.

Flujo de trabajo de la segmentación de la pila de Nav2 y de RTAB‑Map con una cámara ToF
La segmentación completa para realizar la navegación autónoma de los AMR mediante el rtabmap, la cámara ToF y la combinación de odometría de ruedas e IMU se muestra en la Figura 3. La combinación de odometría de ruedas e IMU es el resultado de la fusión de los datos del codificador de las ruedas y los datos de la unidad de medición inercial (IMU) con la ayuda de un filtro Kalman extendido a fin de obtener una odometría más sólida. Como se puede ver, hay siete nodos: el nodo de cámara ToF, el nodo image_proc, el nodo de nube de puntos, el nodo rtabmap, el nodo de combinación de odometría de ruedas e IMU, el nodo de Nav2 y el nodo de Rviz. En el siguiente párrafo se explica la funcionalidad de estos nodos.

El primer nodo de la segmentación es el nodo de la cámara ToF, que captura imágenes tanto infrarrojas como de profundidad. Luego, el nodo image_proc rectifica las imágenes capturadas para eliminar distorsiones tangenciales y radiales. Las imágenes infrarrojas rectificadas se utilizan para la visualización en Rviz. El nodo de nube de puntos genera nubes de puntos 3D a partir de las imágenes de profundidad rectificadas. El nodo de combinación de odometría de ruedas e IMU estima la odometría del AMR mediante los codificadores de las ruedas y los datos de la IMU. El nodo rtabmap utiliza la combinación de odometría de ruedas e IMU y la nube de puntos generada para producir el mapa de cuadrícula de ocupación 2D y la odometría corregida (es decir, la pose). El nodo de Nav2 utiliza el mapa de cuadrícula de ocupación y la odometría generados para generar, a su vez, un mapa de costos (costmap), que se utiliza para la planificación de rutas y la navegación autónoma del AMR. Finalmente, el nodo de Rviz se utiliza como herramienta de visualización para mostrar la imagen infrarroja, la odometría y el mapa de cuadrícula de ocupación. También permite establecer la pose objetivo para el AMR. En general, la segmentación combina varios sensores y nodos para permitir la navegación autónoma del AMR.
Análisis de los resultados del experimento
En la Figura 3, se muestra el AMR, lo que ve a través de la cámara RealSense instalada en él y el mapa de nube de puntos 3D resultante en forma de malla. En la Figura 4, se muestra el mapa creado con el estado objetivo que se le asignó, la ruta planificada y el AMR que llega de manera segura al estado objetivo tras seguir la ruta planificada.


Además, la nube de puntos generada mediante la imagen de profundidad rectificada de la cámara ToF muestra las superficies planas del mundo real como superficies curvas en la nube de puntos. Por lo tanto, es necesario realizar un procesamiento posterior para resolver este problema. En la Figura 6, se muestra el mapa de cuadrícula de ocupación antes y después del filtrado de la nube de puntos. Las líneas azules de esta ventana indican la odometría estimada del AMR.

La Figura 7 ilustra las distintas etapas del proceso de navegación autónoma. En la figura de la izquierda, se muestra el mapa generado con la pose actual del AMR. El nodo rtabmap genera el mapa utilizando la combinación de odometría de ruedas e IMU y la nube de puntos. La figura del centro representa la posición objetivo con la ruta planificada. Una vez que se establece la posición objetivo en Rviz, el nodo de Nav2 planifica una ruta mediante el mapa de costos que se generó a partir del mapa de cuadrícula de ocupación y la pose de odometría. La ruta planificada se muestra en Rviz para su visualización. Finalmente, en la figura de la derecha se muestra que el AMR alcanzó el estado objetivo. Una vez planificada la ruta, el AMR utiliza la pose de odometría corregida y el mapa de costos para navegar hacia la posición objetivo. El AMR actualiza permanentemente su posición utilizando la combinación de odometría de ruedas e IMU y el mapa de cuadrícula de ocupación y ajusta su trayectoria para seguir la ruta planificada. Cuando el AMR llega a la posición objetivo, se detiene y se completa el proceso de navegación.

Conclusión
La cámara ToF se integró en la pila de Nav2 y en RTAB‑Map para hacer que el AMR navegue de forma autónoma en un entorno de laboratorio. Se presentaron varios desafíos al utilizar la cámara ToF con RTAB‑Map para la navegación autónoma del AMR. Las imágenes infrarrojas y de profundidad que proporcionó la cámara ToF debieron rectificarse, ya que si las imágenes de profundidad no se rectifican, se puede generar un mapa poco preciso. Observamos que los objetos planos se mostraban curvos en la nube de puntos. Esto se resolvió mediante el procesamiento posterior de la nube de puntos. Es necesario filtrar la nube antes de enviarla a RTAB‑Map. En paralelo, el AMR creaba el mapa y localizaba su posición en el mapa para una navegación segura utilizando las imágenes de profundidad de la cámara ToF y el algoritmo de RTAB-Map. También se constató que el AMR navegó de forma autónoma con éxito utilizando la cámara ToF y RTAB-Map. Suponemos que los resultados de nuestros experimentos acelerarán la implementación de la cámara ToF para una variedad de sistemas robóticos de uso comercial.