HPHS
[IROS 2024] HPHS: Hierarchical Planning based on Hybrid Frontier Sampling for Unknown Environments Exploration
Install / Use
/learn @bit-lsj/HPHSREADME
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.
<p align="center"> <img src="figure/fig0.png" width = "400" height = "273"/> <img src="figure/fig2.jpg" width = "400" height = "225"/> <img src="figure/fig1.png" width = "400" height = "360"/> </p>1. Related Paper
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-* \
ros-noetic-tf2-sensor-msgs
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:
- Autonomous Exploration Development Environment
- TDLE
- GDAE
- RRT Exploration
- TARE
- Efficient Dense Frontier Detection
We greatly appreciate the contributions of these projects.
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
