feat(ekf_localizer): apply agnocast_wrapper::Node to ekf_localizer#1190
Draft
Koichi98 wants to merge 26 commits into
Draft
feat(ekf_localizer): apply agnocast_wrapper::Node to ekf_localizer#1190Koichi98 wants to merge 26 commits into
agnocast_wrapper::Node to ekf_localizer#1190Koichi98 wants to merge 26 commits into
Conversation
Signed-off-by: koichiimai <kotty.0704@gmail.com>
Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
|
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
agnocast_wrapper::Node to ekf_localizer
Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
Signed-off-by: Koichi <koichi.imai.2@tier4.jp>
Signed-off-by: Koichi <koichi.imai.2@tier4.jp>
Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates autoware_ekf_localizer to Method 2 of autoware_agnocast_wrapper by switching the node base class to autoware::agnocast_wrapper::Node, enabling Agnocast-backed pub/sub (and related utilities) when built with ENABLE_AGNOCAST=1.
Changes:
- Rebased
EKFLocalizerontoautoware::agnocast_wrapper::Node, converting publishers/subscribers/services/timers/tf2 usage to wrapper-compatible types and message allocation macros. - Updated launch to source Agnocast environment settings (including
LD_PRELOADhandling). - Updated build configuration to depend on
autoware_agnocast_wrapper, register the node with an Agnocast-only executor, and adjust test setup for Agnocast-enabled builds.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| localization/autoware_ekf_localizer/src/include/warning.hpp | Switch Warning to accept agnocast_wrapper::Node* for logging/clock access. |
| localization/autoware_ekf_localizer/src/include/hyper_parameters.hpp | Switch hyper-parameter loader signature to agnocast_wrapper::Node*. |
| localization/autoware_ekf_localizer/src/include/ekf_localizer.hpp | Change node base class and migrate ROS entity member types to wrapper macros/types. |
| localization/autoware_ekf_localizer/src/hyper_parameters.cpp | Update loader implementation to accept agnocast_wrapper::Node*. |
| localization/autoware_ekf_localizer/src/ekf_localizer.cpp | Use wrapper timer, wrapper tf2, const-shared callback types, copied input messages, and allocated output messages. |
| localization/autoware_ekf_localizer/launch/ekf_localizer.launch.xml | Include Agnocast env launch and pass LD_PRELOAD value into the node process. |
| localization/autoware_ekf_localizer/CMakeLists.txt | Add wrapper dependency/setup, register node with Agnocast-only executor, and conditionally filter some tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
…toware_core into apply_agnocast_ekf_localizer
Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
…toware_core into apply_agnocast_ekf_localizer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Apply
agnocast_wrapper::Nodetoautoware_ekf_localizer.Please read autowarefoundation/autoware#7007 for the context and review guidelines of
autoware_agnocast_wrapperadoption.Also, please refer to https://github.com/autowarefoundation/autoware_core/blob/main/common/autoware_agnocast_wrapper/docs/review_guide.md for the review guide of
autoware_agnocast_wrapperapplication PR. FYI: This node take Method2 of two integrations methods.Node specific change
agnocast_wrapper::Node'screate_servicemember function, which takes anrclcpp::QoSand absorbs the Humble-onlyrmw_qos_profilesignature difference inside the wrapper. As a result, no per-distro / per-build (#ifdef) branch is needed at the call site.Related Links
autoware::agnocast_wrapper::Nodeacross Autoware autoware#7007Related links
Parent Issue:
How was this PR tested?
colcon buildsucceeds with bothENABLE_AGNOCAST=1andENABLE_AGNOCAST=0.Notes for reviewers
Agnocast delivers subscription messages as read-only shared-memory objects, but
pose_queue_/twist_queue_store mutablestd::shared_ptrs that are held beyond the callback (and the twist covariance is edited in place). So each incoming message is copied into a heap-allocatedstd::shared_ptrbefore being pushed to the queue.Interface changes
None.
Effects on system behavior
None when ENABLE_AGNOCAST is not set or set to 0 on runtime. When ENABLE_AGNOCAST=1, CPU Time used in this node for message serialization/deserialization will be reduced.