smac-lattice-planner

Configure the Nav2 SMAC Lattice planner with precomputed motion primitives from a JSON file.

18|2|Updated Apr 20, 2026
One-click install
npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill smac-lattice-planner
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: smac-lattice-planner
Source: https://github.com/wimblerobotics/ros2-copilot-skills/tree/main/smac-lattice-planner
Command: npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill smac-lattice-planner

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Configures the Nav2 SMAC Lattice planner to enable planning with precomputed motion primitives for robots with non-circular or complex footprints, providing realistic trajectories that align with vehicle capabilities.

Core Features & Use Cases

  • Loads and uses lattice primitives to search SE2 for paths with kinematic constraints.
  • Supports complex, asymmetric footprints where fixed turning radii are required.
  • Use Case: when deploying a custom vehicle in ROS 2 Nav2 requiring precise, executable paths.

Quick Start

Load a lattice primitives JSON file named lattice_primitives.json and reference it in your GridBased Nav2 configuration to enable SMAC lattice planning.

Frequently Asked Questions about smac-lattice-planner

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

FAQPage Schema
How do I use precomputed motion primitives for Nav2 lattice planning with complex robot footprints?

To use precomputed motion primitives for Nav2 lattice planning, configure the SMAC planner to load a lattice_primitives.json file at runtime. You must set the lattice_filepath parameter in your YAML configuration to point to this JSON file, enabling realistic trajectories for complex or asymmetric footprints.

When do I need a lattice planner instead of standard Nav2 path planning?

You need a lattice planner when deploying robots with non-circular or asymmetric kinematic constraints in ROS 2 Nav2. It searches SE2 space using precomputed motion primitives to generate precise, executable paths that align with fixed turning radii and specific vehicle capabilities.

What YAML parameters are required to configure the SMAC lattice planner in ROS 2?

Configuring the SMAC lattice planner requires setting lattice_filepath to point to your JSON lattice file. You also need planner parameters such as max_iterations and max_planning_time defined in your YAML configuration to control the planning behavior and limits.

Can I use SMAC lattice planning for a custom vehicle with asymmetric kinematic constraints in Nav2?

Yes, SMAC lattice planning supports custom vehicles with asymmetric kinematic constraints in Nav2. By loading a lattice_primitives.json file, the planner searches SE2 space to generate paths that respect the specific kinematic limitations and complex footprints of your vehicle.

What are the limitations of using precomputed motion primitives in Nav2 lattice planning?

Using precomputed motion primitives in Nav2 lattice planning requires a pre-generated lattice_primitives.json file matching your specific robot kinematics. Planning success and performance depend heavily on configuring appropriate max_iterations and max_planning_time limits in your YAML file.