LiDAR Volumetric Mapping

Fuse Oxford Spires LiDAR clouds into a cuRobo block-sparse TSDF.

The default path builds a LiDAR-only RGB TSDF. Pass --enable-features to also sample C-RADIO features from timestamp-matched RGB cameras, fuse them into LidarObservation.feature_grid, and expose a Viser text-query overlay.

LiDAR volumetric mapping

Dataset

This example uses one sequence from the Oxford Spires dataset:

Note

Oxford Spires (Tao et al., 2025) is distributed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0), as declared in the dataset card above. Its non-commercial, attribution, and ShareAlike terms apply to the dataset. The data is downloaded separately and is not bundled with cuRobo or covered by cuRobo’s Apache 2.0 license.

Download only that sequence into data/ from this cuRobo checkout:

python -m pip install -U "huggingface_hub[cli]"
# Optional: run this if Hugging Face asks for authentication.
hf auth login
hf download ori-drs/oxford_spires_dataset --repo-type dataset --local-dir data      --include 'sequences/2024-03-18-christ-church-03/processed/colmap/images.zip'      --include 'sequences/2024-03-18-christ-church-03/processed/colmap/transforms_colmap*.json'      --include 'sequences/2024-03-18-christ-church-03/processed/vilens-slam/undist-clouds.zip'      --include 'sequences/2024-03-18-christ-church-03/processed/vilens-slam/slam-poses.csv'      --include 'sequences/2024-03-18-christ-church-03/processed/trajectory/*'      --include 'calibration/*'      --include 'calibration/calibration-sequences-2024-03-19/*'
python -m zipfile -e data/sequences/2024-03-18-christ-church-03/processed/colmap/images.zip      data/sequences/2024-03-18-christ-church-03/processed/colmap
python -m zipfile -e data/sequences/2024-03-18-christ-church-03/processed/vilens-slam/undist-clouds.zip      data/sequences/2024-03-18-christ-church-03/processed/vilens-slam

The hf download command uses include patterns to fetch only sequences/2024-03-18-christ-church-03 plus required calibration files, not the full Hugging Face dataset. The default mapping command then finds the sequence at data/sequences/2024-03-18-christ-church-03.

Run LiDAR volumetric mapping:

python curobo/examples/reference/lidar_volumetric_mapping.py

Export a final UV-textured mesh from rectified timestamp-matched RGB cameras:

python curobo/examples/reference/lidar_volumetric_mapping.py --mesh-output output_lidar.glb

Run feature mapping and text queries:

With --enable-features, this example downloads the C-RADIO v3-B model weights through torch.hub under the NVIDIA Open Model License Agreement. Torch Hub also downloads source code from NVlabs/RADIO under the separate NVIDIA Source Code License for RADIO, which has non-commercial use terms. The downloaded weights and RADIO code are not bundled with cuRobo or covered by cuRobo’s Apache 2.0 license.

python curobo/examples/reference/lidar_volumetric_mapping.py --enable-features --max-frames 10
C-RADIO feature mapping and text query