![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |
Launch files
Messages
Services
Plugins
Recent questions tagged beluga_amcl at Robotics Stack Exchange
![]() |
beluga_amcl 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
Version | 2.0.2 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/Ekumen-OS/beluga.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-11 |
Dev Status | DEVELOPED |
Released | RELEASED |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gerardo Puga
- Ivan Paunovic
- Michel Hidalgo
- Nahuel Espinosa
Authors
Beluga AMCL
Beluga AMCL is a ROS node based on the Beluga library that aims to be fully compatible with both [Navigation 2 AMCL][nav2_amcl] and [Navigation AMCL][amcl] nodes.
The compatibility between beluga_amcl
and its longstanding counterparts in the ROS ecosystem provides a simple migration path for projects that want to be able to integrate the power and modularity of the Beluga library in an existing nav2_amcl
-based (or amcl
-based) project.
Table of Contents
ROS 2 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [Navigation 2 AMCL][nav2_amcl].
See Beluga AMCL documentation for further reference.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
, and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initial_pose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Alternatively, and instead of the scan_topic
, one may set the point_cloud_topic
. Point clouds are assumed to be contained in a z = constant
plane in the base frame of reference. It is further assumed this plane is the same plane where the map and pose estimates are defined. If this
is not the case, Beluga AMCL will misbehave. It is on the user to filter point clouds and make sure these assumption hold.
Published Topics
Topic | Type | Description |
---|---|---|
particle_cloud |
geometry_msgs/PoseArray |
Output topic for particle cloud poses published at a fixed frequency. |
particle_markers |
visualization_msgs/MarkerArray |
Output topic for particle cloud markers published at a fixed frequency. |
likelihood_field |
nav_msgs/OccupancyGrid |
Output topic for likelihood field, published on update when applicable. |
pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
Published Transforms
The frame names can be changed with the parameters global_frame_id
, odom_frame_id
and base_frame_id
.
Defaults are map
, odom
and base
.
Transform | Description |
---|---|
odom to base
|
Input transform used by motion models and resampling policies. |
base to laser
|
Input transform used to convert laser scan points to base frame. |
map to odom
|
Output transform calculated from the estimated pose mean and the current odom-to-base transform. |
Advertised Services
Topic | Type | Description |
---|---|---|
reinitialize_global_localization |
std_srvs/Empty |
Request to reinitialize global localization without an initial pose estimate. |
request_nomotion_update |
std_srvs/Empty |
Trigger a forced update of the filter estimates. |
ROS 1 Interface
Parameters
Beluga AMCL currently supports the majority of ROS parameters used in [AMCL][amcl].
See Beluga AMCL parameter reference for detailed information.
Subscribed Topics
The subscribed topic names can be changed with the parameters map_topic
, scan_topic
and initial_pose_topic
.
Topic | Type | Description |
---|---|---|
map |
nav_msgs/OccupancyGrid |
Input topic for map updates. |
scan |
sensor_msgs/LaserScan |
Input topic for laser scan updates. |
initialpose |
geometry_msgs/PoseWithCovarianceStamped |
Input topic for pose mean and covariance to initialize the particle filter. |
Published Topics
Topic | Type | Description |
---|---|---|
particlecloud |
geometry_msgs/PoseArray |
Output topic for particle cloud published at a fixed frequency. |
amcl_pose |
geometry_msgs/PoseWithCovarianceStamped |
Output topic for estimated pose mean and covariance in map frame. |
diagnostics |
diagnostic_msgs/DiagnosticArray |
Output topic for node diagnostics. |
Published Transforms
File truncated at 100 lines see the full file
Changelog for package beluga_amcl
2.0.2 (2024-06-18)
- Expand grid concepts to n dimensions (#396)
- Change NDT sensor model default params (#397)
- Contributors: Ramiro Serra
2.0.1 (2024-05-24)
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)
- Enable beluga_amcl ROS 2 nodes' autostart (#376)
- Use [geometry_msgs::msg::PoseArray]{.title-ref} instead of [nav2_msgs::msg::ParticleCloud]{.title-ref} (#372)
- Fix tf broadcasting (#375)
- Remove ament_index_cpp dependency (#374)
- Improve ROS version detection logic (#366)
- Add example for NDT sensor model in beluga_example (#360)
- Add NDT AMCL node and tests. (#347)
- Unify Beluga documentation (#346)
- Add death tests and build in debug mode (#323)
- Migrate [beluga_amcl]{.title-ref} to the new API (#328)
- Relocate [make_random_state()]{.title-ref} method (#324)
- Make test matchers and printers available to users (#300)
- Motion and sensor models are not mixins (#291)
- Integrate views with mixins (#284)
- Transform points in laser frame to robot frame (#276)
- Generalize planar laser scan support (#271)
- Add new discrete landmark and bearing sensor models to the beluga library (#268)
- Add [beluga_ros]{.title-ref} package (#270)
- Make particle cloud message weights represent pdf (#260)
- Add updated performance report (#255)
- Fix missing control to force a filter update on pose updates (#248)
- Change default AMCL params (#244)
- Format pre-commit hook configuration (#245)
- Add cmake-format to pre-commit hooks (#243)
- Rename motion models in Beluga AMCL for ROS 1 (#242)
- Replace ament_copyright with local script (#240)
- Remove ament_flake8 from pre-commit hooks (#237)
- Remove uncrustify and cpplint from pre-commit hooks (#236)
- Refactor resampling policies into filter update control (#233)
- Add ROS 2 Rolling CI infrastructure (#222)
- Add ROS Noetic support to [beluga_amcl]{.title-ref} (#218)
- Fix flaky transform test (#220)
- Fix map to odom transform calculation (#212)
- Add new report after recent performance updates (#208)
- Fix small issues with plotter and update MessageFilter tolerance before generating new report
- Disable branch and function coverage (#205)
- Change default threading mode to the less cpu-consuming one (#203)
- Optimize beam sensor model runtime performance (#200)
- Add AMCL parameter reference page (#196)
- Add tests for the AMCL node
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
rostest | |
ament_cmake_ros | |
beluga | |
beluga_ros | |
message_filters | |
std_srvs | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
bondcpp | |
roscpp | |
rclcpp | |
rclcpp_components | |
rclcpp_lifecycle |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
beluga_benchmark | |
beluga_example |