Hello everyone,
I’ve completed the project titled Zenoh Support & Benchmarking with my mentors @sjahr and @Henning_Kayser . In the scope of this GSoC project, i’ve implemented middleware benchmarking tool which aims to compare the middleware performance for rmw_zenoh, rmw_fastrtps and rmw_cyclonedds, tried to find undiscovered bugs in rmw_zenoh. we’ve shared the blog post about this project. Note that it’s used this branch in bechmarking.
I also have made the presentation at MoveIt GSoC 2024 Final Results: Show & Tell meeting. For those who want to take a look at the presentation, it’s accessible at this link
As you can see in the presentation, we have the middleware benchmarking tool. We’ve aimed not just to conduct benchmark for basic topic sub pub
but also to conduct benchmarks for real robotic scenarios whereas ApexAI’s performance_test tool just analyses for core ros concepts. For example planning pipeline at robot
, high level task planning with MoveIt
etc. With this, we’ve tried to understand if rmw_zenoh is suitable for MoveIt project.
Github: moveit_middleware_becnhmark
I’ve tried the best i can do during summer and i’ve hope i’ve helped in a best way for ros2 core team to fix bugs in rmw_zenoh. I’m wondering if there are some community which analyses ros middlewares like rmw_cyclonedds, rmw_fastrtps and so on. Because It was challenging for me to develop the middleware benchmarking tool in some parts like kernel configurations for benchmark reliability and so on. If there is such a community, i at least want to join their meeting and learn about their ideas. Because i couldn’t see the active tool to compare my results.
Finally we’ve seen that rmw_zenoh can achieve same performance as rmw_fastrtps and it has potential to use in real robotic applications in the future even though rmw_zenoh still has some bugs and in development phase. We also have seen that MoveIt can be used with rmw_zenoh middleware at the moment.
Thanks goes to my mentors @sjahr and @Henning_Kayser . Other thanks goes to @JEnoch for valuable suggestions at Zenoh Community (especially discord). I couldn’t complete this project without their helps.
Please test rmw_zenoh and help for ros2 core team to fix bugs. I think that to try rmw_zenoh in other computers makes its development phase easier
PC specifics:
CPU | Intel® Core™ i7-6700HQ Processor 4 core 8 thread |
RAM | 8 GB DDR4 2133MHz |
OS | Ubuntu 22.04 |
ROS version | rolling |