Skip to content

feat(continental_ars548_ros_wrapper): migrate ContinentalARS548RosWrapper to agnocast_wrapper::Node - #458

Closed
Koichi98 wants to merge 3 commits into
tier4:mainfrom
Koichi98:apply_agnocast_continental_ars548
Closed

Koichi98 wants to merge 3 commits into
tier4:mainfrom
Koichi98:apply_agnocast_continental_ars548

Conversation

@Koichi98

@Koichi98 Koichi98 commented Jun 25, 2026 •

Copy link
Copy Markdown
Contributor

PR Type

  • New Feature

Related Links

Depends on #467 (Stage 2: adopt synced agnocast_wrapper core), the shared nebula_core_ros compatibility PR (SyncToolingWorker), and the node.cpp build wiring (Stage 2 track). Sibling of the nebula_hesai agnocast application PR.

Description

Migrates ContinentalARS548RosWrapper (and its decoder / hw_interface helpers) from rclcpp::Node to nebula::agnocast_wrapper::Node. Publisher/subscription/service/diagnostic members switch to the NEBULA_* wrapper types; subscription callbacks take NEBULA_MESSAGE_CONST_SHARED_PTR (service callbacks keep the rclcpp-style shared_ptr signature, handled by the wrapper's convenience overload); publishes use ALLOCATE_OUTPUT_MESSAGE_UNIQUE; and the CMake agnocast_components_register_node executor becomes AgnocastOnlyCallbackIsolatedExecutor. Under ENABLE_AGNOCAST=0 it falls back to the rclcpp backend unchanged.

Review Procedure

Built with ENABLE_AGNOCAST=0 and =1. Ran logging_simulator + rosbag replay and confirmed objects_raw / scan_raw publish at ~10 Hz in both builds (agnocast build observed via ros2 topic hz_agnocast). Note: a Method-2 agnocast_wrapper::Node must be launched as a standalone executable with the heaphook preloaded (not as a component in the agnocast CIE container); the corresponding launcher change lives outside nebula.

Remarks

Recreated from the earlier draft attempt on this branch with the completed, build-verified migration.

⚠️ Must be merged atomically with #469 and #470

This PR passes an agnocast_wrapper::Node * to SyncToolingWorker, which only #469 makes it accept,
while #469 drops the rclcpp::Node support that un-migrated drivers still rely on. No sequential merge
order keeps main buildable, so #469 + #458 + #470 must land together.

…wrapper::Node-compatible

Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
@Koichi98
Koichi98 force-pushed the apply_agnocast_continental_ars548 branch from 2744af4 to 45de9ce Compare July 23, 2026 04:50
@Koichi98 Koichi98 changed the title feat(continental_ars548_ros_wrapper): apply agnocast_wrapper::Node to continental_ars548_ros_wrapper feat(continental_ars548_ros_wrapper): migrate ContinentalARS548RosWrapper to agnocast_wrapper::Node (Method 2) Jul 23, 2026
@Koichi98 Koichi98 self-assigned this Jul 23, 2026
@Koichi98 Koichi98 changed the title feat(continental_ars548_ros_wrapper): migrate ContinentalARS548RosWrapper to agnocast_wrapper::Node (Method 2) feat(continental_ars548_ros_wrapper): migrate ContinentalARS548RosWrapper to agnocast_wrapper::Node Jul 27, 2026
…pper to agnocast_wrapper::Node (Method 2)

Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
@Koichi98
Koichi98 force-pushed the apply_agnocast_continental_ars548 branch from 45de9ce to eaedd42 Compare July 27, 2026 03:46
@Koichi98

Copy link
Copy Markdown
Contributor Author

Superseded: rebased onto #469 (feat/agnocast-core-node-compat) and moved to a fork-internal review PR (Koichi98#2). Will be merged into #469, then #469 into main.

@Koichi98 Koichi98 closed this Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant