Skip to content

Conversation

@philipchurchley
Copy link
Contributor

Addresses #950 and follows up on #959 by cleaning the remaining launch files. The launch files have been improved to use a declarative programming style, as described by @emersonknapp at ROSCon, which can be viewed in the livestream at 6:10.

Summary

  • Converted ROS 2 Python launch files to a consistent declarative style (single
    LaunchDescription([...]), replaced PathJoinSubstitution with PathSubstitution + /,
    used literal "xacro" in Command, and removed RegisterEventHandler/OnProcessExit).

Validation performed

  • Ran non-building smoke checks (import + generate_launch_description() for each launch) — all passed.
  • Ran a semantic comparator vs master; it flagged 18 files but most differences are cosmetic or expected.

Potential confusions for reviewer attention

  • example_15: added publisher_config launch argument in test launches. Please confirm the default file and behavior.
  • Removal of RegisterEventHandler entries may affect startup/shutdown ordering for some bringup launches. Please check that this removal doesn't break anything.

Recommendation

  • I have no experience with Ros2 so I’m not certain about runtime impacts of the items above. Please review flagged files and run integration/CI launch tests where ordering or parameters matter. If reviewers find real regressions, please recommend minimal fixes (re-introduce ordering, adjust defaults, or correct node fields).

@philipchurchley
Copy link
Contributor Author

I will be away for the next week, so I apologize if I do not immediately respond to comments.

Copy link
Member

@christophfroehlich christophfroehlich left a comment

Choose a reason for hiding this comment

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

Jobs are failing, can you have a look please?

@mergify
Copy link
Contributor

mergify bot commented Dec 1, 2025

This pull request is in conflict. Could you fix it @philipchurchley?

Copy link
Member

@christophfroehlich christophfroehlich left a comment

Choose a reason for hiding this comment

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

Thanks a lot for the big changes.
My first review round below. Please also fix the merge conflict with example_5 now.

@philipchurchley
Copy link
Contributor Author

philipchurchley commented Dec 4, 2025

I'm not sure what's happening with the wrench transformer errors because that seems to have been added with the merge commit. I resolved the merge conflicts by just accepting my branches version and then I added the new launch argument to the launch file. However, looking at the diff for commit 74a8f6c, the merge commit also seems to have added other stuff that may be the cause for these failing tests.

@Juliaj
Copy link
Contributor

Juliaj commented Dec 5, 2025

However, looking at the diff for commit 74a8f6c, the merge commit also seems to have added other stuff that may be the cause for these failing tests.

@philipchurchley, the test failures were due to the new wrentch_transformer wasn't launched. Added my suggestion.

Copy link
Member

@christophfroehlich christophfroehlich left a comment

Choose a reason for hiding this comment

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

Except for failing pre-commit jobs this is ready for review?

@philipchurchley
Copy link
Contributor Author

Except for failing pre-commit jobs this is ready for review?

Yes, although I'm not sure what the failing jobs are for. Could it have to do with the missing EventHandlers?

@philipchurchley philipchurchley marked this pull request as ready for review December 6, 2025 17:44
@Juliaj
Copy link
Contributor

Juliaj commented Dec 6, 2025

Yes, although I'm not sure what the failing jobs are for. Could it have to do with the missing EventHandlers?

@philipchurchley, for the failed pre-commit jobs, run following commnd in your dev env. If you don't have pre-commit installed, you can find instructions from https://control.ros.org/rolling/doc/contributing/contributing.html.

pre-commit run --all-files

fix any issues reported and commit the changes.

@christophfroehlich
Copy link
Member

Yes, although I'm not sure what the failing jobs are for. Could it have to do with the missing EventHandlers?

binary builds are failing because this wrench transformer node was released but not synced yet.

@mhubii
Copy link

mhubii commented Dec 7, 2025

just curious, is there a way for the controller manager to load controllers in the correct order other than event handlers? (for chainable controllers)

@christophfroehlich
Copy link
Member

what do you mean by correct order? If they are part of a chain, simply load them from the same spawner. The system will figure out the hierarchy.

@mhubii
Copy link

mhubii commented Dec 7, 2025

oh cool, didn't know that was possible! :) thx

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.

4 participants