Real-time 6-DOF Multi-session Visual SLAM over Large Scale Environments

Download: PDF.

“Real-time 6-DOF Multi-session Visual SLAM over Large Scale Environments” by J.B. McDonald, M. Kaess, C. Cadena, J. Neira, and J.J. Leonard. Journal of Robotics and Autonomous Systems, RAS, vol. 61, no. 10, Oct. 2013, pp. 1144-1158.

Abstract

This paper describes a system for performing real-time multi-session visual mapping in large-scale environments. Multi-session mapping considers the problem of combining the results of multiple simultaneous localisation and mapping (SLAM) missions performed repeatedly over time in the same environment. The goal is to robustly combine multiple maps in a common metrical coordinate system, with consistent estimates of uncertainty. Our work employs incremental smoothing and mapping (iSAM) as the underlying SLAM state estimator and uses an improved appearance-based method for detecting loop closures within single mapping sessions and across multiple sessions. To stitch together pose graph maps from multiple visual mapping sessions, we employ spatial separator variables, called anchor nodes, to link together multiple relative pose graphs. The system architecture consists of a separate front-end for computing visual odometry and windowed bundle adjustment on individual sessions, in conjunction with a back-end for performing the place recognition and multi-session mapping. We provide experimental results for real-time multi-session visual mapping on wheeled and handheld datasets in the MIT Stata Center. These results demonstrate key capabilities that will serve as a foundation for future work in large-scale persistent visual mapping.

Download: PDF.

BibTeX entry:

@article{McDonald13ras,
   author = {J.B. McDonald and M. Kaess and C. Cadena and J. Neira and
	J.J. Leonard},
   title = {Real-time 6-{DOF} Multi-session Visual {SLAM} over Large Scale
	Environments},
   journal = {Journal of Robotics and Autonomous Systems, RAS},
   volume = {61},
   number = {10},
   pages = {1144-1158},
   month = {Oct},
   year = {2013}
}
Last updated: June 21, 2014