Skip to content

Generate control interfaces from enabled preset components - #116

Open
stevenaya wants to merge 4 commits into
enactic:mainfrom
stevenaya:refactor/shared-ros2-control
Open

stevenaya wants to merge 4 commits into
enactic:mainfrom
stevenaya:refactor/shared-ros2-control

Conversation

@stevenaya

@stevenaya stevenaya commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Changes

  • Generate control joints from enabled components using the same resolved descriptions as assembly, including component-defined names, topology and mimic relationships.
  • Store hardware settings directly under each component's control mapping. Set hardware_plugin, can_interface and can_fd in the preset; system_name is optional. Explicit control parameters override generated defaults.
  • Select mock_components/GenericSystem through use_fake_hardware and emit its mock_sensor_commands and position_state_following_offset parameters.
  • Replace duplicated V2 control macros with the shared generator and add a ros2_control emission switch.

Validation

  • Extend the existing interface fixtures to cover custom component descriptions, independent fingers, flat hardware parameters and mock selection.
  • 31 existing tests pass on ROS 2 Jazzy. The custom-mimic regression reproduces the missing finger control interface on the previous implementation.

The companion openarm_ros2 #103 keeps left_can_interface, right_can_interface and can_fd as launch-time overrides. Presets supply the defaults; ROS launch applies explicit overrides to the generated hardware parameters and shares the final URDF with the nodes.

Review this change against main.

@stevenaya
stevenaya force-pushed the refactor/shared-ros2-control branch from 1c7994d to 1b003bb Compare November 4, 2026 08:01
@stevenaya
stevenaya marked this pull request as ready for review November 4, 2026 08:02
Copilot AI balanced review requested due to automatic review settings November 4, 2026 08:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@stevenaya
stevenaya force-pushed the refactor/shared-ros2-control branch from 1b003bb to 291c0d0 Compare November 4, 2026 09:15
Copilot AI balanced review requested due to automatic review settings November 4, 2026 09:15

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

Copilot AI balanced review requested due to automatic review settings November 4, 2026 11:22

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

This branch was successfully deployed

1 active deployment
release — 416bdee5 Deployed Nov 4, 2026 by stevenaya via Publish #338
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.

2 participants