Real-Time Modular 3D Mapping

During his sabbatical at Willow Garage, Stéphane Magnenat from the Autonomous Systems Lab, ETH Zurich integrated a new Simultaneous Localization and Mapping (SLAM) solution.  SLAM allows a robot to build a map of its environment, and to localize itself in this map.  This system is based on a modular ICP algorithm, a collaboration with François Pomerleau and Francis Colas at the Autonomous Systems Lab, ETH Zurich.

The ICP is a classical algorithm to find a transformation between two point clouds, representing the same environment but from different viewpoints.  This algorithm forms the basis of most SLAM systems working with laser or depth data.  While the classical ICP algorithm is simple, it does not work well in most real 3D environments, and therefore hundreds of variants have been published in the last 20 years.  These variants address specific problems, but lack a common comparison ground.

The work of Stéphane and his colleagues provides a framework in which different ICP variants can be tested, combined, and evaluated.  The integration with ROS provides a real-time 2D and 3D SLAM system that can fit a large variety of robots and application scenarios without any code change or recompilation.

A paper describing this work will appear in the forthcoming "Autonomous Robots special issue on open source software for robotics research."  A dataset paper proposing a variety of environments along with ground-truth poses was recently published in IJRR (link to http://ijr.sagepub.com/content/31/14/1705.abstract)  (datasets freely available (link to http://projects.asl.ethz.ch/datasets/doku.php?id=laserregistration:laser...)).  The open-source ROS SLAM node is available in the ethzasl_icp_mapping stack (link to http://ros.org/wiki/ethzasl_icp_mapping).