I know of several robot manufacturers who can perform automatic inertial measurement for 6 axis robots. Fanuc, for example, moves with axes 5 and 6 each from +180 to -180 °, once with and once without load. My question is how I can calculate the inertia parameter from e.g. the torques and the positions (thus also from speeds and accelerations) for each individual axis. There are some papers about this, but no practical examples (e.g. https://hal.archives-ouvertes.fr/hal-00362677/document). Can anyone help me with this?

My goal would be to run a trajectory once with and once without load and calculate mass and inertia of load, I found some topics here but none of them directly regarding to my question (in my opinion).

Thanks for your effort.


1 Answer 1


The parallel axis theorem gives:

$$ I = I_{\textrm{cm}} + md^2 \\ $$

where $I_{\textrm{cm}}$ is the moment of inertia about the object's center of mass, $m$ is the mass of the object, and $d$ is the distance from the center of mass of the object to the axis of rotation.

You can also look at load acceleration and torque, where:

$$ \tau = I\alpha \\ $$

Or, torque is moment of inertia times angular acceleration. Then, you could estimate

$$ I = \frac{\tau}{\alpha} \\ $$

Apply a torque, measure the angular acceleration, and divide the two to get load inertia. You could assume the center of mass is located at the tip of the end effector, which isn't true, but as long as the load is fixed it doesn't really matter because the effective moment of inertia is what the arm's actually controlling. Consider it like:

$$ I_{\textrm{apparent}} = I_{\textrm{effective}} + md^2\\ $$

where $d$ is the distance from the joint to the tip of the end effector, and $I_{\textrm{effective}}$ is

$$ I_{\textrm{effective}} = I_{\textrm{cm}} + md_{\textrm{offset}}^2 \\ $$

where $d_{\textrm{offset}}$ is the difference between the object's center of mass and the object's connection to the end effector. Again, the arm actually moves the effective moment of inertia of the load.

You could also determine the mass by the holding torque required to keep the arm stationary, where

$$ \tau = mgd\sin{\theta}\\ $$

  • $\begingroup$ Thanks for your answer. Isn't there a length Missing at the last formula? $\endgroup$
    – J_F
    Commented Jul 8, 2020 at 16:21
  • $\begingroup$ @J_F - Yup! Sorry, missed that. Thanks! $\endgroup$
    – Chuck
    Commented Jul 8, 2020 at 16:25
  • $\begingroup$ Thanks! In my opinion your answer is very theoretic, because for inertia of e.g. axis 5 the robot has to hold axis 6 and the mass of the tool and so on. Let´s assume I have all the jointforces for axis 5 and 6 during a trajectory with and without load. Is this enough to calc the inertia? $\endgroup$
    – J_F
    Commented Jul 9, 2020 at 18:46
  • $\begingroup$ @J_F - I would assume you'd have calculated or otherwise know already the masses and inertias for the individual links, but I also see that I didn't say anything about it explicitly. Moments of inertia can be summed, but you have to be careful that you're using the moments of inertia about the same axis of rotation. If you wanted to rotate everything about joint 2 then you'd have to use the parallel axis theorem to convert all of the subsequent moments of inertia to effective ones about joint 2 to determine how much torque to apply to joint 2. $\endgroup$
    – Chuck
    Commented Jul 10, 2020 at 1:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.