Set motion-speed to 0 by event and resume to old values

Hello to all!

I am quite new in programming UR-robots but I have more experience in programming robots from other brands.
Right now I would like to know how I can stop the robot movement by an event and how to resume to the speed
which was before this event happened.
Our application is arc-welding, the event would be any fault of the current-source for welding. In this case the robot
has to stop and stay in this position until the current-source is ready again. By pushing an external acknowledge-button,
the robot should continue welding.
I guess I can use the stopl() command in a thread which detects the event. But I don’t know how to resume…

Regards, Herbert

Edit: is there any command with similar function as the “PAUSE”-button on the teach-pendant?

Hello,

I guess you would have to reissue movel command to get it moving. You have to remember last target. If you were moving in circle, tough luck. :slight_smile: It would also be possible, but more complicated.

I think Polyscope is cheating with pause button by setting speed slider to 0 over RTDE. Busted!

1 Like

If I activate the Input action “Pause the current program” for my input-signal from the current-source (READY-signal),
does it also pause the movement of the robot (while it is moving) or will the program only be paused in the next program-line?

You could either wire an input directly to the power source to use as a pause button, the fastest way to pause the robot, it will pause it almost immediately while in motion, or you can use the input and place it in an event then open a port to the dashboard server and send the pause command to the server. This is slightly slower but still pretty darn quick.

The UR pause occurs mid-execution and will hold all motion in its current position until the robot program is played again, execution will resume from where it was paused

3 Likes

Thanks a lot for this support!
I think I am on the right way now… :grinning:

Here is a complete example of how-to-do for my case:
https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/setting-the-speed-slider-from-a-program-15293/

This is what I need, my problem is solved :slight_smile:

1 Like

Hi, I have exactly the same problem. But the solution only works when the speed_low value is greater than 0. If I set it to 0, the movement does not restart. How to achieve a full stop? The only thing I can do is to set a very low speed, e.g. speed_low=0.0000001.

TestInterrupt.urp (1.8 KB)