How to create smooth robot motion for extrusion

I am trying to get a UR10e to follow an extrusion path created in grasshopper. The problem I am running into is that the movements between points is very jerky and robot shakes a lot while trying to follow this path. I think I might need to set blend radius but I do not yet fully understand the concept of it, so I am not sure how to calculate what blend radius I need. Do you think that is my problem, and do you have any tips or tricks to help me get past this issue?

Here is the top section of my URScript:

def Program():
  DefaultToolTcp = p[0, 0, 0, 0, 0, 1.5708]
  DefaultToolWeight = 0
  DefaultToolCog = [0, 0, 0]
  DefaultSpeed = 0.1
  DefaultZone = 0
  popup("Continue?", title="Yan Program",blocking=True)
  set_tcp(DefaultToolTcp)
  set_payload(DefaultToolWeight, DefaultToolCog)
  movej([1.3388, -1.9581, -1.7061, -1.0482, 1.5708, 2.9096], a=3.1416, v=0.3142, r=DefaultZone)
  movel(p[0.36356, 0.78859, 0.3467, 2.22144, 2.22144, 0], a=1, v=DefaultSpeed, r=DefaultZone)
  movel(p[0.36279, 0.79335, 0.34706, 2.22144, 2.22144, 0], a=1, v=DefaultSpeed, r=DefaultZone)
  movel(p[0.36181, 0.79808, 0.34726, 2.22144, 2.22144, 0], a=1, v=DefaultSpeed, r=DefaultZone)
  movel(p[0.36062, 0.80277, 0.34731, 2.22144, 2.22144, 0], a=1, v=DefaultSpeed, r=DefaultZone)
  movel(p[0.35922, 0.8074, 0.3472, 2.22144, 2.22144, 0], a=1, v=DefaultSpeed, r=DefaultZone)
  movel(p[0.35762, 0.81196, 0.34693, 2.22144, 2.22144, 0], a=1, v=DefaultSpeed, r=DefaultZone)
  movel(p[0.35582, 0.81643, 0.34651, 2.22144, 2.22144, 0], a=1, v=DefaultSpeed, r=DefaultZone)
  movel(p[0.35376, 0.82078, 0.34608, 2.22144, 2.22144, 0], a=1, v=DefaultSpeed, r=DefaultZone)
  movel(p[0.35099, 0.82471, 0.34655, 2.22144, 2.22144, 0], a=1, v=DefaultSpeed, r=DefaultZone)
  movel(p[0.348, 0.82849, 0.34696, 2.22144, 2.22144, 0], a=1, v=DefaultSpeed, r=DefaultZone)

try to apply minimum blend first.
maybe 0.1.
see if makes the movement a bit smoother.

if that fails,
it seems to me you have a high density of points that it might be better to use servoj instead of movej/movel.

1 Like

MoveP is also better suited for extrusion applications as it guarantees the velocity is maintained as opposed to ramped up and down in a MoveL (without Blend radius)

1 Like

thank you for your suggestions.

In the Robots grasshopper plugin there is no mention of blend radius but there is something called Approximation Zone (Z) which I am assuming is essentially the same concept.
I set it to 2 and that made the movement a lot smoother. I will play around with the value and test to see where the good balance is between accuracy and smooth movement.

In the create component I only see two options: Joint (movej) or Linear (movel). Could someone tell me how can I lean about all these other modes that you are talking about? What is MoveP, MoveL or servoj that you are speaking of? Is it possible to set those modes in grasshopper within the robots plugin?

Thank you for your help!

I’ma be real with you, I have no idea what grasshopper is or what I’m looking at in your pictures. I’m just talking about straight up URScript commands, which you can find here: https://s3-eu-west-1.amazonaws.com/ur-support-site/234367/script_directory_PolyScope5.pdf