TARE Exploration Planner

(releasing in June)

TARE planner involves a hierarchical framework for highly efficient exploration - one level in the framework maintains data densely and computes a detailed path within a local planning horizon, another level maintains data sparsely and computes a coarse path at the global scale. The paths at both levels are joined together to form the exploration path. The framework draws the insight that detailed processing is most effective close to the vehicle, while coarse processing provides sufficient utility far away from the vehicle. The framework trades-off details at the global scale for computational speed. In practice, the framework prioritizes the exploration in the surroundings of the vehicle while keeping the global picture in mind. Here is the TARE Planner repository.

TARE planner has been used by the CMU-OSU Team in attending DARPA Subterranean Challenge.

TARE hierarchical exploration framework. Inside the local planning horizon, data is densely maintained and a local detailed path (dark-blue) is computed. At the global scale, data is sparsely maintained in the distant subspaces and a global coarse path (light-blue) is computed. The local path and global path are connected on the boundary of the local planning horizon to form the exploration path.

Urban circuit competition result from DARPA Subterranean Challenge in Satsop Nuclear Plant, WA. Our vehicle travels over 886m in 1458s to explore the site, fully autonomously.

Instructions (code available soon)

The repository has been tested in Ubuntu 18.04 with ROS Melodic and Ubuntu 20.04 with ROS Noetic. Due to usage of Google OR-Tools library, the code only supports AMD64 architecture and currently does not compile on ARM computers. Follow instructions in Autonomous Exploration Development Environment to setup the development environment. Make sure to checkout the branch that matches the computer setup, compile, and download the simulation environments.

To setup TARE Planner, clone our repository.

git clone https://github.com/caochao39/tare_planner.git

In a terminal, go to the folder and compile.

cd tare_planner


To run the code, go to the development environment folder in a terminal, source the ROS workspace, and launch.

source devel/setup.sh

roslaunch vehicle_simulator system_garage.launch

In another terminal, go to the TARE Planner folder, source the ROS workspace, and launch.

source devel/setup.sh

roslaunch tare_planner explore_garage.launch

Now, users should see autonomous exploration in action. To launch with a different environment, use the command lines below instead and replace 'environment' with one of the environment names in the development environment, i.e. 'campus', 'indoor', 'garage', 'tunnel', and 'forest'.

roslaunch vehicle_simulator system_environment.launch

roslaunch tare_planner explore_environment.launch


Below are evaluation results using Autonomous Exploration Development Environment in default settings. The vehicle navigates at 2m/s. Each method is run a number of 10 times. The trajectories are the best of the 10 runs and the exploration metrics (explored volume, traveling distance, and algorithm runtime on vertical axis) are the means of the 10 runs with the time on horizontal axis spanning the longest run. A run is ended if the method reports completion, the vehicle almost stops (< 10m of movement within 5 minutes), or the time limit is reached. Here, the time limit is set to twice of TARE Planner or DSV Planner (our alternative method), depending on which one is longer. Note that TARE Planner and DSV Planner send the vehicle home after completion of exploration. The process of returning home is not considered in the evaluation. The algorithm runtime is evaluated based on a 4.1GHz i7 CPU in system time. All algorithms use a single CPU thread for exploration planning. In addition, we provide the best results from human practice as a reference. These results are from many times of practice. In other words, prior knowledge of the environment has been incorporated. The autonomous exploration does not utilize prior knowledge of the environment. The results of TARE Planner, DSV Planner, and best human practice are made available.

Baseline methods

NBVP: Bircher et al. Receding Horizon “Next-Best-View” Planner for 3D Exploration. ICRA 2016.

MBP: Dharmadhikari et al. Motion primitives-based path planning for fast and agile exploration using aerial robots. ICRA 2020.

GBP: Dang et al. Graph‐based subterranean exploration path planning using aerial and legged robots. Journal of Field Robotics. 37(8):1363-1388, 2020.

DSVP (our alternative method): Zhu et al. DSVP: Dual-Stage Viewpoint Planner for Rapid Exploration by Dynamic Expansion. Submitted in 2021.

Campus Environment

Indoor Corridors Environment

Multi-storage Garage Environment

Tunnel Network Environment

Forest Environment

This is an interesting environment - all exploration methods fall short significantly in comparison to human practice based on a pre-planned path pattern. A question arises as to whether it is worth solving the exploration problem in this type of environments. A naive method may perform even better.


Chao Cao
CMU Robotics Institute

Hongbiao Zhu
CMU Robotics Institute

Howie Choset
CMU Robotics Institute

Ji Zhang
CMU NREC & Robotics Institute


C. Cao, H. Zhu, H. Choset, and J. Zhang. TARE: A Hierarchical Framework for Efficiently Exploring Complex 3D Environments. Robotics: Science and Systems Conference (RSS). Virtual, July 2021. [PDF] [Spotlight Talk]

C. Cao, H. Zhu, H. Choset, and J. Zhang. Exploring Large and Complex Environments Fast and Efficiently. IEEE Intl. Conf. on Robotics and Automation (ICRA). Xian, China, May 2021. [PDF] [Talk]


Google OR-Tools library is from open-source release.


TARE is named after the efforts to develop Technologies for Autonomous Robot Exploration.