A Universal Grid Map Library: Implementation and Use Case for Rough Terrain Navigation

  • Péter FankhauserEmail author
  • Marco Hutter
Part of the Studies in Computational Intelligence book series (SCI, volume 625)


In this research chapter, we present our work on a universal grid map library for use as mapping framework for mobile robotics. It is designed for a wide range of applications such as online surface reconstruction and terrain interpretation for rough terrain navigation. Our software features multi-layered maps, computationally efficient repositioning of the map boundaries, and compatibility with existing ROS map message types. Data storage is based on the linear algebra library Eigen, offering a wide range of data processing algorithms. This chapter outlines how to integrate the grid map library into the reader’s own applications. We explain the concepts and provide code samples to discuss various features of the software. As a use case, we present an application of the library for online elevation mapping with a legged robot. The grid map library and the robot-centric elevation mapping framework are available open-source at and


ROS Grid map Elevation mapping 



This work was supported in part by the Swiss National Science Foundation (SNF) through project 200021_149427/1 and the National Centre of Competence in Research Robotics.


  1. 1.
    P. Fankhauser, M. Bloesch, C. Gehring, M. Hutter, R. Siegwart, Robot-centric elevation mapping with uncertainty estimates, in International Conference on Climbing and Walking Robots (CLAWAR) (2014)Google Scholar
  2. 2.
    P. Fankhauser, M. Bloesch, D. Rodriguez, R. Kaestner, M. Hutter, R. Seigwart, Kinect v2 for mobile robot navigation: evaluation and modeling, in International Conference on Advanced Robotics (ICAR) (2015)Google Scholar
  3. 3.
    G. Guennebaud, B. Jacob, Eigen 3, Accessed Aug 2015
  4. 4.
    E. Marder-Eppstein, D.V. Lu, D. Hershberger. costmap\(\_\)2d, Accessed Aug 2015
  5. 5.
    D.V. Lu, D. Hershberger, W.D. Smart, Layered costmaps for context-sensitive navigation, in IEEE International Conference on Intelligent Robots and Systems (IROS) (2014)Google Scholar
  6. 6.
    D.V. Lu, M. Ferguson, navigation, Accessed Aug 2015
  7. 7.
    A. Hornung, K.M. Wurm, M. Bennewitz, C. Stachniss, W. Burgard, OctoMap: an efficient probabilistic 3D mapping framework based on octrees. Auton. Robot. 34(3), 189–206 (2013)CrossRefGoogle Scholar
  8. 8.
    K.M. Wurm, A. Hornung. octomap, Accessed Aug 2015
  9. 9.
    C. Forster, M. Faessler, F. Fontana, M. Werlbeger, D. Scaramuzza, Continuous on-board monocular-vision–based elevation mapping applied to autonomous landing of micro aerial vehicles, in IEEE International Conference on Robotics and Automation (ICRA) (2015)Google Scholar
  10. 10.
    M. Hutter, C. Gehring, M. Hoepflinger, M. Bloesch, R. Siegwart, Towards combining speed, efficiency, versatility and robustness in an autonomous quadruped. IEEE Trans. Robot. 30(6), 1427–1440 (2014)CrossRefGoogle Scholar
  11. 11. Ubuntu install of ROS Indigo, Accessed Aug 2015
  12. 12. Installing and Configuring Your ROS Environment, Accessed Aug 2015
  13. 13. filters, Accessed Aug 2015
  14. 14.
    J.E. Bresenham, Algorithm for computer control of a digital plotter. IBM Syst. J. 4(1), 25–30 (1965)CrossRefGoogle Scholar
  15. 15.
    M. Bloesch, C. Gehring, P. Fankhauser, M. Hutter, M.A. Hoepflinger, R. Siegwart, State estimation for legged robots on unstable and slippery terrain, in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (2013)Google Scholar
  16. 16.
    LaValle, S.M. Rapidly-Exploring Random Trees: A New Tool for Path Planning (1998)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Robotic Systems LabETH ZurichZurichSwitzerland

Personalised recommendations