static-layer

Integrate pre-built maps into the ROS 2 Nav2 global costmap.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

StaticLayer plugs a pre-built map into the global costmap, delivering walls and static structures as the base layer for global path planning in ROS 2 Nav2.

Core Features & Use Cases

  • Integrates pre-built maps into the global_costmap as the static base layer for global planning.
  • Supports map_subscribe_transient_local to ensure the latest map is received even if the map server starts earlier.
  • Allows control over map_topic, updates subscription, and the trinary_costmap mode for clear cost semantics.
  • Useful when SLAM produces a map or when loading a known map for offline planning with a stable costmap foundation.

Quick Start

Configure your global_costmap to include static_layer with map_topic '/map' and enable map_subscribe_transient_local, then launch map_server and costmap to apply the static layer.

Frequently Asked Questions about static-layer

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

FAQPage Schema
How do I load a pre-built map into the ROS 2 Nav2 global costmap?

Configuring the static layer in Nav2 requires setting map_topic, map_subscribe_transient_local, subscribe_to_updates, and cost-mapping parameters like trinary_costmap, lethal_cost_threshold, and unknown_cost_value. These settings define how the pre-built map integrates into the global_costmap as the base layer for navigation.

Why is my Nav2 global costmap not receiving the static map from the map server?

If the Nav2 global costmap is not receiving the static map, it is likely because map_subscribe_transient_local is not enabled. Enabling this parameter ensures the static layer receives the latest map even if the map_server starts publishing earlier than the costmap node.

Can I use a SLAM-produced map for offline global path planning in ROS 2?

Yes, you can use a SLAM-produced map for offline global path planning in ROS 2 by loading it into the static layer. This integrates the known map into the global costmap, providing a stable costmap foundation with walls and static structures for route planning without live SLAM.

What does the trinary_costmap parameter do in the Nav2 static layer?

The trinary_costmap parameter in the Nav2 static layer controls cost semantics by defining how map cell values are translated into costmap costs. When enabled, it applies clear cost thresholds such as lethal_cost_threshold and unknown_cost_value to manage obstacles and unknown spaces during navigation.