KPL/FK Mars Climate Orbiter Frames Kernel =============================================================================== This frame kernel contains complete set of frame definitions for the Mars Climate Orbiter (MCO) spacecraft including definitions for the spacecraft fixed frame, high and low gain antenna frames and science instrument frames. Version and Date ------------------------------------------------------------------------------- Version 2.1 -- February 26, 1998 -- Boris Semenov, NAIF/JPL Frame center ID was set to -127 in all frame definitions to asure that position of the center can always be computed for light time correction of orientation of a frame. Version 2.0 -- September 30, 1998 -- Boris Semenov, NAIF/JPL SC and antenna frame definitions were modified; MCO_HGA_STOWED and MCO_HGA_DEPLOYED frames were substituted for MCO_HGA frame; science instrument frames (MCO_PMIRR, MCO_MARCI_MAC and MCO_MARCI_WAC) were introduced; IK related descriptions were removed; FRAMES hierarchy and Frame ID/relationship table was added; Version 1.0 -- September 29, 1998 -- Bill Adams, LMA Based on DS-1 Antenna Frame Kernel by Jeff Bytof (V2.0 Dec 10, '97) Changed all spacecraft ID #s and Antenna Frame Info to MCO Antenna Pointing Angles are Preliminary! For Testing Purposes Only References ------------------------------------------------------------------------------- 1. Initial Antenna Pointing Information Provided by Scott Toro-Allen and Marty Schmitzer of LMA MCO Spacecraft Development Team 2. ``MSPSAL009SS Spreadsheet: PMIRR and MARCI alignment summary'' 3. ``Frames Required Reading'' 4. ``Kernel Pool Required Reading'' 5. ``C-Kernel Required Reading'' Contact Information ------------------------------------------------------------------------------- Boris V. Semenov, NAIF/JPL, (818)-354-8136, bsemenov@spice.jpl.nasa.gov Implementation Notes ------------------------------------------------------------------------------- This file is used by the SPICE system as follows: programs that make use of this frame kernel must `load' the kernel, normally during program initialization. The SPICELIB routine LDPOOL loads a kernel file into the pool as shown below. CALL LDPOOL ( frame_kernel_name ) This file was created and may be updated with a text editor or word processor. MCO Frames ------------------------------------------------------------------------------- The following MCO frames are defined in this kernel file: Name Relative to Type NAIF ID ====================== =================== ============ ======= Spacecraft frame: ----------------- MCO_SPACECRAFT rel.to J2000 CK -127000 Antenna frames: ----------------- MCO_HGA_STOWED rel.to SPACECRAFT FIXED -127210 MCO_HGA_GIMBAL1 rel.to SPACECRAFT CK -127211 MCO_HGA_GIMBAL2 rel.to HGA_GIMBAL1 CK -127212 MCO_HGA_DEPLOYED rel.to HGA_GIMBAL2 FIXED -127213 MCO_MGA1 rel.to SPACECRAFT FIXED -127220 MCO_LGA2 rel.to SPACECRAFT FIXED -127230 Science Instrument frames: -------------------------- MCO_PMIRR rel.to SPACECRAFT FIXED -127020 MCO_PMIRR_MIRROR rel.to PMIRR CK -127021 MCO_MARCI_MAC rel.to SPACECRAFT FIXED -127030 MCO_MARCI_WAC rel.to SPACECRAFT FIXED -127031 MCO Frames Hierarchy ------------------------------------------------------------------------------- The diagram below shows MCO frames hierarchy: "J2000" INERTIAL +-----------------------------------------------+ | | | | <--pck | <--ck | | | | <--pck V | V "IAU_MARS" | "IAU_EARTH" MARS BFR(*) | EARTH BFR(*) ------------ | -------------- | | | "MCO_HGA_DEPLOYED" | ------------------ | ^ | | <--fixed | | | "MCO_HGA_GIMBAL2" | ----------------- | ^ | | <--ck "MCO_PMIRR_MIRROR" | | ------------------ | "MCO_HGA_GIMBAL1" ^ | ----------------- | <--ck | ^ | | | "MCO_PMIRR" | "MCO_HGA_STOWED" | ----------- | ---------------- | ^ | ^ | | <--fixed V | <--fixed | <--ck | "MCO_SPACECRAFT" | | +------------------------------------------------------------+ | | | | | <--fixed | <--fixed | <--fixed | <--fixed | | | | V V V V "MCO_MARCI_MAC" "MCO_MARCI_WAC" "MCO_MGA1" "MCO_LGA2" --------------- --------------- ---------- ---------- (*) BFR -- body-fixed rotating frame Spacecraft Bus Frame ------------------------------------------------------------------------------- (S/C bus frame description TBD) The following frame definition is for the basic spacecraft bus frame. Spacecraft bus attitude with respect to an inertial frame is provided by a C kernel (see [5] for more information). \begindata FRAME_MCO_SPACECRAFT = -127000 FRAME_-127000_NAME = 'MCO_SPACECRAFT' FRAME_-127000_CLASS = 3 FRAME_-127000_CLASS_ID = -127000 FRAME_-127000_CENTER = -127 CK_-127000_SCLK = -127 CK_-127000_SPK = -127 \begintext MCO Science Instrument Frames ------------------------------------------------------------------------------- This section contains frame definitions for MCO science instruments -- PMIRR and MARCI. PMIRR Frames ------------ (PMIRR and PMIRR_MIRROR frames are TBD) (Nominally PMIRR frame is rotated -5 degrees about X and -10 degrees about Y axis of the s/c frame) \begindata FRAME_MCO_PMIRR = -127020 FRAME_-127020_NAME = 'MCO_PMIRR' FRAME_-127020_CLASS = 4 FRAME_-127020_CLASS_ID = -127020 FRAME_-127020_CENTER = -127 TKFRAME_-127020_SPEC = 'ANGLES' TKFRAME_-127020_RELATIVE = 'MCO_SPACECRAFT' TKFRAME_-127020_ANGLES = ( 5.0, 10.0, 0.0 ) TKFRAME_-127020_AXES = ( 1, 2, 3 ) TKFRAME_-127020_UNITS = 'DEGREES' FRAME_MCO_PMIRR_MIRROR = -127021 FRAME_-127021_NAME = 'MCO_PMIRR_MIRROR' FRAME_-127021_CLASS = 3 FRAME_-127021_CLASS_ID = -127021 FRAME_-127021_CENTER = -127 CK_-127021_SCLK = -127 CK_-127021_SPK = -127 \begintext MARCI Frames ------------ (MARCI_MAC and MARCI_WAC frames are TBD) (Nominally both MARCI MAC and WAC frames are rotated -5 degrees about X and -10 degrees about Y axis of the s/c frame.) \begindata FRAME_MCO_MARCI_MAC = -127030 FRAME_-127030_NAME = 'MCO_MARCI_MAC' FRAME_-127030_CLASS = 4 FRAME_-127030_CLASS_ID = -127030 FRAME_-127030_CENTER = -127 TKFRAME_-127030_SPEC = 'ANGLES' TKFRAME_-127030_RELATIVE = 'MCO_SPACECRAFT' TKFRAME_-127030_ANGLES = ( 5.0, 10.0, 0.0 ) TKFRAME_-127030_AXES = ( 1, 2, 3 ) TKFRAME_-127030_UNITS = 'DEGREES' FRAME_MCO_MARCI_WAC = -127031 FRAME_-127031_NAME = 'MCO_MARCI_WAC' FRAME_-127031_CLASS = 4 FRAME_-127031_CLASS_ID = -127031 FRAME_-127031_CENTER = -127 TKFRAME_-127031_SPEC = 'ANGLES' TKFRAME_-127031_RELATIVE = 'MCO_SPACECRAFT' TKFRAME_-127031_ANGLES = ( 5.0, 10.0, 0.0 ) TKFRAME_-127031_AXES = ( 1, 2, 3 ) TKFRAME_-127031_UNITS = 'DEGREES' \begintext MCO Antenna Frames ------------------------------------------------------------------------------- This section contains the antenna frame definitions for MCO. Note that angles in the frame definitions are specified for the "from antenna to base (relative to) frame" transformation. The boresight of each antenna is along the +Z axis in the antenna frame. The rotational offsets can be given as three angles -- ROLL, PITCH and YAW, from which a rotation matrix can be constructed that will transform the components of a vector expressed in the spacecraft frame to components expressed in the antenna fixed frame. For example, if x, y and z are the components of a vector expressed in the spacecraft frame, X, Y and Z will be the components of the same vector expressed in the antenna fixed frame: [ X ] [ ] [ x ] | Y | = | ROT | | y | [ Z ] [ ] [ z ] where ROT is the rotation matrix constructed from the rotation angles as follows: [ ] [ ] [ ] [ ] [ ROT ] = [ YAW ] [ PITCH ] [ ROLL ] [ ] [ ] [ ] [ ] Z Y X where each of three matrixes on the right side represent a coordinate frame rotation by the given angle around the indicated axis. See the SPICELIB routine EUL2M for more information about constructing a rotation matrix from a set of rotation angles. Following are some examples of use of the TKFRAME keywords: The keyword that indicates which frame the axis rotations are referred to is: TKFRAME_-127210_RELATIVE = 'MCO_SPACECRAFT' The keyword TKFRAME_-127210_ANGLES contain these values, in radians, in the following order: ``YAW'' ``PITCH'' ``ROLL'' TKFRAME_-127210_ANGLES = ( 0.0, -90.0, 0.0 ) The keyword TKFRAME_-127210_AXES contains integer codes of the corresponding axes of rotations (1 -- X, 2 -- Y, 3 -- Z). TKFRAME_-127210_AXES = ( 3, 2, 1 ) The keyword TKFRAME_-127210_UNITS gives the units of the angles. TKFRAME_-127210_UNITS = 'DEGREES' High Gain Antenna ----------------- In stowed position High Gain Antenna (HGA) points approximately along S/C +X axis. \begindata FRAME_MCO_HGA_STOWED = -127210 FRAME_-127210_NAME = 'MCO_HGA_STOWED' FRAME_-127210_CLASS = 4 FRAME_-127210_CLASS_ID = -127210 FRAME_-127210_CENTER = -127 TKFRAME_-127210_SPEC = 'ANGLES' TKFRAME_-127210_RELATIVE = 'MCO_SPACECRAFT' TKFRAME_-127210_ANGLES = ( 0.0, -90.0, 0.0 ) TKFRAME_-127210_AXES = ( 3, 2, 1 ) TKFRAME_-127210_UNITS = 'DEGREES' \begintext In deployed position HGA has two degrees of freedom and its orientation is controlled by TGA incorporating two (?) independent gimbals. \begindata FRAME_MCO_HGA_GIMBAL1 = -127211 FRAME_-127211_NAME = 'MCO_HGA_GIMBAL1' FRAME_-127211_CLASS = 3 FRAME_-127211_CLASS_ID = -127211 FRAME_-127211_CENTER = -127 CK_-127211_SCLK = -127 CK_-127211_SPK = -127 FRAME_MCO_HGA_GIMBAL2 = -127212 FRAME_-127212_NAME = 'MCO_HGA_GIMBAL2' FRAME_-127212_CLASS = 3 FRAME_-127212_CLASS_ID = -127212 FRAME_-127212_CENTER = -127 CK_-127212_SCLK = -127 CK_-127212_SPK = -127 FRAME_MCO_HGA_DEPLOYED = -127213 FRAME_-127213_NAME = 'MCO_HGA_DEPLOYED' FRAME_-127213_CLASS = 4 FRAME_-127213_CLASS_ID = -127213 FRAME_-127213_CENTER = -127 TKFRAME_-127213_SPEC = 'ANGLES' TKFRAME_-127213_RELATIVE = 'MCO_HGA_GIMBAL2' TKFRAME_-127213_ANGLES = ( 0.0, 0.0, 0.0 ) TKFRAME_-127213_AXES = ( 3, 2, 1 ) TKFRAME_-127213_UNITS = 'DEGREES' \begintext +X Medium Gain Antenna ---------------------- The first Medium Gain Antenna (MGA1) points approximately along S/C +X axis. \begindata FRAME_MCO_MGA1 = -127220 FRAME_-127220_NAME = 'MCO_MGA1' FRAME_-127220_CLASS = 4 FRAME_-127220_CLASS_ID = -127220 FRAME_-127220_CENTER = -127 TKFRAME_-127220_SPEC = 'ANGLES' TKFRAME_-127220_RELATIVE = 'MCO_SPACECRAFT' TKFRAME_-127220_ANGLES = ( 0.0, -90.0, 0.0 ) TKFRAME_-127220_AXES = ( 3, 2, 1 ) TKFRAME_-127220_UNITS = 'DEGREES' \begintext +X/-Z Low Gain Antenna ---------------------- The second Low Gain Antenna (LGA2) points 45 degrees from +X towards -Z. \begindata FRAME_MCO_LGA2 = -127230 FRAME_-127230_NAME = 'MCO_LGA2' FRAME_-127230_CLASS = 4 FRAME_-127230_CLASS_ID = -127230 FRAME_-127230_CENTER = -127 TKFRAME_-127230_SPEC = 'ANGLES' TKFRAME_-127230_RELATIVE = 'MCO_SPACECRAFT' TKFRAME_-127230_ANGLES = ( 0.0, -135.0, 0.0 ) TKFRAME_-127230_AXES = ( 3, 2, 1 ) TKFRAME_-127230_UNITS = 'DEGREES' \begintext