Skip to content

Pointcloud2 widget defaults to Reliable QoS reliability setting which is incompatible with the recommended SensorDataQos #1616

@nbbrooks

Description

@nbbrooks

Generated by Generative AI

No

Operating System:

Ubuntu 24.04

ROS version or commit hash:

rolling

RMW implementation (if applicable):

rmw_fastrtps_cpp

RMW Configuration (if applicable):

No response

Client library (if applicable):

No response

'ros2 doctor --report' output

ros2 doctor --report
$ ros2 doctor --report
/opt/ros/rolling/lib/python3.12/site-packages/ros2doctor/api/__init__.py: 262: UserWarning: Fail to call PackageReport class functions.

   ACTION LIST
action                 : none
action server count    : 0
action client count    : 0

   ROS ENVIRONMENT
ROS environment variables        : ROS_AUTOMATIC_DISCOVERY_RANGE=SUBNET, ROS_DISTRO=rolling
rcutils environment variables    : 
rmw environment variables        : 

   NETWORK CONFIGURATION
inet         : 127.0.0.1
inet4        : ['127.0.0.1']
inet6        : ['::1']
netmask      : 255.0.0.0
device       : lo
flags        : UP,LOOPBACK,RUNNING
mtu          : 65536
inet         : 192.168.1.34
inet4        : ['192.168.1.34']
ether        : dc:46:28:ad:d9:dc
inet6        : ['fe80::c313:9b16:8a44:94f2%wlp0s20f3']
netmask      : 255.255.255.0
device       : wlp0s20f3
flags        : UP,BROADCAST,RUNNING,MULTICAST
mtu          : 1500
broadcast    : 192.168.1.255
inet         : 172.17.0.1
inet4        : ['172.17.0.1']
ether        : 5a:12:cc:d1:35:54
netmask      : 255.255.0.0
device       : docker0
flags        : UP,BROADCAST,MULTICAST
mtu          : 1500
broadcast    : 172.17.255.255

   PLATFORM INFORMATION
system           : Linux
platform info    : Linux-6.14.0-34-generic-x86_64-with-glibc2.39
release          : 6.14.0-34-generic
processor        : x86_64

   QOS COMPATIBILITY LIST
compatibility status    : No publisher/subscriber pairs found

   RMW MIDDLEWARE
middleware name    : rmw_fastrtps_cpp

   ROS 2 INFORMATION
distribution name      : rolling
distribution type      : ros2
distribution status    : rolling
release platforms      : {'debian': ['bookworm'], 'rhel': ['9'], 'ubuntu': ['noble']}

   SERVICE LIST
service          : none
service count    : 0
client count     : 0

   TOPIC LIST
topic               : none
publisher count     : 0
subscriber count    : 0

================================================================================
                                !!! WARNING !!!                                 
================================================================================
The report includes all ROS 2 endpoint information and system platform information.
Please review the report before sharing, as it may contain sensitive or private data.
================================================================================

Steps to reproduce issue

  1. source your setup.bash
  2. rviz2
  3. Add a Pointcloud2 widget By display topic or By topic
  4. Expand the Topic group in the sidebar and see that it always uses Reliable QOS

Expected behavior

When I add a pointcloud2 widget:

  • By display type
    It should default to the QOS settings defined by the Sensor Data QOS, which is the recommended settings for pointcloud publishers

  • By topic
    It should use the QOS settings defined by the publisher

Actual behavior

I was working on debugging some pointcloud functionality for an application in ROS 2 Humble. I have a pointcloud being streamed to a topic, but could not get it to visualize in the pointcloud 2 widget. I tried two methods of adding the widget:

  • By display type
  • By topic

For both of these methods, the default QOS reliability policy (this setting is collapsed by default in the widget sidebar, which makes this problem worse) is Reliable - which is incompatible with the recommended QOS for pointclouds which is the Sensor Data QoS (which uses Best effort). There is no indication anywhere in Rviz2 there is a QOS incompatibility.

I ran rviz2 in Rolling to confirm this behavior still exists there and "By display type" does. I am not sure about "By topic".

When you expand the by default collapsed Topic sidebar, you can see the QOS settings causing the problem (if you are familiar with QOS)
Image

Additional information

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions