HongbiaoZ / dsv_planner

Dual-Stage Viewpoint Planner for Autonomous Exploration
157 stars 47 forks source link

Dual-Stage Viewpoint Planner incorporates two planning stages in autonomous exploration - an exploration stage for extending the boundary of the map, and a relocation stage for explicitly transiting the robot to different sub-areas in the environment. The exploration stage develops Rapidly-exploring Random Tree (RRT) and dynamically expand the RRT over replanning steps. The relocation stage maintains a graph through the mapped environment. During the course of exploration, the method transitions back-and-forth between the two stages to explore all areas in the environment.

Please use instructions on our project page.

Header

Usage

The repository has been tested in Ubuntu 18.04 with ROS Melodic and Ubuntu 20.04 with ROS Noetic. 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 DSV Planner, install dependencies with command lines below. Replace 'distribution' with 'melodic' or 'noetic' to match the computer setup.

sudo apt update
sudo apt install ros-distribution-octomap-ros libgoogle-glog-dev libgflags-dev

Clone the repository.

git clone https://github.com/HongbiaoZ/dsv_planner.git

In a terminal, go to the folder and checkout the correct branch. Replace 'distribution' with 'melodic' or 'noetic'. Then, compile.

cd dsv_planner
git checkout distribution
catkin_make

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 DSV Planner folder, source the ROS workspace, and launch.

source devel/setup.sh
roslaunch dsvp_launch 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 dsvp_launch explore_environment.launch

To run DSV Planner in a Matterport3D environment, follow instructions on the development environment page to setup the Matterport3D environment. Then, use the command lines below to launch the system and DSV Planner.

roslaunch vehicle_simulator system_matterport.launch
roslaunch dsvp_launch explore_matterport.launch

Reference

Author

Hongbiao Zhu (zhuhbhit@gmail.com)

Credit

catkin_simple, kdtree, minkindr, minkindr_ros, and volumetric_mapping packages are from open-source releases.