Skip to content

A 3D collision-free path planning algorithm based on RRT and SP-RRT specialized for 8-link hyper-redundant robot implemented using ROS.

Notifications You must be signed in to change notification settings

rhythm-e/3D-collision-free-RRT-based-Path-Planning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

A 3D collision-free path planning algorithm based on RRT and SP-RRT specialized for 8-link hyper-redundant robot implemented using ROS.

Distro: Ros neotic

The algorithm finds a 3D optimized path for obstacle environments. The visualtization is implemented in RVIZ and the majority code is written in C++. This package also offers implementation for using Octomap as obstacle-environment.

The package has four executables:

  1. rrt_node
  2. sp_rrt node
  3. env_node
  4. sp_rrt_node_octomap

RVIZ parameters:

  1. Frame_id = "/path_planner"
  2. Marker_topic = "path_planner_rrt"
  3. MarkerArray_topic = "/occupied_cells_vis_array"

Instructions for plain RRT and SP-RRT:

  1. Open terminal and type
    roscore
  2. Open new terminal and go to the the root of your catkin workspace
    catkin_make
    source ./devel/setup.bash
    rosrun path_planner env_node
  3. open new terminal
    rosrun rviz rviz
  4. In the RVIZ window, change:
    fixed frame under global option to "path_planner"
    add a marker and change marker topic to "path_planner_rrt"
  5. Open new terminal
    To run RRT algorithm: rosrun path_planner rrt_node
    To run SP_RRT algorithm: rosrun path_planner sp_rrt_node

Instructions for SP-RRT in Octomap:

Package Requirement: Octomap
Installation: sudo apt-get install ros-noetic-octomap*

  1. Open file launch/octomap_tracking_server.launch and change <arg name="path" default="/XXX/src/path_planning/octomap/freiburg1_360.bt"/> into your own root.
  2. Open terminal and type
    catkin_make
    source ./devel/setup.bash
    rosrun path_planner env_node
  3. open new termianl
    roslaunch path_planning octomap_tracking_server.launch
  4. open new terminal
    rosrun rviz rviz
  5. open new terminal
    rosrun path_planning sp_rrt_octomap
  6. In the RVIZ window, change:
    fixed frame under global option to "path_planner"
    add a Marker and change marker topic to "path_planner_rrt"
    add a MarkerArray and change topic to "occupied_cells_vis_array"

Reference:

Code: based on a planar RRT implementation from https://github.com/nalin1096/path_planning.
SP-RRT: H. Wei, Y. Zheng and G. Gu, "RRT-Based Path Planning for Follow-the-Leader Motion of Hyper-Redundant Manipulators," 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2021, pp. 3198-3204.
Octomap: fr_078_tidyup.bt and freiburg1_360.bt are from Autonome Intelligente Systeme, Albert-Ludwigs-Universität Freiburg. The relevent link is http://ais.informatik.uni-freiburg.de/projects/datasets/octomap/.

Visualization Display

Alt text
[Fig1. plain sp-rrt]

Alt text
[Fig.2 sp-rrt in octomap]

About

A 3D collision-free path planning algorithm based on RRT and SP-RRT specialized for 8-link hyper-redundant robot implemented using ROS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published