Demystifying Visual Odometry

Desmitificando la odometría visual

El camino hacia la navegación precisa de robots en interiores

¡Bienvenido de nuevo al mundo de los robots de interior!

En nuestro blog anterior (encuéntrelo) Aquí profundizamos en las fascinantes tecnologías que impulsan los robots de interior con navegación autónoma, centrándonos en las complejidades de SLAM (Localización y Mapeo Simultáneos) y sus variantes. En este artículo, simplificaremos la esencia de la odometría visual, explorando su papel en la navegación de rutas y los desafíos que enfrenta en entornos interiores impredecibles. En futuras publicaciones, profundizaremos en métodos inteligentes para superar estos obstáculos, creando una solución robusta y en tiempo real para una navegación fluida de robots en interiores.

Autonavegación y odometría

La autonavegación se refiere a la capacidad de un robot o sistema autónomo de moverse y navegar por su entorno sin intervención humana directa. En otras palabras, un robot autónomo puede planificar y ejecutar su ruta de forma autónoma, tomar decisiones sobre su destino y evitar obstáculos sin depender de la intervención humana continua ni del control remoto. La autonavegación implica una combinación de detección, percepción, toma de decisiones y control de movimiento. El robot utiliza diversos sensores, como codificadores de ruedas, cámaras, lidars o sonares, para percibir su entorno y crear una representación del mismo. Con base en esta percepción, el robot planifica una ruta para llegar a su destino, evitando obstáculos y respetando las medidas de seguridad.

La odometría es una técnica utilizada en robótica y sistemas móviles para estimar la posición y la orientación (pose) de un elemento móvil, como un robot o un vehículo, basándose en el movimiento conocido de sus ruedas u otros sensores de movimiento. Consiste en calcular el cambio de posición a lo largo del tiempo integrando el movimiento incremental medido (desplazamientos) de diversos sensores, como codificadores de ruedas o unidades de medición inercial (IMU).

Codificadores de ruedas

Los codificadores de rueda son sensores comúnmente utilizados en robótica y vehículos para medir la rotación de las ruedas. Su principio de funcionamiento consiste en detectar la rotación de la rueda y convertir esta información en señales digitales que un sistema de control puede procesar. Existen dos tipos principales de codificadores de rueda: los codificadores ópticos, que utilizan un disco con patrones y luz para detectar cambios, y los codificadores magnéticos, que utilizan imanes y un sensor magnético.

Los codificadores ópticos utilizan un diodo emisor de luz infrarroja (LED) y un fotodetector para detectar la rotación de la rueda. Esta cuenta con un disco con patrones, conocido como disco codificador, que alterna secciones transparentes y opacas. A medida que la rueda gira, el disco codificador también gira, lo que interrumpe la luz y permite que pase a través de las secciones transparente y opaca. El fotodetector detecta estos cambios en la intensidad de la luz y genera pulsos eléctricos que corresponden a la rotación de la rueda.

Los codificadores magnéticos utilizan un sensor magnético para detectar cambios en el campo magnético a medida que la rueda gira. La rueda está equipada con un disco magnetizado o una serie de imanes adheridos a su superficie. A medida que la rueda gira, el campo magnético que la rodea cambia, y el sensor magnético detecta estas variaciones, generando pulsos eléctricos que representan la rotación de la rueda.

El número de pulsos generados por el codificador de rueda corresponde al número de vueltas de la rueda. Al contar estos pulsos, el sistema de control puede calcular la distancia recorrida por la rueda y estimar la posición y el movimiento del robot o vehículo.

Los codificadores de rueda proporcionan información crucial para el control de movimiento y los cálculos de odometría, lo que permite un control preciso del movimiento y la navegación del robot en diversos entornos. Sin embargo, pueden estar sujetos a errores debido a factores como deslizamientos, superficies irregulares o ruido del sensor, que deben considerarse y compensarse en el diseño del sistema.

Unidades de medida inercial (IMU)

Las IMU (Unidades de Medición Inercial) son dispositivos electrónicos que combinan múltiples sensores para medir y proporcionar información sobre la orientación, velocidad y aceleración de un objeto en un espacio tridimensional. Las IMU suelen constar de tres tipos principales de sensores: acelerómetros, que miden la aceleración lineal en los ejes X, Y y Z; giroscopios, que miden la velocidad de rotación angular en torno a los ejes X, Y y Z; y magnetómetros, que miden la intensidad y la dirección del campo magnético para determinar la orientación del objeto con respecto al campo magnético terrestre.

Al combinar los datos de estos sensores, las IMU pueden rastrear el movimiento y la orientación de los objetos en tiempo real. Sin embargo, las IMU están sujetas a desviaciones y errores acumulativos con el tiempo.

Por lo tanto, aunque la odometría proporciona estimaciones en tiempo real de la trayectoria de la entidad, acumula errores con el tiempo. Por ello, se suele utilizar como punto de partida o en combinación con otros sensores visuales, como cámaras, para proporcionar una estimación de movimiento y orientación más precisa y robusta. Esta fusión de las entradas de múltiples sensores es un enfoque común en sistemas como la odometría visual-inercial y el SLAM, que aprovechan las ventajas de diferentes sensores para lograr resultados de localización y mapeo más fiables.

Odometría visual: seguimiento del movimiento a través de los ojos de la cámara

La odometría visual es una técnica utilizada en robótica y visión artificial para estimar el movimiento y la posición de una cámara o robot en movimiento mediante el análisis de secuencias de imágenes tomadas por la cámara. Se basa en las características visuales detectadas en las imágenes, como puntos clave o puntos de referencia, para rastrear el movimiento de la cámara a lo largo del tiempo. Al comparar las características visuales entre fotogramas consecutivos, los algoritmos de odometría visual pueden calcular el desplazamiento relativo de la cámara y estimar su trayectoria.

La odometría visual es particularmente valiosa en situaciones donde los codificadores de ruedas u otros sensores de movimiento pueden no ser confiables, como en terrenos difíciles o entornos con información limitada del sensor.

La odometría visual implica los pasos que se describen a continuación.

Extracción de características

En este paso, se detectan y extraen características visuales distintivas de imágenes consecutivas capturadas por la cámara. Estas características pueden ser puntos clave, como esquinas, bordes o manchas, que presentan patrones distintivos y se pueden identificar fácilmente en diferentes imágenes. Las técnicas populares de extracción de características incluyen la detección de esquinas de Harris. TAMIZAR A  (Transformación de características invariantes de escala), ORBE  (Orientado RÁPIDO y Rotado BREVE), y AKAZE  (KAZE Acelerado).

Coincidencia de características

Una vez extraídas las características de dos imágenes consecutivas, el siguiente paso es comparar las características correspondientes entre los fotogramas. La comparación de características busca encontrar los mismos puntos de características visuales en ambas imágenes. Esto se suele lograr mediante algoritmos como la búsqueda del vecino más cercano, donde se calculan las distancias entre los descriptores de características para encontrar las mejores coincidencias. Algunos métodos de comparación pueden incluir filtrado adicional o estimación robusta  para manejar valores atípicos y coincidencias falsas.

Estimación de movimiento

Con las coincidencias de características entre las imágenes, comienza el proceso de estimación de movimiento. El objetivo es calcular el movimiento relativo de la cámara entre los dos fotogramas. Este movimiento se representa típicamente como la traslación (cambio de posición) y la rotación (cambio de orientación) de la cámara con respecto al fotograma inicial. El movimiento se puede estimar utilizando ransac  Algoritmos de consenso de muestras aleatorias como el 5 puntos  o 8 puntos  algoritmos para manejar valores atípicos y mejorar la precisión.

Estimación de trayectoria

Para obtener la trayectoria de la cámara a lo largo del tiempo, se integran los movimientos relativos estimados en pares de imágenes sucesivos. La estimación de la trayectoria implica la acumulación de los cambios de posición y orientación de la cámara. Al actualizar continuamente la posición de la cámara en función de los movimientos relativos entre fotogramas consecutivos, el sistema de odometría visual puede inferir la trayectoria de la cámara en el entorno. Esto proporciona una trayectoria relativa que indica cómo se ha movido la cámara desde su posición inicial, pero no proporciona una posición absoluta sin técnicas adicionales como el cierre de bucle y la localización global.

Odometría visual en Miko

El siguiente esquema describe los distintos módulos que componen el sistema de odometría visual (VO) desarrollado en Miko

Probando nuestro sistema de odometría visual (VO) pura en el conocido Conjunto de datos EuRoC -V2_01  revela que las trayectorias obtenidas tienen una tendencia a alejarse de la realidad fundamental, como se ve en el gráfico siguiente.

Este resultado es previsible, dadas las limitaciones inherentes de un sistema tradicional de odometría visual (VO). Analizaremos estas limitaciones en detalle en la siguiente sección.

Desafíos de la odometría visual

La odometría visual, si bien es una técnica potente, presenta varias dificultades y desafíos que pueden afectar su precisión y robustez. En el contexto de los robots acompañantes, se presentan desafíos adicionales debido a los entornos interiores (consulte nuestra blog anterior  Para los desafíos que presentan los entornos interiores, resumimos a continuación algunos de los principales desafíos de la odometría visual.

Ambigüedad de características

En ciertos entornos domésticos o escenas con patrones repetitivos o superficies poco texturizadas y homogéneas (p. ej., paredes lisas), puede resultar difícil para los algoritmos de odometría visual extraer características distintivas y únicas. Esta ambigüedad en las características puede provocar una correspondencia incorrecta y, en consecuencia, una estimación de movimiento errónea.

Oclusiones

Cuando objetos u obstáculos, como muebles, obstruyen parcial o totalmente las características visuales, se dificulta la correlación de características entre fotogramas consecutivos. Las oclusiones pueden causar lagunas en la estimación del movimiento, lo que resulta en trayectorias incompletas o incorrectas.

Desenfoque de movimiento y movimiento rápido

El movimiento rápido de la cámara en interiores puede provocar imágenes borrosas. Esto dificulta la detección y la correspondencia precisa de características, lo que puede generar estimaciones de movimiento con alta incertidumbre y una mayor acumulación de errores.

Variaciones de iluminación

Los cambios en las condiciones de iluminación interior, como sombras, resplandor o iluminación variable, pueden afectar la apariencia de las características visuales en las imágenes, lo que genera dificultades en la extracción y correspondencia de características.

Campo de visión limitado

Las cámaras de interior pueden tener un campo de visión restringido, lo que limita la cantidad de información disponible para la estimación del movimiento y genera desviaciones.

Ambigüedad de escala

La falta de escala absoluta en escenas interiores puede generar ambigüedad de escala en la odometría visual, lo que afecta la estimación de distancias y trayectorias.

Deriva y acumulación de errores

La odometría visual es una técnica de localización relativa, lo que significa que los errores en la estimación del movimiento pueden acumularse con el tiempo. Esta desviación puede provocar que la trayectoria se desvíe gradualmente de la trayectoria real.

Falta de cierre de bucle

La odometría visual suele proporcionar una trayectoria relativa, pero carece de información de localización absoluta. Sin técnicas de cierre de bucle, que identifican las ubicaciones visitadas previamente, los errores acumulados no pueden corregirse, lo que resulta en un mapa menos preciso.

Rendimiento en tiempo real

La ejecución de algoritmos de odometría visual en tiempo real puede requerir un alto consumo computacional, especialmente al trabajar con imágenes de alta resolución o escenas complejas. Esto puede limitar su uso en sistemas con recursos limitados.

Para abordar estos problemas, a menudo es necesario integrar la odometría visual con otras técnicas de localización y mapeo, como la detección de cierre de bucle y SLAM (Localización y Mapeo Simultáneos), para mejorar la precisión, gestionar la deriva y generar mapas del entorno más fiables. Además, algoritmos robustos de extracción y coincidencia de características, así como la fusión de sensores con otros sensores, como las IMU o los sensores de profundidad, pueden ayudar a superar algunos de estos desafíos y mejorar el rendimiento general de la odometría visual.

Gracias por acompañarnos en la exploración de los fundamentos de la autonavegación con odometría visual. En nuestras próximas entradas del blog, examinaremos estrategias para abordar los desafíos mencionados de la odometría visual, lo que nos llevará a una solución robusta y eficaz para robots acompañantes autonavegantes.

Regresar al blog