#### Discussion

Back to discussions page
Posts: 23 Apprentice
Hello,

In our company, we want to use a Cobot for a special application :  glue application in the corners of a circular face ( alike this video https://www.youtube.com/watch?v=jWhsL74CL9c)

I want the robot to add an angle α at its movements in order to reach the corners all over the circular path like this :

Here is the program for having a simple circular path (without any angle) :

In order to have the angle all over the path I changed the program :      I added +/-0.2 radian at RX or RY for p1, p2, p3 and p4 :

But this is what I got on a video (Watch FullSizeRender.MOV)

The Robot is not tilted constantly...                   Should I add more MoveP points ?

• Posts: 34 Handy
Hello,

I've never used the circle movement so I'm not sure I can help but here some questions that might help you to find a solution:
-How and where did you define your tool?
-In your video, you robot seems to have the good orientation on p2 and p4 but not in p1 and p3 where it looks more vertical. Don't you use an unconstrained movement? It only use the orientation of the first and final point and not the orientation of your p1 or p3 (as the function is described). I'm curious to see what a fixed movement would do
-A solution can be a movep or movel with lots of points but not nice to see...
• Founding Pro, Tactile Sensor Beta Testers Posts: 1,261 Handy
The way we did that circle in the youtube video you linked to was to write a formula that calculated each position around the circle and then we simply used a movej to go to each of those points, another way would be to use a servoj which would give you smoother motion.  We did all of this back in 2016 because the circle move from UR was very difficult to work with, they have since made it much easier

But we do this everyday now in the welding application we have developed using the actual movec command and we are able to hold our torch positions very accurately as we go around the circle or we can allow it to transition from start to stop point of the move.  One key thing to remember is that the mid point of the arc is not controlled for angle, only xyz position.  Another key thing that we have found when doing a full circle is to use 3 movec commands effectively breaking the circle into 3 segments of 120 degrees, this keeps the tool in the orientation that you want much better, for instance an inside versus an outside circle.
• Vacuum Beta tester Posts: 609 Expert
You could eventually place and orient the TCP at the rotation center and make a simple rotation around TCP Z axis.
• Posts: 23 Apprentice
@Loïc  @matthewd92

Thank you ! It’s right.. The robot doesn’t use the orientation of any first Movep point...

I changed parameters to make the movement fixed and it’s much better but the proble still the same...

I tried movec function but it’s worse...
• Posts: 23 Apprentice
@bcastets

Right ! I thought about this solution but first I want to try a program that could make this possible..
• Founding Pro, Tactile Sensor Beta Testers Posts: 1,261 Handy
You’re MoveC should be under a moveP command. Also, since your circle is divided into 2 180 degree arcs you do not need to do 3 circle moves. You should end at P4 since that is where you started.

I would also change your pose_add function to be a pose_trans function so that you are relative to the coordinate frame of reference of the center point, not the base frame of the robot. Depending on how your tool was oriented when you taught the center point it may not have the exact same axis alignment as the base since the pose is stored relative to the tool frame in base coordinates.
• Posts: 23 Apprentice
@matthewd92