Skip to content
Angelos Zacharia edited this page Jul 22, 2026 · 6 revisions

Demos

This page describes the instructions to run the demos in various environments using diverse robot configurations.

The repository provides launch and config files for several scenarios that can be tested out of the box. These are organized in the launch folder inside the gbplanner package. A folder is created for each UAV type with folders for Gazebo (gz) or Gazebo Classic (gzc) containing the ros launch files for the various demo environments. An example directory structure looks like this:

launch
├── uav
│   ├── gz
│   │   ├── uav_gz_cargo_inspection.launch
│   │   └── uav_gz_cave_exploration.launch
│   └── gzc
│       ├── uav_gzc_bwt_inspection.launch
│       ├── uav_gzc_cave_exploration.launch
│       ├── uav_gzc_niosh_exploration.launch
│       └── uav_gzc_subt_final_exploration.launch
└── ugv
    └── gzc
        ├── ugv_gzc_niosh_exploration.launch
        └── ugv_gzc_urban_exploration.launch

GBPlanner Control Panel

GBPlanner Control Panel

The GBPlanner Control panel in RViz provides the main commands used to operate the planner.

  • Start Planner : starts continuous autonomous planning.
  • Start Single Planner : runs the planner once and generates a single path.
  • Stop Planner : stops the planner and commands the robot to stop immediately.
  • Go Home : commands the robot to return to its home position.
  • Initialization : performs an initialization motion to clear the volume around the robot in the volumetric map.
  • Plan to Waypoint : plans a path to the selected goal using only the currently known free space.
  • Operation Mode : switches between exploration and target-reach modes.

The available operation modes are:

  • Operation Mode (EXP) : autonomous exploration.
  • Operation Mode (WP) : target-reach behavior.

NOTE: The Plan to Waypoint command and the target-reach mode serve different purposes. Plan to Waypoint searches only through known free space, while target reach can make progress toward a goal through unknown space by exploring along the way.

Running the Demos

A demo can be started by launching the corresponding ROS launch file:

roslaunch gbplanner <robot type>_<simulator type>_<demo type>.launch

For expample:

roslaunch gbplanner uav_gzc_cave_exploration.launch

GBPlanner Control Panel

For every demo:

  1. Wait for the simulator and RViz to finish loading.
  2. Press Initialization.
  3. Wait for the initialization motion to complete.
  4. Start the required behavior.

Initialization must always be performed before starting the planner.

Exploration demos

The Exploration demos start in Operation Mode (EXP). To start autonomous exploration:

  1. Press Initialization.
  2. Confirm that the panel shows Operation Mode (EXP).
  3. Press Start Planner.

Target Reach demos

  1. Press Operation Mode (EXP) to switch to Operation Mode (WP).
  2. Select 2D Nav Goal in the RViz toolbar.
  3. Set the desired goal. 4, Press Start Planner.

Inspection demos

Inspection demos automatically switch between exploration and inspection. To run an inspection demo:

  1. Press Initialization.
  2. Press Start Planner.

Target-reach behavior is not supported in inspection demos.

Demo Environments

We provide the following demos.

UAV Exploration/Target Reach

  1. Underground cave (using Gazebo Classic Simulator)
roslaunch gbplanner uav_gzc_cave_exploration.launch

Cave

  1. NIOSH mine: Underground multi-branched mine (using Gazebo Classic Simulator)
roslaunch gbplanner uav_gzc_niosh_exploration.launch

Niosh

  1. Environment used during the DARPA Subterranean Challenge Final Event (using Gazebo Classic Simulator)
roslaunch gbplanner uav_gzc_subt_final_exploration.launch

subt_final

  1. Underground cave (using Gazebo Simulator)
roslaunch gbplanner uav_gz_cave_exploration.launch

gz_cave

UAV Inspection

  1. Exploration and Inspection of a Ballast Water Tank with a LiDAR and a static camera (using Gazebo Classic Simulator)
roslaunch gbplanner uav_gzc_bwt_inspection.launch

bwt

  1. Exploration and Inspection of a Cargo Tank with a LiDAR and an actuated camera (using Gazebo Simulator)
roslaunch gbplanner uav_gz_cargo_act_cam_inspection.launch

cargo_hold

UGV Exploration

  1. Simplified model of the NIOSH underground multi-branched mine (using Gazebo Classic Simulator)
roslaunch gbplanner ugv_gzc_niosh_exploration.launch

NioshSimple

  1. Underground multi-level factory (using Gazebo Classic Simulator)
roslaunch gbplanner ugv_gzc_urban_exploration.launch

urban

Using custom world

To use a custom world file either in Gazebo or Gazebo Classic, follow these steps:

  1. Create a simulation launch file similar to one of the demo launch files in the arl_gazebo_sim package, e.g. this.
  2. Update the path to the world file here.
  3. Make sure to add the path to your models to the GAZEBO_MODEL_PATH.
  4. Create a planner launch file similar to one of the demo files in the gbplanner package, e.g. this.
  5. Add the path to your newly created simulation launch in your planner launch file here.
  6. Create a config folder similar to the demo ones, e.g. this, for the parameter files. Details about the various parameters can be found in the wiki here.
  7. Update the path to the config folder here. Note: this path is relative to the path $(find gbplanner)/config/.

Clone this wiki locally