Skip to content

ziuoo/PRH-RRT_star

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PRH-RRT*

Potential Functions and Receding Horizon-based RRT*
Local path planning algorithm for real-time navigation in dynamic environments.


Overview

This repository provides an implementation of PRH-RRT*, an extension of the RRT* (Rapidly-exploring Random Tree Star) algorithm designed for real-time local path planning in cluttered and dynamic environments.

PRH-RRT* enhances classical RRT* by introducing:

  • Receding-horizon-based tree management to limit computation to a moving region around the robot.
  • Potential-function-based tree biasing to guide exploration toward the global path while maintaining obstacle clearance.
  • Online tree trimming to remove outdated or collision-prone branches as the robot moves.

The algorithm is intended for mobile robot navigation and has been validated in realistic simulation environments.


Key Features

  • Local path planning with receding horizon strategy
  • Potential-field-guided tree expansion (attractive, repulsive, and exploratory terms)
  • Real-time tree pruning for computational efficiency
  • Compatible with ROS-based simulation and mapping frameworks
  • Designed for dynamic and partially observable environments

Dependencies

The following open-source packages were used to run and evaluate PRH-RRT*:

Additional requirements:

  • ROS1 (tested with Noetic)
  • C++14 / Python3
  • Numpy
  • Pandas

Installation

1. Clone the Repository

git clone https://github.com/ziuoo/PRH-RRT_star.git
cd PRH-RRT_star

2. Install Dependencies

rosdep update
rosdep install --from-paths src --ignore-src -r -y

3. Build the Workspace

catkin_make # or catkin build
source devel/setup.bash

Usage

Launch Simulation Environment

Example using AWS RoboMaker Hospital World:

roslaunch mission_controller hospital_simulation.launch

Run PRH-RRT* Planner

roslaunch prh_rrt_star prh_rrt_star.launch

The planner subscribes to local map and robot state topics and publishes a collision-free local path in real time.


Repository Structure

PRH-RRT_star/
├── prh_rrt_star/            # Core PRH-RRT* planner implementation
│   ├── src/                 # Algorithm source code
│   └── launch/              # ROS launch files
├── pkgs_localmap/           # Local occupancy and OctoMap integration
├── pkgs_simul/              # Simulation-related packages
├── mission_controller/      # Mission and execution management
├── CMakeLists.txt
└── README.md

Notes

  • This repository focuses on local planning; a global path is assumed to be provided by an external planner.
  • Dynamic obstacles are handled in an observation-driven manner using updated occupancy information.
  • Parameter values were empirically tuned through simulation experiments.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors