-
Notifications
You must be signed in to change notification settings - Fork 774
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
QoS mismatch between gazebo_ros_camera and gazebo_ros_video #1218
Comments
In retrospect, I think all gazebo_ros pub/subs should use the default QoS profile (not the "sensor data" QoS profile). I.e. avoid best effort publishers, since most subscriptions (by default) will be expecting reliable transport. |
@BrettRD Rather than updating the video plugin to use best effort, I think we should change all of the other plugins to publish reliable (use the default QoS settings). I believe that should fix the issue. Do you have time to make this change (I'm happy to review it)? |
I have this patch on a local branch, I'll send a pull request shortly. |
I believe this was resolved in ros2/geometry2#381 for Foxy and the forward port is pending review in #1235 |
@shonigmann Can you please add an explanation on how to change the QOS? I only see that it is possible, but finding it hard to find the way to change UPDATE
|
A QoS mismatch between camera and video plugins prevents an image topic from the camera being projected onto a surface.
The choice of QoS by the camera plugin also causes issues with rviz, rqt, and just about every other subscriber I've tried.
Pull request #926 would lead me to believe the camera plugin is the only topic in ROS that is using the correct QoS for its type, so I think this is a bug with gazebo_ros_video
Description
When using gazebo_ros_camera and after #1052, the camera plugin produces a message with QoS
RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT
which is expected,but the video pluigin subscribes with QoS
RMW_QOS_POLICY_RELIABILITY_RELIABLE
As a result, the subscription cannot receive any messages because of the QoS incompatibility.
To Reproduce
Create a SDF with camera and video plugins, remap them to the same topic
launch the world with
inspect the topic with verbose output
The camera output is visible to
ros2 topic echo
, but it is not visible to rqt, and it is not displayed on the texture.Expected behavior
The camera output should be visible in the texture rendered by gazebo_ros_video.
The subscriber in gazebo_ros_video should use a QoS of
RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT
either by convention, or by reading it from the image topic settings.Screenshots
full topic info output
Environment (please complete the following information):
7bf18c7ad727e0d5f3c80c4dee01fc1429c16093
Additional context
https://index.ros.org/doc/ros2/Concepts/About-Quality-of-Service-Settings/
#1031
#926
ros-visualization/rqt_image_view#41
ros-visualization/rqt#187
http://docs.ros2.org/foxy/api/rclcpp/classrclcpp_1_1QoS.html
I'm interested in submitting a PR for this, and propagating QoS tolerance into rqt
The text was updated successfully, but these errors were encountered: