explaingit

vyshnav-tr/nav2-costmap-filter-editor

Analysis updated 2026-05-18

5TypeScriptAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

A browser based, backend free editor for drawing keepout, speed limit, and wall zones onto ROS 2 Nav2 costmap maps, then exporting ready to use mask files.

Mindmap

mindmap
  root((Costmap Filter Editor))
    What it does
      Draws costmap zones
      Keepout areas
      Speed limits
      Virtual walls
    Tech stack
      Next.js
      React
      TypeScript
    Use cases
      Robot navigation setup
      Restrict robot paths
    Audience
      ROS 2 developers
      Robotics teams

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Draw keepout zones on a ROS 2 map to stop a robot entering restricted areas.

USE CASE 2

Create speed limit zones that slow a robot down in specific parts of a map.

USE CASE 3

Add virtual walls to a map without modifying the physical space.

USE CASE 4

Export Nav2 ready costmap filter mask files without manual file editing.

What is it built with?

Next.jsReactTypeScriptTailwind CSSHTML Canvas

How does it compare?

vyshnav-tr/nav2-costmap-filter-editoralange/tinyclaudecprecioso/tubecaster
Stars555
LanguageTypeScriptTypeScriptTypeScript
Last pushed2025-03-29
MaintenanceStale
Setup difficultyeasymoderatemoderate
Complexity2/53/52/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Nav2 Costmap Filter Editor is a tool for people who work with ROS 2, the Robot Operating System used to control robots like mobile bases and delivery bots. Specifically it helps with Nav2, the navigation system many ROS 2 robots use to move around a space without hitting things. Robots that use Nav2 rely on maps that mark which areas are safe to drive through and which are restricted, for example keepout zones a robot must avoid, sections where its speed should be limited, or virtual walls that block a path even though nothing physical is there. Normally, creating these restriction maps involves editing image files by hand. This project replaces that with a visual, browser based editor. You load your existing map files, a .pgm image and a .yaml metadata file that ROS 2 already uses, and then draw shapes directly on top of the map: rectangles, circles, or free form polygons. Each shape can be marked as a keepout zone, a speed limit zone with a chosen percentage, or a wall. The editor supports moving, resizing, and rotating shapes, along with undo and redo, panning, zooming, and keyboard shortcuts for common actions. Once the zones are drawn, the tool exports a zip file containing the updated map along with the correctly formatted keepout and speed filter mask files that Nav2 expects. These files are meant to be dropped directly into a Nav2 costmap filters setup, so there is no manual conversion step afterward. A key detail is that everything runs entirely in the browser. There is no backend server involved, and no map data is uploaded anywhere, so users can try it through a hosted live version without installing anything, or run it locally with npm install and npm run dev. The project is built with Next.js, React, and TypeScript, styled with Tailwind CSS, and uses HTML Canvas for drawing the map and zones. It is released under the MIT license.

Copy-paste prompts

Prompt 1
Help me wire the keepout and speed mask files this tool exports into my Nav2 costmap_filter_info parameters.
Prompt 2
Explain how Nav2 KeepoutFilter and SpeedFilter plugins use the pgm and yaml mask pairs this editor produces.
Prompt 3
Walk me through loading my robot's map.pgm and map.yaml into this editor and drawing a keepout zone around a stairwell.
Prompt 4
Show me how to set up the lifecycle configuration so my ROS 2 robot loads the exported costmap filter masks on startup.

Frequently asked questions

What is nav2-costmap-filter-editor?

A browser based, backend free editor for drawing keepout, speed limit, and wall zones onto ROS 2 Nav2 costmap maps, then exporting ready to use mask files.

What language is nav2-costmap-filter-editor written in?

Mainly TypeScript. The stack also includes Next.js, React, TypeScript.

What license does nav2-costmap-filter-editor use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is nav2-costmap-filter-editor to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is nav2-costmap-filter-editor for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.