External joint efforts measurements through FRI

  • Hello,

    I am trying to work with the KUKA iiwa 14 820, my goal is to apply an impedance controller through FRI, that will be modified (so i don't want to use the cartesian impedance mode of the robot).

    The problem i am having is that the measurements of joint external torques (which i need for my control scheme) are not zero when the robot is standing still with no external forces applied. There is a difference between applied torque (due to the gravity compensation) and the measured torque (should be gravity + some friction ?), and this difference goes almost completely as an external torque. An example:

    Measured: -0.923347 54.783570 -5.389097 -19.635456 -1.095186 -0.747938 -0.024364
    Commanded: -0.000000 52.627036 -5.599072 -19.337630 -1.030718 -0.749381 -0.011041
    External: -0.924499 2.163937 0.219936 -0.301189 -0.067499 0.003105 -0.012845

    This differences change with the robot posture (so not just a simple bias that could be erased). I clarify again, all this measurements are done when the robot is not moving and nothing is applying forces to it.

    The scheme that i am using right now is (code at the end):

      • In the robot controller side (java): a joint impedance control mode with a position hold, stiffness and damping are set to zero for all the joints.

      • In the client side (FRI, C++): Applying zero torque to each joint (for now, since i need to solve this issue) and setting joint poisition as actual joint position to avoid the delta error

    So i am thinking that maybe the gravity compensation performed by the robot (since it is done by the hold method + FRI itself) is not really accurate, but enough to allow mechanical friction to avoid movements, and thats the external effort that i am getting (although in that case, friction would also be badly estimated)

    I know external torques are estimated from the torque measured, applied, and dynamics, but this difference seems to much to me. When I estimate external cartesian forces from te joint external torques I get values up to 3 N when no forces are really applied.

    I would really appreciate any ideas or corrections if I am making some mistakes,


    Java robot side:

    FRI client side

  • AD

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now