Fuerte version

Please note that this wiki page was originally meant for Diamondback (although the topbar suggests it is for Fuerte). I, Koen, have made a Fuerte version for myself, which I have released on GitHub for anyone who is interested. Please read the instructions here:


Disclaimer: I am in no way related to the original author, nor the maintainers. I give no support or warranty; I just wanted to share it to anyone who is interested. Please feel free to port it to Groovy, Hydro, Indigo and/or catkin if you like, just fork it on GitHub.

Diamondback version (original)


This stack contains a topological navigation system that uses a topological map consisting of overlapping local grids, and a roadmap overlaid on the topological map. The idea is to use metric occupancy grids only locally, and use a topological roadmap at the global scale. However, the roadmap's edges are created based on actual metric information from the slam system, and so the navigation planning is sound.


The current release series is 0.3.x, released against ROS diamondback. Assuming you have installed the ROS diamondback distro into /opt/ros/diamondback (as is done when you use apt-get on Ubuntu), as well as the rosinstall tool, you can install topological navigation and its dependencies using

$ rosinstall ~/desired-topo-nav-location http://www.ros.org/rosinstalls/extensions/topological_navigation-diamondback.rosinstall /opt/ros/diamondback

(this assumes you have the standard Debian install of ROS diamondback in `/opt/ros/diamondback). Then (assuming you're using bash), do

$ cd ~/desired-topo-nav-location
$ . setup.bash
$ rosmake topological_navigation

and verify that everything compiles.


The stack includes the following packages:

  • topological_map_2d defines the basic 2d topological map datatype, consisting of a set of overlapping occupancy grids, as well as conversions to and from ROS messages.

  • laser_slam_mapper defines a particular topological slam algorithm that generates a 2d topological map using the output from the laser_slam ROS node.

  • topological_roadmap defines the roadmap datatype, as well as a ros node that maintains a roadmap, given a published topological map, as well as a topological navigation executive that sends commands to the ROS navigation stack (and accompanying launch files).

Report a Bug


Wiki: topological_navigation (last edited 2014-05-28 16:44:52 by KoenLekkerkerker)