All Projects → jeshoward → turtlebot_rrt

jeshoward / turtlebot_rrt

Licence: BSD-3-Clause License
Rapidly Exploring Random Tree (RRT) global path planning plugin for ROS Kinetic Kame

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to turtlebot rrt

my ROS mobile robot
Differential drive mobile robot using ROS.
Stars: ✭ 123 (+43.02%)
Mutual labels:  ros, gazebo, rviz
raspimouse sim
ROS package suite for Raspberry Pi Mouse Simulator
Stars: ✭ 23 (-73.26%)
Mutual labels:  ros, gazebo
Autonomous-Drifting
Autonomous Drifting using Reinforcement Learning
Stars: ✭ 83 (-3.49%)
Mutual labels:  ros, gazebo
ar-tu-do
ROS & Gazebo project for 1/10th scale self-driving race cars
Stars: ✭ 65 (-24.42%)
Mutual labels:  ros, gazebo
katana driver
This stack contains hardware drivers, Gazebo plugins and other basic functionalities for the Neuronics Katana family of robot arms.
Stars: ✭ 16 (-81.4%)
Mutual labels:  ros, gazebo
Turtlebot Navigation
This project was completed on May 15, 2015. The goal of the project was to implement software system for frontier based exploration and navigation for turtlebot-like robots.
Stars: ✭ 28 (-67.44%)
Mutual labels:  ros, turtlebot
linorobot2
Autonomous mobile robots (2WD, 4WD, Mecanum Drive)
Stars: ✭ 97 (+12.79%)
Mutual labels:  ros, gazebo
conde simulator
Autonomous Driving Simulator for the Portuguese Robotics Open
Stars: ✭ 31 (-63.95%)
Mutual labels:  ros, gazebo
RoboticsAcademy
Learn Robotics with JdeRobot
Stars: ✭ 160 (+86.05%)
Mutual labels:  ros, gazebo
summit xl sim
Packages for the simulation of the Summit XL, Summit XL HL and Summit-X (including X-WAM) robots
Stars: ✭ 32 (-62.79%)
Mutual labels:  ros, gazebo
docker-ros-x11
A docker environment with ROS, Gazebo, X11 and Tensorflow
Stars: ✭ 29 (-66.28%)
Mutual labels:  ros, gazebo
aws-robomaker-robotics-curriculum
Introductory robotics curriculum
Stars: ✭ 78 (-9.3%)
Mutual labels:  ros, gazebo
PROBOT Anno
ROS Packages for PROBOT Anno.
Stars: ✭ 75 (-12.79%)
Mutual labels:  ros, gazebo
pocketsphinx
Updated ROS bindings to pocketsphinx
Stars: ✭ 36 (-58.14%)
Mutual labels:  ros, turtlebot
wpr simulation
No description or website provided.
Stars: ✭ 24 (-72.09%)
Mutual labels:  ros, gazebo
smart grasping sandbox
A public sandbox for Shadow's Smart Grasping System
Stars: ✭ 69 (-19.77%)
Mutual labels:  ros, gazebo
ROS
ROS机器人操作系统 学习(写于2020年夏)
Stars: ✭ 102 (+18.6%)
Mutual labels:  ros, rviz
ur ws
Universal robot with robotiq hand workspace
Stars: ✭ 21 (-75.58%)
Mutual labels:  ros, gazebo
Autonomus Indoor Drone
Final year project, autonomus indoor drone developed in ROS using DWM1001 dev-board
Stars: ✭ 26 (-69.77%)
Mutual labels:  ros, gazebo
ROS-GPS
GPS Localization with ROS, OSM and rviz
Stars: ✭ 19 (-77.91%)
Mutual labels:  ros, rviz

Build Status Travis Build Status

License Software License

Randomly Exploring Random Tree Path Planner ROS Plugin

This plugin implements a simulated Randomly Exploring Random Tree (RRT) path planner for the Kinetic Kame release of the Robot Operating System (ROS) framework. It uses the nav_core::BaseGlobalPlanner interface and can be used on any platforms that implement the move_base package, but has been specifically tested using the simulated Turtlebot platform.

A presentation on the project can be found on YouTube here. The video provides an overview of the project, UML diagrams, as well as a demo.

Table of Contents

Personnel

This plugin was created by Jessica Howard as a final project for the University of Maryland course ENPM808X - Software Development for Robotics during the Fall 2017 semester.

Installation

Clone the package into your catkin workspace:

cd [workspace]/src
git clone https://github.com/jeshoward/turtlebot_rrt.git
cd ..
catkin_make
source devel/setup.bash

Dependencies

  1. ROS Kinetic Kame (Installation Instructions)
  2. Catkin (Installation Instructions)
  3. Rviz (Installation Instructions)
  4. Gazebo (Installation Instructions)

Usage

To run the plugin out of the box, follow the steps in the demo. The plugin uses a static map and is currently only packaged with a single map. To create custom maps follow the instructions provided here. Once you have created your map place the .world, .yaml, and .pgm file into the /maps directory all using the same file name and then use the map_name arg with the launch file:

roslaunch turtlebot_rrt rrt_planner.launch

Launch file args

map_name indicates the map that you want to use. This assumes that you already have a .world, .yaml, and a .pgm file in the /maps directory.

step_size indicates the size of the step that the RRT algorithm uses. Sometimes called epsilon. A lower value is more accurate, a higher value is faster. Parameter is entered in meters. Has a default value of 2.5.

max_iterations determines the maximum number of vertices that will be created searching for a path between the starting point and the goal. This prevents infinite loops in the event the goal is unreachable. Parameter is an integer. Has a default value of 200,000.

delta is the incremental amount that will be checked along each step_size for obstacles. Choosing a lower value is more accurate, a higher value is faster. Parameter is entered in meters. Has a default value of 1.0.

goal_radius is how close you have to be to the goal for it to count. Parameter is entered in meters. Has a default value of 1.0.

Demo Steps

These steps assume that you have already cloned the repository, if not see Installation.

  1. Run the demo launch file
roslaunch turtlebot_rrt rrt_planner.launch

alt tag

  1. To set a goal for the robot switch to the Rviz window and and click "2D Nav Goal" at the top and select on the map where you want the robot to go.

Creating Custom Maps

A single demo map has been provided here, if you want to create your own Gazebo worlds and this RRT algorithm to navigate them follow this tutorial.

Test Steps

These steps assume that you have already cloned the repository, if not see Installation.

cd [workspace]/src
catkin_make run_tests && catkin_test_results

Issues

Issue tracking sheet can be found with the Sprint Backlog in the Issues tab.

SIP

License

BSD 3-Clause License

Copyright (c) 2017, Jessica Howard All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].