[en] This project is an new version of the final year project called "Construcción de Mapas Probabilísticos mediante sensores de visión y láser a bordo de un robot" [1], in which the SLAM problem is solved for small environments using a robot provided with two cameras that compoese the stereoscopic vision system and also with the odometry available. The solution given in the project cited is an Extended Kalman Filter (EKF) that mantains an estimate of the position and the natural landmarks that model the environment. There were some weak points found in the original project, such as a limited map size. In order to improve its behaviour, the EKF used as a bayesian inference method to manage the map has been changed. A Smoothing and Mapping method has been used in its place. The results obtained with the two methods have been compared. The data association method is the same in the two cases with just a few modi cations to adapt it to the inputs necesary for the Smoothing and Mapping. The present work is a version of the iSAM [2] algorithm with a multi-process implementation, allowing to mix the strong points of the solution provided in [1] with an improvement coming from a modern approach to the SLAM problem. The GTSAM libraries have been used to develop the algorithm. These libraries help to implement the Smoothing and Mapping by the use of clases to manage bayesian networks. The final solution runs as various nodes of the meta-operative system ROS (Robot Operating System) who communicate between them and work in paralell. The algorithm proposed has been developed to be adaptable to different robotic platforms and also different stereoscopic visión sensors. The robotic platform used is Qbo, from TheCorpora company. It has been used to validate the results of the two tested solutions, concluding that the more actual method of Smoothing and Mapping improves the clasic SLAM EKF both in the map size and the computation time spent in one step of the algorithm.

[es] El presente trabajo es una mejora del proyecto fin de carrera con título "Construcción de Mapas Probabilísticos mediante sensores de visión y láser a bordo de un robot" [1], donde se soluciona el problema del SLAM para entornos pequeños usando un robot dotado de un par de cámaras a modo de sistema de visión estéreo y con la información de odometría disponible. El enfoque seguido en el trabajo que se usa como referencia se plantea como un Filtro de Kalman Extendido (EKF), que mantiene una estimación de la posición del robot y las marcas naturales que definen el entorno. Tras detectar los puntos débiles encontrados en el proyecto mencionado en cuanto al límite del tamaño del mapa, se ha procedido a cambiar el Filtro de Kalman extendido que se usa como método de inferencia bayesiano para la gestión del mapa por un enfoque más actual de Smoothing and Mapping. Tras la implementación de la solución al SLAM con el método de Smoothing and Mapping se han comparado los resultados obtenidos con los que se obtuvieron haciendo uso del EKF. Se ha adaptado y optimizado el método de asociación de datos ya utilizado y que tan buenos resultados dio. Para esto se ha realizado una versión del algoritmo iSAM [2] con un enfoque multi-proceso, permitiendo mezclar la bondades del trabajo realizado en [1] con la mejora de un enfoque más moderno a la solución del SLAM. El algoritmo se ha desarrollado haciendo uso de las librerías GTSAM. Estas librerías ayudan a implementar el Smoothing and Mapping ofreciendo clases para manejar redes bayesianas. La propuesta funciona como varios nodos del meta-sistema operativo ROS (Robot Operating System) que se comunican entre sí y funcionan en paralelo. El algoritmo propuesto se ha desarrollado de manera que sea compatible con diferentes plataformas robóticas y diferentes sensores de visión estereoscópica. La plataforma robótica utilizada es Qbo, desarrollado por la empresa TheCorpora, sobre la que se han validado los resultados de los dos enfoques seguidos, demostrando que el enfoque más actual de Smoothing and Mapping supera a la solución clásica de SLAM EKF tanto en el tamaño del mapa que se puede gestionar como en el tiempo de cómputo de cada iteración del algoritmo.