SimarKareer / rrt_star

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About


Languages

Language:Python 100.0%