Universal_Robots_ROS2_Driver
Universal_Robots_ROS2_Driver copied to clipboard
Dangerous Robot Behavior When Resuming External Control After Manual Jogging
Affected ROS2 Driver version(s)
2.4.8
Used ROS distribution.
Rolling
Which combination of platform is the ROS driver running on.
Ubuntu Linux with standard kernel
How is the UR ROS2 Driver installed.
From binary packets
Which robot platform is the driver connected to.
UR CB3 robot
Robot SW / URSim version(s)
3.15.8
How is the ROS driver used.
Through the robot teach pendant using External Control URCap
Issue details
Summary
I’m using ROS2 24.04, ROS2 Jazzy, and the 2.4.8 driver version from binary packages to control two UR3 robots in the same environment. The setup involves using a single control manager to start all controllers, and the arms can be controlled successfully using MoveIt. Here's the draft PR I wrote for the tutorials repository: https://github.com/UniversalRobots/Universal_Robots_ROS2_Tutorials/pull/3
However, I’m encountering a critical issue when pausing the external control program on the pendant, manually jogging the arm, and then pressing play again. The robot rapidly moves back to its previous position with the speed scaling set to 100%, which is extremely dangerous. To mitigate this, I’ve been setting the speed scaling to below 10% and am always ready to hit the emergency stop.
Occasionally, after starting the external program, the robot moves to an unexpected position, possibly due to leftover processes from the previous ROS2 control session not fully shutting down. For safety, I stop the driver launch before jogging the arm, then restart the driver afterward.
Steps to Reproduce
- Use the draft pull request here with your choice of UR arms, IPs, and Ports.
- Set the robot’s speed scaling to a low value (below 10%).
- Pause the external control program on the pendant, manually jog the arm, and press play.
- Observe the robot’s behavior when resuming the program.
Expected Behavior
The robot should either maintain its current position or move safely and smoothly to the new commanded position after jogging, regardless of speed scaling.
Actual Behavior
The robot moves rapidly to its previous position, with speed scaling set to 100%, creating a hazardous situation. On rare occasions, the robot moves to an incorrect position after restarting the external control program.
Request for Assistance
I’ve reviewed the launch files and parameters but cannot pinpoint the cause of this issue. I would appreciate any guidance or suggestions on how to resolve this dangerous behavior.
Relevant log output
No response
Accept Public visibility
- [X] I agree to make this context public