Hi everybody,
Currently ROS 2 doesn’t provide a standard method for externally configuring QoS profiles, which are typically hardcoded by the node’s author.
ROS 2 is a framework where reusing nodes other people have written is important.
For some use cases, it is quite useful to use a different QoS profile than the one original specified.
There have been different ad-hoc solutions to the problem in different packages:
https://github.com/ros2/design/pull/296 proposes to define a QoS profile file format and to add support to it in rcl.
Here is a basic example:
/**:
ros__qos_profiles:
profiles:
reliable_depth_100:
base: ros_default
reliability: reliable
history_depth: 100
history: keep_last
/my_ns/nested_ns/my_node:
ros__qos_profiles:
publisher:
topic_name: asd
qos:
base: reliable_depth_100
publisher:
topic_name: bsd
qos:
base: reliable_depth_100
Check out the design document for more details.
Feedback is really welcomed!
(prefer giving feedback in the design doc PR, and not here).
Best,
Ivan
5 Likes