1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Rotational EOM's with non diagonal inertia tensor

  1. Mar 27, 2015 #1
    I'm having difficulties understanding how I should calculate the angular velocities of a rigid body when the inertia tensor is given in body coordinates and has off diagonal elements.

    Let's assume I have an inertia tensor
    I =
    I_{xx} & -I_{xy} & -I_{xz} \\
    -I_{yx} & I_{yy} & -I_{yz} \\
    -I_{zx} & -I_{zy} & I_{zz}
    which is calculated with respect to body coordinates and every element of the matrix is known. I also have torque vector
    \vec{\tau} =
    \tau_x \\
    \tau_y \\
    which is also presented with respect to body coordinates and each element is known.

    If the inertia tensor is diagonal which means in this case that the body axes aligns with the principal axes, the angular accelerations can be solved from the Euler's rotation equations:
    \newcommand{\dbody}[1]{\left.\frac{\mathrm d #1}{\mathrm d t}\right|_{b}}
    \newcommand{\dinertial}[1]{\left.\frac{\mathrm d #1}{\mathrm d t}\right|_{i}}

    \tau_x = I_{xx}\dbody{\omega_x}- \omega_y \omega_z(I_{yy} - I_{zz}), \\
    \tau_y = I_{yy}\dbody{\omega_y}- \omega_z \omega_x(I_{zz} - I_{xx}), \\
    \tau_z = I_{zz}\dbody{\omega_z}- \omega_x \omega_y(I_{xx} - I_{yy}). \\


    However, if the body axes are not aligned with the principal axes, the products of inertia won't disappear and the equations are left as:

    \newcommand{\dbody}[1]{\left.\frac{\mathrm d #1}{\mathrm d t}\right|_{b}}
    \newcommand{\dinertial}[1]{\left.\frac{\mathrm d #1}{\mathrm d t}\right|_{i}}

    \tau_x = I_{xx}\dbody{\omega_x} - I_{xy} (\dbody{\omega_y} - \omega_x \omega_z) - I_{xz} (\dbody{\omega_z} - \omega_x \omega_y) - I_{zy} (\omega_y^2 - \omega_z^2) - \omega_y \omega_z(I_{yy} - I_{zz}), \\
    \tau_y = -I_{yx}(\dbody{\omega_x} +\omega_y\omega_z) + I_{yy}\dbody{\omega_y} -I_{yz}(\dbody{\omega_z} -\omega_y\omega_x) -I_{xz}(\omega_z^2 -\omega_x^2) - \omega_z\omega_x(I_{zz}-I_{xx}), \\
    \tau_z = -I_{zx}(\dbody{\omega_x} - \omega_y \omega_z) -I_{zy}(\dbody{\omega_y} + \omega_z \omega_x) +I_{zz}\dbody{\omega_z} -I_{xy}(\omega_x^2 - \omega_y^2) -\omega_x\omega_y(I_{xx} - I_{yy}). \\

    Now here is the part where I get confused. How I am supposed to solve the angular accelerations from the above equations?
    In many text book the Euler's equations are used or the products of inertia are removed with the help of symmetry axes or planes which makes the equations above easier to solve. But what if that is not an option and I just need to use the inertia tensor (with products of inertia) and the torque vector given in body frame?

    Do I need to solve the eigenvectors from the inertia tensor presented in body coordinates and use them to find the principal axes of the rigid body?
    With them I could (I guess) create transformation matrix between the principal coordinates and the body coordinates and use it to transform torque vector ## \vec{\tau} ## to principal coordinates.
    In the principal coordinate system I could then calculate the angular accelerations, integrate them to angular velocities and transform the velocities back to the body frame so that they can be used in translational equations of motion.

    Is the above even close to what I should be doing?

    I'm new here so please point out if my post violates any rules. I tried to find similar posts from this forum (and all over the internet) but didn't find (or didn't understand) any that could answer my problem.
  2. jcsd
  3. Mar 28, 2015 #2


    User Avatar
    Science Advisor
    Gold Member
    2017 Award

    I don't understand, why you should bother. You simply choose the Cartesian body-frame basis as the principle axes of the tensor of inertia, and everything becomes much easier. If, for whatever reason you need it in some other basis system, you can first solve the problem in the basis, where the tensor of inertia (or better said its components with respect to this frame) is diagonal and then rotate back to any frame you need. The good thing is that the rigid-body dynamics can be formulated in terms of tensors, where all quantities have a well-defined behavior under rotations, i.e., changes from one Cartesian basis to another.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook