-
Notifications
You must be signed in to change notification settings - Fork 10
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
Support for specifying QoS per subscriber/publisher/etc? #1
Comments
It's not that difficult to add. But you're right it's a lot more critical in ROS 2 than in ROS 1. |
Starting to work on it now. |
Alright, unfortunately, I don't have a lot of time to work on this in the next two weeks but I have finished the implementation and some tests for the Roadmap:
Not sure if it also makes sense for ActionClients, ServiceClients, and Tf. |
Hi, thanks already 👍 I'll try to take a look next week and test it. I'll submit some PRs if I can figure out how to add the necessary changes to publishers and the rest of the entities you mention. |
The changes aren't that big, if you require them, I can add the functionality and follow up with tests later. |
I'm getting back to this, and I'm wondering how far we want to take this. Almost all ROS 2 entities wrapping DDS readers/writers have associated QoS settings. Would we want to expose those in the QML wrapper as well? Subscriptions and publications are obvious. But service servers and clients also support it -- although I've seen most users just assuming the defaults will work for them (ie: the default profile). Action servers and clients also support configuring QoS, but since those are composites of publishers, subscribers and service servers and clients, configuration gets a bit more complicated. I've not yet looked at how BabelFish supports with QoS for service servers and clients, but first wanted to discuss a bit whether those should be included at all. Personally I'd say yes, but you're the maintainer here ;) |
Generally, I am always a fan of feature completeness. The question is mostly about priority.
If it doesn't, I can add it but since most of the implementations for that are just adapted from the default rclcpp implementation, I would assume it does support it without having looked at it. |
Service QoS is easily added I believe. BabelFish supports it already. I won't do Actions then. Somewhat related: |
Yeah, I've committed them to the wrong branch and cherry-picked back to master.
Are you working on a PR right now? |
yes.
If you're happy, I'm happy :) |
Okay, then I'll work on humble support for LOEWE-emergenCITY/ros_babel_fish#2 first. The action client in |
Submitted a draft in #3. |
(My apologies for not following the template, but this isn't really a bug report, more of a question. I'd posted it on the Discussions forum, but it's not enabled)
Thanks for making this binding available.
Trying out creating a subscriber for a topic published by a publisher not-under-my-control, I discovered the subscriptions created by
Ros2
useRELIABLE, VOLATILE
. My publisher usedBEST_EFFORT, VOLATILE
, which makes them incompatible.The only reference to QoS is on the Publisher documentation page, and it seems it cannot be changed for subscribers.
I haven't checked, but what would be needed to support specifying QoS parameters per subscribers/publisher/other-QoS-affected-entity?
It's the only thing blocking me from being able to no longer stare at terminals and
grep
ping output ofros2 topic echo ...
:)The text was updated successfully, but these errors were encountered: