RRT Path Planning
Robotic motion planning using Rapidly-exploring Random Trees (RRT/RRT*).
RRT Path Planning
RRT Path Planning (Rapidly-exploring Random Trees)
Path planning is a fundamental problem in robotics: finding a collision-free path for a robot from a start configuration to a goal configuration in the presence of obstacles.
1. Randomized Kinodynamic Planning
Unlike grid search algorithms (like A* or Dijkstra) which suffer from the curse of dimensionality, sampling-based path planners build a roadmap of the environment by randomly sampling configurations.
RRT is specifically designed to handle non-holonomic and kinodynamic constraints:
- Initialize: Start with a tree containing only the start node
q_start. - Sample: Sample a random configuration
q_randin the configuration space. - Extend: Find the nearest node
q_nearin the tree toq_rand. Extend the tree fromq_neartowardsq_randby a step sizedeltato getq_new. - Obstacle Check: If the path from
q_neartoq_newis collision-free, addq_newto the tree. - Loop: Repeat until a node is within threshold of
q_goal.
2. RRT* (Optimal RRT)
RRT* extends RRT by rewiring the tree to minimize path cost. After finding q_new, RRT* searches the neighborhood of q_new for a nearby node q_min that yields the lowest cost to reach q_new. It then re-evaluates nearby nodes to see if routing through q_new reduces their current path cost (rewiring).
Interactive goals: Launch the RRT planner lab. Add obstacles, set the start/goal points, and watch the random tree populate the search space. Compare standard RRT with RRT* optimization to see how path cost decreases over iterations.
CBSE/ICSE CS focus: Analysis of algorithmic time complexity, space complexity of trees, collision check helper routines, and randomized algorithms.
Key Takeaways (TL;DR)
- 1. Randomized Kinodynamic Planning
- 2. RRT* (Optimal RRT)
Master this topic with Drishti OS
Get unlimited mock tests, AI-powered mentorship, and complete video courses when you join.
Start Free Practice