Dynamic Payload setting in UR E series to pick the dynamic payload

Hello,

We are working on UR eseries + Vision project for pick and place. There are various product UR needs to pick from the bin. The weight will be not same for all the products. It will vary between 2 kg to 10 kg. Is there is any feature in UR eseries, which we can set it up to a dynamic payload, so it can pick any load ranges 2kg to 10 kg of product.
Is there any script for this feature.

Hi,

You can refer to the UR script manual and try the “force()” and “zero_ftsensor()” to know the external force on the robot. Then, use the set command to set to the correct payload.

As sya said:

Wait 0.2
zero_ftsensor()
Pick_Part
Wait 0.2
Var_1 = force()
Var_2 = Var_1/10 //Newton to kg
set_payload_mass(Var_2)

This should do it. :slight_smile:

1 Like

I have a similar problem, but i just want to detect the weight difference of <1kg. The payload of the empty gripper is 5.2kg and i want to check if the gripper has successfully grapped the object and change the payload then or repeat the picking process. But my weight values seem random and far off the expected payload of about 6kg with the object.
force_torque_tool.urp (2.0 KB)

Some things to consider:

  • You must zero the FT sensor before touching the object and with a delay before, so that the robot arm is completely still.
  • Use slow movements to pick the object and raise it a bit, before doing a new measurement (without zero FT sensor).
  • Wrist 3 must be directly above the object for above code to work.
  • You should get a measurement of ~10N (1kg) and not ~60N (6kg).

First of all thank you very much :slight_smile:

Alright i will be optimizing movement, but the magnetic gripper i use is mounted in a 45 degree angle to the z-axis of the flange, so using sqrt(pow(fx,2)+pow(fy,2)+pow(fz,2))/9,81 would be more accurate, right? And is transforming the tcp force vector from base to tcp the right approch?

Thanks a lot!