Skip to content

UR3e connection overflow, robot disconnects and ROS requires full restart. #1416

@tvu-radicalai

Description

@tvu-radicalai

Affected ROS2 Driver version(s)

3.3.0-1noble.20250520.224221

Used ROS distribution.

Other

Which combination of platform is the ROS driver running on.

Ubuntu Linux with lowlatency kernel

How is the UR ROS2 Driver installed.

From binary packets

Which robot platform is the driver connected to.

UR E-series robot

Robot SW / URSim version(s)

5.21.3 on robot

How is the ROS driver used.

Headless without using the teach pendant

Issue details

Issue details

Summary

I am running the UR3e headless over ROS 2 (jazzy, which is a slightly newer version but all functionality seems fine.

I am controlling the robot with MoveIt 2.

During operation, on my hardware (which is an Intel NUC with a modern processor) I get this issue:

[ros2_control_node-1] [ERROR] [1750169798.297154061] [UR_Client_Library:]: Pipeline producer overflowed! <RTDE Data Pipeline>
[ros2_control_node-1] [ERROR] [1750169798.299138637] [UR_Client_Library:]: Pipeline producer overflowed! <RTDE Data Pipeline>
[ros2_control_node-1] [ERROR] [1750169798.301144542] [UR_Client_Library:]: Pipeline producer overflowed! <RTDE Data Pipeline>

At this point, on the teach pendant we get the issue:

socket_read_binary_integer: timeout
Socket timed out waiting for connection on reverse socket. The script will exit now.
External control: stopping communication and control.

I am running Ubuntu 24.04 with a realtime kernel (or specifically low latency: linux 6.12.28-rt10, installed according to the UR client library guide).

The issue persists regardless of the state of robot_receive_timeout (which by default is 0.02, and I've increased it up to the maximum of 0.2).

Issue details

If I echo the topic joint_states I get a frequency drop off as this problem occurs:

	min: 0.000s max: 0.006s std dev: 0.00009s window: 10000
average rate: 499.850
	min: 0.000s max: 0.006s std dev: 0.00010s window: 10000
average rate: 371.105
	min: 0.000s max: 6.943s std dev: 0.06940s window: 10000
average rate: 371.136
	min: 0.000s max: 6.943s std dev: 0.06940s window: 10000
average rate: 371.135
	min: 0.000s max: 6.943s std dev: 0.06940s window: 10000

Steps to Reproduce

Launch UR3e (essentially Universal Robot's ROS driver, but we have custom code sending paths/planning collisions etc with MoveIt2, we are not using UR's MoveIt UI).

Run test script of motions (sending ROS 2 actions to set joint positions). If we run between two positions 100 times, it usually will fail (but sometimes makes it to 100)

Expected Behavior

No failure to maintain ros2 control frequency, no disconnect of UR/reverse socket timeout.

Actual Behavior

Robot fails execution during motion and full ROS stack needs restart to continue.

Workaround Suggestion

No workaround found yet.

I guess we could try downgrade to ROS 22.04 but I don't think this is the issue.

Relevant log output

Relevant log output

Accept Public visibility

  • I agree to make this context public

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions