Skip to content

A standalone implementation of the RRT-Star path finding algorithm.

License

Notifications You must be signed in to change notification settings

mplemay/RRT-Star

Folders and files

NameName
Last commit message
Last commit date
Oct 19, 2020
Oct 19, 2020
Oct 7, 2020
Oct 19, 2020
Oct 19, 2020
Oct 19, 2020
Oct 19, 2020
Oct 19, 2020
Oct 19, 2020
Oct 19, 2020

Repository files navigation

RRT Star

Setup

  1. Create a Python 3 Virtual Environment in the root directory of the project
python3 -m virtualenv venv
  1. Activate the Virtual Environment (Fish Shell Example Below)
. venv/bin/activate.fish
  1. Upgrade pip and setuptools
python3 -m pip install -U setuptools pip
  1. Install the projects requirements
python3 -m pip install -r requirements.txt
  1. (Optional) Install the pre-commit hook (requires clang-format and cppcheck to be installed on the system)
python3 -m pre_commit install

Building

  1. Setup the build system (GCC Example) in the project's root directory
meson build-gcc
  1. Change to the build directory
cd build-gcc
  1. Compile the project
meson compile

Usage

cd <project_root_dir>/build*
chmod +x example
./example
Enter the size of the boarder square: 100
Enter the step size (i.e. double): 5.0
Enter the size of the neighbor search radius (i.e. double): 10.0
Enter the amount of time the search should continue for after getting an initial path (in milliseconds): 100000
Where should the algorithm search start point be?
Enter the x coordinate: -1
Enter the y coordinate: -1
Where should the algorithm search goal point be?
Enter the x coordinate: 100
Enter the y coordinate: 100
Initial path (size = 37): (100,100) (99,100) (96,99) (96,98) (91,94) (90,94) (83,87) (82,87) (75,80) (74,80) (71,77) (70,77) (65,75) (60,69) (59,68) (53,61) (52,61) (51,58) (51,57) (45,53) (45,52) (40,46) (39,45) (37,42) (37,41) (32,34) (32,33) (30,28) (23,22) (23,21) (17,16) (16,15) (10,8) (9,8) (1,4) (1,3) (-1,-1)
Refined path (size = 29): (100,100) (95,93) (90,88) (84,84) (83,84) (79,79) (78,79) (73,74) (67,67) (61,60) (60,60) (56,54) (51,49) (50,49) (43,42) (42,42) (35,35) (29,30) (26,26) (25,26) (18,21) (17,21) (10,15) (9,14) (6,9) (5,8) (1,4) (1,3) (-1,-1)

Notes

  • This program was optimized for memory usage. Thus, it uses a sparse costmap, limited chaching of results, etc.
  • This implementation currently assumes that if the costmap has a coordinate it is not accessible.
  • It also assumes that this should be used in a single threaded environment. Futures, locks, and threading could be added to increase performance.

About

A standalone implementation of the RRT-Star path finding algorithm.

Resources

License

Stars

Watchers

Forks

Packages

No packages published