UniversalRobots / Universal_Robots_ROS_Driver

Universal Robots ROS driver supporting CB3 and e-Series
Apache License 2.0
726 stars 392 forks source link

Robot disconnects from ROS and moves wild and dangerously. #703

Open RyanPaulMcKenna opened 1 month ago

RyanPaulMcKenna commented 1 month ago

Affected ROS Driver version(s)

Ubuntu 20.04

Used ROS distribution.

Noetic

Which combination of platform is the ROS driver running on.

Linux without realtime patch, Linux

How is the UR ROS Driver installed.

From binary packets

Which robot platform is the driver connected to.

UR E-series robot, Real robot

Robot SW / URSim version(s)

5.5

How is the ROS driver used.

Through the robot teach pendant using External Control URCap

Issue details

Summary

Short introduction to the issue and how it impact you and why

Robot disconnects from ROS and moves wild and dangerously.

Issue details

Detailed description help us understand the problem. Code are welcome!

I can connect fine and I am using MoveIt as per the examples for motion planning. Sometimes whilst the robot is moving it will become disconnected and start doing wild and dangerous movements. It would seriously hurt someone if they were close to the robot when this happens and they failed to jump out of the way.

Steps to Reproduce

Make simple example to reproduce the issue. Try to remove dependencies to other hardware and software components, if it is possible.

To reproduce use Moveit python script to control robot through pose goals with Moveit commander. After some time following a random disconnect the physical robot will perform dangerous movements it was not told to. You will need to setup the robot through the external control UR cap and connect Moveit through the example shown in usage example section of this repository.

Possibly this is caused by: singularities that moveit cannot handle, a bad ethernet cable (it happens), bug in ROS ur-robot-driver causing connection issues, something related to kinematic calibration (I did the kinematic calibration as per the instructions but possibly the URDF is wrong).

Expected Behavior

What did you expect and why?

I expected the robot to perform the simple movements it was instructed to.

Actual Behavior

What did you observe? If possible please attach relevant information.

Disconnect from ROS followed by wild and dangerous movements. This is on the physical robot.

Workaround Suggestion

If a workaround has been found, you are welcome to share it.

I have not found a work around yet. I am aware others have experience this. When I find the forum post I will link it to this issue.

Relevant log output

I do not have access to the logs.

Accept Public visibility

fmauch commented 1 month ago

Hi, thanks for posting this.

I have a couple of questions:

Usually, such things should not happen (and in our long-running tests doesn't happen), so we need to know a bit more about how to reproduce this. If you could share how exactly you get your application running in terms of: How do you create motion commands?