Skip to content

Beluga

  • Software
  • Navigation and mapping
  • Library

Beluga is a C++17 library implementing Monte Carlo Localization algorithms, with a ROS wrapper that offers an AMCL-compatible node. It is built for robot localization.

Made by Ekumen.

Source on GitHub: github.com/Ekumen-OS/beluga (opens in a new tab). Facts read at commit 30b3e7c (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 30b3e7c (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

What it does

  • Provides a ground-up implementation of the Monte Carlo Localization family of estimation algorithms in C++17.
  • Uses a modular design built from orthogonal components.
  • Emphasizes test coverage to prevent regressions and ease code improvements.
  • Includes semi-automated benchmarks to validate different configurations.
  • The beluga_amcl package offers a ROS node and component with interface parity to nav2_amcl and amcl.
  • The beluga_vdb extension supports 3D localization using OpenVDB.

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

Getting started

Difficulty
Intermediate
Hardware it needs, as the project states it
Runs on a Turtlebot 2 robot with a Raspberry Pi 4B and on an Andino robot with a Raspberry Pi 4B, as shown in demonstration videos.

Maintenance

Status
Active: a commit in the last 90 days
Newest commit
14 Oct 2026 on main
Latest release
Nav2 Likelihood Sensor Benchmarking Results v0.1.0 (3 Feb 2025)

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.