Skip to content

Use rclcpp::SystemDefaultsQoS in servo#721

Merged
henningkayser merged 3 commits intomoveit:mainfrom
tylerjw:servo_default_qos
Oct 12, 2021
Merged

Use rclcpp::SystemDefaultsQoS in servo#721
henningkayser merged 3 commits intomoveit:mainfrom
tylerjw:servo_default_qos

Conversation

@tylerjw
Copy link
Copy Markdown
Member

@tylerjw tylerjw commented Oct 4, 2021

Description

This standardizes the QoS used by servo to be the default that the ROS documentation recommends for pub/sub interfaces.

Checklist

@codecov
Copy link
Copy Markdown

codecov bot commented Oct 4, 2021

Codecov Report

Merging #721 (893e5a0) into main (b9f1a83) will increase coverage by 0.02%.
The diff coverage is 90.91%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #721      +/-   ##
==========================================
+ Coverage   54.24%   54.26%   +0.02%     
==========================================
  Files         192      192              
  Lines       20224    20230       +6     
==========================================
+ Hits        10969    10975       +6     
  Misses       9255     9255              
Impacted Files Coverage Δ
...veit_servo/include/moveit_servo/servo_parameters.h 69.24% <ø> (ø)
moveit_ros/moveit_servo/src/servo_calcs.cpp 70.97% <87.50%> (+0.23%) ⬆️
moveit_ros/moveit_servo/src/collision_check.cpp 85.97% <100.00%> (+0.26%) ⬆️
moveit_ros/moveit_servo/src/pose_tracking.cpp 77.78% <100.00%> (+0.13%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b9f1a83...893e5a0. Read the comment docs.

Copy link
Copy Markdown
Member

@henningkayser henningkayser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is so much cleaner than the magic numbers. What is the typical system default profile? With rmw_qos_profile_default we would at least make sure the settings are reasonable. I don't have too much insight what to use here, though.

@tylerjw
Copy link
Copy Markdown
Member Author

tylerjw commented Oct 5, 2021

I tried reading into the QoS settings and the code inside rclcpp for it and it seems this system default is what is recommended for most pub/sub. I created this issue because for a while I was trying to add one for rmw_qos_profile_default: https://answers.ros.org/question/387911/should-there-be-a-defaultqos-or-default-constructor-for-qos/

@tylerjw
Copy link
Copy Markdown
Member Author

tylerjw commented Oct 6, 2021

I found this comment:

In ROS2, Using qos_profile = rmw_qos_profile_system_default will use the default xml configuration from the installation directory of the DDS vendor, RTI CONNEXT in this case.

I think this means that by using system default we are leaving it up to the default set by the middleware vendor or the XML file for configuring that middleware. I think this is probably more ideal for pub/sub interfaces as they are then whatever the dds implementers think is the best default config or they are what someone has configured for the default config for pub/sub on their system.

Copy link
Copy Markdown
Contributor

@vatanaksoytezer vatanaksoytezer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have much insight on Qos's either but looking at this I agree with Henning's comments in the sense that this is much better than using a magic number.

@henningkayser henningkayser merged commit c6384e9 into moveit:main Oct 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants