Hybrid A* Path Planning
DEGREE OBJECTIVE 4
Examine and assess a variety of applications within the field of robotics.
How it meets the objective: It examines a path-planning algorithm in depth and assesses its fit for a real application — warehouse robot fleets — using simulation evidence, not just literature.
Planned path from (10, 10, 90°) to (50, 50, −90°): the car-like vehicle threads two interior walls with smooth, drivable curvature. The small hook at the goal is a reverse maneuver — the Reeds-Shepp expansion choosing a back-in approach to hit the goal heading.
A literature-backed evaluation of the Hybrid A* algorithm, run in the PythonRobotics simulator and assessed against a real industrial use case: mobile robot fleets in the warehouse automation environments I work in. Built in RBT347 with Python, PythonRobotics, and primary literature (Dolgov, Thrun, et al.).
What I assessed
Hybrid A* extends grid A* by tracking continuous position and heading, expanding nodes through a car-like kinematic model so every path is drivable from the start. The analysis covers its two-heuristic design — an obstacle-free kinematic heuristic against an obstacle-aware 2D dynamic programming heuristic that takes the maximum of two admissible values — the Reeds-Shepp analytic expansion near the goal, and the trade-offs: loss of strict optimality due to discretization, higher compute than 2D planning, and sensitivity to pruning choices.
Engineering judgment
Running the simulation surfaced things the papers don't emphasize — including an unexplained reverse maneuver at the goal that I flagged for follow-up rather than hand-waving. The warehouse assessment is concrete: Dolgov's team built Hybrid A* for frequent online replanning against live-updating obstacle maps, which is exactly the operating condition of multi-robot distribution centers where reliable, repeatable motion matters more than mathematically optimal paths. The simulation is fully reproducible — the exact commands and planner parameters are documented on GitHub with attribution to the PythonRobotics project.