This repository showcases enhanced path planning through a comparative analysis of RRT and its variants, including RRT, RRT*, RRT*-Smart, and RRT-Connect, implemented on a TurtleBot in the Gazebo simulation environment.
This project focuses on optimizing path planning algorithms to achieve efficient navigation for TurtleBot in both 2D and 3D environments. The implemented RRT variants are evaluated, and their performances are compared, providing valuable insights into their strengths and weaknesses.
-
Setup:
- Download or clone the repository.
- Build the workspace using
catkin build
orcatkin_make
. - Source the workspace.
-
Run 2-D Path Planning Algorithms: Navigate to the
final_project/scripts/
folder and execute the desired algorithm.-
RRT
$ cd final_project/scripts/ $ python3 rrt.py
-
RRT*
$ cd final_project/scripts/ $ python3 rrt_star.py
-
RRT*-Smart
$ cd final_project/scripts/ $ python3 rrt_star_smart.py
-
RRT-Connect
$ cd final_project/scripts/ $ python3 rrt_connect.py
-
-
Run Gazebo + Rviz Simulation:
-
Uncomment relevant lines in the
move.py
script based on the algorithm choice. -
Run the simulation:
$ roslaunch final_project world.launch
-
In another terminal, launch the navigation stack:
$ roslaunch final_project navigation.launch
-
Adjust the map alignment in RViz using 2D Pose Estimate.
-
Open a new terminal and execute:
$ cd final_project/scripts/ $ python3 move.py
-
For an additional implementation and insights, you can refer here.