UDP communication interference between ZED2i and Robot arm via ROS2

Hi,

We’re connecting a Linux computer to a KUKA robot (ethernet cable) and a ZED2i camera (c-type cable). However, we are facing an issue - both devices can’t be tethered within the same ROS2 domain.

Find more details here: UDP communication interference between ZED2i and Robot arm via ROS2 · Issue #190 · stereolabs/zed-ros2-wrapper · GitHub

240x120 UDP communication interferece between ZED2i and Robot arm via ROS2 · Issue #190 · stereolabs/zed-ros2-wrapper

Preliminary Checks This issue is not a duplicate. Before opening a new issue, please search existing issues. This issue is not a question, feature request, or anything other than a bug report direc…

Everything runs smoothly when connected solely to the robot; robot simulation control is seamless. On the other hand, without a robot connection, all the ZED tools are working flawlessly. But, when the ZED2i camera comes into play with robot connection, all active terminals start spitting out the following:


[control_node-1] 1698357420.879862 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

1698357420.902612 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

[robot_manager_node-2] 1698357420.979563 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

[robot_manager_node-2] 1698357420.979697 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

[control_node-1] 1698357420.979805 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

[control_node-1] 1698357420.979821 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

1698357421.002722 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

[robot_manager_node-2] 1698357421.079865 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

[control_node-1] 1698357421.079892 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

1698357421.102879 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

[control_node-1] 1698357421.179963 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

[robot_manager_node-2] 1698357421.180049 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

1698357421.202999 [0] tev: ddsi_udp_conn_write to udp/239.255.0.1:7400 failed with retcode -1

We attempted a workaround by utilizing ROS DOMAIN_ID. DOMAIN_ID = 1 for Kuka and DOMAIN_ID = 2 for the ZED 2i camera, but it proved ineffective. If you’ve successfully linked a robot with any sensors before, could you share your approach to setting IPs or interface configuration for each machine? Alternatively, if you’re familiar with the error mentioned above, any guidance would be highly appreciated. Thank you!

Hi @Bardhitoo
Welcome to the Stereolabs community.

As I wrote on the GitHub issue (please do not cross-post) that’s probably a UDP ports conflict issue.
Normally two devices in the same robotics configuration should use the same DOMAIN_ID, otherwise, they cannot communicate, so I think that’s not the correct way to explore to solve the problem.
In your case, I suspect a conflict between the Kuka interface and the ROS 2 DDS Middleware interface that is not caused by how the ZED ROS2 Wrapper is made.
I suggest you start with the ROS 2 documentation to better understand what UDP ports can conflict, and then eventually ask the ROS 2 community to receive detailed information about how the DDS Middleware works.