Ir al contenido principal

Algo sobre Visual SLAM

He estado explorando los temas posibles para mi tesis de maestría. Aún no estoy seguro cual área quiero explorar. Estoy decidiendo si algo de electrónica de potencia o algo de mas alto nivel (en cuanto abstracción). Uno de los temas que más me llama la atención es el SLAM. Aquí les coloco un poco de que va el asunto.

Que es Visual SLAM


            SLAM del inglés Simultaneous Localization and Mapping o en Español Localización y Mapeado Simultáneos es una técnica usada para robots y vehículos autónomos para contruir un mapa de un entorno desconocido en el que se estima a la vez la trayectoria al desplazarse en ese entorno.

Cuál es el problema

El problema de localización y mapeado simultáneo investiga la construcción de los modelos matemáticos, geométricos o lógicos de entornos físicos utilizando como herramienta un robot móvil. Es decir, SLAM plantea colocar un robot en un entorno y posición desconocido y que él mismo sea capaz de construir incrementalmente un mapa del entorno y a su vez el uso del mapa para determinar su ubicación.

Problemática


1.    Por definición, el ambiente donde el robot debe desenvolverse es dinámico y cambiante, y es comprendido por el robot mediante sensores que distan de ser perfectos. En estas condiciones se busca la manera de obtener y manipular datos acerca del entorno, extraer aquel conocimiento que sea sustancial para la tarea de su representación, e integrar la información así obtenida del modo más conveniente. Muchas preguntas surgen en este nivel de complejidad: ¿Qué es el entorno? ¿Qué geometrías cabe esperar encontrar en él? ¿Existen objetos móviles? ¿Con qué precisión es necesario representarlo? ¿Qué nivel de conocimiento permitirá obtener el mapa generado?
2.    La otra vertiente de la complejidad del problema tiene que ver con el aspecto computacional de las soluciones planteadas al problema del SLAM, y está indisolublemente ligada a la anterior. El modo en que el robot perciba su entorno, la cantidad de información disponible, así como las técnicas empleadas en su procesamiento, interpretación y combinación, determinarán los recursos computacionales necesarios para la construcción del mapa. Estos recursos no son ilimitados; menos aún si el objetivo es ceñirse a los disponibles a bordo de la máquina. Aquí los interrogantes tienen que ver con la idoneidad de los algoritmos utilizados y la posibilidad de obtener soluciones cuya implementación sea posible en tiempo real.
3.    Así pues, en la base de cualquier solución al problema del SLAM nos encontramos siempre con la necesidad de trabajar con cantidades progresivamente crecientes de información —contaminada en mayor o menor medida por ruido—, y manipulada mediante modelos que, la mayoría de las veces, no son sino meras aproximaciones a la realidad. No es de extrañar, por lo tanto, que las soluciones más exitosas hasta el momento hayan estado basadas en la utilización de técnicas probabilísticas.

Primera aproximación al problema -> Odometría Visual

El término de odometría visual viene por el concepto de odometría en ruedas. Inicialmente el foco del problema está en la estimación de características o features de la imagen. Una vez identificadas, se realiza un seguimiento de las características en una secuencia de imágenes.

Mapping o mapeo


Generalmente es considerado un problema complejo, la manera más común de representación es en mapas métricos. En este tipo de mapas, el ambiente es representado en términos de las relaciones entre los objetos y una referencia fija. Uno de los mapas más comunes es un mapa de características.
Un mapa de características representa el ambiente en forma de formas semi densas como puntos y líneas rectas. Cada característica se describe por un conjunto de parámetros como su localización y forma geométrica. Esto se realiza observando y detectando características y comparándolas con las ya registradas.

Soluciones

Las soluciones que mejores resultados arrojan han sido las que abordan el problema desde el punto de vista probabilístico. Esto es porque consiguen hacer frente a todas las fuentes de incertidumbre involucradas en el proceso. Este tipo de algoritmos suelen basarse en el teorema de Bayes que relaciona entre sí la probabilidad marginal y condicional de dos variables aleatorias.

Filtro extendido de Kalman


Es una de las soluciones más extendidas y una de las que mejores resultados ha arrojado en la práctica. Por su naturaleza, se requiere disponer de un mapa en el cual las entidades (que pueden estar formadas por las características de las secuencias de imágenes) deben estar parametrizadas de manera que puedan encajarse de forma sencilla al vector de estados del sistema.

Mapa de ocupación de celdillas


Este método se basa en la discretización del espacio, dividiéndolo en unidades de tamaño predefinido, que se clasifican como ocupadas o vacías según el nivel de confianza o probabilidad. Esta solución parte de la hipótesis de que la posición del robot es conocida. El problema con este tipo de enfoque es que como no toma en cuenta la incertidumbre de la posición del robot, por períodos prolongados acumula un error que hace complicado la identificación de las características ya contempladas anteriormente. Esto hace que el cierre del loop sea más difícil de aplicar.

Conclusión


En base a lo discutido, se puede decir que el VISUAL SLAM es una herramienta que permite localizar y trazar la trayectoria de cierto robot a la vez que genera un registro del entorno que recorre. Esta herramienta es muy útil para diversos campos de la ingeniería como la aplicada a los vehículos autónomos. En particular, al utilizar como sensor una cámara o varias, se reducen los costos por el sensor, pero aumentan los costos computacionales de procesamiento.


REFERENCIAS

K. Yousif, A. Bab-Hadiashar, and R. Hoseinnezhad, “An Overview to Visual Odometry and Visual SLAM: Applications to Mobile Robotics,” Intell. Ind. Syst., vol. 1, no. 4, pp. 289–311, 2015.
A. Concha, G. Loianno, V. Kumar, and J. Civera, “Visual-Inertial Direct SLAM,” Webdiis.Unizar.Es, 2016.

Visual SLAM. Wikipedia




Comentarios