Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable QoS overrides #181

Merged
merged 2 commits into from
Nov 3, 2021
Merged

Enable QoS overrides #181

merged 2 commits into from
Nov 3, 2021

Conversation

chapulina
Copy link
Contributor

@chapulina chapulina commented Sep 27, 2021

馃帀 New feature

Summary

From Galactic, it's possible to enable QoS overrides for nodes. This is very important for ros_ign_bridge because different topics may require different QoS settings. For example, sensor data should may be published as best-effort, and commands should be subscribed to as reliable.

This demo is a helpful example.

Test it

The air pressure demo has been updated to override the default reliability (reliable) with best-effort:

  1. ros2 launch ros_ign_gazebo_demos air_pressure.launch.py
  2. ros2 topic info /air_pressure --verbose
Type: sensor_msgs/msg/FluidPressure                                                                                                         
                                                                                                                                            
Publisher count: 1                                                                                                                          
                                                                                                                                            
Node name: ros_ign_bridge                                                                                                                   
Node namespace: /                                                                                                                           
Topic type: sensor_msgs/msg/FluidPressure                                                                                                   
Endpoint type: PUBLISHER                                                                                                                    
GID: 78.7d.10.01.cc.4b.05.8d.7e.a3.c3.e2.00.00.16.03.00.00.00.00.00.00.00.00                                                                
QoS profile:                                                                                                                                
  Reliability: BEST_EFFORT                                                                                                                  
  Durability: VOLATILE                                                                                                                      
  Lifespan: 2147483651294967295 nanoseconds                                                                                                 
  Deadline: 2147483651294967295 nanoseconds                                                                                                   Liveliness: AUTOMATIC                                                                                                                     
  Liveliness lease duration: 2147483651294967295 nanoseconds                                                                                                                                                                                       
...

Checklist

  • Signed all commits for DCO
  • Added tests (thought of it, but it would really be adding lots of new lines to test rclcpp)
  • Added example and/or tutorial
  • Updated documentation (as needed)
  • Updated migration guide (as needed)
  • codecheck passed (See contributing)
  • All tests passed (See test coverage)
  • While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge

馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻馃敻

Signed-off-by: Louise Poubel <louise@openrobotics.org>
@chapulina chapulina added the ROS 2 ROS 2 label Sep 27, 2021
@osrf-triage osrf-triage added this to Inbox in Core development Sep 27, 2021
@chapulina chapulina moved this from Inbox to In progress in Core development Sep 27, 2021
Signed-off-by: Louise Poubel <louise@openrobotics.org>
@chapulina chapulina moved this from In progress to In review in Core development Oct 13, 2021
@chapulina chapulina marked this pull request as ready for review October 13, 2021 01:07
@chapulina chapulina self-assigned this Oct 13, 2021
@chapulina
Copy link
Contributor Author

Thanks for the recommendations, @jacobperron . It would be great if you could do a quick review. Thanks!

Copy link
Contributor

@jacobperron jacobperron left a comment

Choose a reason for hiding this comment

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

Sorry for the delay. LGTM!

@chapulina chapulina merged commit 5d9cfef into ros2 Nov 3, 2021
@chapulina chapulina deleted the chapulina/qos_override branch November 3, 2021 00:18
Core development automation moved this from In review to Done Nov 3, 2021
@chapulina chapulina moved this from Done to Highlights in Core development Nov 8, 2021
@j-rivero j-rivero removed this from Highlights in Core development May 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ROS 2 ROS 2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants