Skip to main content

Vectorized RRT, RRT*, and RRT*Informed planning in Python!

Project description

RRT Path planning with Python!

Screenshot of RRTstar path

This repository contains my planning algorithm research code. It has modules for creating random or dynamic occupancy grids on which to generate plans, utilities for plotting and animating plans, and implementations of the RRT, RRT*, and RRT-Informed planners.

Features

Utility Modules:

  • Random World Generation with Perlin Noise
  • Animation Module
  • Dubins Primitive Module

Planning Modules:

  • RRT Planner
  • RRT(star) Planner
  • RRT(informed) Planner
  • Dubins Vehicle RRT Planner
  • Dubins Vehicle RRT(star) Planner

Path Following Modules:

  • Straight Line Vector-Field Path-Follower
  • Decomposition of multi-waypoint plan for vector-field follower using voronoi regions

All algorithms are written in Python. I've tried to accelerate some things with Numba; so, your platform needs to be compatible with numba. But for the most part, it's standard python, and as such, is extremely slow.

This is research code, so it's not at all a robust package to use for a real planner. Let me know how you are using it!

Dependency Notes

It relies on Numba to accelerate some collision logic:

https://numba.readthedocs.io/en/stable/user/installing.html

pyfastnoisesimd relies on SIMD instructions available only on modern processors to speed up perlin noise generation for random occupancyGrids. I'm not sure how it degrades if those instructions are not available. See https://pyfastnoisesimd.readthedocs.io/en/latest/overview.html.

Information:

RRT:

Planners:

Path Followers:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rrtplanner-0.1.1.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rrtplanner-0.1.1-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file rrtplanner-0.1.1.tar.gz.

File metadata

  • Download URL: rrtplanner-0.1.1.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for rrtplanner-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4cfa49fb3c9788409eb3e25a5b34af320bbaf8d8b5ee2284fa773eb4e66f0f5e
MD5 aed0657a87386b74991056902ac65114
BLAKE2b-256 c4877b3291e51ae4fbfcac5ac1e86e8d5d2e1b80b5d7405f4c6a614eae3c6063

See more details on using hashes here.

File details

Details for the file rrtplanner-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: rrtplanner-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for rrtplanner-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cbf13a287f3e39faee1cbfb2cb3162290c7a3cef7059eb16519a3f3596a0a401
MD5 bebf9a6e7932d9a8bf70972aea7a985f
BLAKE2b-256 7e3dd035682ba90e908a53d081f42e8b9489e55fb524f0b66fbdafedfa70f61a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page