Home Programming


Left ArrowBack to discussions page
haneulineshaneulines Posts: 22 Apprentice

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 :

Example :     p1:=pose_add(center,p[r,0,0,0.2,0,0])

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

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


  • LoïcLoïc Posts: 29 Handy

    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...
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,161 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.
  • bcastetsbcastets Vacuum Beta tester Posts: 237 Handy
    You could eventually place and orient the TCP at the rotation center and make a simple rotation around TCP Z axis.
  • haneulineshaneulines Posts: 22 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...
  • haneulineshaneulines Posts: 22 Apprentice

    Right ! I thought about this solution but first I want to try a program that could make this possible..
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,161 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. 
  • haneulineshaneulines Posts: 22 Apprentice

    Thank you for your quick reply !

    Here is a video after modifying the program.. It still doesn’t work..

    It seems like for the first circle arc, the UR3 keeps an angle of 0.4 rad and then loose it when the second circle arc start...
  • haneulineshaneulines Posts: 22 Apprentice
    I forgot to send the program :sweat_smile:

Sign In or Register to comment.
Left ArrowBack to discussions page