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

add support for lazy subscribers #815

Merged

Conversation

mikeferguson
Copy link
Member

@mikeferguson mikeferguson commented May 17, 2023

This implements #780 for ROS 2 distributions after Iron, where we have:

@mikeferguson mikeferguson force-pushed the lazy_subscriber_support branch 3 times, most recently from 2484f5f to f5c7818 Compare November 14, 2023 16:17
@mikeferguson mikeferguson marked this pull request as ready for review November 14, 2023 17:13
@mikeferguson
Copy link
Member Author

@JWhitleyWork this is finally reviewable/mergeable - since the image_common stuff is now released in rolling. It will not pass CI on Iron since there are missing API changes in image_common (not sure why Iron CI is running against rolling PRs)

@mikeferguson
Copy link
Member Author

@JWhitleyWork pinging again - I'd really like to get this into rolling, and cut a new release, so that we can get a number of downstream projects ready for eventual J-turtle release.

I notice we also have quite a few PRs piling up here - would you be interested in an additional maintainer joining on to help review and test things? This is a pretty critical component within ROS 2.

@mikeferguson
Copy link
Member Author

@ahcorde @adityapande-1995 I see you reviewed/merged #845 (which has this PR now in conflict, so I'll have to go update around your change) - are either of you now a maintainer of this package? Can we get a review/feedback on this?

@mikeferguson
Copy link
Member Author

rebased on latest changes to handle conflict

@mikeferguson
Copy link
Member Author

We should also create an iron branch, per #837, before we actually merge this

Copy link
Contributor

@ahcorde ahcorde left a comment

Choose a reason for hiding this comment

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

Umm, I noticed this is failing in iron

/tmp/ws/src/image_pipeline/image_proc/src/resize.cpp:72:56: error: too many arguments to function ‘image_transport::CameraPublisher image_transport::create_camera_publisher(rclcpp::Node*, const string&, rmw_qos_profile_t)’
14:26:27    72 |   pub_image_ = image_transport::create_camera_publisher(
14:26:27       |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
14:26:27    73 |     this, "resize/image_raw", qos_profile, pub_options);
14:26:27       |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
14:26:27 In file included from /tmp/ws/src/image_pipeline/image_proc/include/image_proc/resize.hpp:38,
14:26:27                  from /tmp/ws/src/image_pipeline/image_proc/src/resize.cpp:39:
14:26:27 /opt/ros/iron/include/image_transport/image_transport/image_transport.hpp:75:17: note: declared here
14:26:27    75 | CameraPublisher create_camera_publisher(
14:26:27       |                 ^~~~~~~~~~~~~~~~~~~~~~~
14:26:27 gmake[2]: *** [CMakeFiles/resize.dir/build.make:76: CMakeFiles/resize.dir/src/resize.cpp.o] Error 1
14:26:27 gmake[1]: *** [CMakeFiles/Makefile2:230: CMakeFiles/resize.dir/all] Error 2
14:26:27 gmake: *** [Makefile:146: all] Error 2
14:26:27 ---

Maybe something was not backported to iron in image_common ?

@mikeferguson
Copy link
Member Author

Yeah - this won't work Iron - only rolling and forward (it requires an ABI-breaking change that couldn't go into iron, we ran out of time back in April) - so we should fork off an iron branch first

@mikeferguson
Copy link
Member Author

I just created an iron branch - https://github.com/ros-perception/image_pipeline/tree/iron - will update CI next

@ahcorde
Copy link
Contributor

ahcorde commented Jan 17, 2024

I just created an iron branch - https://github.com/ros-perception/image_pipeline/tree/iron - will update CI next

I saw your other PR here ros-perception/image_common@4965283

@ahcorde
Copy link
Contributor

ahcorde commented Jan 17, 2024

@mikeferguson I see you added yourself as a maintainer, I created this PR ros2-gbp/ros2-gbp-github-org#425 to be able to create releases, Let me know I should add you there too.

@mikeferguson
Copy link
Member Author

Once ros/rosdistro#39567 is merged, it will update what CI jobs run and this can be merged

@mikeferguson
Copy link
Member Author

PR to rosdistro is merged ... but buildfarm hasn't reconfigured yet I guess (since Iron is still triggering)

Copy link
Contributor

@ahcorde ahcorde left a comment

Choose a reason for hiding this comment

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

PR is merged, we can move forward

@mikeferguson
Copy link
Member Author

Ok - closing and reopening the PR this time - iron didn't retrigger so the build farm has reconfigured (just wanted to make sure that we didn't have issues for new PRs that get opened after this one is merged).

@mikeferguson mikeferguson merged commit 335e878 into ros-perception:rolling Jan 18, 2024
4 of 6 checks passed
@mikeferguson mikeferguson deleted the lazy_subscriber_support branch January 18, 2024 14:33
mikeferguson added a commit to mikeferguson/image_pipeline that referenced this pull request Jan 18, 2024
mikeferguson added a commit that referenced this pull request Jan 18, 2024
missed a few components in #815
Kotochleb pushed a commit to Kotochleb/image_pipeline that referenced this pull request May 27, 2024
This implements ros-perception#780 for ROS 2 distributions after Iron, where we have:

 * Connect/disconnect callbacks, per ros2/rmw#330 (this made it into Iron)
 * Updated APIs in ros-perception/image_common#272 (this is only in Rolling currently)
Kotochleb pushed a commit to Kotochleb/image_pipeline that referenced this pull request May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants