Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix pid_controller build on ROS 2 Rolling on Ubuntu 24.04 #1084

Merged

Conversation

clalancette
Copy link
Contributor

Two things are needed to make this compile:

  1. Make sure to add a package.xml dependency on backward_ros, which is necessary to compile.
  2. Make sure to #include <rclcpp/version.h>, so the correct rclcpp::QoS object is chosen.

With both of these in place, this package compiles cleanly on Ubuntu 24.04.

This should fix the CI build like in https://build.ros2.org/view/Rbin_uN64/job/Rbin_uN64__pid_controller__ubuntu_noble_amd64__binary/13/console

Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:

  1. Limited scope. Your PR should do one thing or one set of things. Avoid adding “random fixes” to PRs. Put those on separate PRs.
  2. Give your PR a descriptive title. Add a short summary, if required.
  3. Make sure the pipeline is green.
  4. Don’t be afraid to request reviews from maintainers.
  5. New code = new tests. If you are adding new functionality, always make sure to add some tests exercising the code and serving as live documentation of your original intention.

To send us a pull request, please:

  • Fork the repository.
  • Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
  • Ensure local tests pass. (colcon test and pre-commit run (requires you to install pre-commit by pip3 install pre-commit)
  • Commit to your fork using clear commit messages.
  • Send a pull request, answering any default questions in the pull request interface.
  • Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.

Two things are needed to make this compile:
1.  Make sure to add a package.xml dependency on backward_ros,
which is necessary to compile.
2.  Make sure to #include <rclcpp/version.h>, so the correct
rclcpp::QoS object is chosen.

With both of these in place, this package compiles cleanly
on Ubuntu 24.04.

Signed-off-by: Chris Lalancette <[email protected]>
Copy link
Member

@saikishor saikishor left a comment

Choose a reason for hiding this comment

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

Thanks for the changes.
Regarding the backward_ros dependency, I've just observed the missing dependency in the following packages as well: ackermann_steering_controller, bicycle_steering_controller, tricycle_steering_controller. Can you also add them in the same PR?.

Thank you

pid_controller/src/pid_controller.cpp Outdated Show resolved Hide resolved
Signed-off-by: Chris Lalancette <[email protected]>
@clalancette
Copy link
Contributor Author

Regarding the backward_ros dependency, I've just observed the missing dependency in the following packages as well: ackermann_steering_controller, bicycle_steering_controller, tricycle_steering_controller. Can you also add them in the same PR?.

Yes, very good call. Fixed now in 175c4d5.

Copy link
Member

@saikishor saikishor left a comment

Choose a reason for hiding this comment

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

LGTM. Thank you for the changes :)

Copy link
Contributor

@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!

@clalancette
Copy link
Contributor Author

Rolling coverage CI seems to be failing here because the action is not installing ros-rolling-rsl properly in the container. Then it later fails to build parameter_traits, which depends on that.

It doesn't look to be connected with this PR, so I don't think it should hold this up.

Copy link
Member

@bmagyar bmagyar left a comment

Choose a reason for hiding this comment

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

Brilliant, thank you!

@bmagyar bmagyar merged commit 0c2c458 into ros-controls:master Mar 21, 2024
10 of 11 checks passed
@clalancette clalancette deleted the clalancette/add-pid-backward-ros-dep branch March 21, 2024 11:33
@clalancette
Copy link
Contributor Author

A release into Rolling would be much appreciated, as it would close out this particular problem. Thanks!

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