Upon a survey, many teams really want to know whether the latency of ROS2 communication is acceptable for RoboCup use. If anyone has (their own or a link to a publication) benchmarks results of ROS2 node communication latency across:
- DDS Providers
- Intraprocess Zero-Copy Transport
- Interprocess Shared-Memory Transport
share them here! Remember to write the hardware platform(s) in your comment.
Yes, we are strongly interested in having a ROS benchmark on communication latency between topics ! We are thinking abour moving to ROS2, and this is a key point for going further…
In our 2019 paper ‘ROS 2 for RoboCup’ we performed some benchmarking on our humanoid robot, specifically around the benefit of ROS 2’s zero-copy ‘intra-process communication’.
We have released the code to perform the benchmarks here: Bold Hearts / ros2_benchmark · GitLab. It may need some updates to run on the latest releases of ROS 2.
At the time we were mostly interested in the effects on total latency that includes processing, especially of images and while running a collection of nodes in parallel. So in there we don’t report sinple latency just from the moment of publication to reception. There are multiple other reports and tools out there that report on that. One is at https://github.com/irobot-ros/ros2-performance, and the readme of that repository has an extensive list of other examples and resources on the topic of ROS 2 performance as well.
@MSL-RCT @sgvandijk, Welcome to RoboCup Cross-Cutting — thanks for contributing!
@sgvandijk, Your paper and workshops have helped me in getting ROS2 up and running on the NAO. If teams are planning on moving to ROS2, it is definitely worth the read. Thank you for sharing!