speed-restricted-zones

Configure per-zone speed limits in Nav2 using grayscale mask OccupancyGrids.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Speed-restricted zones limit the robot's maximum velocity in designated areas to improve safety and stability during navigation.

Core Features & Use Cases

  • Mask-based speed control: Define per-area speed limits with a grayscale mask served as an OccupancyGrid.
  • Nav2 integration: Uses map_server, CostmapFilter, and SpeedFilter to publish speed limits to the controller.
  • Use Case: Protect crowded halls, ramps, or delicate equipment by automatically throttling the robot in restricted zones.

Quick Start

Start by creating a speed mask image and launching the map server and speed filter, then verify that the controller respects the published limits.

Frequently Asked Questions about speed-restricted-zones

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

FAQPage Schema
How do I enforce speed limits in specific zones for Nav2 robot navigation?

To enforce speed limits in Nav2, you define restricted map zones using a grayscale mask served as an OccupancyGrid, then apply a SpeedFilter plugin that publishes speed limits to the controller.

What is a speed mask and how does it control robot velocity?

A speed mask is a grayscale image defining per-area speed limits, served as an OccupancyGrid. The SpeedFilter reads this mask and publishes limits to the controller, which adjusts maximum velocity.

Can I set absolute speed limits or only percentage-based reductions in restricted zones?

You can set both absolute speed limits and percentage-based velocity reductions. The SpeedFilter plugin supports both modes, allowing flexible per-zone velocity control during navigation.

How do I configure a costmap filter to slow down a robot near delicate equipment?

Configure a costmap speed filter by loading a grayscale mask image into the map server. The SpeedFilter plugin processes this OccupancyGrid to publish speed limits, automatically throttling the robot.

Does this Nav2 speed restriction approach work for crowded indoor environments and ramps?

Yes, this Nav2 speed restriction approach is explicitly designed for crowded indoor environments, ramps, and zones near delicate equipment, automatically adjusting maximum velocity to improve safety.

Why is my Nav2 SpeedFilter not throttling the robot's maximum velocity?

The SpeedFilter requires a controller client subscribed to adjust maximum velocity. Ensure your map server correctly serves the grayscale mask as an OccupancyGrid and the controller subscribes to speed_limit.