Lost large messages across subnets

asked 2022-09-20 03:35:26 -0500

Eumenes gravatar image

I am currently having trouble with ROS2 communication across subnets. The problem is that large image data is lost when the robot and PC are located on different subnets within the same domain. I am able to read topics other than images(tf, camera_info).

(1) Case of 640x480px RGB for image data.

  • "ros2 topic list" displays the correct list of ROS2 topics
  • "ros2 topic echo /camera/rgb" shows error message (A message was lost!!!)
  • No Image" is displayed in rviz2

(2)Case of 160x120px RGB image data

  • "ros2 topic list" displays the correct list of ROS2 topics
  • "ros2 topic echo /camera/rgb" can display pixel value
  • rviz2 can display the image

I checked similar topics, but changing the buffer size in DDS did not solve the problem.

I also created a fastDDS configuration file "DEFAULT_FASTRTPS_PROFILES.xml" and tried changing SocketBufferSize, QoS type, and number of instances retained, but the problem was not resolved.

Is there any solution for lost topics in ROS2(fastDDS) communication across subnets?

edit retag flag offensive close merge delete

Comments

Ahoy! Could this be an issue due to IP fragmentation? Do all of the network devices on route between the two machines support packet fragmentation, or does the DDS vendor used support IP fragmentation for your target transport and QOS?

https://community.rti.com/solution-ke...

Or could this be an issue with Increasing the Transmit Queue Length of an interface?:

https://fast-dds.docs.eprosima.com/en...

ruffsl gravatar image ruffsl  ( 2022-09-20 10:50:43 -0500 )edit

Thanks for the advice. I tried the settings you linked to regarding fragmentation and Queue size, but it didn't change the situation.

A very basic question: is it only on the sending side that the fastDDS XML file is created? Do I need the same XML settings on the receiving side?

For reference, the current situation is summarized in the figure below.

image description

Eumenes gravatar image Eumenes  ( 2022-10-06 00:28:22 -0500 )edit

Hmm, I'm not sure. Perhaps you could ping/@ some of the FastDDS developers to take a look at this?

ruffsl gravatar image ruffsl  ( 2022-11-22 08:11:58 -0500 )edit

Hi! Have you solved this issue? I'm actually facing the same problem. I'm working with a multi-robot collaborative SLAM, and when the map grows, the message can't be received from other robots.

Ricardo_Ercoli gravatar image Ricardo_Ercoli  ( 2023-05-20 16:50:37 -0500 )edit