rrt-algorithm
Rapidly-Exploring Random Tree Implementation
Science Score: 31.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (6.1%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
·
Repository
Rapidly-Exploring Random Tree Implementation
Basic Info
- Host: GitHub
- Owner: KhachDavid
- License: mit
- Language: Python
- Default Branch: main
- Size: 7.81 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Created almost 2 years ago
· Last pushed almost 2 years ago
Metadata Files
License
Citation
https://github.com/KhachDavid/rrt-algorithm/blob/main/
# RRT-Algorithm
This repository is my implementation of the RRT algorithm.
## How does it work?
1. Initialization
The algorithm starts by defining a starting position (root of the tree) and a goal position. It also defines the environment, including obstacles that must be avoided.
2. Random Sampling
At each iteration, the algorithm samples a random configuration (a point in the space), which could be anywhere in the defined search space.
3. Nearest Vertex
The algorithm finds the vertex (node) in the current tree that is closest to the random sample.
4. New Configuration
A new node is generated by extending from the nearest vertex in the direction of the random sample. The new node is created at a predefined step size to avoid overshooting obstacles or the goal.
5. Collision Check
The algorithm checks whether the new node is in collision with any obstacles. If a collision is detected, the node is discarded.
6. Expand Tree
If the new node is collision-free, it is added to the tree, and an edge is created from the nearest vertex to the new node.
7. Goal Check
The algorithm if a direct, collision-free path to the goal is possible, the algorithm terminates.
8. Iterate
The process is repeated until a valid path to the goal is found or a maximum number of iterations is reached.
## Example Output

The implementation was completed in September 2024 during the MSR program kick-off hackathon at Northwestern University
Owner
- Name: David Khachatryan
- Login: KhachDavid
- Kind: user
- Location: Chicago, Illinois
- Company: Sunrise Futures
- Website: davidk.tech
- Repositories: 53
- Profile: https://github.com/KhachDavid
📚 UW Madison, Class of 2022
Citation (citations.txt)
[1] https://stackoverflow.com/a/25421861 Accessed on 9/17/24 [2] https://stackoverflow.com/a/74932533 Accessed on 9/17/24 [3] ChatGpt. OpenAIUsed on 9/17/2024. Transcript is in ./chatgpt/transcript1.txt
GitHub Events
Total
Last Year
Dependencies
requirements.txt
pypi
- contourpy ==1.3.0
- cycler ==0.12.1
- fonttools ==4.53.1
- imageio ==2.35.1
- kiwisolver ==1.4.7
- matplotlib ==3.9.2
- numpy ==2.1.1
- packaging ==24.1
- pillow ==10.4.0
- pyparsing ==3.1.4
- python-dateutil ==2.9.0.post0
- six ==1.16.0