theta-star-planner

Configure the Nav2 Theta* planner for any-angle path generation with line-of-sight optimization.

Updated Aug 16, 2026
One-click install
npx skills add https://github.com/three1324/yeonjinautomotive --skill theta-star-planner-three1324
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: theta-star-planner
Source: https://github.com/three1324/yeonjinautomotive/tree/main/.claude/skills/theta-star-planner
Command: npx skills add https://github.com/three1324/yeonjinautomotive --skill theta-star-planner-three1324

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Grid-based planners like A* and NavFn produce staircase-like paths constrained to grid edges, causing unnecessary turns and controller oscillation. This Skill provides the configuration and tuning knowledge to set up the Nav2 Theta* planner, which uses line-of-sight checks to generate straighter, any-angle paths. ## Core Features & Use Cases - Theta Plugin Configuration*: Complete YAML setup for the nav2_theta_star_planner::ThetaStarPlanner plugin within the Nav2 planner_server. - Parameter Tuning Guidance: Explains how_many_corners, w_euc_cost, w_traversal_cost, terminal_checking_interval, and allow_unknown, including the cost function trade-offs between path shortness and obstacle avoidance. - Planner Comparison & Troubleshooting: Compares Theta* against NavFn and SMAC 2D, and diagnoses issues like grid-aligned paths, slow planning, and paths cutting too close to obstacles. - Use Case: A robotics engineer tuning a differential-drive indoor robot wants smoother diagonal paths without the computational cost of Hybrid-A*, and uses this Skill to configure Theta* with appropriate cost weights. ## Quick Start Configure the Nav2 planner_server to use the Theta* planner plugin with 8-connected neighbors and balanced cost weights for my indoor mobile robot.

Frequently Asked Questions about theta-star-planner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure the Theta* planner in Nav2?

Add nav2_theta_star_planner::ThetaStarPlanner as a plugin under planner_server's GridBased planner in your YAML config. Set how_many_corners to 8 for diagonal movement, and tune w_euc_cost and w_traversal_cost to balance path length against obstacle avoidance.

What is the difference between Theta* and A* path planning?

Theta* extends A* with line-of-sight checks: when expanding a node, it tests whether the parent has direct visibility to each neighbor and skips intermediate cells if so. This produces straight any-angle paths instead of A*'s grid-constrained staircase paths.

Theta* vs NavFn vs SMAC 2D, which Nav2 planner should I use?

Theta* produces any-angle straight-line paths with low turn counts, sitting between NavFn's simplicity and SMAC Hybrid-A*'s sophistication. Use Theta* for open indoor environments; use NavFn or SMAC 2D in very cluttered spaces where line-of-sight checks rarely succeed.

Why does my Theta* planner still produce grid-aligned paths?

Grid-aligned paths usually mean how_many_corners is set to 4, limiting line-of-sight checks to cardinal directions. Set how_many_corners to 8 to enable diagonal movement and full any-angle planning.

When should I not use the Theta* planner?

Avoid Theta* for non-holonomic robots needing kinematically feasible paths from the planner (use Hybrid-A* instead), and in very cluttered environments where failed line-of-sight checks add overhead without benefit. It also cannot guarantee smoothness at obstacle corners.

How do I stop Theta* paths from cutting too close to obstacles?

Increase w_traversal_cost (for example to 5.0 or higher) so the planner penalizes high-cost cells near obstacles more strongly, or increase the costmap inflation radius. Note that inflated costs do not block line-of-sight; only lethal cells do.