nav2_planners

Configure and tune Nav2 global planner plugins for ROS2 robot navigation.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Choosing and tuning a global path planner in ROS2 Nav2 is difficult because each planner (NavFn, Smac 2D/Hybrid/Lattice, Theta*, Route Server) has different algorithms, robot-shape assumptions, and dozens of parameters. This Skill consolidates the plugin APIs, parameter references, and performance benchmarks into one operational guide. ## Core Features & Use Cases - Planner Selection Guidance: Compares NavFn, SmacPlanner2D, SmacPlannerHybrid, SmacPlannerLattice, Theta*, and the Route Server by algorithm, robot type, kinematic feasibility, speed, and path quality. - Parameter References: Provides ready-to-adapt YAML parameter blocks for each plugin, including SMAC penalty weights, analytic expansion settings, Theta* cost weights, and Route Server graph configuration. - Tuning Knowledge: Documents cost mapping internals, smoother parameters, caching optimizations (e.g., obstacle heuristic caching), and measured planning-time benchmarks. - Use Case: An engineer configuring an Ackermann-steered robot selects SmacPlannerHybrid with the Reeds-Shepp motion model, sets the minimum turning radius, and tunes reverse and non-straight penalties to produce kinematically feasible paths. ## Quick Start Ask the AI to recommend and configure a Nav2 global planner plugin for your robot type and generate the corresponding planner_server YAML parameters.

Frequently Asked Questions about nav2_planners

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

FAQPage Schema
Which Nav2 planner should I use for an Ackermann robot?

Use SmacPlannerHybrid or SmacPlannerLattice for Ackermann and car-like robots because they generate kinematically feasible paths. Hybrid-A* supports Dubins (forward only) and Reeds-Shepp (forward and reverse) motion models with a configurable minimum turning radius.

What is the difference between NavFn and SmacPlanner2D?

NavFn uses Dijkstra or A* to build a navigation potential field and extracts paths by gradient descent, while SmacPlanner2D is a templated grid A* with path smoothing and multi-resolution support. Both suit circular robots, but Smac 2D avoids NavFn's path discontinuity artifacts.

How do I make Theta* paths stay centered in free space?

Increase the w_traversal_cost parameter so the planner penalizes cells near obstacles more strongly, pushing paths toward open space at the cost of more expansions. Pair it with gentle costmap inflation, such as a cost_scaling_factor around 10.0.

Does SmacPlannerHybrid support reverse driving?

Yes, set motion_model_for_search to REEDS_SHEPP to allow forward and reverse motion segments. You can then tune reverse_penalty, change_penalty, and retrospective_penalty to control how often the planner chooses backing maneuvers.

When should I use the Nav2 Route Server instead of a planner plugin?

Use the Route Server for structured environments like warehouses or hospitals where navigation follows pre-defined graphs with semantic rules such as speed zones or one-way lanes. It runs Dijkstra on a GeoJSON graph in well under a millisecond even for large graphs.

Why is my Smac planner slow on repeated replans?

Enable cache_obstacle_heuristic to reuse the obstacle heuristic between replans, which gives roughly a 40x speedup. You can also enable downsample_costmap for multi-resolution search and raise max_planning_time limits if expansions are being cut short.