Performing Looped Circles

Good Day Everyone,
I have a question about programming the Cobot. I’m trying to have the Cobot perform a variable number of circles (in toolspace, without fixed orientation).
To do that I’m using the moveP command (as it’s appearently the only command that allows for circular motion).

If that is important: I’m only programming in polyscope on the teach pendant.

To perform circles, I just use consecutive moveC commands. However, when the new circle is supposed to start (after one loop-roundtrip), the Cobot stops, complaining that the sweep radius is not big enough. Adding a short moveL sequence right after prevents this behaviour. However, the Cobot completely stops after each roundtrip.

I read that the appruptly stopping is a problem of the moveP order in general. How can you prevent it?

Greetings,
Ansgar

Hi Ansgar…

The moveP circular move function allows a max movement of 180deg…
You can therefore theoretically complete a a full circle in two sets of circular moves…
In my experience using 3 sets tends to preform better as it can be hard to hit 180deg precisely when programming the robot using polyscope.

And you might have to switch between the doing counter clockwise and clockwise circles to avoid reaching a joint limit.

Hope that helps
Best Regards Casper

Hey Casper,

I know that I can only do half-circles at max with one command, that is not the problem. However, I’d like to to a variable number of full circles, for which I try to employ the “loop” command. And here it happens that at the end of one loop command, doesn’t matter if it contains one, two or three half-circles, the cobot either appruptly stops, or complains that the sweep radius is not big enough.
It seems that the moveC command can’t handle loops, or that at least there are some extra things to keep in mind here.

Ok…
Can I ask how you are looping? aka what changes in each loop?
or are you simply trying loop the same circle again and again?

Best Regards Casper?

Your last guess is right. I try to loop the same circle again and again. And in between two loops, I’m experiencing problems.

I made the following program work, where Waypoint_1, endPoint2 and Waypoint_2 is acutally the same point…
needed to do this because moveP want to end with a blend radius of 0 which gave problems in the circle moves.
image

This works wonderfull. The only Problem now is to stop without a hard break.

Thank you for this solution.

hey,

i rememberd reading this thread.link to robotiq forum about variabel circel move’s.
also i read an thread about it on zacobria but can’t find it right now.

kind regards and good luck with it,

Corné

maybe stopl() is an solution?

https://forum.universal-robots.com/t/hard-braking-when-using-movep/12969/4

stopl(0.1) worked out quite well. Thank you.