Attitude

ODTK uses the attitude of satellites and surface vehicles in the determination of the antenna phase center's offset from the center of mass of the satellite. Antenna phase center locations are specified in the body frame of the parent vehicle. The attitude specification provides the means of computing the rotation between the inertial frame — in which ODTK employs the equations of motion and models measurements — and the body frame. When considering the content in the following table, it is important to understand that not all attitude profiles are exposed for all types of vehicles.

Attitude Options
Option Description
Source

Specify the method of computing the satellite or surface vehicle attitude:

  • AlignedConstrained - Use this option to specify that the satellite or surface vehicle follows a prescribed profile based on orienting particular directions in the body frame with inertial directions related to the trajectory of the satellite or surface vehicle.
  • File - Use this option to import a time-ordered list of attitude information in the STK external attitude (.a) format.
  • GPSBlockIIANominal - This is the GPS satellite block IIA nominal attitude profile. The MCS uses this before introduction of Max Yaw Rate during eclipse season. It aligns the Z body axis direction with the direction to the center of the Earth. It nominally constrains the X body axis direction toward the direction of the Sun with zero yaw bias.
  • GPSBlockIIRNominal - This is the GPS Satellite block IIR nominal attitude profile. It aligns the Z body axis direction with the direction to the center of the Earth. It nominally constrains the -X body axis direction toward the direction of the Sun with zero yaw bias.
  • GPSBlockIIAGYM95 - This is the GPS satellite block IIA nominal attitude profile. The MCS uses this after introduction of Max Yaw Rate during eclipse season. It aligns the Z body axis direction with the direction to the center of the Earth. It nominally constrains the X body axis direction toward the direction of the Sun, with a yaw bias offset of 0.5 deg, but more complicated motion occurs during eclipsing and when the satellite passes nearly under the Sun direction (the noon turn).
  • During the noon turn, it constrains the yaw motion to a maximum yaw rate of 0.13 deg/sec. When the nominal profile requires a higher yaw rate to maintain the X axis in the direction of the Sun, the satellite yaws at the maximum rate and maintains the maximum yaw rate until it recovers the nominal attitude.

    At the beginning of an eclipse, the satellite transitions from its nominal yaw rate to the maximum yaw rate in a direction opposite the yaw bias. This transition happens at the maximum yaw acceleration of 0.00165 deg/sec^2. The satellite continues to yaw at the maximum rate until eclipse exit, at which time ODTK computes two recovery paths back to the nominal attitude. The first recovery path maintains the current yaw direction, while the second reverses the yaw direction at the maximum yaw acceleration. ODTK selects the path requiring the least time to recover the nominal yaw profile.

    For a full description of the GYM 95 profile, see:

    Bar-Sever, Y.E. "A New Model for Yaw Attitude of Global Positioning System Satellites",
    TDA Progress Report 42-123, November 15, 1995
  • GalileoIOV – This is the Galileo in-orbit validation nominal satellite attitude profile. It aligns the Z body axis direction with the direction to the center of the Earth. It nominally constrains the -X body axis direction toward the direction of the Sun with zero yaw bias. It is the same as the GPS Block IIR nominal attitude profile.
  • QZSS – This is the attitude profile for satellites in the Japanese QZSS for GPS augmentation. For beta angle (angle of the direction to the Sun out of the orbit plane) greater than 20 degrees, it aligns the Z body axis direction with the direction to the center of the Earth. It nominally constrains the -X body axis direction toward the direction of the Sun with zero yaw bias (same as GPS Block IIR and Galileo). For a beta angle less than 20 degrees, it still aligns the Z body axis direction with the direction to the center of the Earth, but it aligns the –Y body axis with the positive orbit angular momentum direction.
  • Spinning - Use this option to specify a spinning attitude, where the spin axis is fixed in both the satellite body-fixed reference frame and in the central body inertial reference frame. This profile is mainly useful for simulation purposes because ODTK cannot estimate the associated parameters.
  • SPICE – Use this option to specify satellite or surface vehicle attitude via CK and SCLK files. If you loaded valid CK and SCLK files for a spacecraft, instrument, or structure, you can select them here. Valid IDs belong to objects in CK and SCLK files that (i) standard NAIF SPICE routines can read and (ii) you have loaded into ODTK. CK and SCLK files must have the proper extensions (.bc and .sclk, respectively) for ODTK to recognize and load the file. During propagation, ODTK will sample attitude information from the SPICE attitude file. See SpiceID, TimeTolTicks, EarliestSegmentTime, and LatestSegmentTime for more information.

Files

This is a list of the attitude files in the STK (*.a) or CCSDS AEM (*.caem) format for ODTK to read for the specification of attitude information. ODTK only uses these when you select "File" as the Source. If you specify two or more files:

  • ODTK places slews in any gaps between files. The slew is between the attitude at the end of the earlier file to the attitude at the start of the later file.
  • ODTK removes any overlaps in the files, with preference during the overlap period going to the file with the later start time. If the data span of the file with the later start time is completely contained within the data span of the file with the earlier start time, ODTK ignores the file with the later start time.

The specification for CCSDS AEM files comes from CCSDS 504.0-B-1. Your AEM files must meet the following constraints:

  • The parameter CENTER_NAME must match a name from the ODTK scenario CentralBodyList.
  • The "FromFrame", the frame represented first by the ATTITUDE_DIR, must be an inertial frame.
  • ODTK will always treat the "ToFrame", represented last by the ATTITUDE_DIR, as the SC_Body frame of the spacecraft to which the attitude file is assigned.
  • ODTK does not support SPIN and SPIN/NUTATION values for the ATTITUDE_TYPE keyword.

StartTime

This is the time of the earliest data in the list of attitude files. ODTK displays this when you select "File" as the Source.
StopTime This is the time of the latest data in the list of attitude files. ODTK displays this when you select "File" as the Source.
BodyAlignmentVec

This enables you to specify a direction in the body frame, via a basis vector, for ODTK to align with the selected InertialAlignmentVec (below). It applies when you select "AlignedConstrained" as the Source. ODTK will perfectly align these vectors in the computed attitude.

InertialAlignmentVec

This enables you to specify a direction in the inertial frame, via a trajectory based vector, for ODTK to align with the selected BodyAlignmentVec (above). This applies when you select AlignedConstrained as the Source. Options for inertial directions are:

  • Radial direction: along the satellite or surface vehicle position vector
  • In-track: in the orbit or surface plane, perpendicular to radial
  • Cross-track: perpendicular to the orbit or surface plane in the RxV sense
  • Tangential: along the inertial velocity direction
  • Intrack ECF Vel - perpendicular to the radial direction, toward the central body fixed velocity direction
  • Tangential ECF Vel: along the central body-fixed velocity direction
  • Apparent Sun: along the apparent direction to the Sun
  • Topocentric East: points in the easterly direction in a plane perpendicular to the central body surface normal passing through the vehicle location

  • Topocentric North: points in the northerly direction in a plane perpendicular to the central body surface normal passing through the vehicle location

  • Topocentric Zenith: points along the outward central body surface normal passing through the vehicle location

BodyConstraintVec Specify a direction in the body frame, via a basis vector, for ODTK to constrain toward the direction of the selected InertialConstraintVec (below). This applies when you select "AlignedConstrained" as the Source. ODTK will align the constraint vectors as closely as possible in the computed attitude.
InertialConstraintVec Specify a direction in the inertial frame, via a trajectory based vector, for ODTK to constrain toward the selected BodyConstraintVec (above). This applies when you select "AlignedConstrained" as the Source. Options for inertial directions are the same as those for InertialAlignmentVec (above).
BodySpinAxisDir

Specify a direction in the body frame, via a basis vector, about which the satellite will spin, in a right-handed sense. This applies when you select "Spinning" as the Source. ODTK will align this direction with the inertial direction of the spin axis, as specified via InertialSpinAxisRA and InertialSpinAxisDec.

InertialSpinAxisRA

Specify the right ascension of the inertially fixed spin axis when you select "Spinning" as the Source.

InertialSpinAxisDec

Specify the declination of the inertially fixed spin axis when you select "Spinning" as the Source.

SpinRate

Specify the rotation rate of the satellite when you select "Spinning" as the Source.

InitialSpinOffset

The spin offset is an angular measure of the difference between the satellite orientation at the InitialSpinOffsetEpoch and the orientation achieved by orienting the spin axis. The latter is defined by using a yaw-pitch-roll sequence that achieves the desired spin-axis orientation when yaw is set to 0.

InitialSpinOffsetEpoch

This is the epoch at which the InitialSpinOffset applies.

CenterOfMassInBodyFrame

These are the cartesian coordinates of the satellite center of mass in the body frame of the satellite.

SPICE ID This is only available when you select SPICE for the Source option. Specify the SPICE ID of the spacecraft, surface vehicle, instrument, or structure from which ODTK will retrieve the SPICE attitude. The list of IDs only includes valid SPICE IDs, meaning that you already loaded all necessary CK and SCLK files into ODTK for the object, and standard NAIF SPICE routines can read the files.
TimeTolTicks This is only available when you select SPICE for the Source option. It represents the precision level used when retrieving attitude information during propagation. The units are in encoded spacecraft clock time. You should use a zero-tolerance value with continuous data and a nonzero tolerance with discrete attitude data. For further information, see the NAIF documentation for the tol input.
EarliestSegmentTime This is only available when you select SPICE for the Source option. This read-only value displays the earliest time that you can retrieve across all SPICE attitude files loaded for the selected SpiceID.
LatestSegmentTime This is only available when you select SPICE for the Source option. This read-only value displays the latest time that you can retrieve across all SPICE attitude files loaded for the selected SpiceID.

ODTK determines available SPICE attitude IDs during startup, when it loads available SPICE kernels. Learn more here.