Compute an object's inertia around an arbitrary axis, using its known values for the x, y and z axes

3,250

In general, the rotational inertia of a rigid body is fully characterized by an inertia tensor, which has 6 independent variables: $I_{xx}$, $I_{yy}$, $I_{zz}$, $I_{xy}$, $I_{yz}$, $I_{zx}$. The three diagonal terms can be calculated from moments of inertia about the x,y,z axes (which are $I_x$, $I_y$, $I_z$ in your notation):

$I_{xx} = \frac{I_y + I_z - I_x}{2}$; $I_{yy} = \frac{I_z + I_x - I_y}{2}$; $I_{zz} = \frac{I_x + I_y - I_z}{2}$

Unfortunately, the three non-diagonal terms $I_{xy}$, $I_{yz}$, $I_{zx}$ cannot be calculated from $I_x$, $I_y$, $I_z$; they are independent quantities that must be measured separately. However, these terms are often zero when the object is symmetric: if there is reflective symmetry in the yz-plane, then $I_{xy} = I_{zx} = 0$; if there is reflective symmetry in the zx-plane, then $I_{yz} = I_{xy} = 0$. I suspect both of these are true for a human arm, to a good enough approximation for your purposes.

Once you know all the components of the inertia tensor, you can calculate the moment $I_n$ about an arbitrary unit vector $ \begin{pmatrix} n_x\\ n_y\\ n_z \end{pmatrix}$ using $I_n = (I_{xx} + I_{yy} + I_{zz}) - I_{nn}$, where:

\begin{equation*} I_{nn} = \begin{pmatrix} n_x\\ n_y\\ n_z \end{pmatrix}^T \begin{pmatrix} I_{xx}&I_{xy}&I_{xz}\\ I_{yx}&I_{yy}&I_{yz}\\ I_{zx}&I_{zy}&I_{zz} \end{pmatrix} \begin{pmatrix} n_x\\ n_y\\ n_z \end{pmatrix} \end{equation*}

Note: the tensor is always symmetric in the mathematical sense (even if the object has no geometric symmetry). This means the written order of the indices doesn't matter: $I_{xy} = I_{yx}$, etc. That is why the inertia tensor has 6 degrees of freedom, rather than 9.

Share:
3,250

Related videos on Youtube

cvr
Author by

cvr

Updated on July 20, 2020

Comments

  • cvr
    cvr over 3 years

    I need to input inertia data into a bio-mechanical simulation program. I can find inertia data for parts of the human body, around the normal axes.

    I know the parallel axis theorem, so I can compute the inertia for the body parts in different locations.

    But if the body part is angled to the normal axes, can you then compute the inertia, using its known inertia around the x, y and z axes?

    Let's say that a human arm and hand has the following inertia values (around its center of gravity) $$I_x = I_y = 0.3\ kg \cdot m^2$$ $$I_z = 0.02\ kg\cdot m^2$$

    This would be the values if the arm is hanging down. But let's say I angle the arm outwards ("abduct" it) by 30°, can I then use $I_x,\ I_y$ and $I_z$ to find the new values? (As the angle increases, the $I_y$ value would gradually fall and reach the old $I_z$ value at 90°. Is there maybe a trigonometric relation for this??) OK, I am not a physicist, I only do bio-mechanics occasionally :)

    Edit 19/7:
    Just to clarify:
    What I wish to find out is how angling of the body parts affects their inertia. To use a diver that is somersaulting forward as an example : If the diver keeps the arms straight down the body, the values given above would be correct. But the diver can reduce his/her inertia by angling the arms outwards. (You sometimes see divers do that in the pike position.) I wish to compute the inertia for different angles, all for rotation forward. I wish to start with just the body part alone. (After that you can apply the parallel axes theorem.)

    I wonder if there could exist a simple trigonometric relationship since one can divide the mass into point mass elements? I can't prove this is the correct answer but I plotted $0.3\cos(\alpha) + 0.02\sin(\alpha)$. It would show how the moment of inertia of the arm, for rotation forward (like in somersaulting), would decrease, as the arm is abducted (by $\alpha^{\circ}$). (In this example the arm alone is "somersaulting".) Intuitively it looks "OK".

    arm inertia on abduction of arm

    (The other alternative is that this can't be computed. You must make a new measurement. But in the case of the arm (looking a little like a rod), I think at least a reasonable estimate could be computed from the x, y and z values.

    But what leads me to believe that it is computable, is that you can input $I_x,\ I_y$ and $I_z$ to computer programs and they can compute rotations along oblique axes.)

    • garyp
      garyp over 7 years
      The moment of inertia doesn't change. Rather, you have to apply the dynamics in a more general fashion. You can rotate the inertia tensor to new coordinates, or you can work with the "diagonalized" tensor directly. This article looks like a decent introduction to the topic, and the Wikipedia article has a bit more. But you'll need to dig deeper than what's in those articles in order to use the information.
  • cvr
    cvr over 7 years
    From what I can understand, this is a perfect answer, both theoretically and also practically useful. Thank you so much.
  • Rufus
    Rufus over 4 years
    Isn't $I_{xx}$ = $I_{x}$? For example the slender rod, the $I_{center}$ which I assume is $I_x$ is equal to $I_{xx}$ for the 3D case?