RRT* is an extension of the Rapidly-exploring Random Tree (RRT) algorithm that introduces a rewiring step to continuously improve the cost of the path as the tree grows, guaranteeing convergence towards an optimal solution as the number of samples approaches infinity. It builds a tree of feasible trajectories from a start state by sampling the configuration space, but unlike basic RRT, it connects new samples to the lowest-cost parent within a local neighborhood and rewires existing nearby nodes if a cheaper path through the new node is found.
Glossary
RRT*

What is RRT*?
RRT* (Rapidly-exploring Random Tree Star) is an asymptotically optimal, sampling-based motion planning algorithm.
This cost-to-come optimization makes RRT* a foundational anytime algorithm for kinodynamic planning in robotics, where finding smooth, efficient paths for non-holonomic systems is critical. Its probabilistic completeness and asymptotic optimality balance exploration with incremental refinement, making it suitable for complex, high-dimensional spaces where deterministic planners struggle, though its convergence can be computationally intensive compared to its non-optimal predecessor.
Key Features of RRT*
RRT* (Rapidly-exploring Random Tree Star) is an asymptotically optimal sampling-based motion planning algorithm. It extends the basic RRT by incorporating a cost-based rewiring step, which continuously refines the tree to converge towards the optimal path as more samples are drawn.
Asymptotic Optimality
The defining property of RRT* is its asymptotic optimality. This guarantees that as the number of sampled states approaches infinity, the cost of the best-found path converges to the true optimal cost with probability one. This is a strict improvement over the basic RRT, which is only probabilistically complete (guaranteed to find a solution, but not necessarily the best one).
- Key Mechanism: The rewiring step enables this property by allowing the algorithm to replace parent connections in the tree if a new, lower-cost connection to a node is discovered.
- Practical Implication: In real-world applications with finite computation time, RRT* produces significantly better paths than RRT after the same number of iterations.
Cost-to-Come and Rewiring
RRT* maintains a cost-to-come value for every node in the tree, representing the total cost of the path from the root (start) to that node. The rewiring process is the core of RRT*'s optimization.
- Near Node Selection: For a new sample
x_new, the algorithm finds a set of near nodes within a ball of radiusr(n)(which shrinks as the number of nodesnincreases). - Best Parent Connection: It connects
x_newto the near node that provides the minimum cost-to-come tox_newvia a collision-free local path. - Rewiring Near Nodes: Crucially, it then checks if connecting existing near nodes to
x_new* would lower their cost-to-come. If so, it rewires the tree by changing their parent tox_new`. This local optimization propagates cost improvements throughout the tree over time.
Incremental Optimization
RRT* is an anytime algorithm that provides a feasible solution quickly and then incrementally improves it. Unlike batch optimization methods that require a complete re-solve, RRT* refines the solution incrementally with each new sample.
- Initial Solution: Like RRT, it finds an initial, possibly suboptimal, path relatively fast.
- Continuous Refinement: Every new random sample offers an opportunity to discover a shorter path segment or a more efficient connection via the rewiring process.
- Use Case: This makes it highly suitable for real-time replanning scenarios where computation time is bounded; the system can execute the current best path while the planner continues to refine it in the background.
Sampling-Based Exploration
As a sampling-based planner, RRT* does not require an explicit representation of the configuration space's obstacles. It explores the space by randomly sampling states and attempting to connect them to the growing tree.
- Bias towards Exploration: The algorithm inherently biases growth towards large, unexplored regions of the space, making it efficient for high-dimensional problems (e.g., robotic arms with many joints).
- Probabilistic Completeness: It shares the probabilistic completeness of RRT: if a feasible path exists, the probability of finding it approaches 1 as the number of samples goes to infinity.
- Handles Complex Constraints: This random sampling approach allows it to naturally handle non-holonomic and kinodynamic constraints by using a steering function to generate feasible local paths between nodes.
Steering Function & Local Planning
A critical component of RRT* (and RRT) is the steering function. This function is responsible for generating a feasible, collision-free trajectory from a parent node x_near towards a target sample x_rand or x_new.
- Role: It acts as a local planner. For holonomic systems, this may be a simple straight-line connection. For systems with dynamics (kinodynamic planning), it is a more complex controller that respects velocity and acceleration limits.
- Connection Validation: The output of the steering function must be checked for collisions before a node is added to the tree.
- Impact on Optimality: The quality and reachability of the steering function directly influence the efficiency of the search and the smoothness of the final path. Poor steering can limit the algorithm's ability to find the true optimum.
Relation to Other Planners
RRT* sits within a family of sampling-based and optimal planners, each with distinct trade-offs.
- vs. RRT: The core differentiator is the rewiring for optimality. RRT finds a solution; RRT* improves it.
- vs. PRM (Probabilistic Roadmap): PRM is a multi-query method that builds a global roadmap. RRT* is a single-query, tree-based method that is often more efficient for finding an initial solution.
- vs. A/D/LPA***: These are graph-search algorithms optimal for discrete, low-dimensional grids. RRT* is designed for continuous, high-dimensional spaces where building a full graph is infeasible.
- Evolution: RRT* has spawned many variants like Informed RRT* (which uses an ellipsoidal heuristic to focus sampling) and RRT*-Smart (which uses path optimization waypoints to guide sampling).
RRT* vs. Other Planning Algorithms
A feature and performance comparison of RRT* against other prominent path and motion planning algorithms used in robotics and autonomous systems.
| Feature / Metric | RRT* (Rapidly-exploring Random Tree Star) | RRT (Rapidly-exploring Random Tree) | A* / Lattice Planner | D* Lite / LPA* |
|---|---|---|---|---|
Algorithm Type | Sampling-based, Asymptotically Optimal | Sampling-based, Probabilistically Complete | Search-based, Optimal (for given discretization) | Incremental Search-based, Optimal (for given graph) |
Optimality Guarantee | Asymptotically optimal (converges to optimum) | None (finds a feasible path) | Optimal for the discretized graph | Optimal for the updated graph |
Completeness Guarantee | Probabilistically complete | Probabilistically complete | Resolution complete | Resolution complete |
Primary Use Case | High-dimensional C-space, kinodynamic planning | Quickly finding any feasible path in complex spaces | Grid-based or lattice-based navigation | Replanning in dynamic/unknown environments |
Real-Time Replanning | Supports anytime improvement, not inherently incremental | Can be restarted, not inherently incremental | No, full replan required | Yes, designed for efficient incremental updates |
Handles Dynamic Obstacles | Requires full re-sampling from scratch | Requires full re-sampling from scratch | No, static graph assumption | Yes, core capability via cost map updates |
Path Quality | Continuously improves towards optimal | Often suboptimal, jagged | Optimal for graph, smooth if using motion primitives | Optimal for updated graph |
Computational Cost per Replan | High (grows tree, performs re-wiring) | Moderate (grows tree) | Moderate to High (full graph search) | Low (focused search, reuses previous results) |
Memory Usage | Moderate (tree structure) | Moderate (tree structure) | High (full graph in memory) | High (full graph plus search history) |
Convergence Rate | Slower initial solution than RRT, then improves | Fast initial solution | Fast for moderate graph sizes | Fast for localized changes |
Frequently Asked Questions
RRT* (Rapidly-exploring Random Tree Star) is a foundational sampling-based motion planning algorithm. These questions address its core mechanics, applications, and how it compares to other planning methods in real-time replanning systems.
RRT* (Rapidly-exploring Random Tree Star) is an asymptotically optimal, sampling-based motion planning algorithm that incrementally builds a tree of feasible paths from a start state, continuously rewiring the tree to improve path cost as it grows towards a goal region. It works by iteratively sampling a random point in the configuration space, finding the nearest node in the existing tree, and extending a new node towards the sample. The key innovation over basic RRT is the rewiring step: after adding a new node, the algorithm checks if any nearby nodes in the tree could be reached with a lower total cost by using the new node as a parent, and rewires them if so. This process of cost-to-come propagation ensures the tree converges towards an optimal solution given sufficient runtime and samples.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
RRT* is a foundational sampling-based planner. These related algorithms represent the broader ecosystem of techniques used for path planning, collision avoidance, and real-time replanning in robotics and autonomous systems.
Rapidly-exploring Random Tree (RRT)
The foundational algorithm upon which RRT* is built. An RRT is a sampling-based motion planning algorithm that incrementally builds a space-filling tree from an initial state to explore high-dimensional search spaces. It is probabilistically complete but not optimal.
- Core Mechanism: Randomly samples the configuration space and extends the nearest node in the tree toward the sample.
- Key Use Case: Effective for non-holonomic and kinodynamic planning problems where completeness is more critical than optimality.
- Limitation: The resulting path is often suboptimal and jerky, as the algorithm focuses on exploration over path quality.
Probabilistic Roadmap (PRM)
A sampling-based method that constructs a graph of collision-free configurations during a preprocessing phase. Unlike RRT's incremental tree growth, PRM builds a global roadmap of the free space.
- Two-Phase Process: 1) Learning Phase: Randomly sample configurations and connect nearby ones to form a roadmap graph. 2) Query Phase: Use the roadmap to find a path between specific start and goal states.
- Advantage: Efficient for multiple queries in the same static environment, as the roadmap is built once and reused.
- Contrast with RRT*: PRM is multi-query, while RRT* is typically single-query. PRM does not inherently include an optimality-guaranteeing rewiring step.
A* Algorithm
A classic graph traversal and path search algorithm that guarantees an optimal path. A* uses a best-first search strategy guided by a heuristic function h(n) to estimate the cost to the goal.
- Optimality: Guarantees the shortest path if the heuristic is admissible (never overestimates the true cost).
- Contrast with Sampling-Based Planners: A* requires a discrete graph representation of the state space. RRT* was developed for continuous spaces where constructing such a graph is infeasible.
- Hybrid Use: Often used in a hierarchical planner, where A* plans a coarse grid-based path that is then refined by RRT* in continuous configuration space.
Kinodynamic Planning
The problem of finding a trajectory that satisfies both kinematic constraints (e.g., non-holonomic wheel constraints) and dynamic constraints (e.g., acceleration, torque limits). RRT* is frequently extended to solve kinodynamic variants.
- Beyond Geometry: Plans in the state space (e.g.,
[x, y, θ, v, ω]) instead of just configuration space ([x, y, θ]). - RRT Extensions*: Algorithms like Kinodynamic RRT* use motion primitives or forward integration to generate dynamically feasible edges in the tree.
- Application: Essential for autonomous vehicles and agile drones where dynamics fundamentally limit possible motions.
Incremental & Anytime Algorithms
Algorithmic families crucial for real-time replanning. RRT* exhibits anytime behavior, improving its solution with computation time.
- Incremental Algorithm: Efficiently updates its output given a small input change. RRT* is incremental in its tree growth and rewiring.
- Anytime Algorithm: Can return a valid solution at any time, with quality improving over time. RRT* provides an initial feasible path quickly, then asymptotically optimizes it.
- Replanning Context: These properties make RRT* suitable for scenarios where the planner must run continuously, refining paths as the environment changes or more compute time is available.
Conflict-Based Search (CBS)
A leading optimal algorithm for Multi-Agent Path Finding (MAPF). While RRT* plans for a single agent, CBS coordinates paths for multiple agents to avoid inter-agent collisions.
- Two-Level Search: High-level search resolves conflicts between individual agent paths by imposing constraints. Low-level search finds optimal paths for each agent under those constraints.
- Contrast with RRT*: CBS operates on a discrete graph, often using A* for low-level planning. Multi-agent extensions of RRT* exist but face scalability challenges.
- Use Case: Critical for warehouse robotics and heterogeneous fleet orchestration where coordinated, collision-free paths for dozens of agents are required.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us