Repository navigation
Demo
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

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.
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
For every demo:
- Wait for the simulator and RViz to finish loading.
- Press Initialization.
- Wait for the initialization motion to complete.
- Start the required behavior.
Initialization must always be performed before starting the planner.
The Exploration demos start in Operation Mode (EXP). To start autonomous exploration:
- Press Initialization.
- Confirm that the panel shows Operation Mode (EXP).
- Press Start Planner.
- Press Operation Mode (EXP) to switch to Operation Mode (WP).
- Select 2D Nav Goal in the RViz toolbar.
- Set the desired goal. 4, Press Start Planner.
Inspection demos automatically switch between exploration and inspection. To run an inspection demo:
- Press Initialization.
- Press Start Planner.
Target-reach behavior is not supported in inspection demos.
We provide the following demos.
- Underground cave (using Gazebo Classic Simulator)
roslaunch gbplanner uav_gzc_cave_exploration.launch
- NIOSH mine: Underground multi-branched mine (using Gazebo Classic Simulator)
roslaunch gbplanner uav_gzc_niosh_exploration.launch
- Environment used during the DARPA Subterranean Challenge Final Event (using Gazebo Classic Simulator)
roslaunch gbplanner uav_gzc_subt_final_exploration.launch
- Underground cave (using Gazebo Simulator)
roslaunch gbplanner uav_gz_cave_exploration.launch
- 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
- 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
- Simplified model of the NIOSH underground multi-branched mine (using Gazebo Classic Simulator)
roslaunch gbplanner ugv_gzc_niosh_exploration.launch
- Underground multi-level factory (using Gazebo Classic Simulator)
roslaunch gbplanner ugv_gzc_urban_exploration.launch
To use a custom world file either in Gazebo or Gazebo Classic, follow these steps:
- Create a simulation launch file similar to one of the demo launch files in the
arl_gazebo_simpackage, e.g. this. - Update the path to the world file here.
- Make sure to add the path to your models to the
GAZEBO_MODEL_PATH. - Create a planner launch file similar to one of the demo files in the
gbplannerpackage, e.g. this. - Add the path to your newly created simulation launch in your planner launch file here.
- 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.
- Update the path to the config folder here. Note: this path is relative to the path
$(find gbplanner)/config/.