Skip to content

Spatio-Temporal Voxel Layer

  • Software
  • Navigation and mapping
  • Library

A ROS costmap layer that replaces the voxel grid with an OpenVDB-based 3D voxel representation, adding time-based voxel decay for navigation and mapping.

Source on GitHub: github.com/SteveMacenski/spatio_temporal_voxel_layer (opens in a new tab). Facts read at commit 16cdf3b (opens in a new tab).

Licenses

Code
LGPL-2.1-only (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (LGPL-2.1-only) at commit 16cdf3b (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

Copyleft: Modified source must be published.

What it does

  • Stores the environment as a configurable voxel grid in OpenVDB, sized by voxel_size, with optional approximate voxel or passthrough filtering of sensor data.
  • Expires voxels over time with linear, exponential or persistent decay models, and accelerates decay for voxels inside current sensor frustums instead of clearing them by raytracing.
  • Models depth cameras with cubical frustums and 3D lidars with hourglass-shaped FOVs, using parameters such as hFOV and vertical FOV offset.
  • Supports a mapping mode that keeps the full voxel grid and saves maps through services, with maps viewable in vdb_viewer and convertible to point clouds.
  • Sources can be toggled at runtime through a ROS service, and configuration is done through costmap YAML files with a plugin entry in the local and global costmap params.
  • Ships with a jemalloc LD_PRELOAD workaround for a known OpenVDB issue on Ubuntu 20.04 binaries.

Written by Robotheca from the project's README (opens in a new tab) at commit 16cdf3b.

Getting started

Difficulty
Intermediate
Hardware it needs, as the project states it
It names no required minimum hardware, and it requires ROS Kinetic (or Foxy/Noetic per the note) with OpenVDB and TBB.

Maintenance

Status
Active: a commit in the last 90 days
Newest commit
17 Sept 2026 on ros2
Latest release
2.7.0 (5 Aug 2026)

Checked on GitHub on 16 Oct 2026.

Robots on Robotheca that use 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.