ros2 / rmw_cyclonedds

ROS 2 RMW layer for Eclipse Cyclone DDS
Apache License 2.0
112 stars 91 forks source link

Poor Image Transport Performace #328

Open allenh1 opened 3 years ago

allenh1 commented 3 years ago

Bug report

Required Info:

Steps to reproduce issue

Send a 1080p raw image over wifi from a xavier agx computer and an amd64 laptop.

Expected behavior

As with ROS 1, the image may arrive late, but will consistently arrive with little overhead.

Actual behavior

An image never makes it through to my laptop, and the network traffic increases to a point where my ssh session becomes unusable.

Additional information

It should be noted that the image does arrive if I make it quarter resolution.

The Ubuntu 18.04 xavier does run foxy, which is why we build from source.

brennand commented 3 years ago

Did you ever solve this? I have the same problem with pointclouds.

On my local laptop I can echo the msg. But on a remote computer I can get the topic list and also echo successfully /tf and other msgs. But I never get the pointcloud.

eboasson commented 3 years ago

@brennand there are a few things you can check that may make the difference, while we try to figure out what exactly causes the problems @allenh1 describes.

First things to do is:

I don't know if this will make any difference, but it is worth looking into. Perhaps https://github.com/ros2/rmw_cyclonedds/issues/251 gives some useful information, too.

Yadunund commented 2 years ago

@allenh1 and @brennand , can I check if you are building foxy in Release mode on the AGX? Following the default instructions will not build in Release and that will have a significant impact on image transport performance. This in combination with @eboasson 's recommendations should work well.

ros-discourse commented 2 years ago

This issue has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/ros2-speed/20162/25

allenh1 commented 2 years ago

@allenh1 and @brennand , can I check if you are building foxy in Release mode on the AGX?

This is built with using -DCMAKE_BUILD_TYPE=Release.

Is there a way to adjust QoS with image_transport? I haven't seen a way in Foxy. Would be great if there was!

nguyentuanHUST commented 1 year ago

Hi everyone. Any update for this issue? We're having same problem when publishing large data of image, pointcloud with size more than 5MB to remote node subscription as well. The subscription rate was dropped from 30hz to 10hz