Coder Social home page Coder Social logo

rrt_star's Introduction

Kinodynamic RRT*

rrt_star_apartment

The shortest path is not always fastest, depending on the agent's dynamics (left). RRT*-Unicycle explicitly considers the agent's dynamics to measure how well its learned behavior approximates the fastest possible one (right)

This repo approximates the fastest completion time from a starting pose to a goal position based on the dynamics of the agent. Details are here.

Currently, this repo supports the following dynamics:

  • Unicycle
  • Pointturn

Citing

If you use this code in your research, please cite the following paper:

@inproceedings{sct21iros,
  title     =     {Success Weighted by Completion Time: {A} Dynamics-Aware Evaluation Criteria for Embodied Navigation},
  author    =     {Naoki Yokoyama and Sehoon Ha and Dhruv Batra},
  booktitle =     {2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  year      =     {2021}
}

Installation

If you want to use the unicycle dynamics model or use a navmesh (vs. a PNG file), you need to install habitat-sim. If you just want to use the PNG method and the point-turn model, you don't need to install it. Habitat-sim repo with installation instructions is located here. The use of conda is strongly suggested.

You will need to install the following packages:

pip install numpy numpy-quaternion yacs opencv-python tqdm

Running the scripts

This repo can accept either the .json.gz files that habitat-lab uses for training PointNav agents, or .png files that represent a 2D floor plan. For the .png files, white pixels represent navigable locations and black/gray ones represent walls or obstacles (see maps/example_map.png for reference).

You must use a .yaml file to configure the various parameters needed for running the script.

Please read .yaml files in configs folder for list of configurable parameters and descriptions for each one.

After the yaml file has been properly configured, simply pass it to the run.py script. Here is an example of proper usage:

python run.py configs/png.yaml

rrt_star's People

Contributors

naokiyokoyama avatar

Stargazers

Ayush Agrawal avatar Yoon, Seungje avatar  avatar Tomato1107 avatar Charles-Olivier Artizzu avatar  avatar

Watchers

James Cloos avatar  avatar

Forkers

coatz simarkareer

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.