Giter Club home page Giter Club logo

rrt's Introduction

RRT

This is a basic implementation of RRT on a 2D world with line and circle obstacles

To use the application, clone this repository and build and run using the instructions below.

Dependencies

The application has dependencies that will be available with out of the box Ubuntu 20.04 operating system. They are as follows,

  • Operating system: Ubuntu 20.04 or equivalent
  • CMake 3.10.2 or above
  • gcc/g++ 7.5.0 or above
  • Eigen3
  • yaml-cpp

Build

The application builds using CMake

Within the root directory of the application, the source files are in ./src directory and the included headers are in ./include. Two scripts build.sh and run.sh are provided for building and running the application.

Open a terminal window and follow the steps below,

  • Make sure the scripts have execute permissions by running the command ls -l
  • Run the provided build script using the command ./build.sh

Run

Open a new terminal window if not following from the "Build" section and execute the following commands from within the root directory of the application,

  • Run the provided run script using the command ./run.sh

Configs/Parameters

Configure the RRT and other world parameters in the config file config/rrt_config.yaml. The configs are grouped into 5 namespaces,

  • start_pose - A sequence of 2 floating point numbers describing the start point of path. Use the keyword 'generate_random' for using a random start point
  • goal_pose - A sequence of 2 floating point numbers describing the goal point of path. Use the keyword 'generate_random' for using a random goal point
  • obstacles - A list of obstacles of either CIRCLE or LINE type. CIRCLE is described with a center and radius. LINE is described with a start and end point
  • grid - Parameters describing the 2D world with limits in both x and y axes and resolution of both axes
  • rrt - Parameters for RRT algorithm. max_step_size, min_iterations, max_iterations, goal_closeness_threshold

rrt's People

Contributors

arihantb2 avatar

Stargazers

Parav avatar

Watchers

James Cloos avatar  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.