![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged beluga at Robotics Stack Exchange
![]() |
beluga package from beluga repobeluga beluga_amcl beluga_benchmark beluga_example beluga_ros beluga_system_tests beluga_tools beluga_tutorial beluga_vdb |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-04-24 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Nahuel Espinosa
Authors
Beluga
Beluga is a ROS-agnostic C++17 library that provides implementations for Monte Carlo-based localization algorithms widely used in robotics applications. Its modularity allows users to compose solutions from reusable modules and to combine them with new ones to configure the MCL algorithm that best suits their needs.
Features
The current set of features includes:
- Particle containers:
- Support for Array-of-Structures and Structure-of-Arrays tuple containers
- Composable range adaptor views, actions, and algorithms:
- Multivariate normal distributions in SE(2) and SE(3) space
- Multivariate uniform distributions in SE(2) compatible with occupancy grids
- Multinomial resampling from a particle range
- Adaptive KLD resampling
- Selective resampling, on-motion resampling, and interval resampling policies
- Support for sequential and parallel execution policies
- Weighted mean and covariance statistics for pose estimation
- Sensor models:
- Likelihood field model
- Beam model
- Landmark-based models (using landmark position or bearing)
- Motion models:
- Differential drive model
- Omnidirectional model
Documentation
Auto-generated Doxygen documentation can be found in https://ekumen-os.github.io/beluga/.
Dependencies
Beluga is built on top of the following open source libraries:
- Eigen: A well-known C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- Sophus: A C++ implementation of Lie groups using Eigen.
-
Range: The basis library for C++20’s
std::ranges
. - libciabatta: A composable mixin support library.
Changelog for package beluga
2.0.2 (2024-06-18)
- Use [no-gnu-zero-variadic-macro-arguments]{.title-ref} only with [clang-tidy]{.title-ref} (#391)
- Add 3D NDT sensor model and tests. (#400)
- Expand grid concepts to n dimensions (#396)
- Add cast from [hsize_t]{.title-ref} to [size_t]{.title-ref} (#392)
- Contributors: Nahuel Espinosa, Ramiro Serra
2.0.1 (2024-05-24)
- Support 32-bit hashes (#386)
- Rewrite [make_from_state]{.title-ref} as a function object (#384)
- Contributors: Alon Druck, Nahuel Espinosa
2.0.0 (2024-05-21)
- Please clang-tidy on Ubuntu Noble (#379)
- Add ROS 2 Jazzy to CI/CD and dev workflows (#378)
- Restore particle cloud visualization using markers (#377)
- Ensure we exercise random state generation every time (#371)
- Add example for NDT sensor model in beluga_example (#360)
- Unify Beluga documentation (#346)
- Transition Beluga to Noble with Rolling (#349)
- Provide sensible defaults for LikelihoodFieldModelParam (#344)
- Add a core AMCL pipeline (#343)
- Add NDT sensor model (#338)
- Add sparse value grid implementation (#336)
- Add HDF5 dependency to beluga core (#335)
- Deprecate all the (mixin) things (#330)
- Add death tests and build in debug mode (#323)
- Remove (unused) cluster customization point object (#331)
- Fix landmark models probability aggregation formula (#329)
- Add AMCL implementation for ROS (#327)
- Migrate sensor models to functional form (#325)
- Use AlignedBox3d as LandmarkMapBoundaries (#326)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Add uniform distribution with bounding regions (#322)
- Migrate motion models to functional form (#321)
- Add generic circular array container (#320)
- Add uniform free-space grid distribution (#319)
- Make test matchers and printers available to users (#300)
- Extend multivariate distribution to support different result types (#298)
- Add normalize action (#297)
- Extend sample view to sample from random distributions (#296)
- Add recovery probability estimator (#295)
- Add declarative policies (#294)
- Add ESS algorithm (#290)
- Motion and sensor models are not mixins (#291)
- Add propagate and reweight actions (#289)
- Fix sample view (#288)
- Add assign action (#287)
- Add zip view and fix tuple vector traits (#286)
- Add support for tuple vector assignment and conversion (#285)
- Integrate views with mixins
File truncated at 100 lines see the full file