-
Notifications
You must be signed in to change notification settings - Fork 304
Description
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