A Unified Bayesian Framework for Global Localization and SLAM in Hybrid Metric/Topological Maps - Robotics Institute Carnegie Mellon University

A Unified Bayesian Framework for Global Localization and SLAM in Hybrid Metric/Topological Maps

Stephen T. Tully, George A. Kantor, and Howie Choset
Journal Article, International Journal of Robotics Research, Vol. 31, No. 3, pp. 271 - 288, March, 2012

Abstract

We present a unified filtering framework for hybrid metric/topological robot global localization and SLAM. At a high level, our method relies on a topological graph representation whose vertices define uniquely identifiable places in the environment and whose edges define feasible paths between them. At a low level, our method generalizes to any detailed metric submapping technique. The filtering framework we present is designed for multi-hypothesis estimation in order to account for ambiguity when closing loops and to account for uniform uncertainty when initializing pose estimates. Our implementation tests multiple topological hypotheses through the incremental construction of a hypothesis forest with each leaf representing a possible graph/state pair at the current time step. Instead of using a heuristic approach to accept or reject hypotheses, we propose a novel Bayesian method that computes the posterior probability of each hypothesis. In addition, for every topological hypothesis, a metric estimate is maintained with a local Kalman filter. Careful pruning of the hypothesis forest keeps the growing number of hypotheses under control while a garbage-collector hypothesis is used as a catch-all for pruned hypotheses. This enables the filter to recover from unmodeled disturbances such as the kidnapped robot problem.

BibTeX

@article{Tully-2012-7450,
author = {Stephen T. Tully and George A. Kantor and Howie Choset},
title = {A Unified Bayesian Framework for Global Localization and SLAM in Hybrid Metric/Topological Maps},
journal = {International Journal of Robotics Research},
year = {2012},
month = {March},
volume = {31},
number = {3},
pages = {271 - 288},
}