Robot shakes/trembles too much

Greetings UR Community,
I’m having a few troubles regarding some robot movements. The movements are MoveP and require a speed between 100-200 mm/s. I am using small accelerations (50-100 mm/s^2) and yet the robot vibrates too much. The waypoints are very close to each other and are complex enough to the point I have to change orientation of the TCP between consecutive waypoints
Does anyone have any idea how I can fix without decreasing the speed?
I look forward to hearing from you
Best regards
Pedro Monforte

You don’t say whether this is a CB3 or e-series robot and what size it is. Is it shaking as it traverses a path from one waypoint to the next or as it goes through many waypoints? It might be the use of moveP itself that is causing this problem. Make a long linear move using moveL and see if that shakes too much, if it doesn’t then the issue is not with the robot but the programming.

In general, a UR3e is going to give the worst results in terms of steady repeatable motion over a linear path at low speeds (< 250mm/s). You are going to see the most unsteadiness with this model and that has to do with the lack of mass in the arm (there is nothing you can do about this).

Thanks for the reply. I am using an UR10 E-Series with the force mode activated. Depending on the aplication, the force can be only vertical or it can be against an object as it covers its perimeter (this is the motion type of force I think)
The waypoints are very close to each other but I’ll try to increase the distance between consecutive waypoints and analyse the behavior of the robot. The operation I am performing demands the waypoints to be close to each other (less than 10 mm apart).
I’ll implemment what you said
Best regards,
Pedro Monforte

As a point of reference, we have customers running with speeds as low as 50mm/s with UR5e doing dispensing and they are getting good results. With a UR10e you should be able to do this. Curious why you are using moveP for this, is it because you want a constant TCP speed? Also, using force mode is potentially going to make it more challenging but it depends on the interaction of force mode vector with positioning mode. As an example, when using force mode with a TCP frame and only applying force in the Z of the TCP you would want to avoid movements in the Z direction (using the moveP command under the force node). You don’t want to make position moves in the same direction as applying force because you will have two different control loops working on the same control variable… does that make sense?

I am using moveP because I need a constant TCP speed as well as a movement as smoothing as possible. Since the waypoints are very close to each other, I’ve been using union radius of around 8 mm. I can’t give too many details of my application, but there are two types of force I can apply.
1 - Force on Z (in this case there aren’t significant changes of the Z coordinate between waypoints)
2 - Motion force (I am running the perimeter of a fixed object and the robot exerts force against the object. That is, the force not always has the same direction. The best way to explain this is by this: let’s imagine we have a circumference and we are moving from one point to another while pushing against its center. I think we could call it radial)

If I reduce speed to 80 mm/s, the situation improves drastically, but I sense this may be too slow

Thanks for all the information
Best regards,
Pedro Monforte

It sounds like you and I are doing similar tasks with the UR10e, using force control to hold against the edge perimeter of a part.

I tried to use the built in force template and a moveP but found that the force vector did not update when the tool rotated around the corners of my part.
Like I start with -X force, then get to my corner and start to turn, but the robot would just keep going on the old path.

I ended up using the Robotiq Force Co-pilot which has been working great on edge following, but unfortunately does not have a moveP type.
You can definitely see the speed change as it runs through the waypoints, but the end result is good enough for my dispense app

I managed to get the force right, that is, it is always exerting it against the center of the object. Thus, it adapts its direction to the current waypoint. I’ve used the Robotiq Co-pilot and it works great too, but I can’t use it in this app however for other reasons

my object is a rectangle so using the center point still made it wander a bit off course. :frowning: