MCPcopy Create free account
hub / github.com/Ekumen-OS/beluga

github.com/Ekumen-OS/beluga @2.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.1.1 ↗ · + Follow
1,022 symbols 2,179 edges 214 files 321 documented · 31% updated 7d ago2.0.3 · 2025-02-03★ 32034 open issues

Browse by type

Functions 748 Types & classes 270 Endpoints 4
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Shows the Beluga logo.


Colcon CI pipeline Bazel CI pipeline codecov pre-commit License Apache-2.0

[!TIP] For the latest stable version of our codebase, please refer to the release branch. If you are interested in ongoing development and cutting-edge features, the main branch is the place to be.

🌐 Overview

Beluga is an extensible C++17 library with a ground-up implementation of the Monte Carlo Localization (MCL) family of estimation algorithms featuring:

  • A modular design based on orthogonal components.
  • Emphasis on the prevention of regressions and facilitation of code improvements through test coverage.
  • Semi-automated benchmarks that can be used to validate different configurations.

https://github.com/user-attachments/assets/59bca7ea-fe78-4460-b058-96a5c75d09ec

Beluga AMCL running on a Turtlebot 2 robot (Raspberry Pi 4B)

https://github.com/Ekumen-OS/beluga/assets/33042669/98bda0ee-a633-4e35-8743-72a9ab30b494

Beluga AMCL running on an Andino robot (Raspberry Pi 4B), go to Ekumen-OS/andino for more details!

📦 Packages

This repository contains the following packages:

Package Description
beluga A ROS-agnostic extensible library to implement algorithms based on particle filters.
beluga_ros A ROS library, providing utilities to interface ROS with Beluga.
beluga_amcl A ROS wrapper, providing an executable node and component (or nodelet).

It provides interface parity with nav2_amcl (and amcl). | | beluga_example | Example launch files, showing how to run Beluga-based nodes. | | beluga_benchmark | Scripts to benchmark, profile and also compare Beluga with other MCL implementations. | | beluga_system_tests | System integration tests for Beluga. | | beluga_vdb | A library extension for beluga facilitating the use of OpenVDB for 3D localization. |

⚙️ First Steps

Core symbols most depended-on inside this repo

browse all functions →

Shape

Method 511
Class 267
Function 237
Route 4
Enum 3

Languages

C++93%
Python7%

Modules by API surface

beluga_amcl/test/test_utils/node_testing.hpp34 symbols
beluga/include/beluga/containers/circular_array.hpp34 symbols
beluga_tools/beluga_tools/conversion_utils.py25 symbols
beluga_amcl/test/test_amcl_node.cpp21 symbols
beluga/include/beluga/primitives.hpp20 symbols
beluga_amcl/src/amcl_node.cpp19 symbols
beluga/test/benchmark/benchmark_tuple_vector.cpp19 symbols
beluga/include/beluga/algorithm/raycasting/bresenham.hpp18 symbols
beluga/include/beluga/algorithm/cluster_based_estimation.hpp18 symbols
beluga_amcl/test/test_ndt_amcl_node.cpp17 symbols
beluga_amcl/test/test_ndt_amcl_3d_node.cpp17 symbols
beluga/include/beluga/containers/tuple_vector.hpp17 symbols

For agents

$ claude mcp add beluga \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page