Archived

This topic is now archived and is closed to further replies.

feanor

Inertia Tensor and Heading/Pitch/Roll

Recommended Posts

Given an inertia tensor I am able to solve for the eigenvectors. The problem is that I need to calculate the local orientation of an object in a NED (North, East, Down) coordinate system. I''ve transformed the eigenvectors from a ENU (East, North, Up) coordinate system to NED, but I don''t know what to do with them next. Does anyone know how to take these eigenvectors and calculate the heading/pitch/roll of an object? I tried doing some dot products with the unit vectors for the NED coordinate system, but the pitch always looks wrong.

Share this post


Link to post
Share on other sites
By finding the eigenvalues of the inertia tensor, you have found the principle inertias (eigenvalues) and principle axes (eigenvectors) of the object. Unfortunately, the heading/pitch/roll is NOT directly tied to the principle inertias or axes. Reason being, heading/pitch/roll are functions of translational and rotational velocity of the center of mass, which can be any random direction, independent of the orientation of the geometry itself. (Think about an object that remains horizontal, but travels in a circular path without aligning with the path. The pitch will vary, but the inertia tensor will not---at least not in world space.) Therefore, you cannot do what you say you want to do.

Most simulators actually simulate the object orientation, and simply transform the inertia tensor into the simulation coordinate system, e.g. simulate change in heading/pitch/roll and, if you are simulating in world coordinates then based on object rotation transform the inertia tensor from object space inhto world space every time step. You can do the simulation in object space, but you''d still have to know/track the orientation relative to world space in order to transform world space forces into object space for the simulation step. Hopefully, this sheds some light...

Graham Rhodes
Principal Scientist
Applied Research Associates, Inc.

Share this post


Link to post
Share on other sites
Thanks for the info. Ultimately I''m trying to get Euler angles in a GCC coordinate system, but I''m totally lost at this point as to how to use the inertia tensor.

I don''t know how to do the step you described in your last post. I don''t have any orientation information from the library I''m using. All they give me is the moment tensor, the inverse of the moment tensor, and the moment tensor determinant. So are you saying that with these values there is no way to get the orientation without additional information?

If I can get the orientation in GCC I don''t even need the local orientation. Does that help at all?

Share this post


Link to post
Share on other sites
What library are you using? They may be constrainting the object''s orientation to be aligned with its center of mass velocity vector, which would tie the principle inertia axes to the pitch/roll/yaw. Not as flexible as reality, but they may have a reason for their particular application. Then again, may you''re missing some info about how to use the library?

Graham Rhodes
Principal Scientist
Applied Research Associates, Inc.

Share this post


Link to post
Share on other sites