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
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).