+
Skip to content
/ beluga Public
forked from Ekumen-OS/beluga

A general implementation of Monte Carlo Localization (MCL) algorithms written in C++17, and a ROS package that can be used in ROS 1 and ROS 2.

License

Notifications You must be signed in to change notification settings

alsora/beluga

 
 

Repository files navigation

Beluga

CI pipeline codecov pre-commit License Apache-2.0

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 that can be merged together using the mixin pattern.
  • 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.
beluga_andino_demo.mp4

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_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.

First Steps

About

A general implementation of Monte Carlo Localization (MCL) algorithms written in C++17, and a ROS package that can be used in ROS 1 and ROS 2.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 85.0%
  • Python 6.8%
  • CMake 4.4%
  • Dockerfile 1.9%
  • Shell 1.7%
  • TeX 0.2%
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载