ROS2 Image Stream in Multiple Devices
Hi, I have ROS2 installed on my laptop and my Jetson AGX Xavier (JP 5.0.2/Foxy). I try to Send and receive image data from each other. I have my QoS Setting to Best Effort, Keep Last, with Depth 10, but it's still too slow and sometimes it just stops for a while in the subscriber node. I have researched several forums including this ROS forum and still didn't find any answer yet. I connected the device using ethernet. Thank you.
Asked by januarks14 on 2022-12-05 02:26:20 UTC
Answers
Hello, can you a minimal reproducible example with more information?
How big are your images? Can you lower their resolution? Maybe you should compress their resolution a bit (based on your needs, of course). Choice of C++over Python implementation of your subscriber node also can speed things up.
Perhaps you can also check zero-copy transfer (here: https://discourse.ros.org/t/using-zero-copy-transport-in-ros2-with-ros2-shm-msgs/26226).
This tutorial is for ROS1 Noetic and Raspberry Pi, but you can check some more general hints:
Other similar questions/related links:
https://answers.ros.org/question/397329/low-frame-rate-when-publishing-image-messages-in-ros2/ - suggestion of DDS tuning is helpful
Asked by ljaniec on 2022-12-05 08:02:55 UTC
Comments
Hi, Thank you for your answer. I found that my ROS2 prioritize wifi as main network. I just found this https://answers.ros.org/question/384008/ros2-prioritize-wifi-over-ethernet-by-default-whitelist-interface/ to solve my problem. Anyway, I will try zero copy and DDS tuning too.
Asked by januarks14 on 2022-12-07 01:28:45 UTC
Comments