Precision of zero_ftsensor()

Calling zero_ftsensor() on the UR30 robot appears to take a very short time. Now, any analog to digital conversion coming from a sensor is bound to have a bit of noise on it. Add to that the vibrations that may come from the floor. Does zero_ftsensor() average over time, or does it simply take an immediate measurement, and then use that to zero out the internal values?

If that’s the case, is there a way to tell it to spend more time averaging, in order to get a more precise value? Half a second or perhaps even a whole second would be fine in my case, as I already keep the robot still for two seconds before calling zero_ftsensor().

From the script manual:
zero_ftsensor() - Zeroes the TCP force/torque measurement from the built-in force/torque sensor by subtracting the current measurement from the subsequent.

In my experience, having the robot come to a complete stop for 0.5+ seconds before zeroing the FT sensor is enough to get a good reading. If you need better accuracy than what you are getting, I would look around for a UR cap or a third party force sensor that does what you need.

Pausing before zeroing the sensor is certainly necessary, and I don’t think half a second is quite enough. 1-2 seconds seems better.

But even if the robot has been standing still for 100 seconds, there’s still some amount of jitter and noise. And I guess there’s no averaging done (judging by the description in the documentation), so I guess i’ll need to come up with my own stuff…