Skip to content

Implementation of Rapidly exploring Random Trees algorithm to Turtlebot3 to navigate in a predefined location with static and dynamic obstacles.

License

Notifications You must be signed in to change notification settings

Mayavan/RRT-star-path-planning-with-turtlebot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RRT* implementation on turtlebot3

RRT* is implemented in Matlab and with ROS + turtlebot simulation

Project 5 is done in ROS and Gazebo with C++

  • Turtlebot 3 was used.
  • The world is first converted to 2D map with SLAM.
  • The radius of the robot is traced around the obstacle to plan for a point robot. (Matlab was used).
  • The main code plans the path and publishes positions to the amcl local planner

Installation

  1. Running code Requires OpenCV installation:

https://docs.opencv.org/3.4.0/d7/d9f/tutorial_linux_install.html

 sudo apt-get install build-essential
 sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
 sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
  1. Install matplotlib for python for the plot to work.

To run the code

RRT* ON MATLAB

  • Run main.m file in RRT* on MATLAB code folder.

RRT* ON Turtlebot3

  1. Install dependent ros packages for turtle bot http://emanual.robotis.com/docs/en/platform/turtlebot3/pc_setup/#install-dependent-ros-packages

  2. Follow this link on guide to SLAM the workspace first:

    http://emanual.robotis.com/docs/en/platform/turtlebot3/slam/

  3. Create a costmap and name it point_map.png file

  4. Load model variable

export TURTLEBOT3_MODEL=waffle
  1. Launch simulation or the robot. To run with simulation,
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch x_pos:=-2 y_pos:=0.5

To run with turtlebot3 bringup the robot.

  1. Start navigation package
$ roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=/location_of_project/maps/map.yaml

You should see the robot sensor data miss aligned with the actual map like below. Rviz.png

  1. Indicate Location of robot on map with 2D pose estimate in Rviz.

  2. Run the planner after setting the start and end point in the code and catkin_make.

$ rosrun rrt_star_path_planning_turtlebot rrt_demo map_file:=/location_of_project/maps/point_map

About

Implementation of Rapidly exploring Random Trees algorithm to Turtlebot3 to navigate in a predefined location with static and dynamic obstacles.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published