Code Monkey home page Code Monkey logo

rrt-global-planner's Introduction

rrt-global-planner

A Rapidly Exploring Random Trees (RRT) global path planner plugin for ROS.

Demo

Install Dependancies and Build

cd ~/catkin_ws/src
git clone https://github.com/mech0ctopus/rrt-global-planner.git
cd .. && rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash

Usage

Within the move_base node in your launch file, set the base_global_planner parameter to global_planner/RRTGlobalPlanner and load the required parameters.

<param name="base_global_planner" value="global_planner/RRTGlobalPlanner"/>
<rosparam file="$(find rrt-global-planner)/params/rrt_global_planner.yaml" command="load" />

After launching the system, when you set a move_base/goal using RViz's 2D Nav Goal or with an action client, the RRTGlobalPlanner will be called. The global path will be published as a topic for visualization. Optionally, a visualization of the full RRT constructed for path planning will be published.

RRTGlobalPlanner's output can be visualized in RViz. To see the global path, add a Path display and subscribe to ~/move_base/RRTGlobalPlanner/plan. To see the full tree (viz_tree must be true), add a Marker display and subscribe to ~/move_base/RRTGlobalPlanner/tree.

Examples

An example launch file for using RRTGlobalPlanner with the TurtleBot3 Simulation is located in rrt-global-planner/launch.

An example RViz config file for using RRTGlobalPlanner with the TurtleBot3 Simulation is located in rrt-global-planner/config.

ROS API

Published Topics

~/move_base/RRTGlobalPlanner/plan (nav_msgs/Path)

  • The global path constructed by the planner. Used for visualization purposes.

~/move_base/RRTGlobalPlanner/tree (visualization_msgs/Marker)

  • Visualization of full tree built during planning process.

Subscribed Topics

None.

Parameters

~/move_base/RRTGlobalPlanner/goal_tol (double, default: 0.05)

  • Cartesian goal tolerance to be achieved by the global planner.

~/move_base/RRTGlobalPlanner/K_in (int, default: 4000)

  • Maximum number of iterations to attempt to find a plan.

~/move_base/RRTGlobalPlanner/d (double, default: 0.2)

  • Distance to extend tree per iteration.

~/move_base/RRTGlobalPlanner/viz_tree (bool, default: false)

  • Whether to publish full tree on ~/move_base/RRTGlobalPlanner/tree topic for visualization purposes after planning success.

Services

None.

rrt-global-planner's People

Contributors

mech0ctopus avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.