π§ [Question] How to Convert .nvblox
Map to an Occupancy Grid Map (.yaml
or other format) for use in Navigation?
Hi everyone,
Iβm using Isaac ROS Perceptor and trying to load a prebuilt global map during navigation. Hereβs my setup and where Iβm stuck:
π§ 1. Global Mapping Phase
I create the global map using this config:
π nvblox_global_mapping.yaml
It contains:
decay_tsdf_rate_hz: 0.0
This way, the TSDF is not decayed, and the full global map is preserved. I save it using:
nvblox_after_shutdown_map_save_path
This produces a .nvblox
map file.
π I can reload this map and navigate inside it without any problems, but since there is no decay, the computational load becomes quite high during long sessions or in large environments.
This is the map I use, I assume it is StaticMapSlice
π 2. Navigation Phase
Then I run navigation using:
π nvblox_perceptor.yaml
This has:
decay_tsdf_rate_hz: 1.0
Which causes the global map to decay and effectively disappear over time, breaking localization and mapping continuity.
π 3. Mapping and Localization Workflow
I followed this tutorial:
π Mapping and Localization Tutorial
Does this script create a .yaml occupancy map with cameras?
isaac_perceptor/isaac_ros_perceptor_bringup/scripts/create_map.py at main Β· NVIDIA-ISAAC-ROS/isaac_perceptor
There, I saw a global occupancy map visualized in RViz, like this:
β My Problem
In perceptor repository shows that global occupancy map is loaded differently and uses:
π occupancy_map_server.launch.py
But this launch file expects a .yaml
map input β and I only have the .nvblox
map saved during the global mapping phase.
π¬ Question
How can I convert a .nvblox
map into a format (like .yaml
, or otherwise) that is compatible with occupancy_map_server.launch.py
and usable for global navigation?
Is there any existing method to extract or export a 2D occupancy grid from the .nvblox
file, or a tool that bridges this gap?
Thanks a lot for your help π