# Weight calculation with UR10e

**URL:** <https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173>\
**Category:** Technical Questions\
**Created:** [October 31, 2023, 5:01pm UTC](https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173 "2023-10-31T17:01:55Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![giorgigedaminski](https://avatars.discourse-cdn.com/v4/letter/g/898d66/32.png) [@giorgigedaminski](https://forum.universal-robots.com/u/giorgigedaminski)\
**Post date:** [October 31, 2023, 5:01pm UTC](https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173/1 "2023-10-31T17:01:55Z")

</div>

Hello everyone.

I’m trying to scale the bin on the tool of UR10e. I’ve read many articles about this, but non of them worked properly. Robot picks up the bin the same way as forklift.

Articles: [Universal Robots - Weight detection of any picked object using e-series (universal-robots.com)](https://www.universal-robots.com/articles/ur/programming/weight-detection-of-any-picked-object-using-e-series/)  
[Weight sensing with UR10e - Technical Questions - Universal Robots Forum (universal-robots.com)](https://forum.universal-robots.com/t/weight-sensing-with-ur10e/30859)  
and many others.  
I’ve tried scripts:  
N1:  
def test():  
move under the robot and touch bottom surface.

zero\_ftsensor()  
sleep(1)

pickup bin

force\_values=get\_tcp\_force()  
fx=force\_values[0]  
fy=force\_values[1]  
fz=force\_values[2]  
global weight = (sqrt (pow(fx,2) + pow(fy,2) + pow(fz,2)))/9.82  
end

N2  
def test():  
move under the bin and touch bottom surface.

zero\_ftsensor()  
sleep(1)

pickup a bin

global force\_values=get\_tcp\_force()  
global tcp=get\_actual\_tcp\_pose()  
global fx=force\_values[3]/tcp[1]  
global fy=force\_values[4]/tcp[2]  
global fz=force\_values[5]/tcp[3]  
global weight = ((sqrt (pow(fx,2) + pow(fy,2) + pow(fz,2)))/9.82)  
end

N2  
def test():  
move under the bin and touch bottom surface.

zero\_ftsensor()  
sleep(1)

pickup a bin

global force\_values=get\_tcp\_force()  
global tcp=get\_actual\_tcp\_pose()  
global fx=force\_values[3]/tcp[1]  
global fy=force\_values[4]/tcp[2]  
global fz=force\_values[5]/tcp[3]  
global weight = ((sqrt (pow(fx,2) + pow(fy,2) + pow(fz,2)))/9.82)/0.295  
end  
#“0.295” is distance between tool flange and center of bin

I know exact bin weight before scaling with robot.  
All of the abovementioned methods are inaccurate (± 0.6kg).  
What I might be doing wrong?

Giorgi

---

<div class="post-metadata">

**Author:** ![efn](https://avatars.discourse-cdn.com/v4/letter/e/35a633/32.png) [@efn](https://forum.universal-robots.com/u/efn)\
**Post date:** [November 1, 2023, 6:18am UTC](https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173/2 "2023-11-01T06:18:13Z")

</div>

Can you upload a picture of your physical setup? 🙂

---

<div class="post-metadata">

**Author:** ![robin\_gdwl](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/robin_gdwl/32/2676_2.png) [@robin\_gdwl](https://forum.universal-robots.com/u/robin_gdwl)\
**Post date:** [November 1, 2023, 2:10pm UTC](https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173/3 "2023-11-01T14:10:17Z")

</div>

The force sensing capabilities of UR Robots are limited.  
[According to UR-Support](https://forum.universal-robots.com/t/internal-force-sensor-properties/229/2) the accuracy is  
Force: +/- 10 N  
Torque: +/- 5 Nm

In practice it is a bit more accurate than these values (from my personal experience) but you should not try to detect weights or differences in weight smaller than 1kg (10N).

You would need an external force sensor for higher accuracy.

---

<div class="post-metadata">

**Author:** ![efn](https://avatars.discourse-cdn.com/v4/letter/e/35a633/32.png) [@efn](https://forum.universal-robots.com/u/efn)\
**Post date:** [November 2, 2023, 6:06am UTC](https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173/4 "2023-11-02T06:06:05Z")

</div>

I was gonna say the same, but when UR themselves say something else in the article Giorgi links to, it’s difficult to say otherwise. 🙃

I imagine you’re getting worse results, if you’re not sticking to a force in the z-axis alone.

---

<div class="post-metadata">

**Author:** ![giorgigedaminski](https://avatars.discourse-cdn.com/v4/letter/g/898d66/32.png) [@giorgigedaminski](https://forum.universal-robots.com/u/giorgigedaminski)\
**Post date:** [November 2, 2023, 7:59am UTC](https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173/5 "2023-11-02T07:59:26Z")

</div>

![PXL_20231102_075535890](https://us1.discourse-cdn.com/flex020/uploads/universal_robots/original/2X/c/c03066b73ce300d9a1938bba724a7dc37e188046.jpeg)

Here is a picture.

The most amazing thing was that robot scaled the same bin at different places and showed me different values.  
As it is visible on the picture, fork is a little bit uneven just to prevent box from falling down.

---

<div class="post-metadata">

**Author:** ![giorgigedaminski](https://avatars.discourse-cdn.com/v4/letter/g/898d66/32.png) [@giorgigedaminski](https://forum.universal-robots.com/u/giorgigedaminski)\
**Post date:** [November 2, 2023, 8:00am UTC](https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173/6 "2023-11-02T08:00:34Z")

</div>

I have tried that as well.

I think I’ve tried everything what was written on the forum by far…

---

<div class="post-metadata">

**Author:** ![giorgigedaminski](https://avatars.discourse-cdn.com/v4/letter/g/898d66/32.png) [@giorgigedaminski](https://forum.universal-robots.com/u/giorgigedaminski)\
**Post date:** [November 2, 2023, 8:02am UTC](https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173/7 "2023-11-02T08:02:54Z")

</div>

I think ±10% is very overrated accuracy. Anyways, If I can’t find correct formula, I’ll integrate additional force/torque sensor.

---

<div class="post-metadata">

**Author:** ![efn](https://avatars.discourse-cdn.com/v4/letter/e/35a633/32.png) [@efn](https://forum.universal-robots.com/u/efn)\
**Post date:** [November 2, 2023, 8:11am UTC](https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173/8 "2023-11-02T08:11:37Z")

</div>

I just looked through your code again. It seems like you’re zeroing your FT sensor while touching the object?  
You should zero right before touching the object. And put a delay before the zeroing, as well, so you’re sure the robot isn’t vibrating after a potential movement while zeroing it.

---

<div class="post-metadata">

**Author:** ![giorgigedaminski](https://avatars.discourse-cdn.com/v4/letter/g/898d66/32.png) [@giorgigedaminski](https://forum.universal-robots.com/u/giorgigedaminski)\
**Post date:** [November 2, 2023, 1:48pm UTC](https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173/9 "2023-11-02T13:48:14Z")

</div>

Ah, I see, i will give a try and write the response here. Thanks a lot.

---

<div class="post-metadata">

**Author:** ![tom.dutton](https://avatars.discourse-cdn.com/v4/letter/t/9d8465/32.png) [@tom.dutton](https://forum.universal-robots.com/u/tom.dutton)\
**Post date:** [November 3, 2023, 4:27pm UTC](https://forum.universal-robots.com/t/weight-calculation-with-ur10e/31173/10 "2023-11-03T16:27:49Z")

</div>

Hi. I’ve also tried to weigh accurately with my UR10e - however, as I want to be able to get a reading ± 10 grams, you may be able to guess that I simply couldn’t. The results would bounce around even when the robot was truly motionless. Whilst it may be accurate to ± 1kg, I was never going to be able to determine to my desired level of precision.

I did manage to get around this via other methods - whether it was using an external set of scales and having the operator give a yes/no answer, or have the robot probe for contact (something that my UR was able to do very well). So whilst I can tell if something is there, I can’t tell (repeatedly to within a tolerance of 1kg) how much it weighs.

From what I’ve read a lot of users tend to opt for external sensors to achieve this. Something that can be attached to the flange of the robot that wires to the port by the flange. If you come up with a method of doing this without extra hardware please do share!
