Skip to content

Nav2 Speed-Restricted Zones

Source: speed-restricted-zones

Why This Matters

Many environments do not need a full keepout. They need slower motion: near people, near ramps, beside fragile equipment, or in visually ambiguous spaces. Speed filters let you encode that policy without inventing fake obstacles.

Distilled Takeaways

  • Speed zones are built from a mask map plus a SpeedFilter, analogous to keepout filters but with graded behavior.
  • Percentage-based limits are usually easier to reason about than absolute speed maps because they scale with robot configuration.
  • The controller must actually honor the published speed-limit topic, or the filter adds complexity with no effect.
  • White-versus-black semantics in the underlying image and OccupancyGrid conversion are easy to get wrong; validate them visually.
  • Speed-restricted zones complement keepout zones rather than replacing them.

Practical Guidance

  • Use percentage mode unless you have a fixed operational requirement in meters per second.
  • Validate controller support before depending on the feature. MPPI and Regulated Pure Pursuit handle it well; DWB usually needs extra work.
  • Keep masks sparse and intentional. Too many speed zones make behavior hard to predict and harder to explain.
  • Use RViz or topic inspection to confirm that speed-limit messages change as the robot moves through the map.

Good Use Cases

  • Crowded shared hallways.
  • Ramps or traction-sensitive surfaces.
  • Manipulation approach zones near people or equipment.
  • Areas where perception quality drops and slower motion materially improves safety.

Corroborating References

When to Read the Original Source

Read the source skill when you need the mask-value mapping details, the costmap_filter_info_server setup for speed filtering, or a controller-specific note about where native speed-limit support exists.