How to Actively set the payload of the UR robot

When picking things up with the UR it is crucial that you set the payload correctly to make sure the robot is working correctly and won’t run into protective stops because of an incorrectly set payload.

In URscript there is one important command for this:

set_target_payload(m, cog, inertia)

This command expects you to give it at least two parameters, the first one being the mass of the payload in kg, the second being the center of gravity offset from the toolmount as [CoGx, CoGy, CoGz]. And lastly the inertia as [Ixx, Iyy, Izz, Ixy, Ixz, Iyz] which is not a required parameter.

To get these parameters you can use the function that is in the ur where you position it in four positions and it then calculates everything necessary itself. Or you could calculate everythig manually but we don’t like to do this ofcourse.

If you have some lighter objects which wouldn’t affect the robot to much when carrying it, you could weigh it when it is already carrying it and change it after you have already picked it up. To do this you could use the following commands:

get_target_payload(), get_target_payload_cog() and get_target_payload_inertia()

These will return all the necessary parameters currently on the robot.

For heavier objects it is crucial that you change the payload at the correct time. The best time to change it is when you are just about to lift it off the ground. Usually you would use a move command to just about to pick it up, then change payload and then actually pick it up. This way the robot isn’t moving to much with a wrong payload. In some instances it is useful to use a move command until contact. Unfortunately this is not a function in URscript but can be used in the UR polyscope.

1 Like