KPL/IK MAG/ER Instrument Kernel =========================================================================== This instrument kernel (I-kernel) contains the mounting orientations and positions of the Magnetic Field Experiment (MAG) and the Electron Reflectometer (ER). This file also defines a set of frames associated with the instrument sensors and the orientation of the "real" -Y solar array, which was not fully deployed after launch, relative to its intended nominal position. Version and Date -------------------------------------------------------- Version 1.2 -- September 16, 1998 -Y solar array frame definition was changed from fixed-offest frame to be a CK-based frame. All references to a previous hinge angle values were removed from the file. Version 1.1 -- September 12, 1997 -Y solar array "incomplete" deployment angle value in corresponding frame definition and describing text was changed to 19.5 degrees. Version 1.0 -- July 30, 1997 References -------------------------------------------------------- 1. MGSM-AV-95-0074 IOM from LMA re. "Updated SA and HGA Gimbal Control Base Plate Frame Definition and Transformation"; April 7, 1995. 2. "Spacecraft bus/Magnetometer/Electron Reflectometer Interface Control Document" MCR-94-4126, Final Rev. A; February 1, 1996 3. MGS Spacecraft drawings: 874C0840000 "Assembly, Solar Array" (sheets 1,4); 874C0845000 "Assembly, Solar Array Outboard Panel" (sheet 1,2); MGS-94-4126 "MAG/ER Interface Control Drawing, Appendix B" (sheets 1,2); 874C0840009 "Installation, Solar array to Spacecraft" (sheet 1) 4. E-mail exchange and conversations with Carl Kloss, MGS Payload Engineer, JPL; March-July 1997. 5. E-mail exchange and conversation with Jack Connerney, MAG/ER Co-I and Data Reduction Manager, GSFC; July, 1997; 6. C-kernel Required Reading. 7. SP-kernel Required Reading. 8. Frames Required Reading. 9. Kernel Pool Required Reading. Acronyms -------------------------------------------------------- MGS Mars Global Surveyor spacecraft LMA Lockheed Martin Astronautics Corporation, MGS prime contractor MAG Magnetic Field Experiment ER Electron Reflectometer Implementation Notes and Usage -------------------------------------------------------- This file is used by the SPICE system as follows: programs that make use of this I-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 ( ) After that any instrument parameter specified in this file can be retrieved from the `pool' by a call to a SPICELIB routine corresponding to the parameter type: GDPOOL for double precision numbers, GIPOOL for integer number and GCPOOL for character strings. For example, the call CALL GIPOOL ( 'INS-94053_PLATFORM_ID', 1, 1, N, PLATID, FOUND ) return the NAIF ID of the platform on which the ER is installed (see more about variable names later in the file). Any frames defined in the file are utilized by SPICE automatically. For example, given that this file containing frame definitions and all required SPICE kernels files (SCLK, CK and other IK files) containing frame orientation data were loaded into a user's program, a transformation matrix rotating vectors from one defined frame to another for a particular time can be obtained with a single call to the SXFORM subroutine: CALL SXFORM ( "FROM_FRAME_NAME", "TO_FRAME_NAME", ET, XFORM ) For example, the call CALL SXFORM ( "MGS_SPACECRAFT", "MGS_MAG_+Y_SENSOR", ET, XFORM ) returns a matrix XFROM transforming states from the MGS spacecraft fixed frame to the +Y MAG sensor instrument frame. (MGS Solar Array CK and MAG/ER IK files must be loaded to provided required transformations.) Another call CALL SXFORM ( "IAU_MARS", "MGS_MAG_-Y_SENSOR", ET, XFORM ) returns a matrix XFORM transforming a state vector from the Mars body-fixed frame to the -Y MAG sensor instrument frame. (PCK, MGS S/C CK, MGS Solar Array CK and MAG/ER IK files must be loaded to provided required transformations.) Any of the defined frames can also be used as input to SPKEZ or SPKEZR subroutines to specify a frame relative to which a state must be returned. For example the call CALL SPKEZ ( 499, ET, "MGS_MAG_+Y_SENSOR", "NONE", -94, STATE, LT ) returns position and velocity of Mars relative to the MGS spacecraft in the +Y MAG sensor instrument frame. (MGS s/c and planet ephemeris SPK, MGS S/C CK, MGS Solar Array CK and MAG/ER IK files must be loaded to provided required transformations.) Naming Conventions -------------------------------------------------------- All names referencing data in this I-kernel (except frame definition keywords) are of the form INS_ The instrument ID is a negative integer value that uniquely identifies an instrument. For Mars Global Surveyor, instrument IDs are of the form -94xxx. Because the MAG/ER instrument has three assemblies---two sensors mounted on the spacecraft's Solar Arrays, and the Electron Reflectometer mounted on the spacecraft's instrument deck---that are each capable of having a different orientation and location with respect to the MGS spacecraft or its solar arrays, each assembly is referenced by a unique instrument ID. The IDs assigned to the MAG/ER instrument assemblies are listed below. -94051 +Y Solar Array MAG sensor -94052 -Y Solar Array MAG sensor -94053 Electron Reflectometer (ER) There are also a pair of NAIF IDs assigned to each of the MGS solar arrays: -94001 +Y Solar Array (gimbal--yoke part of the array) -94901 +Y Solar Array (the rest of the array) -94002 -Y Solar Array (gimbal--yoke part of the array) -94902 -Y Solar Array (the rest of the array) The reason why two IDs were assigned to each array is because the -Y Solar array failed to deploy completely. That's why a more complicated schema to define MAG sensor locations and frames is used in this file (refer to "Frames definitions" section of the file). Following the instrument number is the name of the data item. For example, the Euler angles giving the orientation of the -Y sensor are assigned to the name INS-94052_EULER_ANGLES The upper bound on the length of a name is 32 characters. MAG/ER Mounting Orientation -------------------------------------------------------- ANYONE WHO IS USING SPICE TOOLKIT VERSION N0047 OR LATER DOES NOT NEED TO ACCESS DATA IN THIS SECTION OF THE FILE DIRECTLY. HE/SHE IS ADVISED TO USE PRE-SET FRAME DEFINITIONS EXPLAINED LATER IN THE FILE TO COMPUTE TRANSFORMATIONS BETWEEN VARIOUS FRAMES ASSOCIATED WITH THE MAG SENSORS AND ER. Below, the orientations of the MAG's two sensors relative to the corresponding solar array reference frame and the Electron Reflectometer relative to the spacecraft body reference frame are given in terms of Euler angles, where Euler angles are expressed as follows: INS_EULER_ANGLES = ( angle-1 angle-2 angle-3 ) INS_EULER_AXES = ( axis-1 axis-2 axis-3 ) From these angles, the I-kernel readers determine the orientation of an instrument relative to the corresponding spacecraft structure in three right-handed rotations: 1. Rotate a frame coincident with the spacecraft frame by angle-1 about axis-1. 2. Rotate the resulting frame by angle-2 about axis-2. 3. Rotate the resulting frame by angle-3 about axis-3. The final frame is the orientation of the instrument, where the Z-axis is the direction of the instrument's boresight vector, or principle reference axis. Refer to the I-kernel readers for further details and examples. The orientations of the instrument frames of the +Y and -Y MAG sensors relative to the corresponding solar array frames are shown below: -Y Solar Array frame +Y Solar Array frame +Z +X +Z | / | | / | | / | +Y _______|/ |_______ +Y / / +X / -Y MAG Sensor frame +Y MAG Sensor frame _______ +Y _______ +Y /| /| / | / | / | / | / | / | +Z +X +Z +X This schema shows that +Y MAG is +90 degrees rotated about Y axis relative to the +Y solar array and -Y MAG sensor is -90 degrees rotated about Y axis and after that +180 degrees rotated about the new position of Z axis relative to the -Y solar array . The Electron Reflectometer's reference frame is defined in terms of its 360 degree disk-shaped field of view: the ER +Z axis is normal to the `disk', and in the direction away from the spacecraft; the ER +X and +Y axes are in the plane of the `disk', forming a right-handed, orthogonal frame. The ER +Z axis lies in the S/C XY plane, 10 degrees from the -X axis in the direction of the -Y axis. (ref. MGS S/C DWG 874C0821109, sheet 1) The two sensors and the ER retain the orientations above during cruise and mapping. The angles below are given in radians. The axes are represented as integers (1=X, 2=Y, 3=Z). \begindata INS-94051_EULER_ANGLES = ( 0.0 1.5707963268 0.0 ) INS-94051_EULER_AXES = ( 1 2 3 ) INS-94052_EULER_ANGLES = ( 0.0 -1.5707963268 3.1415926536 ) INS-94052_EULER_AXES = ( 1 2 3 ) INS-94053_EULER_ANGLES = ( 0.0 -1.5707963268 0.1745329252 ) INS-94053_EULER_AXES = ( 3 2 1 ) \begintext -Y Solar Array Deployed Orientation -------------------------------------------------------- The -Y solar array in its real "incompletely" deployed position is rotated by hinge deflection about X axis of the array in its nominal "fully" deployed position. This fact is taken into account by defining two frames for the array. These frames are explained in the next section of the document. Instrument Frame Definitions -------------------------------------------------------- Two sections below contain descriptions and SPICE definitions of the instruments frames for the MAG sensors, ER and Solar Arrays. These definitions will be utilized by SPICE's FRAMES subsystem to provide automatic state transformations to/from these frames. Frames diagram -------------------------------------------------------- The following diagrams shows the frames defines for the MGS spacecraft, solar arrays and MAG sensors: +Z | | *--- +Y +X / S/C body FR +Z (MGS_SPACECRAFT) +Z | +X | | |/ | | +Y ---* | *--- +Y | +X / -Y Gimbal FR | +Y Gimbal FR (MGS_RIGHT_ | (MGS_LEFT_ +Z +Z SOLAR_ARRAY) | SOLAR_ARRAY) | | +X | | | | |/ | | | *--- +Y +Y ---* | | | +X / -Y Yoke FR | | | +Y Yoke FR (MGS_+Y_SOLAR | | | (MGS_+Y_SOLAR _ARRAY) | | | _ARRAY) *--- +Y | | | | | *--- +Y /| | | | | | /| +Z | | | | | | +Z | +X | | | | | +X | | V | | -Y MAG sensor FR | | ________ | | +Y MAG sensor FR (MGS_MAG_-Y_SENSOR) | V / /| V | (MGS_MAG_+Y_SENSOR) | ____________|_ ______ /_______/ | _____|__ ___________|__ V / V// | | | | / V // V / / -Y Solar // | | | | / // +Y Solar / @ Array /@ @--| | ---@ @/ Array @ / // / | | | | // / /_____________//______/ | | | |______//_____________/. |_______|/ "MGS_SPACECRAFT" frame is the frame associated with the MGS spacecraft main bus. This frame is defined in an MGS SCLK file created by mgs_scet2sclk program at LMA. Orientation of this frame is provided in the CK files produced by the ATTREC program at LMA. "MGS_LEFT_SOLAR_ARRAY" and "MGS_RIGHT_SOLAR_ARRAY" frames are associated with the +Y and -Y solar array gimbals respectively. These frames are defined in an MGS SCLK file created by the mgs_scet2sclk program at LMA. Orientation of these frames is provided in the CK files produced by the MGSSCK program at LMA. Note that there are no separate frames defined for inboard ("elevation") and outboard ("azimuth") gimbals for each solar array. Instead each pair of gimbals is considered as a single gimbal having two degrees of rotation. These frame can be considered as "nominal" solar array position frames since they specify gimbal orientation and do not take into account any additional rotations/transformation that can (did) occur due to incomplete deployment of an array. "MGS_+Y_SOLAR_ARRAY" and "MGS_-Y_SOLAR_ARRAY" frames are associated with the +Y and -Y solar array yokes respectively. These frame are defined below. These frames are "fixed offset" frames whose orientation is specified by a set of Euler angles relative to the corresponding frames associated with gimbals. Defining these frames was required because of -Y Solar array deployment failure which introduced an additional rotation in the yoke for that panel. For the +Y panel this frame is the same as the gimbal frame. "MGS_MAG_+Y_SENSOR" and "MGS_MAG_-Y_SENSOR" frames are associated with +Y and -Y MAG sensors. These frames are defined below. These frames are fixed offset frames whose orientation is specified by a set of Euler angles relative to the corresponding yoke frames. The connection (or "transformation tree") between all these frames is depicted below. The SPICE kernel file providing transformation between corresponding frames is given on the right. "IAU_MARS" MARS BODY-FIXED ROTATING FRAME | | <------------------- SPICE PC-Kernel | "J2000" INERTIAL FRAME | | <------------------- MGS S/C C-Kernel | "MGS_SPACECRAFT" FRAME | | | <-- | <---------- MGS SOLAR ARRAY C-Kernel | | "MGS_RIGHT_SOLAR_ARRAY" "MGS_LEFT_SOLAR_ARRAY" | | | <-- | <---------- MGS MAG/ER I-Kernel | | "MGS_-Y_SOLAR_ARRAY" "MGS_+Y_SOLAR_ARRAY" | | | <-- | <---------- MGS MAG/ER I-Kernel | | "MGS_MAG_-Y_SENSOR" "MGS_MAG_+Y_SENSOR" MAG and ER frames -------------------------------------------------------- Following are MGS Solar Array yoke frames ("MGS_+Y_SOLAR_ARRAY" and "MGS_-Y_SOLAR_ARRAY") definitions. -Y solar array yoke frame ("MGS_-Y_SOLAR_ARRAY") is rotated by a hinge deflection angle about X axis relative to -Y solar array gimbal frame ("MGS_RIGHT_SOLAR_ARRAY") because -Y solar array was not fully deployed. Transformation matrix for this rotation is stored in a hintge deflection CK file. +Y solar array yoke frame("MGS_+Y_SOLAR_ARRAY") is the same as +Y solar array gimbal frame ("MGS_LEFT_SOLAR_ARRAY"). Note that angles in the frame definitions are specified for "from instrument to base (relative to) frame" transformation. \begindata FRAME_MGS_+Y_SOLAR_ARRAY = -94901 FRAME_-94901_NAME = 'MGS_+Y_SOLAR_ARRAY' FRAME_-94901_CLASS = 4 FRAME_-94901_CLASS_ID = -94901 FRAME_-94901_CENTER = -94 TKFRAME_-94901_SPEC = 'ANGLES' TKFRAME_-94901_RELATIVE = 'MGS_LEFT_SOLAR_ARRAY' TKFRAME_-94901_ANGLES = ( 0.0, 0.0, 0.0 ) TKFRAME_-94901_AXES = ( 1, 2, 3 ) TKFRAME_-94901_UNITS = 'DEGREES' FRAME_MGS_-Y_SOLAR_ARRAY = -94902 FRAME_-94902_NAME = 'MGS_-Y_SOLAR_ARRAY' FRAME_-94902_CLASS = 3 FRAME_-94902_CLASS_ID = -94902 FRAME_-94902_CENTER = -94 \begintext Following are the MAG sensor instrument frames ("MGS_MAG_+Y_SENSOR" and "MGS_MAG_-Y_SENSOR") definitions. +Y MAG sensor frame ("MGS_MAG_+Y_SENSOR") is +90 degrees rotated about Y axis relative to the +Y solar array yoke frame ("MGS_+Y_SOLAR_ARRAY"). -Y MAG sensor frame ("MGS_MAG_-Y_SENSOR") is -90 degrees rotated about Y axis and after that +180 degrees rotated about new position of Z axis relative to the -Y solar array yoke frame ("MGS_+Y_SOLAR_ARRAY"). Note that angles in the frame definitions are specified for "from instrument to base (relative to) frame" transformation. \begindata FRAME_MGS_MAG_+Y_SENSOR = -94051 FRAME_-94051_NAME = 'MGS_MAG_+Y_SENSOR' FRAME_-94051_CLASS = 4 FRAME_-94051_CLASS_ID = -94051 FRAME_-94051_CENTER = -94 TKFRAME_-94051_SPEC = 'ANGLES' TKFRAME_-94051_RELATIVE = 'MGS_+Y_SOLAR_ARRAY' TKFRAME_-94051_ANGLES = ( 0.0, -90.0, 0.0 ) TKFRAME_-94051_AXES = ( 1, 2, 3 ) TKFRAME_-94051_UNITS = 'DEGREES' FRAME_MGS_MAG_-Y_SENSOR = -94052 FRAME_-94052_NAME = 'MGS_MAG_-Y_SENSOR' FRAME_-94052_CLASS = 4 FRAME_-94052_CLASS_ID = -94052 FRAME_-94052_CENTER = -94 TKFRAME_-94052_SPEC = 'ANGLES' TKFRAME_-94052_RELATIVE = 'MGS_-Y_SOLAR_ARRAY' TKFRAME_-94052_ANGLES = ( 0.0, 90.0, 180.0 ) TKFRAME_-94052_AXES = ( 1, 2, 3 ) TKFRAME_-94052_UNITS = 'DEGREES' \begintext Following is the ER instrument frame ("MGS_ER") definition. The ER +Z axis lies in the S/C XY plane, 10 degrees from the -X axis in the direction of the -Y axis. (ref. MGS S/C DWG 874C0821109, sheet 1). Note that angles in the frame definitions are specified for "from instrument to base (relative to) frame" transformation. \begindata FRAME_MGS_ER = -94053 FRAME_-94053_NAME = 'MGS_ER' FRAME_-94053_CLASS = 4 FRAME_-94053_CLASS_ID = -94053 FRAME_-94053_CENTER = -94 TKFRAME_-94053_SPEC = 'ANGLES' TKFRAME_-94053_RELATIVE = 'MGS_SPACECRAFT' TKFRAME_-94053_ANGLES = ( 0.0, 90.0, -10.0 ) TKFRAME_-94053_AXES = ( 3, 2, 1 ) TKFRAME_-94053_UNITS = 'DEGREES' \begintext MAG/ER Mounting Positions -------------------------------------------------------- ANYONE WHO IS USING SPICE TOOLKIT VERSION N0047 OR LATER DOES NOT NEED TO ACCESS DATA IN THIS SECTION OF THE FILE DIRECTLY. HE/SHE IS ADVISED TO USE FIXED-POSITIONS SPK FILE, CONTAINING ALL LOCATIONS SPECIFIED BELOW RELATIVE TO THE CORRESPONDING FRAMES DEFINED IN THE SECTION ABOVE, AND SPK SUBROUTINES TO COMPUTE LOCATIONS OF THE MAG SENSORS RELATIVE TO EACH OTHER AND S/C CENTER. The X Y and Z positions of the ER are given below, expressed relative to the spacecraft principle reference axes. Units are meters. \begindata INS-94053_POSITION = ( -0.0000000, -0.0000000, -0.0000000 ) \begintext The following diagram shows dimensions required to determine locations of the MAG sensors relative to the s/c center: -Y MAG yoke gimbal s/c gimbal yoke +Y MAG | | | | | | | | 3.817m | 0.729m |0.669m | 0.669m| 0.729m | 3.817m | | or | or | or | or | or | or | | 150.285" | 28.7" | 26.33"| 26.33"| 28.7" | 150.285" | |<------------>|<------>|<----->|<----->|<------>|<------------>| | | | ___|____ | | | | | V / | /| V | | | ____________|_ ______ /____|__/ | _____|__ ___________|__ V / V// | | | | | / V // V / / -Y Solar // | | | | | / // +Y Solar / @ Array /@ @--| | | ---@ @/ Array @ ----- / // / | | | | | // / A /_____________//______/ | | | | |______//_____________/ |0.934m |____V__|/ |36.77" / \ V /__@__\ ------------ The origins of the gimbal frames ("MGS_LEFT_SOLAR_ARRAY" and "MGS_RIGHT_SOLAR_ARRAY") for +Y and -Y arrays are located at the intersection of the corresponding inboard (elevation) and outboard (azimuth) gimbal axes and are specified relative to the spacecraft frame ("MGS_SPACECRAFT"), the origin of which is located at the center of the propulsion unit bottom (ref. MGS S/C DWG 874C0840000, sheet 4). Coordinates are specified in meters \begindata INS-94001_GIMBAL_POSITION = ( 0.000, 0.669, 0.934 ) INS-94002_GIMBAL_POSITION = ( 0.000, -0.669, 0.934 ) \begintext The origins of the yoke frames ("MGS_+Y_SOLAR_ARRAY" and "MGS_-Y_SOLAR_ARRAY") for +Y and -Y arrays are located at the intersection of the corresponding solar array central axes (which are parallel to the s/c Y axis in "0" gimbal position) and yoke-solar panel hinges axes ((ref. MGS S/C DWG 874C0842050, sheet 2) and are specified relative to the corresponding gimbal frames in meters: \begindata INS-94001_YOKE_POSITION = ( 0.000, 0.729, 0.000 ) INS-94002_YOKE_POSITION = ( 0.000, 0.729, 0.000 ) \begintext The origins of the +Y and -Y MAG sensor frames ("MGS_MAG_+Y_SENSOR" and "MGS_MAG_-Y_SENSOR") are located at their centers of mass (ref. MGS S/C DWG 874C0840000, sheet 4; MGS 94-4126, sheets 1,2) and are specified relative to the corresponding yoke frames in meters. Note that center of mass Z coordinate is not zero for both sensors because the centers of mass lay in the solar cell planes rather than on the central axes of the arrays which are off by 0.013m (0.515"). \begindata INS-94051_POSITION = ( 0.000, 3.817, -0.013 ) INS-94052_POSITION = ( 0.000, 3.817, -0.013 ) \begintext Platform IDs -------------------------------------------------------- These numbers are the NAIF instrument IDs of the spacecraft structures on which the instruments are mounted. \begindata INS-94051_PLATFORM_ID = ( -94001 ) INS-94052_PLATFORM_ID = ( -94002 ) INS-94053_PLATFORM_ID = ( -94000 ) \begintext