0
$\begingroup$

I am having some issues using ROS2 Humble and its DDS. I am using different nodes that run in the same machine and only communicate with other nodes in the same machine. I am using a router and the machine is connected via cable or wifi.

I am noticing that the connection is still saturated by the messages even if they should not pass within the router.

In fact with router A (Wifi, with lots of connections ongoing) the rate of the messages drops a lot when executing all the nodes. While on router B (connected via cable, where only this test is active) I noticed that by executing a benchmark with iperf3 I get really worse performance ( from >50 Mb/s to <1 Mb/s).

How can I avoid this behavior? Ideally I would like to have that the messages should not be transferred by the router if they are not used by other machines and the router bandwidth should remain totally free.

It is possible to enforce for some topics to use only the local network without going over the router?

And then the final doubt: In case the connection to the router is lost during operations does this mean that the nodes would not be able to communicate between them, even if they are on the same machine? How could this issue be solved?

These tests were performed on a Jetson Orin Nano with Ubuntu 22.04 and Ros2 Humble, I tested both fastdds and cycloneDDS but the behavior was the same.

$\endgroup$

2 Answers 2

1
$\begingroup$

It's probably not "topic" messages that you are seeing, but rather it's the DDS layer probing to find other ros nodes. Many people have complained about excessive bandwidth use by this feature. The common solution is to install a "Discovery Server", and configure each DDS to use it.

$\endgroup$
1
  • $\begingroup$ Hi, thank you for answering! I followed your suggestion and tried using Discovery servers, sadly I did not notice an improvement in the performances. With the discovery server (so using FastDDS) I obtained about the same performances as normal FastDDS. Using cycloneDDS I noticed worse rates than fastDDS when the different nodes are enabled but cyclone performances are better if I turn off the connection (better than fastDDs in the same condition). $\endgroup$ Commented Aug 7 at 13:42
1
$\begingroup$

Have you tried don't route cyclone setting? Also set localhost to 1.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.