Detección y cierre de ciclos en sistemas SLAM basados en visión estéreo - Castro, Gastón Ignacio (2016)
Las aplicaciones relativas a robots autónomos móviles requieren la construcción de una representación o mapa del entorno y la localización fiable del robot en el mismo. En SLAM (Simultaneous Localization And Mapping) se plantea abordar ambos problemas de manera simultánea. Los métodos que resuelven SLAM deben tratar con la acumulación del error en la estimación de la posición y orientación del robot, que va creciendo de forma no acotada a medida que aumenta la longitud de la trayectoria recorrida y la dimensión del mapa construido. Para abordar este problema los métodos de SLAM deben contar con la capacidad de detectar una región previamente visitada por el robot y ajustar tanto, la localización del robot como el mapa construido minimizando el error acumulado hasta el momento. Este problema se conoce como Loop Closure, que incluye la detección y cierre de ciclos en la trayectoria realizada por el robot. El presente trabajo propone una solución al problema de la detección y cierre de ciclos en sistemas de SLAM que utilizan cámaras estéreo como sensor principal. Para lograr este objetivo, se divide el problema en tres etapas: la detección de ciclos en la trayectoria, el cálculo del desvío cometido en la localización y la corrección tanto de la localización actual del robot como del mapa construido hasta el momento. Por cada etapa se lleva a cabo una profunda revisión del estado del arte, exponiendo aquellos métodos y técnicas que motivaron la solución propuesta en este trabajo. Para realizar la detección de ciclos se entrena un vocabulario visual en una etapa previa, de manera de obtener una discretización del espacio de descriptores de las imágenes capturadas por la cámara. Este vocabulario visual se utiliza luego para obtener una representación eficiente de las imágenes (bag-of-words) que permite evaluar la similitud entre las imágenes obtenidas en un determinado momento y las que componen el mapa construido. A través de la comparación de vectores bag-of-words asociados a cada imagen se hallan candidatos a ciclos que se validan utilizando técnicas geométricas para establecer la consistencia espacial entre los distintos momentos de la trayectoria. Por último, se efectúan los cierres de ciclo y corrección del mapa por medio de técnicas de optimización de grafos y algoritmos de minimización no lineal. La solución propuesta se implementó como un módulo para ser incorporado al sistema S- PTAM (Stereo Parallel Tracking And Mapping) de código abierto. Los experimentos realizados con datasets de dominio público bajo el framework ROS (Robot Operating System) muestran que la detección y cierre de ciclos mejoran drásticamente la estimación de la localización del robot en el entorno y la calidad del mapa construido, permitiendo al mismo tiempo la ejecución del sistema en tiempo real.