smac-planner-2d

Configure the Nav2 SMAC 2D A* planner for grid-based path planning.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Tuning the Nav2 SMAC 2D planner involves many interdependent parameters (iteration limits, cost penalties, downsampling, smoothing), and misconfiguration leads to planning failures, wall-hugging paths, or jerky motion. This Skill provides the full parameter reference, a complete YAML configuration, and troubleshooting guidance in one place. ## Core Features & Use Cases - Parameter Reference: Documents every SmacPlanner2D parameter including tolerance, max_iterations, cost_travel_multiplier, and allow_unknown with types and defaults. - Complete YAML Configuration: Provides a ready-to-adapt planner_server configuration block for the nav2_smac_planner::SmacPlanner2D plugin. - Selection & Troubleshooting Guidance: Explains when SMAC 2D fits versus Hybrid-A* or NavFn, and how to fix common failures like unreachable goals or jerky paths. - Use Case: A robotics engineer deploying a differential-drive indoor robot needs fast replanning on a 2D costmap; use this Skill to configure the planner, enable the built-in smoother, and resolve inflation-related goal failures. ## Quick Start Configure my Nav2 planner_server to use the SMAC 2D planner with smoothing enabled and a 2 second planning time limit.

Frequently Asked Questions about smac-planner-2d

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

FAQPage Schema
How do I configure the Nav2 SMAC 2D planner?

Add nav2_smac_planner::SmacPlanner2D as a plugin under planner_server's planner_plugins in your ROS 2 YAML file. Set parameters like tolerance, max_iterations, max_planning_time, and cost_travel_multiplier, then optionally enable the built-in smoother block.

What is the difference between SMAC 2D and NavFn planners?

SMAC 2D uses A* with a Wavefront heuristic on the costmap grid, while NavFn uses Dijkstra or A* with a potential field. SMAC 2D includes a built-in smoother and supports costmap downsampling, and is generally faster for point-to-point planning.

When should I use Hybrid-A* instead of SMAC 2D?

Use Hybrid-A* when the robot has non-holonomic constraints and needs kinematically feasible paths from the planner itself, such as Ackermann-steered vehicles. SMAC 2D ignores robot kinematics and suits holonomic robots or cases where the controller handles feasibility.

Why does the SMAC planner fail to reach a goal that looks reachable?

The goal cell likely falls inside an inflated obstacle region of the costmap. Increase the tolerance parameter so the planner accepts nearby cells, or review the costmap inflation radius which may be blocking narrow passages.

How do I fix jerky paths from the SMAC 2D planner?

Enable the built-in smoother and increase the w_smooth weight relative to w_data to reduce jaggedness. If controller output remains jerky, add a downstream smoother such as nav2_constrained_smoother or the nav2_smoother_server.