Clear Filters
Clear Filters

How to get quaternion from the ICRF to the fixed frame ?

45 views (last 30 days)
Dear friends, I am working with the Spacecraft Dynamics block. There are 3 frames used there :
  1. ICRF which is said to be equal to the ECI coordinate system,
  2. Fixed frame which is a generic term for the coordinate system that is fixed to the central body. When the Earth is the central body, it is seems to be equal to ICRF and ECI. Is it correct ?
  3. Body frame.
I did not find the formula how quaternions from the ICRF to the fixed frame are calculated. Thank you !

Answers (1)

William Rose
William Rose on 29 Aug 2023
You are right that Matlab's Earth Centered Inertial Frame (ECI) is the International Celestial Reference Frame (ICRF). It is inertial, i.e. fixed with respect to distant stars.
Matlab's Earth-centered Earth-fixed frame is the International Terrestrial Reference Frame (ITRF). The ITRF is NOT equal to the ECI or ICRF, because the ITRF rotates with the Earth - so it is not intertial.
Body frames are fixed in the spacecraft body and therefore are different than the ECI and ICRF and ITRF.
You asked "how quaternions from the ICRF to the fixed frame are calculated"
Please be more specific. A quaternion can represent the difference in orientation of two coordinate systems. This means a quaternion can represent the orientation of ITRF relative to ICEF or vice versa, at a given instant.
To convert position or velocity or acceleraiton from ITRF to ICRF or vice versa, use ecef2eci or eci2ecef. You must specifiy the instant when you want to do the conversion, since the ITRF moves with the earth's rotation and the ICRF does not.
The documents above use rotation matrices to represent the conversions. Rotation matrices and quaternions can be converted with quat2rotm and rotm2quat.
Good luck.

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!