NavMap
- Software
- Navigation and mapping
- Library
NavMap is a C++ and ROS 2 library that represents navigable surfaces for mobile robot navigation and localization as triangular meshes instead of grid maps.
Made by EasyNavigation.
Source on GitHub: github.com/EasyNavigation/NavMap (opens in a new tab). Facts read at commit cdfe555 (opens in a new tab).
Licenses
- Code
- Apache-2.0 (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit cdfe555 (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Stores the environment as triangular cells (NavCels) with adjacency, supporting several disconnected surfaces such as multi-floor buildings.
- Attaches runtime layers to cells or vertices, such as occupancy, elevation, cost and traversability.
- Locates the cell under a 3D position using BVH acceleration, and supports raycasting with Möller–Trumbore intersection.
- Provides iterators over cells (box, disc, ring, polygon, distance order and segment walk) that grow over the surface.
- Includes log-odds occupancy with free, occupied and unknown states, geometric descriptors, links between surfaces, and layer combination and simplification.
- Converts maps to and from ROS 2 messages, saves and loads them as compressed files, and offers an RViz2 plugin for visualization.
Written by Robotheca from the project's README (opens in a new tab) at commit cdfe555.
Getting started
- Difficulty
- Intermediate
- Hardware it needs, as the project states it
- Requires a C++23 compiler, Eigen3, ROS 2 (tested with Humble, Iron and Jazzy), and PCL for mesh construction utilities; RViz2 is needed for the visualization plugin.
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 15 Oct 2026 on rolling
- Latest release
- None published on GitHub
Checked on GitHub on 16 Oct 2026.
Links
Robots that can run it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.