rogarg / gbplanner_ros

Graph-based Exploration Planner for Subterranean Environments

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Graph-based Exploration Planner for Subterranean Environments

How to build the planner

  • Clone the package:
git clone
  • Build the package:
catkin build -DCMAKE_BUILD_TYPE=Release gbplanner_ros

However, please be aware that the planner requires several dependencies; for example:

Hence, to simplify the test process with the planner, we prepare an example workspace gbplanner_ws, which includes all relevant packages. Please follow the suggested steps in the repo gbplanner_ws for further detail.

How to launch the planner

  • Launch file for simulation:
roslaunch gbplanner gbplanner_sim.launch
  • To trigger the planner in command line, please use the service call:
rosservice call /planner_control_interface/std_srvs/automatic_planning "{}"
  • We provide several types of environment for simulation in the package planner_gazebo_sim including room-and-pillar mine (, long-wall mine (, and a model reconstructed from a real mine (

Select the mapping framework

By default, the planner is compiled with Voxblox. To compile with Octomap, set the flag USE_OCTOMAP to 1:

catkin build -DCMAKE_BUILD_TYPE=Release -DUSE_OCTOMAP=1 gbplanner_ros

Also change the config to Octomap in the gbplanner_sim.launch file

<arg name="map_config_file" default="$(arg octomap_config_file)"/>


You could find a short tutorial on the plannning algorithm and the overall architecture on our website: Link


If you use this work in your research, please cite the following publication.

  title={Graph-based path planning for autonomous robotic exploration in subterranean environments},
  author={Dang, Tung and Mascarich, Frank and Khattak, Shehryar and Papachristos, Christos and Alexis, Kostas},
  booktitle={2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},

You can contact us for any question:


Graph-based Exploration Planner for Subterranean Environments

License:BSD 3-Clause "New" or "Revised" License


Language:C++ 94.3%Language:C 4.6%Language:CMake 1.1%