Skip to content
/ HPHS Public

[IROS 2024] HPHS: Hierarchical Planning based on Hybrid Frontier Sampling for Unknown Environments Exploration

Notifications You must be signed in to change notification settings

bit-lsj/HPHS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HPHS: Hierarchical Planning based on Hybrid Frontier Sampling for Unknown Environments Exploration

Introduction

HPHS is a system framework for rapid exploration of unknown environments. This framework is mainly composed of three modules: Hybrid Frontier Point Sampling Module, Subregion Segmentation and Selection Module , Frontier Selection Module. These three modules are executed in sequence following a timeline, until the entire environment is modeled. This repository is the Python implementation of our method.

1. Related Paper

HPHS: Hierarchical Planning based on Hybrid Frontier Sampling for Unknown Environments Exploration (Accepted by IEEE IROS 2024)

2. Authors

Shijun Long, Ying Li, Chenming Wu, Bin Xu, and Wei Fan

3. Cite

Please cite our paper if you used this project in your scientific research:

@article{long2024hphs,
  title={HPHS: Hierarchical Planning based on Hybrid Frontier Sampling for Unknown Environments Exploration},
  author={Long, Shijun and Li, Ying and Wu, Chenming and Xu, Bin and Fan, Wei},
  journal={arXiv preprint arXiv:2407.10660},
  year={2024}
}

Experiment

The method has been tested in both simulation and real-world environments, which can be seen in the Experiment Video.

How to use

Note: This project has been tested in Ubuntu 20.04 (ROS Noetic), and following dependencies are based on ROS Noetic. If your ROS version is not ROS Noetic, replace noetic with your ROS version name.

1. Basic Dependency

sudo apt-get install ros-noetic-navigation \
ros-noetic-octomap-*
pip3 install pyquaternion opencv-python

2. Simulation Environment

The project is run under the autonomous exploration framework provided by Robotics Institute from Carnegie Mellon University.

sudo apt update
sudo apt install libusb-dev
git clone https://github.com/HongbiaoZ/autonomous_exploration_development_environment.git
cd autonomous_exploration_development_environment
git checkout noetic
catkin_make

3. Install HPHS

cd ${YOUR_WORKSPACE_PATH}/src
git clone https://github.com/bit-lsj/HPHS.git

4. Run HPHS

(1) Open a new terminal and start the simulation environment:

cd autonomous_exploration_development_environment
source ./devel/setup.sh
source ~/${YOUR_WORKSPACE_PATH}/devel/setup.bash
roslaunch HPHS exploration.launch

(2) Open another new terminal and start exploration:

cd ${YOUR_WORKSPACE_PATH}/src/HPHS
python3 ./scripts/explorer.py 

5. Exploration In Different Environments

In launch file ./launch/cmu_framework.launch, you can switch the different scenes:

  <arg name="world_name" default="office"/> <!--maze, indoor_1, indoor_2-->

Acknowledgements

In the research process of this project, we have studied and referred to the following works:

  1. Autonomous Exploration Development Environment
  2. TDLE
  3. GDAE
  4. RRT Exploration
  5. TARE
  6. Efficient Dense Frontier Detection

We greatly appreciate the contributions of these projects.

About

[IROS 2024] HPHS: Hierarchical Planning based on Hybrid Frontier Sampling for Unknown Environments Exploration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published