IntelRealSense / realsense-ros

ROS Wrapper for Intel(R) RealSense(TM) Cameras
http://wiki.ros.org/RealSense
Apache License 2.0
2.45k stars 1.72k forks source link

Feature Request: More granular control of Quality of Service (QoS) #3144

Open hello-amal opened 2 weeks ago

hello-amal commented 2 weeks ago

Issue Description

As far as I can tell, currently realsense_ros only allows users to set one of the discrete quality of service (QoS) presets for its topics (code here). Those presets are defined in rmw, here.

However, there are cases where users may want a QoS not amongst those discrete presets. For example, I have a use case where I want a reliability of BEST_EFFORT and a history of KEEP_LAST with a depth of 1. None of the preset QoS's match that -- the closest I can get is using the preset for sensor data, which has a depth of 5. The only way around this is by changing the system default, which depends on the RMW implementation one is using.

Hence, it would be great to allow users to specify their desired QoS with more granularity than is currently allowed. I'd propose having one parameter per dimension of a QoS policy (e.g., history, depth, reliability, durability, etc.), which are initially set to reasonable defaults but can each be overriden. This will provide the user full control over the QoS used by realsense_ros publishers.

MartyG-RealSense commented 2 weeks ago

Hi @hello-amal Thanks very much for your feature request. Let's keep the issue open for a time to give other RealSense ROS users the opportunity to comment whether they would also like this feature to be implemented.