ros-industrial / ur_modern_driver

(deprecated) ROS 1 driver for CB1 and CB2 controllers with UR5 or UR10 robots from Universal Robots
Apache License 2.0
302 stars 340 forks source link

UR will not stop at the target position unless speed is set to 100% #302

Closed xarthurx closed 5 years ago

xarthurx commented 5 years ago

Using MoveIt to compute trajectory and execute.

If I set the speed to 100%, no problem. (set on the panel with the slider) If I set the speed to n < 100%, robot will not stop at the target location, but continues to move and slowly stop little by little.

Ubuntu 18.04 ur_modern_driver compiled from catkin (It also affect ubuntu 16.04 on another machine)

command executed from websocket through rosbridge.

Is this a bug in the driver?

gavanderhoorn commented 5 years ago

The driver will assume that motion commands take a certain amount of time. By changing the speed slider value, you change that time, but unilaterally: MoveIt doesn't get notified, nor do the controllers.

This is the likely cause of the "desync" that you observed.

Is this a bug in the driver?

No. At the moment this is expected behaviour.

You could see whether configuring the same velocity and acceleration scaling in your MoveIt plan request improves the situation, but especially the acceleration scaling will not be trivial to get just right.

gavanderhoorn commented 5 years ago

I'm going to close this as I'm going to assume that we've sufficiently dealt with the issue you report and that it's not something we can change in the driver for now.

Feel free to keep commenting on the issue of course.

slessans commented 5 years ago

this should be documented in the README