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:
- rrt_node
- sp_rrt node
- env_node
- sp_rrt_node_octomap
- Frame_id = "/path_planner"
- Marker_topic = "path_planner_rrt"
- MarkerArray_topic = "/occupied_cells_vis_array"
- Open terminal and type
roscore
- Open new terminal and go to the the root of your catkin workspace
catkin_make
source ./devel/setup.bash
rosrun path_planner env_node
- open new terminal
rosrun rviz rviz
- In the RVIZ window, change:
fixed frame under global option to "path_planner"
add a marker and change marker topic to "path_planner_rrt" - Open new terminal
To run RRT algorithm:rosrun path_planner rrt_node
To run SP_RRT algorithm:rosrun path_planner sp_rrt_node
Package Requirement: Octomap
Installation: sudo apt-get install ros-noetic-octomap*
- 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. - Open terminal and type
catkin_make
source ./devel/setup.bash
rosrun path_planner env_node
- open new termianl
roslaunch path_planning octomap_tracking_server.launch
- open new terminal
rosrun rviz rviz
- open new terminal
rosrun path_planning sp_rrt_octomap
- 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"
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/.