With the Robotiq FT300 sensor, we have a calibration process to remove the payload effect from sensor values.
With force injection, we must send the non-compensate sensor value to RTDE because the robot controller applies the payload compensation itself. The payload compensation is correct for the forces but it seems to have an error with moments.
To identify the error, we send a null wrench ([0,0,0,0,0,0]) to RTDE external forces and run a program to modify the payload and read the forces. We place the robot tcp in the same orientation than the base to simplify. So the program begin with:
set_tcp( p[0, 0, 0, 0, 0, 0] )
movel( p[-0.1, -0.4, 0.15, 0, 0, 0] )
enable_external_ft_sensor(True, sensor_mass = 0.0, sensor_measuring_offset = [0.0, 0.0, 0.0], sensor_cog = [0.0, 0.0, 0.0])
Here the result :
payload expected wrench actual wrench
set_payload(1.0, [0, 0, 0]) [0, 0, 9.82, 0, 0, 0] [0, 0, 9.82, 0, 0, 0] Ok
set_payload(1.0, [0.1, 0, 0]) [0, 0, 9.82, 0, -0.982, 0] [0, 0, 9.82, 0, 0.982, 0] My have ba sign
set_payload(1.0, [0, 0.1, 0]) [0, 0, 9.82, 0.982, 0, 0] [0, 0, 9.82, -0.982, 0, 0] Mx have bad sign
It looks like the applied moment are not compensated but added to the sensor values ?