KPL/FK Genesis Frame Definitions Kernel =============================================================================== This frame kernel contains the Genesis spacecraft, science instrument and communication antenna frame definitions. Version and Date -------------------------------------------------------- Version 1.3 -- November 16, 2004 -- Boris Semenov Added name/ID pair for Sample Return Capsule (SRC) -- GNS_SRC/-47900 -- so that its descent trajectory data can be referred to by name in SPK lookups. Version 1.2 -- June 15, 2001 -- Boris Semenov Rotated MGA frame to align +X axis with the antenna pattern clock angle reference direction. Version 1.1 -- May 31, 2001 -- Boris Semenov Rotated all LGA frames to align +X axis with the antenna pattern clock angle reference direction. Version 1.0 -- July 6, 2000 -- Boris Semenov Filled in actual nominal alignment angles for GIM, GEM, their CEMs and Concentrator. Change LGA frame branches to go though SA frames. Added section containing NAIF ID <-> name mapping. Added antenna FOV definitions (they don't belong in the FK but there is no other place to put them.) Version 0.0 -- March 8, 2000 -- Boris Semenov Extremely Draft and Totally Preliminary Release -- no alignments data for anything, only placeholders. Still can be used in combination with nominal pointing CK to resolve frame names. References -------------------------------------------------------- 1. ``C-kernel Required Reading'' 2. ``Kernel Pool Required Reading'' 3. ``Frames Required Reading'' 4. Genesis Mission Plan (Doc.# GN-61000-202), October 1, 1999 5. LANL IOM "Alignment of Genesis Monitors", June 20, 2000 6. GEM Design/Measured CEM Geometry Chart, by LANL, June 2000 7. GIM Design/Measured CEM Geometry Chart, by LANL, June 2000 8. GNS LGA Coordinate System Diagram Set, provided by R.Tung, JPL Telecom, May 2001 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. Loading the kernel associates data items with their names in a data structure called the `kernel pool'. The SPICELIB routine LDPOOL loads a kernel file into the pool as shown below. CALL LDPOOL ( frame_kernel_name ) In order for a program or subroutine to extract data from the pool, the SPICELIB routines GDPOOL and GIPOOL are used. See [2] for more details. This file was created and may be updated with a text editor or word processor. GNS Frames -------------------------------------------------------- The following GNS frames are defined in this kernel file: Frame Name Relative to Type NAIF ID ========================= ========================= ======= ======= Spacecraft Bus Frame: --------------------- GNS_SC_BUS rel.to J2000/SUN_POINTING CK -47000 Nominal Sun Pointing Frame: --------------------------- GNS_SUN_POINTING rel.to J2000 CK -47999 GEM Frame(s) (-471xx): ---------------------- GNS_GEM_BASE rel.to GNS_SC_BUS FIXED -47100 GNS_GEM_CEM1 rel.to GNS_GEM_BASE FIXED -47101 GNS_GEM_CEM2 rel.to GNS_GEM_BASE FIXED -47102 GNS_GEM_CEM3 rel.to GNS_GEM_BASE FIXED -47103 GNS_GEM_CEM4 rel.to GNS_GEM_BASE FIXED -47104 GNS_GEM_CEM5 rel.to GNS_GEM_BASE FIXED -47105 GNS_GEM_CEM6 rel.to GNS_GEM_BASE FIXED -47106 GNS_GEM_CEM7 rel.to GNS_GEM_BASE FIXED -47107 GIM Frame(s) (-472xx): ---------------------- GNS_GIM_BASE rel.to GNS_SC_BUS FIXED -47200 GNS_GIM_CEM1 rel.to GNS_GIM_BASE FIXED -47201 GNS_GIM_CEM2 rel.to GNS_GIM_BASE FIXED -47202 GNS_GIM_CEM3 rel.to GNS_GIM_BASE FIXED -47203 GNS_GIM_CEM4 rel.to GNS_GIM_BASE FIXED -47204 GNS_GIM_CEM5 rel.to GNS_GIM_BASE FIXED -47205 GNS_GIM_CEM6 rel.to GNS_GIM_BASE FIXED -47206 GNS_GIM_CEM7 rel.to GNS_GIM_BASE FIXED -47207 GNS_GIM_CEM8 rel.to GNS_GIM_BASE FIXED -47208 Concentrator Frame(s) (-473xx): ------------------------------- GNS_CONCENTRATOR rel.to GNS_SC_BUS FIXED -47300 Collector Frame(s) (-474xx): ------------------------------ TBD Solar Array Frame(s) (-476xx): ------------------------------ GNS_SA+Y rel.to GNS_SC_BUS FIXED -47610 GNS_SA-Y rel.to GNS_SC_BUS FIXED -47620 Antenna Frame(s) (-475xx): -------------------------- GNS_MGA rel.to GNS_SC_BUS FIXED -47510 GNS_LGA_FWD+Y rel.to GNS_SA+Y FIXED -47520 GNS_LGA_AFT+Y rel.to GNS_SA+Y FIXED -47530 GNS_LGA_FWD-Y rel.to GNS_SA-Y FIXED -47540 GNS_LGA_AFT-Y rel.to GNS_SA-Y FIXED -47550 GNS Frames Hierarchy ------------------------------------------------------------------------------- The diagram below shows GNS frames hierarchy: "J2000" INERTIAL +-----------------------------------+ | | | | | <--ck | <--pck | | V | V "IAU_EARTH" | "GNS_SUN_POINTING" EARTH BFR(*) | ------------------ ------------ | | | <--ck | <--ck | | V V "GNS_SC_BUS" +--------------------------------------------------+ | | | | | | | |<--fixed | | | | fixed-->| |<-fixed | | | | | | | V | | | | V V "GNS_SA+Y" | | | | "GNS_SA-Y" "GNS_MGA" ---------- | | | | ---------- --------- | | | | | | | | fixed-->| |<--fixed | | | | fixed-->| |<--fixed | | | | | | | | V V | | | | V V "LGA_FWD+Y" "LGA_AFT+Y" | | | | "LGA_FWD-Y" "LGA_AFT-Y" ----------- ----------- | | | | ----------- ----------- | | | | | | | | | | | | | | | | fixed-->| | | |<--fixed | | | | V | | V "GNS_GEM_BASE" | | "GNS_GIM_BASE" +------------- | | -------------+ | | | | fixed--> | | | | <--fixed | | | | V | | V "GNS_GEM_CEM[1-7]" | | "GNS_GEM_CEM[1-8]" ------------------ | | ------------------ fixed--> | | <--TBD | | V V "GNS_CONCENTRATOR" TBD collector frames ------------------ -------------------- Spacecraft Bus Frame -------------------------------------------------------- The spacecraft bus frame is defined by the spacecraft design as follows: * +X axis is perpendicular to the spacecraft deck and and points from the side of the deck on which the sample return capsule is mounted; +X is the axis about which the spacecraft spins; * +Y axis is parallel to the spacecraft deck surface and points from the center of the deck towards the solar array attached to the side of the deck on which the star tracker and GEM instrument are mounted; * +Z axis complements to a right hand frame; it is parallel to the spacecraft deck surface and points from the center of the deck towards the side of the deck on which the MGA and GEM instrument are mounted; * the origin of this frame is at TBD (probably at launch vehicle interface ring -- BVS); This diagram illustrates the Genesis spacecraft bus frame: Star Tracker _______ GIM _______________________ @ _____ @ _______________________ | \__/ / SRC \ \__/ Solar Cell Side | | | | | | (to Sun) | | +Y <--------o+X | | | | _| | | | |_ | |_______________________/ \ \__|__/ / \_______________________| @___|___@ MGA GEM | (MGA is on the -X side V +Z of the deck) Spacecraft bus attitude with respect to an inertial frame or nominal Sun pointing frame "GNS_SUN_POINTING" is provided by a C kernel (see [1] for more information). \begindata FRAME_GNS_SC_BUS = -47000 FRAME_-47000_NAME = 'GNS_SC_BUS' FRAME_-47000_CLASS = 3 FRAME_-47000_CLASS_ID = -47000 FRAME_-47000_CENTER = -47 CK_-47000_SCLK = -47 CK_-47000_SPK = -47 \begintext Nominal Sun Pointing Frame -------------------------------------------------------- The nominal Sun pointing frame is a special frame orientation of which is defined solely by the nominal (or targeted) spacecraft spin axis pointing direction as defined in the mission plan and/or spin axis pointing table maintained during mission operations. This frame does NOT rotate with the spacecraft. The axes of this frames are defined as follows: * +X is in the nominal spacecraft spin axis pointing direction (usually given as RA/DEC in the J2000 frame in the mission plan and ops pointing table); * +Y and +Z are chosen arbitrarily to complete to a right hand frame; * +Y complements to a right hand frame; * the origin of this frame is the same as of the GNS_SC_BUS frame; The attitude of this frame with respect to an inertial frame is provided by a C kernel (see [1] for more information). \begindata FRAME_GNS_SUN_POINTING = -47999 FRAME_-47999_NAME = 'GNS_SUN_POINTING' FRAME_-47999_CLASS = 3 FRAME_-47999_CLASS_ID = -47999 FRAME_-47999_CENTER = -47 CK_-47999_SCLK = -47 CK_-47999_SPK = -47 \begintext Genesis Electron Monitor (GEM) Frames -------------------------------------------------------- The GEM base frame is defined by the instrument design follows: * +Z axis is along the center of the FOV of the CEM #4; * +Y axis is perpendicular to the plane nominally containing CEM FOV center directions and points in such way that rotation about it from CEM #1 towards CEM #7 is in counterclockwise direction; * +X complements to a right hand frame and nominally points in the same direction as the spacecraft bus +X axis. * the origin of this frame is at entrance of the nominal center of the GEM entrance slit (i.e. at the intersection of the slit plane with the central direction of the CEM #4); The instrument -Y side view diagram below illustrates GEM base frame (based on [5].) . ^ +X Spacecraft cem7 . ^ +X | (spin axis) . . | | cem6 `. . |_________ GEM Sensor | . `. . || | | cem5 `. `. . || | ` . `. `..|| | cem4 +Z <--------x | . ' .' .'.| +Y (into page ) cem3 .' .' . | | ' .' . |__________|______________ cem2 .' . | | GEM Mounting Plate ' . _|_______________________|_____ cem1 . | / / / / / / / / / / / / / / / . |/ / Spacecraft Deck / / / / / / GEM FOV The orientation of this frame is a fixed offset from spacecraft bus frame. It's determined by the instrument mounting on the spacecraft. Nominal orientation of the GEM base frame is shown on the spacecraft +X side view diagram below. _______ _______________________ / _____ \ _______________________ | \__/ / \ \__/ | | +Ysc | | | | +Ygem @ <----o+Xsc | | | \ | | |_ | |_______________________/ \ \__|__/ / \_______________________| +Xgem o___V___/ .' +Zsc +Zgem .' @ | . | Both +Xsc and +Xgem .' <--------->| point out of the page. 45 deg | As seen on the diagram, nominally GEM base frame is rotated -45 degrees from the spacecraft bus frame about s/c +X axis. The GNS_GEM_BASE frame definition below contains the nominal orientation. (Note the reversed sign and order of rotations because the keywords contain data needed to compute rotation from GEM base to s/c frame.) \begindata FRAME_GNS_GEM_BASE = -47100 FRAME_-47100_NAME = 'GNS_GEM_BASE' FRAME_-47100_CLASS = 4 FRAME_-47100_CLASS_ID = -47100 FRAME_-47100_CENTER = -47 TKFRAME_-47100_SPEC = 'ANGLES' TKFRAME_-47100_RELATIVE = 'GNS_SC_BUS' TKFRAME_-47100_ANGLES = ( 45.0, 0, 0 ) TKFRAME_-47100_AXES = ( 1, 2, 3 ) TKFRAME_-47100_UNITS = 'DEGREES' \begintext Assuming nominal GEM CEM array mounting, frames for individual CEMs are defined as follows: * +Y axis is parallel and points in the same direction as the +Y axis of the GEM base frame; * +Z axis is along the center direction of the CEM's FOV; * +X axis complements to a right hand frame; * the origin of this frame is same as of the GEM base frame; The orientation of each CEM frame is a fixed offset from GEM base frame. Nominally this orientation is achieved by a single rotation from the GEM base frame about +Y axis of the GEM base frame. For example, CEM #1 frame is nominally rotated -63 degrees about +Y from the base frame. The table below contains nominal rotation offsets, as specified in [6], for each of the CEMs: Rotation about +Y CEM # from GEM base frame ---------- ------------------------ 1 -63 degrees 2 -42 degrees 3 -21 degrees 4 0 degrees 5 +21 degrees 6 +42 degrees 7 +63 degrees Should out-of-CEM-plane misalignment component become of value, an additional rotation about +X, consequent to rotation about +Y, should be added to the definitions. The GNS_GEM_CEM(i) frame definitions below contains the nominal orientation provided in the table. (Note the reversed sign and order of rotations because the keywords contain data needed to compute rotation from CEM to base frame.) \begindata FRAME_GNS_GEM_CEM1 = -47101 FRAME_-47101_NAME = 'GNS_GEM_CEM1' FRAME_-47101_CLASS = 4 FRAME_-47101_CLASS_ID = -47101 FRAME_-47101_CENTER = -47 TKFRAME_-47101_SPEC = 'ANGLES' TKFRAME_-47101_RELATIVE = 'GNS_GEM_BASE' TKFRAME_-47101_ANGLES = ( 0, 63.0, 0 ) TKFRAME_-47101_AXES = ( 1, 2, 3 ) TKFRAME_-47101_UNITS = 'DEGREES' FRAME_GNS_GEM_CEM2 = -47102 FRAME_-47102_NAME = 'GNS_GEM_CEM2' FRAME_-47102_CLASS = 4 FRAME_-47102_CLASS_ID = -47102 FRAME_-47102_CENTER = -47 TKFRAME_-47102_SPEC = 'ANGLES' TKFRAME_-47102_RELATIVE = 'GNS_GEM_BASE' TKFRAME_-47102_ANGLES = ( 0, 42.0, 0 ) TKFRAME_-47102_AXES = ( 1, 2, 3 ) TKFRAME_-47102_UNITS = 'DEGREES' FRAME_GNS_GEM_CEM3 = -47103 FRAME_-47103_NAME = 'GNS_GEM_CEM3' FRAME_-47103_CLASS = 4 FRAME_-47103_CLASS_ID = -47103 FRAME_-47103_CENTER = -47 TKFRAME_-47103_SPEC = 'ANGLES' TKFRAME_-47103_RELATIVE = 'GNS_GEM_BASE' TKFRAME_-47103_ANGLES = ( 0, 21.0, 0 ) TKFRAME_-47103_AXES = ( 1, 2, 3 ) TKFRAME_-47103_UNITS = 'DEGREES' FRAME_GNS_GEM_CEM4 = -47104 FRAME_-47104_NAME = 'GNS_GEM_CEM4' FRAME_-47104_CLASS = 4 FRAME_-47104_CLASS_ID = -47104 FRAME_-47104_CENTER = -47 TKFRAME_-47104_SPEC = 'ANGLES' TKFRAME_-47104_RELATIVE = 'GNS_GEM_BASE' TKFRAME_-47104_ANGLES = ( 0, 0.0, 0 ) TKFRAME_-47104_AXES = ( 1, 2, 3 ) TKFRAME_-47104_UNITS = 'DEGREES' FRAME_GNS_GEM_CEM5 = -47105 FRAME_-47105_NAME = 'GNS_GEM_CEM5' FRAME_-47105_CLASS = 4 FRAME_-47105_CLASS_ID = -47105 FRAME_-47105_CENTER = -47 TKFRAME_-47105_SPEC = 'ANGLES' TKFRAME_-47105_RELATIVE = 'GNS_GEM_BASE' TKFRAME_-47105_ANGLES = ( 0, -21.0, 0 ) TKFRAME_-47105_AXES = ( 1, 2, 3 ) TKFRAME_-47105_UNITS = 'DEGREES' FRAME_GNS_GEM_CEM6 = -47106 FRAME_-47106_NAME = 'GNS_GEM_CEM6' FRAME_-47106_CLASS = 4 FRAME_-47106_CLASS_ID = -47106 FRAME_-47106_CENTER = -47 TKFRAME_-47106_SPEC = 'ANGLES' TKFRAME_-47106_RELATIVE = 'GNS_GEM_BASE' TKFRAME_-47106_ANGLES = ( 0, -42.0, 0 ) TKFRAME_-47106_AXES = ( 1, 2, 3 ) TKFRAME_-47106_UNITS = 'DEGREES' FRAME_GNS_GEM_CEM7 = -47107 FRAME_-47107_NAME = 'GNS_GEM_CEM7' FRAME_-47107_CLASS = 4 FRAME_-47107_CLASS_ID = -47107 FRAME_-47107_CENTER = -47 TKFRAME_-47107_SPEC = 'ANGLES' TKFRAME_-47107_RELATIVE = 'GNS_GEM_BASE' TKFRAME_-47107_ANGLES = ( 0, -63.0, 0 ) TKFRAME_-47107_AXES = ( 1, 2, 3 ) TKFRAME_-47107_UNITS = 'DEGREES' \begintext Genesis Ion Monitor (GIM) Frames -------------------------------------------------------- The GIM base frame is defined by the instrument design follows: * +Z axis is a vector bisecting the angle formed by center directions of the FOVs of the CEM #4 and #5; * +Y axis is perpendicular to the plane (nominally) containing CEM FOV center directions and points in such way that rotation about it from CEM #8 towards CEM #1 is in counterclockwise direction; * +X complements to a right hand frame; * the origin of this frame is at entrance of the nominal center of the GIM entrance slit (i.e. at the intersection of the slit plane with the instrument +Z axis); The instrument +Y side view diagram below illustrates GIM base frame (based on [5].) +Zgim cem1.... ^....cem8 ^ . / . +X Spacecraft | . . (spin axis) | +Xgim . / . | <-_ . . GIM FOV | --_ . / . | --_ . ._ | --o | | +Ygim (out of page) | | | | |_________| GIM Mounting / \ Plate ________/_____________\ | | _____|_______________________|_ / / / / / / / / / / / / / / / | / / / / Spacecraft Deck / / / /| The orientation of this frame is a fixed offset from spacecraft bus frame. It's determined by the instrument mounting done in such way that the center of the FOV of CEM #1 is aligned with the spacecraft +X axis (spin axis.) Nominal orientation of the GIM base frame is shown on the spacecraft +X side and instrument +Y side view diagrams below. Spacecraft +X side view: ------------------------ | 45 deg .' |<--------->.' | .' | .' _______ +Zgim (approx. out of page) _______________________ / _____ o _______________________ | \__/+Xgim .' \ / | | @ | \ | | +Ysc <----o+Xsc @ +Ygim | | __ | | __ | |_______________________/ \ \__|__/ / \_______________________| \___V___/ +Zsc +Xsc is out of the page GIM +Y side view: ----------------- +Zgim cem1.... ^....cem8 ^ . / . +X Spacecraft | . ^ . (spin axis) | +Xgim . / \. | <-_ . .\ 79.5 degrees(*) | --_ . / . \ --_ . . v | --o--------------- | +Ygim | Spacecraft YZ plane | (out of | | page) | |_________| GIM Mounting / \ Plate ________/_____________\ | | _____|_______________________|_ / / / / / / / / / / / / / / / | / / / / Spacecraft Deck / / / /| (*) the value of 79.5 degrees is computed using from value of 10.5 degrees of the offset of the CEM #1 from the GIM +Z axis in the CEM center plane; As seen on the diagram, two rotations are needed to transform spacecraft bus frame into nominal GIM base frame: first by +135 degrees about +X axis, and second by +79.5 degrees about +Y axis. The GNS_GIM_BASE frame definition below contains the nominal orientation. (Note the reversed sign and order of rotations because the keywords contain data needed to compute rotation from GIM base to s/c frame.) \begindata FRAME_GNS_GIM_BASE = -47200 FRAME_-47200_NAME = 'GNS_GIM_BASE' FRAME_-47200_CLASS = 4 FRAME_-47200_CLASS_ID = -47200 FRAME_-47200_CENTER = -47 TKFRAME_-47200_SPEC = 'ANGLES' TKFRAME_-47200_RELATIVE = 'GNS_SC_BUS' TKFRAME_-47200_ANGLES = ( -135.0, -79.5, 0 ) TKFRAME_-47200_AXES = ( 1, 2, 3 ) TKFRAME_-47200_UNITS = 'DEGREES' \begintext Assuming nominal GIM CEM array mounting, frames for individual CEMs are defined as follows: * +Y axis is parallel and points in the same direction as the +Y axis of the GIM base frame; * +Z axis is along the center direction of the CEM's FOV; * +X axis complements to a right hand frame; * the origin of this frame is same as of the GEM base frame; The orientation of each CEM frame is a fixed offset from GIM base frame. Nominally this orientation is achieved by a single rotation from the GIM base frame about +Y axis of the GIM base frame. For example, CEM #1 frame is nominally rotated +10.5 degrees about +Y from the base frame. The table below contains nominal rotation offsets, as specified in [7], for each of the CEMs: Rotation about +Y CEM # from base frame ---------- ------------------------ 1 +10.5 degrees 2 +7.5 degrees 3 +4.5 degrees 4 +1.5 degrees 5 -1.5 degrees 6 -4.5 degrees 7 -7.5 degrees 8 -10.5 degrees Should out-of-CEM-plane misalignment component become of value, an additional rotation about +X, consequent to rotation about +Y, should be added to the definitions. The GNS_GIM_CEM(i) frame definitions below contains the nominal orientation provided in the table. (Note the reversed sign and order of rotations because the keywords contain data needed to compute rotation from CEM to base frame.) \begindata FRAME_GNS_GIM_CEM1 = -47201 FRAME_-47201_NAME = 'GNS_GIM_CEM1' FRAME_-47201_CLASS = 4 FRAME_-47201_CLASS_ID = -47201 FRAME_-47201_CENTER = -47 TKFRAME_-47201_SPEC = 'ANGLES' TKFRAME_-47201_RELATIVE = 'GNS_GIM_BASE' TKFRAME_-47201_ANGLES = ( 0, -10.5, 0 ) TKFRAME_-47201_AXES = ( 1, 2, 3 ) TKFRAME_-47201_UNITS = 'DEGREES' FRAME_GNS_GIM_CEM2 = -47202 FRAME_-47202_NAME = 'GNS_GIM_CEM2' FRAME_-47202_CLASS = 4 FRAME_-47202_CLASS_ID = -47202 FRAME_-47202_CENTER = -47 TKFRAME_-47202_SPEC = 'ANGLES' TKFRAME_-47202_RELATIVE = 'GNS_GIM_BASE' TKFRAME_-47202_ANGLES = ( 0, -7.5, 0 ) TKFRAME_-47202_AXES = ( 1, 2, 3 ) TKFRAME_-47202_UNITS = 'DEGREES' FRAME_GNS_GIM_CEM3 = -47203 FRAME_-47203_NAME = 'GNS_GIM_CEM3' FRAME_-47203_CLASS = 4 FRAME_-47203_CLASS_ID = -47203 FRAME_-47203_CENTER = -47 TKFRAME_-47203_SPEC = 'ANGLES' TKFRAME_-47203_RELATIVE = 'GNS_GIM_BASE' TKFRAME_-47203_ANGLES = ( 0, -4.5, 0 ) TKFRAME_-47203_AXES = ( 1, 2, 3 ) TKFRAME_-47203_UNITS = 'DEGREES' FRAME_GNS_GIM_CEM4 = -47204 FRAME_-47204_NAME = 'GNS_GIM_CEM4' FRAME_-47204_CLASS = 4 FRAME_-47204_CLASS_ID = -47204 FRAME_-47204_CENTER = -47 TKFRAME_-47204_SPEC = 'ANGLES' TKFRAME_-47204_RELATIVE = 'GNS_GIM_BASE' TKFRAME_-47204_ANGLES = ( 0, -1.5, 0 ) TKFRAME_-47204_AXES = ( 1, 2, 3 ) TKFRAME_-47204_UNITS = 'DEGREES' FRAME_GNS_GIM_CEM5 = -47205 FRAME_-47205_NAME = 'GNS_GIM_CEM5' FRAME_-47205_CLASS = 4 FRAME_-47205_CLASS_ID = -47205 FRAME_-47205_CENTER = -47 TKFRAME_-47205_SPEC = 'ANGLES' TKFRAME_-47205_RELATIVE = 'GNS_GIM_BASE' TKFRAME_-47205_ANGLES = ( 0, +1.5, 0 ) TKFRAME_-47205_AXES = ( 1, 2, 3 ) TKFRAME_-47205_UNITS = 'DEGREES' FRAME_GNS_GIM_CEM6 = -47206 FRAME_-47206_NAME = 'GNS_GIM_CEM6' FRAME_-47206_CLASS = 4 FRAME_-47206_CLASS_ID = -47206 FRAME_-47206_CENTER = -47 TKFRAME_-47206_SPEC = 'ANGLES' TKFRAME_-47206_RELATIVE = 'GNS_GIM_BASE' TKFRAME_-47206_ANGLES = ( 0, +4.5, 0 ) TKFRAME_-47206_AXES = ( 1, 2, 3 ) TKFRAME_-47206_UNITS = 'DEGREES' FRAME_GNS_GIM_CEM7 = -47207 FRAME_-47207_NAME = 'GNS_GIM_CEM7' FRAME_-47207_CLASS = 4 FRAME_-47207_CLASS_ID = -47207 FRAME_-47207_CENTER = -47 TKFRAME_-47207_SPEC = 'ANGLES' TKFRAME_-47207_RELATIVE = 'GNS_GIM_BASE' TKFRAME_-47207_ANGLES = ( 0, +7.5, 0 ) TKFRAME_-47207_AXES = ( 1, 2, 3 ) TKFRAME_-47207_UNITS = 'DEGREES' FRAME_GNS_GIM_CEM8 = -47208 FRAME_-47208_NAME = 'GNS_GIM_CEM8' FRAME_-47208_CLASS = 4 FRAME_-47208_CLASS_ID = -47208 FRAME_-47208_CENTER = -47 TKFRAME_-47208_SPEC = 'ANGLES' TKFRAME_-47208_RELATIVE = 'GNS_GIM_BASE' TKFRAME_-47208_ANGLES = ( 0, +10.5, 0 ) TKFRAME_-47208_AXES = ( 1, 2, 3 ) TKFRAME_-47208_UNITS = 'DEGREES' \begintext Genesis Concentrator Frame -------------------------------------------------------- The concentrator frame defined in this file is NOT determined by the instrument design. Instead, it was chosen arbitrarily to comply with the convention that the instrument boresight vector is long the +Z axis of an instrument frame. The axes of this frame are defined as follows: * +Z axis is the instrument boresight direction and (nominally) points in the same direction as the spacecraft +X axis; * +Y axis (nominally) points in the same direction as the spacecraft +Y axis; * +X axis complements to a right hand frame; * the origin of this frame is at the center of the concentrator target plate; The spacecraft +X side view diagram below illustrates this frame (based on [4].) ^+Xcon __|____ _____________________+Ycon / _|___ \ _______________________ | \_<----o\+Zcon__/ | | | \_/ | | | | +Ysc <----o+Xsc | | | __ | | | __ | |_______________________/ \ \__|__/ / \_______________________| \___V___/ +Zsc +Xsc and +Zcon are out of the page The orientation of this frame is a fixed offset from spacecraft bus frame. As seen on the diagram, nominally Concentrator frame is rotated +90 degrees from the spacecraft bus frame about s/c +Y axis. The GNS_CONCENTRATOR frame definition below represents this nominal orientation. (Note the reversed sign and order of rotations because the keywords contain data needed to compute rotation from Concentrator to s/c frame.) \begindata FRAME_GNS_CONCENTRATOR = -47300 FRAME_-47300_NAME = 'GNS_CONCENTRATOR' FRAME_-47300_CLASS = 4 FRAME_-47300_CLASS_ID = -47300 FRAME_-47300_CENTER = -47 TKFRAME_-47300_SPEC = 'ANGLES' TKFRAME_-47300_RELATIVE = 'GNS_SC_BUS' TKFRAME_-47300_ANGLES = ( 0, -90.0, 0 ) TKFRAME_-47300_AXES = ( 1, 2, 3 ) TKFRAME_-47300_UNITS = 'DEGREES' \begintext Genesis Collector Frames -------------------------------------------------------- TBD Solar Array (SA+Y and SA-Y) Frames -------------------------------------------------------- The frames for each of two arrays in nominal deployed position, i.e. when array is fully extended and its plane is parallel to the spacecraft deck plane, is defined as follows: * +Z axis is perpendicular to the solar array plane and points from the solar cell side of the array; i.e. it's parallel and points in the same direction as the s/c +X axis; * +Y axis is along the array middle line and points from the s/c deck towards the array edge; * +X axis complements to a right hand frame; * the origin of this frame is in the array plane between the hinges by which the array is mounted to the s/c deck; The spacecraft +X side view diagram below illustrates these frames: +Xsa+y _______ _______________________ ^ / _____ \ _______________________ | \|_/ / \ \__/ | | +Ysa+y | +Ysc | +Zsa-y | | <----o <----o+Xsc o----> | | +Zsa+y| | | _| +Ysa-y | |_______________________/ \ \__|__/ / |\_______________________| \___V___/ V +Zsc +Xsa-y +Xsc, +Zsa+y and +Zsa-y are out of the page Both solar arrays frames are fixed offset with respect to the spacecraft base frame. A single rotation by +90 degrees about +Y axis is needed to transform the GNS_SC_BUS frame into the GNS_SA+Y frame. Two rotations, first by +90 degrees about +Y axis and second by 180 degrees about +Z axis, are needed to transform the GNS_SC_BUS frame into the GNS_SA-Y frame. The frames definition below represents this orientation. (Note the reversed sign and order of rotations because the keywords contain data needed to compute rotation from array to s/c base frame.) \begindata FRAME_GNS_SA+Y = -47610 FRAME_-47610_NAME = 'GNS_SA+Y' FRAME_-47610_CLASS = 4 FRAME_-47610_CLASS_ID = -47610 FRAME_-47610_CENTER = -47 TKFRAME_-47610_SPEC = 'ANGLES' TKFRAME_-47610_RELATIVE = 'GNS_SC_BUS' TKFRAME_-47610_ANGLES = ( 0, -90.0, 0 ) TKFRAME_-47610_AXES = ( 1, 2, 3 ) TKFRAME_-47610_UNITS = 'DEGREES' FRAME_GNS_SA-Y = -47620 FRAME_-47620_NAME = 'GNS_SA-Y' FRAME_-47620_CLASS = 4 FRAME_-47620_CLASS_ID = -47620 FRAME_-47620_CENTER = -47 TKFRAME_-47620_SPEC = 'ANGLES' TKFRAME_-47620_RELATIVE = 'GNS_SC_BUS' TKFRAME_-47620_ANGLES = ( 0, -90.0, 180.0 ) TKFRAME_-47620_AXES = ( 1, 2, 3 ) TKFRAME_-47620_UNITS = 'DEGREES' \begintext Antenna Frames -------------------------------------------------------- The frame for each of five antennas -- MGA, two forward LGAs and two aft LGAs -- is defined as follows: * +Z axis is the antenna boresight direction; * +X axis is the antenna pattern clock angle reference axis; * +Y axis completes the right hand frame; * the origin of this frame is at the center of the antenna dish (for MGA) or plate (for LGAs); The diagrams below illustrates MGA frame: Spacecraft +X side view: ------------------------ _______ _______________________ / _____ \ _______________________ | \__/ / \ \__/ | | +Ysc +Xsx +Xmga | | | <----o ^ | | | __ | | __ | |_______________________/ \+Zsc|__/|/ \_______________________| \___V___x----> +Ymga +Zmga +Zmga into the page Spacecraft +Z side view: ------------------------ / / Spacecraft deck / / | _/_/_/_/_/_/_/_/_/_/_/_/| | | +Xsc ^ |___| | +Xmga x--------> +Ymga | / | \ | /___|___\ | | <--------o | +Ysc +Zsc V +Zmga As seen on the diagram, two rotations are needed to transform spacecraft bus frame into MGA frame: first by 180 degrees about +X axis, and second by -90.0 degrees about +Y axis. The GNS_MGA frame definition below contains this orientation. (Note the reversed sign and order of rotations because the keywords contain data needed to compute rotation from MGA to s/c frame.) \begindata FRAME_GNS_MGA = -47510 FRAME_-47510_NAME = 'GNS_MGA' FRAME_-47510_CLASS = 4 FRAME_-47510_CLASS_ID = -47510 FRAME_-47510_CENTER = -47 TKFRAME_-47510_SPEC = 'ANGLES' TKFRAME_-47510_RELATIVE = 'GNS_SC_BUS' TKFRAME_-47510_ANGLES = ( 180.0, 90.0, 0 ) TKFRAME_-47510_AXES = ( 1, 2, 3 ) TKFRAME_-47510_UNITS = 'DEGREES' \begintext The spacecraft +X side view diagram below illustrates LGA frames: +Y ^ LGAfwd LGAaft | +Xsa+y _______ | +X +Z _______________________ ^ / _____ \ ________ <---x __ <---o | \|_/ / \ \__/ +X +Z || LGAfwd +Ysa+y | +Ysc | +Zsa-y || |^ +Y <----o <----o+Xsc o----> +Y V| || +Zsa+y| | | _| +Ysa-y | || _____ +Z ____________/ \ \__|__/ / |\_______________________| o---> x---> +X \___V___/ V +Z +X | +Zsc +Xsa-y | LGAaft V +Y +Xsc, +Zsa+y, +Zsa-y and +Z axes of both LGAfwd are out of the page +Z axes of both LGAaft are into the page As seen on the diagram, the forward LGA frames (LGAfwd) are the same as the frames of the solar arrays on which they are mounted. The aft LGA frames (LGAaft) are rotated 180 degrees about +Y from the frames of the solar arrays on which they are mounted. Then, each of the LGA frames is rotated additional -90 degrees about boresight (+Z) to align +X axis with the antenna clock angle reference direction. (per [8]) \begindata FRAME_GNS_LGA_FWD+Y = -47520 FRAME_-47520_NAME = 'GNS_LGA_FWD+Y' FRAME_-47520_CLASS = 4 FRAME_-47520_CLASS_ID = -47520 FRAME_-47520_CENTER = -47 TKFRAME_-47520_SPEC = 'ANGLES' TKFRAME_-47520_RELATIVE = 'GNS_SA+Y' TKFRAME_-47520_ANGLES = ( 0, 0, 90.0 ) TKFRAME_-47520_AXES = ( 1, 2, 3 ) TKFRAME_-47520_UNITS = 'DEGREES' FRAME_GNS_LGA_AFT+Y = -47530 FRAME_-47530_NAME = 'GNS_LGA_AFT+Y' FRAME_-47530_CLASS = 4 FRAME_-47530_CLASS_ID = -47530 FRAME_-47530_CENTER = -47 TKFRAME_-47530_SPEC = 'ANGLES' TKFRAME_-47530_RELATIVE = 'GNS_SA+Y' TKFRAME_-47530_ANGLES = ( 0, 180.0, 90.0 ) TKFRAME_-47530_AXES = ( 1, 2, 3 ) TKFRAME_-47530_UNITS = 'DEGREES' FRAME_GNS_LGA_FWD-Y = -47540 FRAME_-47540_NAME = 'GNS_LGA_FWD-Y' FRAME_-47540_CLASS = 4 FRAME_-47540_CLASS_ID = -47540 FRAME_-47540_CENTER = -47 TKFRAME_-47540_SPEC = 'ANGLES' TKFRAME_-47540_RELATIVE = 'GNS_SA-Y' TKFRAME_-47540_ANGLES = ( 0, 0, 90.0 ) TKFRAME_-47540_AXES = ( 1, 2, 3 ) TKFRAME_-47540_UNITS = 'DEGREES' FRAME_GNS_LGA_AFT-Y = -47550 FRAME_-47550_NAME = 'GNS_LGA_AFT-Y' FRAME_-47550_CLASS = 4 FRAME_-47550_CLASS_ID = -47550 FRAME_-47550_CENTER = -47 TKFRAME_-47550_SPEC = 'ANGLES' TKFRAME_-47550_RELATIVE = 'GNS_SA-Y' TKFRAME_-47550_ANGLES = ( 0, 180.0, 90.0 ) TKFRAME_-47550_AXES = ( 1, 2, 3 ) TKFRAME_-47550_UNITS = 'DEGREES' \begintext These are MGA and LGA FOV definitions. Of course, they don't belong in this Frames Kernel ... but there is no other place to put them. :-) Boresight of each antenna is along +Z axis of the antenna's frame. The MGA FOV is a 70-degree cone; the LGA FOVs are 120-degree cones (see [4].) \begindata INS-47510_FOV_FRAME = 'GNS_MGA' INS-47510_FOV_SHAPE = 'CIRCLE' INS-47510_BORESIGHT = ( 0.0 0.0 1.0 ) INS-47510_FOV_BOUNDARY_CORNERS = ( 0.700207538210 0.0 1.0 ) INS-47520_FOV_FRAME = 'GNS_LGA_FWD+Y' INS-47520_FOV_SHAPE = 'CIRCLE' INS-47520_BORESIGHT = ( 0.0 0.0 1.0 ) INS-47520_FOV_BOUNDARY_CORNERS = ( 1.732050807569 0.0 1.0 ) INS-47530_FOV_FRAME = 'GNS_LGA_AFT+Y' INS-47530_FOV_SHAPE = 'CIRCLE' INS-47530_BORESIGHT = ( 0.0 0.0 1.0 ) INS-47530_FOV_BOUNDARY_CORNERS = ( 1.732050807569 0.0 1.0 ) INS-47540_FOV_FRAME = 'GNS_LGA_FWD-Y' INS-47540_FOV_SHAPE = 'CIRCLE' INS-47540_BORESIGHT = ( 0.0 0.0 1.0 ) INS-47540_FOV_BOUNDARY_CORNERS = ( 1.732050807569 0.0 1.0 ) INS-47550_FOV_FRAME = 'GNS_LGA_AFT-Y' INS-47550_FOV_SHAPE = 'CIRCLE' INS-47550_BORESIGHT = ( 0.0 0.0 1.0 ) INS-47550_FOV_BOUNDARY_CORNERS = ( 1.732050807569 0.0 1.0 ) \begintext GNS NAIF ID <-> Name Mapping ------------------------------------------------------------------------------- This section contains mapping needed by SPICE system to support use of the GNS instrument and structure names in the SPKEZ/SPKEZR calls. Spacecraft: \begindata NAIF_BODY_NAME += ( 'GNS' ) NAIF_BODY_CODE += ( -47 ) NAIF_BODY_NAME += ( 'GNS_BUS' ) NAIF_BODY_CODE += ( -47000 ) NAIF_BODY_NAME += ( 'GNS_SRC' ) NAIF_BODY_CODE += ( -47900 ) \begintext GEM: \begindata NAIF_BODY_NAME += ( 'GNS_GEM' ) NAIF_BODY_CODE += ( -47100 ) NAIF_BODY_NAME += ( 'GNS_GEM_CEM1' ) NAIF_BODY_CODE += ( -47101 ) NAIF_BODY_NAME += ( 'GNS_GEM_CEM2' ) NAIF_BODY_CODE += ( -47102 ) NAIF_BODY_NAME += ( 'GNS_GEM_CEM3' ) NAIF_BODY_CODE += ( -47103 ) NAIF_BODY_NAME += ( 'GNS_GEM_CEM4' ) NAIF_BODY_CODE += ( -47104 ) NAIF_BODY_NAME += ( 'GNS_GEM_CEM5' ) NAIF_BODY_CODE += ( -47105 ) NAIF_BODY_NAME += ( 'GNS_GEM_CEM6' ) NAIF_BODY_CODE += ( -47106 ) NAIF_BODY_NAME += ( 'GNS_GEM_CEM7' ) NAIF_BODY_CODE += ( -47107 ) \begintext GIM: \begindata NAIF_BODY_NAME += ( 'GNS_GIM' ) NAIF_BODY_CODE += ( -47200 ) NAIF_BODY_NAME += ( 'GNS_GIM_CEM1' ) NAIF_BODY_CODE += ( -47201 ) NAIF_BODY_NAME += ( 'GNS_GIM_CEM2' ) NAIF_BODY_CODE += ( -47202 ) NAIF_BODY_NAME += ( 'GNS_GIM_CEM3' ) NAIF_BODY_CODE += ( -47203 ) NAIF_BODY_NAME += ( 'GNS_GIM_CEM4' ) NAIF_BODY_CODE += ( -47204 ) NAIF_BODY_NAME += ( 'GNS_GIM_CEM5' ) NAIF_BODY_CODE += ( -47205 ) NAIF_BODY_NAME += ( 'GNS_GIM_CEM6' ) NAIF_BODY_CODE += ( -47206 ) NAIF_BODY_NAME += ( 'GNS_GIM_CEM7' ) NAIF_BODY_CODE += ( -47207 ) NAIF_BODY_NAME += ( 'GNS_GIM_CEM8' ) NAIF_BODY_CODE += ( -47208 ) \begintext Concentrator: \begindata NAIF_BODY_NAME += ( 'GNS_CONCENTRATOR' ) NAIF_BODY_CODE += ( -47300 ) \begintext Solar Arrays: \begindata NAIF_BODY_NAME += ( 'GNS_SA+Y' ) NAIF_BODY_CODE += ( -47610 ) NAIF_BODY_NAME += ( 'GNS_SA-Y' ) NAIF_BODY_CODE += ( -47620 ) \begintext Antennas: \begindata NAIF_BODY_NAME += ( 'GNS_MGA' ) NAIF_BODY_CODE += ( -47510 ) NAIF_BODY_NAME += ( 'GNS_LGA_FWD+Y' ) NAIF_BODY_CODE += ( -47520 ) NAIF_BODY_NAME += ( 'GNS_LGA_AFT+Y' ) NAIF_BODY_CODE += ( -47530 ) NAIF_BODY_NAME += ( 'GNS_LGA_FWD-Y' ) NAIF_BODY_CODE += ( -47540 ) NAIF_BODY_NAME += ( 'GNS_LGA_AFT-Y' ) NAIF_BODY_CODE += ( -47550 ) \begintext