Fiveable

๐Ÿค–Robotics Unit 7 Review

QR code for Robotics practice questions

7.3 Path planning algorithms: A*, RRT, and PRM

๐Ÿค–Robotics
Unit 7 Review

7.3 Path planning algorithms: A*, RRT, and PRM

Written by the Fiveable Content Team โ€ข Last updated September 2025
Written by the Fiveable Content Team โ€ข Last updated September 2025
๐Ÿค–Robotics
Unit & Topic Study Guides

Path planning algorithms are crucial in robotics, enabling robots to navigate complex environments efficiently. A, RRT, and PRM are three key algorithms used for this purpose, each with unique strengths and applications.

These algorithms differ in their approach to finding paths. A uses heuristics for informed search, RRT builds trees to explore space, and PRM creates roadmaps for repeated queries. Understanding their implementations and trade-offs is essential for effective robot navigation.

Path Planning Algorithms: A, RRT, and PRM

Fundamentals of A search algorithm

  • A algorithm combines Dijkstra's algorithm and greedy best-first search uses heuristic function to estimate cost from current node to goal
  • Key components include open list for nodes to evaluate closed list for evaluated nodes and $f(n) = g(n) + h(n)$ where $g(n)$ is actual cost from start to current node and $h(n)$ is estimated cost to goal
  • Algorithm steps involve initializing open list expanding node with lowest $f(n)$ generating successors calculating $f(n)$ values adding to open list if not in closed list moving expanded node to closed list repeating until goal reached or open list empty
  • Heuristic function must be admissible never overestimating cost to goal and consistent satisfying triangle inequality
  • Examples: Manhattan distance for grid-based pathfinding Euclidean distance for continuous spaces

Implementation of RRT algorithm

  • RRT incrementally builds tree to explore configuration space biases growth towards unexplored regions
  • Key components include root node random sampling nearest neighbor search and local planner for connecting nodes
  • Algorithm steps involve initializing tree generating random sample finding nearest node extending tree checking for collision adding new node repeating until goal reached or maximum iterations
  • Variants include RRT for asymptotic optimality and Bidirectional RRT growing trees from both start and goal
  • Applications in high-dimensional spaces robot arm motion planning (6+ DOF manipulators) nonholonomic vehicle path planning (car-like robots)

Application of PRM algorithm

  • PRM uses two-phase approach roadmap construction and query phase builds graph representation of free space
  • Roadmap construction involves random sampling collision checking connection of nearby configurations
  • Query phase connects start and goal to roadmap searches for path using graph search algorithm (A)
  • Key components include sampling strategy (uniform obstacle-based) collision detection module local planner nearest neighbor search
  • Variants include Lazy PRM deferring collision checking to query phase Adaptive PRM adjusting sampling density based on local difficulty
  • Examples: multi-robot coordination in factory settings path planning for unmanned aerial vehicles (UAVs) in complex environments

Performance analysis of path planning algorithms

  • A time complexity $O(b^d)$ space complexity $O(b^d)$ performance affected by heuristic function quality graph connectivity
  • RRT time complexity $O(n \log n)$ space complexity $O(n)$ performance influenced by sampling strategy step size environment complexity
  • PRM roadmap construction complexity $O(n^2)$ query phase depends on graph search algorithm performance affected by sampling density connection radius environment complexity
  • Algorithms compared in low vs high-dimensional spaces (2D grid world vs 6-DOF robot arm) static vs dynamic environments (fixed obstacles vs moving obstacles) single vs multiple query problems (one-time path planning vs repeated queries)
  • Trade-offs include completeness (A* complete RRT and PRM probabilistically complete) optimality (A* optimal RRT and PRM suboptimal) scalability to high-dimensional spaces (RRT and PRM generally better)