Rotational EOM's with non diagonal inertia tensor

Click For Summary
SUMMARY

This discussion focuses on calculating angular velocities of a rigid body with a non-diagonal inertia tensor in body coordinates. The inertia tensor is represented as a 3x3 matrix with off-diagonal elements, complicating the application of Euler's rotation equations. The user seeks clarification on solving angular accelerations using the given inertia tensor and torque vector without simplifying assumptions. The suggested approach involves determining the eigenvectors of the inertia tensor to find principal axes and transforming the torque vector accordingly for further calculations.

PREREQUISITES
  • Understanding of rigid body dynamics
  • Familiarity with inertia tensors and their properties
  • Knowledge of Euler's rotation equations
  • Basic linear algebra, including eigenvalues and eigenvectors
NEXT STEPS
  • Study the derivation and application of Euler's rotation equations for non-diagonal inertia tensors
  • Learn how to compute eigenvalues and eigenvectors of a matrix, specifically for inertia tensors
  • Research transformation matrices for converting between body coordinates and principal axes
  • Explore numerical methods for integrating angular accelerations to obtain angular velocities
USEFUL FOR

This discussion is beneficial for mechanical engineers, robotics professionals, and students studying dynamics who are dealing with complex rigid body motion and inertia tensor calculations.

qllervo
Messages
1
Reaction score
0
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 =
\begin{bmatrix}
I_{xx} & -I_{xy} & -I_{xz} \\
-I_{yx} & I_{yy} & -I_{yz} \\
-I_{zx} & -I_{zy} & I_{zz}
\end{bmatrix}
##
which is calculated with respect to body coordinates and every element of the matrix is known. I also have torque vector
##
\vec{\tau} =
\begin{bmatrix}
\tau_x \\
\tau_y \\
\tau_z
\end{bmatrix}
##
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 textbook 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.
 
Physics news on Phys.org
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.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 7 ·
Replies
7
Views
4K
Replies
8
Views
12K
  • · Replies 5 ·
Replies
5
Views
6K