Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Kento Yabuuchi
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
- Kento Yabuuchi
autoware_pose_estimator_arbiter
Table of contents:
Abstract
This package launches multiple pose estimators and provides the capability to stop or resume specific pose estimators based on the situation. It provides provisional switching rules and will be adaptable to a wide variety of rules in the future.
Please refer to this discussion about other ideas on implementation.
Why do we need a stop/resume mechanism?
It is possible to launch multiple pose_estimators and fuse them using a Kalman filter by editing launch files. However, this approach is not preferable due to computational costs.
Particularly, NDT and YabLoc are computationally intensive, and it’s not recommended to run them simultaneously. Also, even if both can be activated at the same time, the Kalman Filter may be affected by one of them giving bad output.
[!NOTE] Currently, there is ONLY A RULE implemented that always enables all pose_estimators. If users want to toggle pose_estimator with their own rules, they need to add new rules. by referring to example_rule. The example_rule has source code that can be used as a reference for implementing the rules.
Supporting pose_estimators
Demonstration
The following video demonstrates the switching of four different pose estimators.
Users can reproduce the demonstration using the following data and launch command:
sample data (rosbag & map) The rosbag is simulated data created by AWSIM. The map is an edited version of the original map data published on the AWSIM documentation page to make it suitable for multiple pose_estimators.
ros2 launch autoware_launch logging_simulator.launch.xml \
map_path:=<your-map-path> \
vehicle_model:=sample_vehicle \
sensor_model:=awsim_sensor_kit \
pose_source:=ndt_yabloc_artag_eagleye
Interfaces
Click to show details
### Parameters There are no parameters. ### Services | Name | Type | Description | | ---------------- | ------------------------------- | ------------------------------- | | `/config_logger` | logging_demo::srv::ConfigLogger | service to modify logging level | ### Clients | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | | `/yabloc_suspend_srv` | std_srv::srv::SetBool | service to stop or restart yabloc | ### Subscriptions For pose estimator arbitration: | Name | Type | Description | | ------------------------------------- | --------------------------------------------- | -------------- | | `/input/artag/image` | sensor_msgs::msg::Image | ArTag input | | `/input/yabloc/image` | sensor_msgs::msg::Image | YabLoc input | | `/input/eagleye/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | Eagleye output | | `/input/ndt/pointcloud` | sensor_msgs::msg::PointCloud2 | NDT input | For switching rule: | Name | Type | Description | | ----------------------------- | ------------------------------------------------------------ | --------------------------------- | | `/input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map | | `/input/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | localization final output | | `/input/initialization_state` | autoware_adapi_v1_msgs::msg::LocalizationInitializationState | localization initialization state | ### Publications File truncated at 100 lines [see the full file](https://github.com/autowarefoundation/autoware_universe/tree/main/localization/autoware_pose_estimator_arbiter/README.md)Changelog for package autoware_pose_estimator_arbiter
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- refactor(localization): move node design files into each package (#13101) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(lidar_marker_localizer): extend lidar-marker localization to enhance flexibility and debugging capabilities (#11574)
- feat: parse landmarks only in target id list
- feat: Add a y-axis condition to marker selection around the vehicle
- feat: correct z axis of self pose
- feat: reference a certain ring
* feat: make detect_landmarks function templated for using PointType in both PointXYZIRC and PointXYZIRADRT
- feat: make detect_landmarks ring loop robust to empty pointclouds
- Add check to skip empty ring pointclouds in detect_landmarks
- Prevent unnecessary processing and possible errors when a ring has no points
- feat: make save_intensity function for csv output
- Enable generic processing for multiple point cloud types
- Prepare for future multi-LiDAR marker localization support
- refactor: fix member function declarations and add const qualifiers
- feat: add debug outputs for marker detection process
- feat: make queue sizes for output pose configurable
- doc: Add a y-axis condition to marker selection around the vehicle
- doc: add marker_height_from_ground to lidar_marker_localizer.schema.json
* feat: add "lidar-marker" pose estimator to pose_estimator_airbiter # Conflicts: # launch/tier4_localization_launch/launch/localization.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/lidar_marker_localizer.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/pose_twist_estimator.launch.xml
- feat: make initial ring id range configurable
- doc: update for ndt_lidar-maker mode
- doc: update for new features in lidar-marker localizer
* doc: fix indent To indicate the contributor's affiliation
- refactor: update autoware_utils dependency
- style(pre-commit): autofix
- doc: update schema.json
- style(pre-commit): autofix
- fix: debug topics table and wrong condition to output
- style(pre-commit): autofix
- fix: diagnostics_interface dependency
- chore: remove codes commented out
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
perf(localization): use emplace/emplace_back to avoid temporary object creation (#12232)
-
Contributors: Motz, github-actions, nishikawa-masaki
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- feat: localization related packages support jazzy (#11419)
- Contributors: Ryohsuke Mitsudome, 心刚
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
docs: fix broken links (#11815)
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Map and Localization Component) (#11787)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch |
Launch files
- launch/pose_estimator_arbiter.launch.xml
-
- pose_sources
- input_pointcloud
Messages
Services
Plugins
Recent questions tagged autoware_pose_estimator_arbiter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Kento Yabuuchi
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
- Kento Yabuuchi
autoware_pose_estimator_arbiter
Table of contents:
Abstract
This package launches multiple pose estimators and provides the capability to stop or resume specific pose estimators based on the situation. It provides provisional switching rules and will be adaptable to a wide variety of rules in the future.
Please refer to this discussion about other ideas on implementation.
Why do we need a stop/resume mechanism?
It is possible to launch multiple pose_estimators and fuse them using a Kalman filter by editing launch files. However, this approach is not preferable due to computational costs.
Particularly, NDT and YabLoc are computationally intensive, and it’s not recommended to run them simultaneously. Also, even if both can be activated at the same time, the Kalman Filter may be affected by one of them giving bad output.
[!NOTE] Currently, there is ONLY A RULE implemented that always enables all pose_estimators. If users want to toggle pose_estimator with their own rules, they need to add new rules. by referring to example_rule. The example_rule has source code that can be used as a reference for implementing the rules.
Supporting pose_estimators
Demonstration
The following video demonstrates the switching of four different pose estimators.
Users can reproduce the demonstration using the following data and launch command:
sample data (rosbag & map) The rosbag is simulated data created by AWSIM. The map is an edited version of the original map data published on the AWSIM documentation page to make it suitable for multiple pose_estimators.
ros2 launch autoware_launch logging_simulator.launch.xml \
map_path:=<your-map-path> \
vehicle_model:=sample_vehicle \
sensor_model:=awsim_sensor_kit \
pose_source:=ndt_yabloc_artag_eagleye
Interfaces
Click to show details
### Parameters There are no parameters. ### Services | Name | Type | Description | | ---------------- | ------------------------------- | ------------------------------- | | `/config_logger` | logging_demo::srv::ConfigLogger | service to modify logging level | ### Clients | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | | `/yabloc_suspend_srv` | std_srv::srv::SetBool | service to stop or restart yabloc | ### Subscriptions For pose estimator arbitration: | Name | Type | Description | | ------------------------------------- | --------------------------------------------- | -------------- | | `/input/artag/image` | sensor_msgs::msg::Image | ArTag input | | `/input/yabloc/image` | sensor_msgs::msg::Image | YabLoc input | | `/input/eagleye/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | Eagleye output | | `/input/ndt/pointcloud` | sensor_msgs::msg::PointCloud2 | NDT input | For switching rule: | Name | Type | Description | | ----------------------------- | ------------------------------------------------------------ | --------------------------------- | | `/input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map | | `/input/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | localization final output | | `/input/initialization_state` | autoware_adapi_v1_msgs::msg::LocalizationInitializationState | localization initialization state | ### Publications File truncated at 100 lines [see the full file](https://github.com/autowarefoundation/autoware_universe/tree/main/localization/autoware_pose_estimator_arbiter/README.md)Changelog for package autoware_pose_estimator_arbiter
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- refactor(localization): move node design files into each package (#13101) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(lidar_marker_localizer): extend lidar-marker localization to enhance flexibility and debugging capabilities (#11574)
- feat: parse landmarks only in target id list
- feat: Add a y-axis condition to marker selection around the vehicle
- feat: correct z axis of self pose
- feat: reference a certain ring
* feat: make detect_landmarks function templated for using PointType in both PointXYZIRC and PointXYZIRADRT
- feat: make detect_landmarks ring loop robust to empty pointclouds
- Add check to skip empty ring pointclouds in detect_landmarks
- Prevent unnecessary processing and possible errors when a ring has no points
- feat: make save_intensity function for csv output
- Enable generic processing for multiple point cloud types
- Prepare for future multi-LiDAR marker localization support
- refactor: fix member function declarations and add const qualifiers
- feat: add debug outputs for marker detection process
- feat: make queue sizes for output pose configurable
- doc: Add a y-axis condition to marker selection around the vehicle
- doc: add marker_height_from_ground to lidar_marker_localizer.schema.json
* feat: add "lidar-marker" pose estimator to pose_estimator_airbiter # Conflicts: # launch/tier4_localization_launch/launch/localization.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/lidar_marker_localizer.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/pose_twist_estimator.launch.xml
- feat: make initial ring id range configurable
- doc: update for ndt_lidar-maker mode
- doc: update for new features in lidar-marker localizer
* doc: fix indent To indicate the contributor's affiliation
- refactor: update autoware_utils dependency
- style(pre-commit): autofix
- doc: update schema.json
- style(pre-commit): autofix
- fix: debug topics table and wrong condition to output
- style(pre-commit): autofix
- fix: diagnostics_interface dependency
- chore: remove codes commented out
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
perf(localization): use emplace/emplace_back to avoid temporary object creation (#12232)
-
Contributors: Motz, github-actions, nishikawa-masaki
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- feat: localization related packages support jazzy (#11419)
- Contributors: Ryohsuke Mitsudome, 心刚
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
docs: fix broken links (#11815)
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Map and Localization Component) (#11787)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch |
Launch files
- launch/pose_estimator_arbiter.launch.xml
-
- pose_sources
- input_pointcloud
Messages
Services
Plugins
Recent questions tagged autoware_pose_estimator_arbiter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Kento Yabuuchi
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
- Kento Yabuuchi
autoware_pose_estimator_arbiter
Table of contents:
Abstract
This package launches multiple pose estimators and provides the capability to stop or resume specific pose estimators based on the situation. It provides provisional switching rules and will be adaptable to a wide variety of rules in the future.
Please refer to this discussion about other ideas on implementation.
Why do we need a stop/resume mechanism?
It is possible to launch multiple pose_estimators and fuse them using a Kalman filter by editing launch files. However, this approach is not preferable due to computational costs.
Particularly, NDT and YabLoc are computationally intensive, and it’s not recommended to run them simultaneously. Also, even if both can be activated at the same time, the Kalman Filter may be affected by one of them giving bad output.
[!NOTE] Currently, there is ONLY A RULE implemented that always enables all pose_estimators. If users want to toggle pose_estimator with their own rules, they need to add new rules. by referring to example_rule. The example_rule has source code that can be used as a reference for implementing the rules.
Supporting pose_estimators
Demonstration
The following video demonstrates the switching of four different pose estimators.
Users can reproduce the demonstration using the following data and launch command:
sample data (rosbag & map) The rosbag is simulated data created by AWSIM. The map is an edited version of the original map data published on the AWSIM documentation page to make it suitable for multiple pose_estimators.
ros2 launch autoware_launch logging_simulator.launch.xml \
map_path:=<your-map-path> \
vehicle_model:=sample_vehicle \
sensor_model:=awsim_sensor_kit \
pose_source:=ndt_yabloc_artag_eagleye
Interfaces
Click to show details
### Parameters There are no parameters. ### Services | Name | Type | Description | | ---------------- | ------------------------------- | ------------------------------- | | `/config_logger` | logging_demo::srv::ConfigLogger | service to modify logging level | ### Clients | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | | `/yabloc_suspend_srv` | std_srv::srv::SetBool | service to stop or restart yabloc | ### Subscriptions For pose estimator arbitration: | Name | Type | Description | | ------------------------------------- | --------------------------------------------- | -------------- | | `/input/artag/image` | sensor_msgs::msg::Image | ArTag input | | `/input/yabloc/image` | sensor_msgs::msg::Image | YabLoc input | | `/input/eagleye/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | Eagleye output | | `/input/ndt/pointcloud` | sensor_msgs::msg::PointCloud2 | NDT input | For switching rule: | Name | Type | Description | | ----------------------------- | ------------------------------------------------------------ | --------------------------------- | | `/input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map | | `/input/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | localization final output | | `/input/initialization_state` | autoware_adapi_v1_msgs::msg::LocalizationInitializationState | localization initialization state | ### Publications File truncated at 100 lines [see the full file](https://github.com/autowarefoundation/autoware_universe/tree/main/localization/autoware_pose_estimator_arbiter/README.md)Changelog for package autoware_pose_estimator_arbiter
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- refactor(localization): move node design files into each package (#13101) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(lidar_marker_localizer): extend lidar-marker localization to enhance flexibility and debugging capabilities (#11574)
- feat: parse landmarks only in target id list
- feat: Add a y-axis condition to marker selection around the vehicle
- feat: correct z axis of self pose
- feat: reference a certain ring
* feat: make detect_landmarks function templated for using PointType in both PointXYZIRC and PointXYZIRADRT
- feat: make detect_landmarks ring loop robust to empty pointclouds
- Add check to skip empty ring pointclouds in detect_landmarks
- Prevent unnecessary processing and possible errors when a ring has no points
- feat: make save_intensity function for csv output
- Enable generic processing for multiple point cloud types
- Prepare for future multi-LiDAR marker localization support
- refactor: fix member function declarations and add const qualifiers
- feat: add debug outputs for marker detection process
- feat: make queue sizes for output pose configurable
- doc: Add a y-axis condition to marker selection around the vehicle
- doc: add marker_height_from_ground to lidar_marker_localizer.schema.json
* feat: add "lidar-marker" pose estimator to pose_estimator_airbiter # Conflicts: # launch/tier4_localization_launch/launch/localization.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/lidar_marker_localizer.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/pose_twist_estimator.launch.xml
- feat: make initial ring id range configurable
- doc: update for ndt_lidar-maker mode
- doc: update for new features in lidar-marker localizer
* doc: fix indent To indicate the contributor's affiliation
- refactor: update autoware_utils dependency
- style(pre-commit): autofix
- doc: update schema.json
- style(pre-commit): autofix
- fix: debug topics table and wrong condition to output
- style(pre-commit): autofix
- fix: diagnostics_interface dependency
- chore: remove codes commented out
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
perf(localization): use emplace/emplace_back to avoid temporary object creation (#12232)
-
Contributors: Motz, github-actions, nishikawa-masaki
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- feat: localization related packages support jazzy (#11419)
- Contributors: Ryohsuke Mitsudome, 心刚
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
docs: fix broken links (#11815)
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Map and Localization Component) (#11787)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch |
Launch files
- launch/pose_estimator_arbiter.launch.xml
-
- pose_sources
- input_pointcloud
Messages
Services
Plugins
Recent questions tagged autoware_pose_estimator_arbiter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Kento Yabuuchi
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
- Kento Yabuuchi
autoware_pose_estimator_arbiter
Table of contents:
Abstract
This package launches multiple pose estimators and provides the capability to stop or resume specific pose estimators based on the situation. It provides provisional switching rules and will be adaptable to a wide variety of rules in the future.
Please refer to this discussion about other ideas on implementation.
Why do we need a stop/resume mechanism?
It is possible to launch multiple pose_estimators and fuse them using a Kalman filter by editing launch files. However, this approach is not preferable due to computational costs.
Particularly, NDT and YabLoc are computationally intensive, and it’s not recommended to run them simultaneously. Also, even if both can be activated at the same time, the Kalman Filter may be affected by one of them giving bad output.
[!NOTE] Currently, there is ONLY A RULE implemented that always enables all pose_estimators. If users want to toggle pose_estimator with their own rules, they need to add new rules. by referring to example_rule. The example_rule has source code that can be used as a reference for implementing the rules.
Supporting pose_estimators
Demonstration
The following video demonstrates the switching of four different pose estimators.
Users can reproduce the demonstration using the following data and launch command:
sample data (rosbag & map) The rosbag is simulated data created by AWSIM. The map is an edited version of the original map data published on the AWSIM documentation page to make it suitable for multiple pose_estimators.
ros2 launch autoware_launch logging_simulator.launch.xml \
map_path:=<your-map-path> \
vehicle_model:=sample_vehicle \
sensor_model:=awsim_sensor_kit \
pose_source:=ndt_yabloc_artag_eagleye
Interfaces
Click to show details
### Parameters There are no parameters. ### Services | Name | Type | Description | | ---------------- | ------------------------------- | ------------------------------- | | `/config_logger` | logging_demo::srv::ConfigLogger | service to modify logging level | ### Clients | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | | `/yabloc_suspend_srv` | std_srv::srv::SetBool | service to stop or restart yabloc | ### Subscriptions For pose estimator arbitration: | Name | Type | Description | | ------------------------------------- | --------------------------------------------- | -------------- | | `/input/artag/image` | sensor_msgs::msg::Image | ArTag input | | `/input/yabloc/image` | sensor_msgs::msg::Image | YabLoc input | | `/input/eagleye/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | Eagleye output | | `/input/ndt/pointcloud` | sensor_msgs::msg::PointCloud2 | NDT input | For switching rule: | Name | Type | Description | | ----------------------------- | ------------------------------------------------------------ | --------------------------------- | | `/input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map | | `/input/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | localization final output | | `/input/initialization_state` | autoware_adapi_v1_msgs::msg::LocalizationInitializationState | localization initialization state | ### Publications File truncated at 100 lines [see the full file](https://github.com/autowarefoundation/autoware_universe/tree/main/localization/autoware_pose_estimator_arbiter/README.md)Changelog for package autoware_pose_estimator_arbiter
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- refactor(localization): move node design files into each package (#13101) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(lidar_marker_localizer): extend lidar-marker localization to enhance flexibility and debugging capabilities (#11574)
- feat: parse landmarks only in target id list
- feat: Add a y-axis condition to marker selection around the vehicle
- feat: correct z axis of self pose
- feat: reference a certain ring
* feat: make detect_landmarks function templated for using PointType in both PointXYZIRC and PointXYZIRADRT
- feat: make detect_landmarks ring loop robust to empty pointclouds
- Add check to skip empty ring pointclouds in detect_landmarks
- Prevent unnecessary processing and possible errors when a ring has no points
- feat: make save_intensity function for csv output
- Enable generic processing for multiple point cloud types
- Prepare for future multi-LiDAR marker localization support
- refactor: fix member function declarations and add const qualifiers
- feat: add debug outputs for marker detection process
- feat: make queue sizes for output pose configurable
- doc: Add a y-axis condition to marker selection around the vehicle
- doc: add marker_height_from_ground to lidar_marker_localizer.schema.json
* feat: add "lidar-marker" pose estimator to pose_estimator_airbiter # Conflicts: # launch/tier4_localization_launch/launch/localization.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/lidar_marker_localizer.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/pose_twist_estimator.launch.xml
- feat: make initial ring id range configurable
- doc: update for ndt_lidar-maker mode
- doc: update for new features in lidar-marker localizer
* doc: fix indent To indicate the contributor's affiliation
- refactor: update autoware_utils dependency
- style(pre-commit): autofix
- doc: update schema.json
- style(pre-commit): autofix
- fix: debug topics table and wrong condition to output
- style(pre-commit): autofix
- fix: diagnostics_interface dependency
- chore: remove codes commented out
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
perf(localization): use emplace/emplace_back to avoid temporary object creation (#12232)
-
Contributors: Motz, github-actions, nishikawa-masaki
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- feat: localization related packages support jazzy (#11419)
- Contributors: Ryohsuke Mitsudome, 心刚
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
docs: fix broken links (#11815)
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Map and Localization Component) (#11787)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch |
Launch files
- launch/pose_estimator_arbiter.launch.xml
-
- pose_sources
- input_pointcloud
Messages
Services
Plugins
Recent questions tagged autoware_pose_estimator_arbiter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Kento Yabuuchi
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
- Kento Yabuuchi
autoware_pose_estimator_arbiter
Table of contents:
Abstract
This package launches multiple pose estimators and provides the capability to stop or resume specific pose estimators based on the situation. It provides provisional switching rules and will be adaptable to a wide variety of rules in the future.
Please refer to this discussion about other ideas on implementation.
Why do we need a stop/resume mechanism?
It is possible to launch multiple pose_estimators and fuse them using a Kalman filter by editing launch files. However, this approach is not preferable due to computational costs.
Particularly, NDT and YabLoc are computationally intensive, and it’s not recommended to run them simultaneously. Also, even if both can be activated at the same time, the Kalman Filter may be affected by one of them giving bad output.
[!NOTE] Currently, there is ONLY A RULE implemented that always enables all pose_estimators. If users want to toggle pose_estimator with their own rules, they need to add new rules. by referring to example_rule. The example_rule has source code that can be used as a reference for implementing the rules.
Supporting pose_estimators
Demonstration
The following video demonstrates the switching of four different pose estimators.
Users can reproduce the demonstration using the following data and launch command:
sample data (rosbag & map) The rosbag is simulated data created by AWSIM. The map is an edited version of the original map data published on the AWSIM documentation page to make it suitable for multiple pose_estimators.
ros2 launch autoware_launch logging_simulator.launch.xml \
map_path:=<your-map-path> \
vehicle_model:=sample_vehicle \
sensor_model:=awsim_sensor_kit \
pose_source:=ndt_yabloc_artag_eagleye
Interfaces
Click to show details
### Parameters There are no parameters. ### Services | Name | Type | Description | | ---------------- | ------------------------------- | ------------------------------- | | `/config_logger` | logging_demo::srv::ConfigLogger | service to modify logging level | ### Clients | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | | `/yabloc_suspend_srv` | std_srv::srv::SetBool | service to stop or restart yabloc | ### Subscriptions For pose estimator arbitration: | Name | Type | Description | | ------------------------------------- | --------------------------------------------- | -------------- | | `/input/artag/image` | sensor_msgs::msg::Image | ArTag input | | `/input/yabloc/image` | sensor_msgs::msg::Image | YabLoc input | | `/input/eagleye/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | Eagleye output | | `/input/ndt/pointcloud` | sensor_msgs::msg::PointCloud2 | NDT input | For switching rule: | Name | Type | Description | | ----------------------------- | ------------------------------------------------------------ | --------------------------------- | | `/input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map | | `/input/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | localization final output | | `/input/initialization_state` | autoware_adapi_v1_msgs::msg::LocalizationInitializationState | localization initialization state | ### Publications File truncated at 100 lines [see the full file](https://github.com/autowarefoundation/autoware_universe/tree/main/localization/autoware_pose_estimator_arbiter/README.md)Changelog for package autoware_pose_estimator_arbiter
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- refactor(localization): move node design files into each package (#13101) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(lidar_marker_localizer): extend lidar-marker localization to enhance flexibility and debugging capabilities (#11574)
- feat: parse landmarks only in target id list
- feat: Add a y-axis condition to marker selection around the vehicle
- feat: correct z axis of self pose
- feat: reference a certain ring
* feat: make detect_landmarks function templated for using PointType in both PointXYZIRC and PointXYZIRADRT
- feat: make detect_landmarks ring loop robust to empty pointclouds
- Add check to skip empty ring pointclouds in detect_landmarks
- Prevent unnecessary processing and possible errors when a ring has no points
- feat: make save_intensity function for csv output
- Enable generic processing for multiple point cloud types
- Prepare for future multi-LiDAR marker localization support
- refactor: fix member function declarations and add const qualifiers
- feat: add debug outputs for marker detection process
- feat: make queue sizes for output pose configurable
- doc: Add a y-axis condition to marker selection around the vehicle
- doc: add marker_height_from_ground to lidar_marker_localizer.schema.json
* feat: add "lidar-marker" pose estimator to pose_estimator_airbiter # Conflicts: # launch/tier4_localization_launch/launch/localization.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/lidar_marker_localizer.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/pose_twist_estimator.launch.xml
- feat: make initial ring id range configurable
- doc: update for ndt_lidar-maker mode
- doc: update for new features in lidar-marker localizer
* doc: fix indent To indicate the contributor's affiliation
- refactor: update autoware_utils dependency
- style(pre-commit): autofix
- doc: update schema.json
- style(pre-commit): autofix
- fix: debug topics table and wrong condition to output
- style(pre-commit): autofix
- fix: diagnostics_interface dependency
- chore: remove codes commented out
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
perf(localization): use emplace/emplace_back to avoid temporary object creation (#12232)
-
Contributors: Motz, github-actions, nishikawa-masaki
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- feat: localization related packages support jazzy (#11419)
- Contributors: Ryohsuke Mitsudome, 心刚
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
docs: fix broken links (#11815)
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Map and Localization Component) (#11787)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch |
Launch files
- launch/pose_estimator_arbiter.launch.xml
-
- pose_sources
- input_pointcloud
Messages
Services
Plugins
Recent questions tagged autoware_pose_estimator_arbiter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Kento Yabuuchi
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
- Kento Yabuuchi
autoware_pose_estimator_arbiter
Table of contents:
Abstract
This package launches multiple pose estimators and provides the capability to stop or resume specific pose estimators based on the situation. It provides provisional switching rules and will be adaptable to a wide variety of rules in the future.
Please refer to this discussion about other ideas on implementation.
Why do we need a stop/resume mechanism?
It is possible to launch multiple pose_estimators and fuse them using a Kalman filter by editing launch files. However, this approach is not preferable due to computational costs.
Particularly, NDT and YabLoc are computationally intensive, and it’s not recommended to run them simultaneously. Also, even if both can be activated at the same time, the Kalman Filter may be affected by one of them giving bad output.
[!NOTE] Currently, there is ONLY A RULE implemented that always enables all pose_estimators. If users want to toggle pose_estimator with their own rules, they need to add new rules. by referring to example_rule. The example_rule has source code that can be used as a reference for implementing the rules.
Supporting pose_estimators
Demonstration
The following video demonstrates the switching of four different pose estimators.
Users can reproduce the demonstration using the following data and launch command:
sample data (rosbag & map) The rosbag is simulated data created by AWSIM. The map is an edited version of the original map data published on the AWSIM documentation page to make it suitable for multiple pose_estimators.
ros2 launch autoware_launch logging_simulator.launch.xml \
map_path:=<your-map-path> \
vehicle_model:=sample_vehicle \
sensor_model:=awsim_sensor_kit \
pose_source:=ndt_yabloc_artag_eagleye
Interfaces
Click to show details
### Parameters There are no parameters. ### Services | Name | Type | Description | | ---------------- | ------------------------------- | ------------------------------- | | `/config_logger` | logging_demo::srv::ConfigLogger | service to modify logging level | ### Clients | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | | `/yabloc_suspend_srv` | std_srv::srv::SetBool | service to stop or restart yabloc | ### Subscriptions For pose estimator arbitration: | Name | Type | Description | | ------------------------------------- | --------------------------------------------- | -------------- | | `/input/artag/image` | sensor_msgs::msg::Image | ArTag input | | `/input/yabloc/image` | sensor_msgs::msg::Image | YabLoc input | | `/input/eagleye/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | Eagleye output | | `/input/ndt/pointcloud` | sensor_msgs::msg::PointCloud2 | NDT input | For switching rule: | Name | Type | Description | | ----------------------------- | ------------------------------------------------------------ | --------------------------------- | | `/input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map | | `/input/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | localization final output | | `/input/initialization_state` | autoware_adapi_v1_msgs::msg::LocalizationInitializationState | localization initialization state | ### Publications File truncated at 100 lines [see the full file](https://github.com/autowarefoundation/autoware_universe/tree/main/localization/autoware_pose_estimator_arbiter/README.md)Changelog for package autoware_pose_estimator_arbiter
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- refactor(localization): move node design files into each package (#13101) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(lidar_marker_localizer): extend lidar-marker localization to enhance flexibility and debugging capabilities (#11574)
- feat: parse landmarks only in target id list
- feat: Add a y-axis condition to marker selection around the vehicle
- feat: correct z axis of self pose
- feat: reference a certain ring
* feat: make detect_landmarks function templated for using PointType in both PointXYZIRC and PointXYZIRADRT
- feat: make detect_landmarks ring loop robust to empty pointclouds
- Add check to skip empty ring pointclouds in detect_landmarks
- Prevent unnecessary processing and possible errors when a ring has no points
- feat: make save_intensity function for csv output
- Enable generic processing for multiple point cloud types
- Prepare for future multi-LiDAR marker localization support
- refactor: fix member function declarations and add const qualifiers
- feat: add debug outputs for marker detection process
- feat: make queue sizes for output pose configurable
- doc: Add a y-axis condition to marker selection around the vehicle
- doc: add marker_height_from_ground to lidar_marker_localizer.schema.json
* feat: add "lidar-marker" pose estimator to pose_estimator_airbiter # Conflicts: # launch/tier4_localization_launch/launch/localization.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/lidar_marker_localizer.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/pose_twist_estimator.launch.xml
- feat: make initial ring id range configurable
- doc: update for ndt_lidar-maker mode
- doc: update for new features in lidar-marker localizer
* doc: fix indent To indicate the contributor's affiliation
- refactor: update autoware_utils dependency
- style(pre-commit): autofix
- doc: update schema.json
- style(pre-commit): autofix
- fix: debug topics table and wrong condition to output
- style(pre-commit): autofix
- fix: diagnostics_interface dependency
- chore: remove codes commented out
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
perf(localization): use emplace/emplace_back to avoid temporary object creation (#12232)
-
Contributors: Motz, github-actions, nishikawa-masaki
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- feat: localization related packages support jazzy (#11419)
- Contributors: Ryohsuke Mitsudome, 心刚
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
docs: fix broken links (#11815)
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Map and Localization Component) (#11787)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch |
Launch files
- launch/pose_estimator_arbiter.launch.xml
-
- pose_sources
- input_pointcloud
Messages
Services
Plugins
Recent questions tagged autoware_pose_estimator_arbiter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Kento Yabuuchi
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
- Kento Yabuuchi
autoware_pose_estimator_arbiter
Table of contents:
Abstract
This package launches multiple pose estimators and provides the capability to stop or resume specific pose estimators based on the situation. It provides provisional switching rules and will be adaptable to a wide variety of rules in the future.
Please refer to this discussion about other ideas on implementation.
Why do we need a stop/resume mechanism?
It is possible to launch multiple pose_estimators and fuse them using a Kalman filter by editing launch files. However, this approach is not preferable due to computational costs.
Particularly, NDT and YabLoc are computationally intensive, and it’s not recommended to run them simultaneously. Also, even if both can be activated at the same time, the Kalman Filter may be affected by one of them giving bad output.
[!NOTE] Currently, there is ONLY A RULE implemented that always enables all pose_estimators. If users want to toggle pose_estimator with their own rules, they need to add new rules. by referring to example_rule. The example_rule has source code that can be used as a reference for implementing the rules.
Supporting pose_estimators
Demonstration
The following video demonstrates the switching of four different pose estimators.
Users can reproduce the demonstration using the following data and launch command:
sample data (rosbag & map) The rosbag is simulated data created by AWSIM. The map is an edited version of the original map data published on the AWSIM documentation page to make it suitable for multiple pose_estimators.
ros2 launch autoware_launch logging_simulator.launch.xml \
map_path:=<your-map-path> \
vehicle_model:=sample_vehicle \
sensor_model:=awsim_sensor_kit \
pose_source:=ndt_yabloc_artag_eagleye
Interfaces
Click to show details
### Parameters There are no parameters. ### Services | Name | Type | Description | | ---------------- | ------------------------------- | ------------------------------- | | `/config_logger` | logging_demo::srv::ConfigLogger | service to modify logging level | ### Clients | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | | `/yabloc_suspend_srv` | std_srv::srv::SetBool | service to stop or restart yabloc | ### Subscriptions For pose estimator arbitration: | Name | Type | Description | | ------------------------------------- | --------------------------------------------- | -------------- | | `/input/artag/image` | sensor_msgs::msg::Image | ArTag input | | `/input/yabloc/image` | sensor_msgs::msg::Image | YabLoc input | | `/input/eagleye/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | Eagleye output | | `/input/ndt/pointcloud` | sensor_msgs::msg::PointCloud2 | NDT input | For switching rule: | Name | Type | Description | | ----------------------------- | ------------------------------------------------------------ | --------------------------------- | | `/input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map | | `/input/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | localization final output | | `/input/initialization_state` | autoware_adapi_v1_msgs::msg::LocalizationInitializationState | localization initialization state | ### Publications File truncated at 100 lines [see the full file](https://github.com/autowarefoundation/autoware_universe/tree/main/localization/autoware_pose_estimator_arbiter/README.md)Changelog for package autoware_pose_estimator_arbiter
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- refactor(localization): move node design files into each package (#13101) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(lidar_marker_localizer): extend lidar-marker localization to enhance flexibility and debugging capabilities (#11574)
- feat: parse landmarks only in target id list
- feat: Add a y-axis condition to marker selection around the vehicle
- feat: correct z axis of self pose
- feat: reference a certain ring
* feat: make detect_landmarks function templated for using PointType in both PointXYZIRC and PointXYZIRADRT
- feat: make detect_landmarks ring loop robust to empty pointclouds
- Add check to skip empty ring pointclouds in detect_landmarks
- Prevent unnecessary processing and possible errors when a ring has no points
- feat: make save_intensity function for csv output
- Enable generic processing for multiple point cloud types
- Prepare for future multi-LiDAR marker localization support
- refactor: fix member function declarations and add const qualifiers
- feat: add debug outputs for marker detection process
- feat: make queue sizes for output pose configurable
- doc: Add a y-axis condition to marker selection around the vehicle
- doc: add marker_height_from_ground to lidar_marker_localizer.schema.json
* feat: add "lidar-marker" pose estimator to pose_estimator_airbiter # Conflicts: # launch/tier4_localization_launch/launch/localization.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/lidar_marker_localizer.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/pose_twist_estimator.launch.xml
- feat: make initial ring id range configurable
- doc: update for ndt_lidar-maker mode
- doc: update for new features in lidar-marker localizer
* doc: fix indent To indicate the contributor's affiliation
- refactor: update autoware_utils dependency
- style(pre-commit): autofix
- doc: update schema.json
- style(pre-commit): autofix
- fix: debug topics table and wrong condition to output
- style(pre-commit): autofix
- fix: diagnostics_interface dependency
- chore: remove codes commented out
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
perf(localization): use emplace/emplace_back to avoid temporary object creation (#12232)
-
Contributors: Motz, github-actions, nishikawa-masaki
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- feat: localization related packages support jazzy (#11419)
- Contributors: Ryohsuke Mitsudome, 心刚
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
docs: fix broken links (#11815)
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Map and Localization Component) (#11787)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch |
Launch files
- launch/pose_estimator_arbiter.launch.xml
-
- pose_sources
- input_pointcloud
Messages
Services
Plugins
Recent questions tagged autoware_pose_estimator_arbiter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Kento Yabuuchi
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
- Kento Yabuuchi
autoware_pose_estimator_arbiter
Table of contents:
Abstract
This package launches multiple pose estimators and provides the capability to stop or resume specific pose estimators based on the situation. It provides provisional switching rules and will be adaptable to a wide variety of rules in the future.
Please refer to this discussion about other ideas on implementation.
Why do we need a stop/resume mechanism?
It is possible to launch multiple pose_estimators and fuse them using a Kalman filter by editing launch files. However, this approach is not preferable due to computational costs.
Particularly, NDT and YabLoc are computationally intensive, and it’s not recommended to run them simultaneously. Also, even if both can be activated at the same time, the Kalman Filter may be affected by one of them giving bad output.
[!NOTE] Currently, there is ONLY A RULE implemented that always enables all pose_estimators. If users want to toggle pose_estimator with their own rules, they need to add new rules. by referring to example_rule. The example_rule has source code that can be used as a reference for implementing the rules.
Supporting pose_estimators
Demonstration
The following video demonstrates the switching of four different pose estimators.
Users can reproduce the demonstration using the following data and launch command:
sample data (rosbag & map) The rosbag is simulated data created by AWSIM. The map is an edited version of the original map data published on the AWSIM documentation page to make it suitable for multiple pose_estimators.
ros2 launch autoware_launch logging_simulator.launch.xml \
map_path:=<your-map-path> \
vehicle_model:=sample_vehicle \
sensor_model:=awsim_sensor_kit \
pose_source:=ndt_yabloc_artag_eagleye
Interfaces
Click to show details
### Parameters There are no parameters. ### Services | Name | Type | Description | | ---------------- | ------------------------------- | ------------------------------- | | `/config_logger` | logging_demo::srv::ConfigLogger | service to modify logging level | ### Clients | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | | `/yabloc_suspend_srv` | std_srv::srv::SetBool | service to stop or restart yabloc | ### Subscriptions For pose estimator arbitration: | Name | Type | Description | | ------------------------------------- | --------------------------------------------- | -------------- | | `/input/artag/image` | sensor_msgs::msg::Image | ArTag input | | `/input/yabloc/image` | sensor_msgs::msg::Image | YabLoc input | | `/input/eagleye/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | Eagleye output | | `/input/ndt/pointcloud` | sensor_msgs::msg::PointCloud2 | NDT input | For switching rule: | Name | Type | Description | | ----------------------------- | ------------------------------------------------------------ | --------------------------------- | | `/input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map | | `/input/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | localization final output | | `/input/initialization_state` | autoware_adapi_v1_msgs::msg::LocalizationInitializationState | localization initialization state | ### Publications File truncated at 100 lines [see the full file](https://github.com/autowarefoundation/autoware_universe/tree/main/localization/autoware_pose_estimator_arbiter/README.md)Changelog for package autoware_pose_estimator_arbiter
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- refactor(localization): move node design files into each package (#13101) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(lidar_marker_localizer): extend lidar-marker localization to enhance flexibility and debugging capabilities (#11574)
- feat: parse landmarks only in target id list
- feat: Add a y-axis condition to marker selection around the vehicle
- feat: correct z axis of self pose
- feat: reference a certain ring
* feat: make detect_landmarks function templated for using PointType in both PointXYZIRC and PointXYZIRADRT
- feat: make detect_landmarks ring loop robust to empty pointclouds
- Add check to skip empty ring pointclouds in detect_landmarks
- Prevent unnecessary processing and possible errors when a ring has no points
- feat: make save_intensity function for csv output
- Enable generic processing for multiple point cloud types
- Prepare for future multi-LiDAR marker localization support
- refactor: fix member function declarations and add const qualifiers
- feat: add debug outputs for marker detection process
- feat: make queue sizes for output pose configurable
- doc: Add a y-axis condition to marker selection around the vehicle
- doc: add marker_height_from_ground to lidar_marker_localizer.schema.json
* feat: add "lidar-marker" pose estimator to pose_estimator_airbiter # Conflicts: # launch/tier4_localization_launch/launch/localization.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/lidar_marker_localizer.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/pose_twist_estimator.launch.xml
- feat: make initial ring id range configurable
- doc: update for ndt_lidar-maker mode
- doc: update for new features in lidar-marker localizer
* doc: fix indent To indicate the contributor's affiliation
- refactor: update autoware_utils dependency
- style(pre-commit): autofix
- doc: update schema.json
- style(pre-commit): autofix
- fix: debug topics table and wrong condition to output
- style(pre-commit): autofix
- fix: diagnostics_interface dependency
- chore: remove codes commented out
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
perf(localization): use emplace/emplace_back to avoid temporary object creation (#12232)
-
Contributors: Motz, github-actions, nishikawa-masaki
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- feat: localization related packages support jazzy (#11419)
- Contributors: Ryohsuke Mitsudome, 心刚
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
docs: fix broken links (#11815)
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Map and Localization Component) (#11787)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch |
Launch files
- launch/pose_estimator_arbiter.launch.xml
-
- pose_sources
- input_pointcloud
Messages
Services
Plugins
Recent questions tagged autoware_pose_estimator_arbiter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Kento Yabuuchi
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
- Kento Yabuuchi
autoware_pose_estimator_arbiter
Table of contents:
Abstract
This package launches multiple pose estimators and provides the capability to stop or resume specific pose estimators based on the situation. It provides provisional switching rules and will be adaptable to a wide variety of rules in the future.
Please refer to this discussion about other ideas on implementation.
Why do we need a stop/resume mechanism?
It is possible to launch multiple pose_estimators and fuse them using a Kalman filter by editing launch files. However, this approach is not preferable due to computational costs.
Particularly, NDT and YabLoc are computationally intensive, and it’s not recommended to run them simultaneously. Also, even if both can be activated at the same time, the Kalman Filter may be affected by one of them giving bad output.
[!NOTE] Currently, there is ONLY A RULE implemented that always enables all pose_estimators. If users want to toggle pose_estimator with their own rules, they need to add new rules. by referring to example_rule. The example_rule has source code that can be used as a reference for implementing the rules.
Supporting pose_estimators
Demonstration
The following video demonstrates the switching of four different pose estimators.
Users can reproduce the demonstration using the following data and launch command:
sample data (rosbag & map) The rosbag is simulated data created by AWSIM. The map is an edited version of the original map data published on the AWSIM documentation page to make it suitable for multiple pose_estimators.
ros2 launch autoware_launch logging_simulator.launch.xml \
map_path:=<your-map-path> \
vehicle_model:=sample_vehicle \
sensor_model:=awsim_sensor_kit \
pose_source:=ndt_yabloc_artag_eagleye
Interfaces
Click to show details
### Parameters There are no parameters. ### Services | Name | Type | Description | | ---------------- | ------------------------------- | ------------------------------- | | `/config_logger` | logging_demo::srv::ConfigLogger | service to modify logging level | ### Clients | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | | `/yabloc_suspend_srv` | std_srv::srv::SetBool | service to stop or restart yabloc | ### Subscriptions For pose estimator arbitration: | Name | Type | Description | | ------------------------------------- | --------------------------------------------- | -------------- | | `/input/artag/image` | sensor_msgs::msg::Image | ArTag input | | `/input/yabloc/image` | sensor_msgs::msg::Image | YabLoc input | | `/input/eagleye/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | Eagleye output | | `/input/ndt/pointcloud` | sensor_msgs::msg::PointCloud2 | NDT input | For switching rule: | Name | Type | Description | | ----------------------------- | ------------------------------------------------------------ | --------------------------------- | | `/input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map | | `/input/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | localization final output | | `/input/initialization_state` | autoware_adapi_v1_msgs::msg::LocalizationInitializationState | localization initialization state | ### Publications File truncated at 100 lines [see the full file](https://github.com/autowarefoundation/autoware_universe/tree/main/localization/autoware_pose_estimator_arbiter/README.md)Changelog for package autoware_pose_estimator_arbiter
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- refactor(localization): move node design files into each package (#13101) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(lidar_marker_localizer): extend lidar-marker localization to enhance flexibility and debugging capabilities (#11574)
- feat: parse landmarks only in target id list
- feat: Add a y-axis condition to marker selection around the vehicle
- feat: correct z axis of self pose
- feat: reference a certain ring
* feat: make detect_landmarks function templated for using PointType in both PointXYZIRC and PointXYZIRADRT
- feat: make detect_landmarks ring loop robust to empty pointclouds
- Add check to skip empty ring pointclouds in detect_landmarks
- Prevent unnecessary processing and possible errors when a ring has no points
- feat: make save_intensity function for csv output
- Enable generic processing for multiple point cloud types
- Prepare for future multi-LiDAR marker localization support
- refactor: fix member function declarations and add const qualifiers
- feat: add debug outputs for marker detection process
- feat: make queue sizes for output pose configurable
- doc: Add a y-axis condition to marker selection around the vehicle
- doc: add marker_height_from_ground to lidar_marker_localizer.schema.json
* feat: add "lidar-marker" pose estimator to pose_estimator_airbiter # Conflicts: # launch/tier4_localization_launch/launch/localization.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/lidar_marker_localizer.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/pose_twist_estimator.launch.xml
- feat: make initial ring id range configurable
- doc: update for ndt_lidar-maker mode
- doc: update for new features in lidar-marker localizer
* doc: fix indent To indicate the contributor's affiliation
- refactor: update autoware_utils dependency
- style(pre-commit): autofix
- doc: update schema.json
- style(pre-commit): autofix
- fix: debug topics table and wrong condition to output
- style(pre-commit): autofix
- fix: diagnostics_interface dependency
- chore: remove codes commented out
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
perf(localization): use emplace/emplace_back to avoid temporary object creation (#12232)
-
Contributors: Motz, github-actions, nishikawa-masaki
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- feat: localization related packages support jazzy (#11419)
- Contributors: Ryohsuke Mitsudome, 心刚
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
docs: fix broken links (#11815)
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Map and Localization Component) (#11787)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch |
Launch files
- launch/pose_estimator_arbiter.launch.xml
-
- pose_sources
- input_pointcloud
Messages
Services
Plugins
Recent questions tagged autoware_pose_estimator_arbiter at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Kento Yabuuchi
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
- Kento Yabuuchi
autoware_pose_estimator_arbiter
Table of contents:
Abstract
This package launches multiple pose estimators and provides the capability to stop or resume specific pose estimators based on the situation. It provides provisional switching rules and will be adaptable to a wide variety of rules in the future.
Please refer to this discussion about other ideas on implementation.
Why do we need a stop/resume mechanism?
It is possible to launch multiple pose_estimators and fuse them using a Kalman filter by editing launch files. However, this approach is not preferable due to computational costs.
Particularly, NDT and YabLoc are computationally intensive, and it’s not recommended to run them simultaneously. Also, even if both can be activated at the same time, the Kalman Filter may be affected by one of them giving bad output.
[!NOTE] Currently, there is ONLY A RULE implemented that always enables all pose_estimators. If users want to toggle pose_estimator with their own rules, they need to add new rules. by referring to example_rule. The example_rule has source code that can be used as a reference for implementing the rules.
Supporting pose_estimators
Demonstration
The following video demonstrates the switching of four different pose estimators.
Users can reproduce the demonstration using the following data and launch command:
sample data (rosbag & map) The rosbag is simulated data created by AWSIM. The map is an edited version of the original map data published on the AWSIM documentation page to make it suitable for multiple pose_estimators.
ros2 launch autoware_launch logging_simulator.launch.xml \
map_path:=<your-map-path> \
vehicle_model:=sample_vehicle \
sensor_model:=awsim_sensor_kit \
pose_source:=ndt_yabloc_artag_eagleye
Interfaces
Click to show details
### Parameters There are no parameters. ### Services | Name | Type | Description | | ---------------- | ------------------------------- | ------------------------------- | | `/config_logger` | logging_demo::srv::ConfigLogger | service to modify logging level | ### Clients | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | | `/yabloc_suspend_srv` | std_srv::srv::SetBool | service to stop or restart yabloc | ### Subscriptions For pose estimator arbitration: | Name | Type | Description | | ------------------------------------- | --------------------------------------------- | -------------- | | `/input/artag/image` | sensor_msgs::msg::Image | ArTag input | | `/input/yabloc/image` | sensor_msgs::msg::Image | YabLoc input | | `/input/eagleye/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | Eagleye output | | `/input/ndt/pointcloud` | sensor_msgs::msg::PointCloud2 | NDT input | For switching rule: | Name | Type | Description | | ----------------------------- | ------------------------------------------------------------ | --------------------------------- | | `/input/vector_map` | autoware_map_msgs::msg::LaneletMapBin | vector map | | `/input/pose_with_covariance` | geometry_msgs::msg::PoseWithCovarianceStamped | localization final output | | `/input/initialization_state` | autoware_adapi_v1_msgs::msg::LocalizationInitializationState | localization initialization state | ### Publications File truncated at 100 lines [see the full file](https://github.com/autowarefoundation/autoware_universe/tree/main/localization/autoware_pose_estimator_arbiter/README.md)Changelog for package autoware_pose_estimator_arbiter
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- refactor(localization): move node design files into each package (#13101) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(lidar_marker_localizer): extend lidar-marker localization to enhance flexibility and debugging capabilities (#11574)
- feat: parse landmarks only in target id list
- feat: Add a y-axis condition to marker selection around the vehicle
- feat: correct z axis of self pose
- feat: reference a certain ring
* feat: make detect_landmarks function templated for using PointType in both PointXYZIRC and PointXYZIRADRT
- feat: make detect_landmarks ring loop robust to empty pointclouds
- Add check to skip empty ring pointclouds in detect_landmarks
- Prevent unnecessary processing and possible errors when a ring has no points
- feat: make save_intensity function for csv output
- Enable generic processing for multiple point cloud types
- Prepare for future multi-LiDAR marker localization support
- refactor: fix member function declarations and add const qualifiers
- feat: add debug outputs for marker detection process
- feat: make queue sizes for output pose configurable
- doc: Add a y-axis condition to marker selection around the vehicle
- doc: add marker_height_from_ground to lidar_marker_localizer.schema.json
* feat: add "lidar-marker" pose estimator to pose_estimator_airbiter # Conflicts: # launch/tier4_localization_launch/launch/localization.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/lidar_marker_localizer.launch.xml # launch/tier4_localization_launch/launch/pose_twist_estimator/pose_twist_estimator.launch.xml
- feat: make initial ring id range configurable
- doc: update for ndt_lidar-maker mode
- doc: update for new features in lidar-marker localizer
* doc: fix indent To indicate the contributor's affiliation
- refactor: update autoware_utils dependency
- style(pre-commit): autofix
- doc: update schema.json
- style(pre-commit): autofix
- fix: debug topics table and wrong condition to output
- style(pre-commit): autofix
- fix: diagnostics_interface dependency
- chore: remove codes commented out
* style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
perf(localization): use emplace/emplace_back to avoid temporary object creation (#12232)
-
Contributors: Motz, github-actions, nishikawa-masaki
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- feat: localization related packages support jazzy (#11419)
- Contributors: Ryohsuke Mitsudome, 心刚
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
docs: fix broken links (#11815)
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Map and Localization Component) (#11787)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch |
Launch files
- launch/pose_estimator_arbiter.launch.xml
-
- pose_sources
- input_pointcloud