KPL/FK Mars Polar Lander Frame Definitions Kernel =============================================================================== This frame kernel contains complete set of frame definitions for the Mars Polar Lander (MPL) spacecraft including definitions for the local level, surface-fixed, lander, antennas, MVACS, RA and science instrument frames. Version and Date ------------------------------------------------------------------------------- Ver 5.0 BVS, December 3, 1999, 11:50 PST Updated LOCAL_LEVEL frame orientation based on pre-SCAM target landing site location provided by Phil Knocke. Ver 4.4 BVS, November 30, 1999 Added NAIF ID <-> name mapping section to the very bottom of the file. Updated frame table and tree to include additional antenna frames. Ver 4.3 BVS, November 17, 1999 Expanded description of the MPL_MRD frame. Ver 4.2 BVS, November 11, 1999 Replaced original section containing the MPL Antenna Frames with updated version provided by Ramona Tung of JPL Comm. Systems Section. Ver 4.1 BVS, November 10, 1999 Changed type of the MPL_MVACS frame to be CK-based frame to accommodate for updated orientation quaternions provided by MVACS during surface OPS. Updated SSI left and right camera eye frame offset per latest SSi pointing spreadsheet information ([12]). Updated frames hierarchy and added frame chain implementation description section. Ver 4.0 BVS, October 26, 1999 Added MPL_LANDER_CRUISE and MPL_LANDER_DESCENT frames to complete set of the lander frames defined by LMA. Finalized type of the MPL_LANDER frame to be a CK frame (see discussion in the corresponding chapter of the file.) Added MPL_MRD and MPL_LVLH frames. Ver 3.1 BVS, August 12, 1999 Updated LOCAL_LEVEL frame definition based on the final target landing site coordinates. Ver 3.0 BVS, August 4, 1999 Added MET_MAST and MET_SUBMAST frames. Ver 2.4 BVS, August 3, 1999 Updated MARDI frame orientation with adjusted mounting alignment angles. Ver 2.3 BVS, July 22, 1999 Filled LIDAR frame definition with nominal mounting alignment information. Ver 2.2 BVS, July 17, 1999 Filled MARDI frame definition with nominal mounting alighment information. Modified frames tree diagram to show indirect relationship between IAU_MARS and MPL_SURFACE_FIXED frames. Ver 2.1 BVS, February 26, 1999 Frame center ID was set to -116 in all frame definitions to assure that position of the center can always be computed for light time correction of orientation of a frame. Ver 2.0 BVS, October 1, 1998 All frames defined in the file were renamed: M98LND was replaced by MPL, official name or the lander. Ver 1.4 BVS, October 1, 1998 Preliminary frame definitions for Medium and Low Gain Antennas were added per input from Bill Adams, MSOP Telecom, LMA. Ver 1.3 BVS, August 22, 1998 LOCAL_LEVEL frame orientation was changed to correspond to the 200-west/75-south landing site location. Ver 1.2 BVS, July XX, 1998 SSI Camera Frames were added. Ver 1.1 BVS, June 21, 1998 RA ELBOW, BLADES and TINES frames were added. Ver 1.0 BVS, April 2, 1998 Initial release. Contact Information ------------------------------------------------------------------------------- Boris V. Semenov, NAIF/JPL, (818)-354-8136, bsemenov@spice.jpl.nasa.gov References ------------------------------------------------------------------------------- 1. LIDAR ICD, Document MSP-96-1052, rev A, November 7, 1997. 2. N/A 3. ``Frames Required Reading'' 4. ``Kernel Pool Required Reading'' 5. ``C-Kernel Required Reading'' 6. MARDI ICD, Document MSP-96-1008, rev A, July 7, 1998. 7. MARDI I-Kernel; latest version. 8. MPL Structures SPK file comments; latest version. 9. MET Mast geometry information provided by David Crisp; August 1999 10. Final target landing site location; e-mail from Angus McMechen; August 12, 1999 11. "MPL Coordinate System Reference" document provided by Stephen "Mitch" Micciche, SCOPS/LMA on October 21, 1999. 12. Camera model Excel spreadsheet by SSI team of University of Arizona (Mike Burkland, Jon Weinberg, Mark Lemmon, et al); version 19f, Oct-Nov, 1999; 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. Mars Polar Lander Frames ------------------------------------------------------------------------------- The following Mars Polar Lander frames are defined in this kernel file: Name Relative to Type NAIF ID ====================== =================== ============ ======= Surface/descent frames (-1169xx): --------------------------------- MPL_LOCAL_LEVEL rel.to IAU_MARS FIXED -116900 MPL_SURFACE_FIXED rel.to LOCAL_LEVEL FIXED -116901 MPL_MRD rel.to IAU_MARS FIXED -116902 MPL_LVLH rel.to LOCAL_LEVEL FIXED -116903 Lander frames (-11600x): ----------------------- MPL_LANDER_CRUISE rel.to MARSIAU CK -116000 MPL_LANDER_DESCENT rel.to MRD CK -116002 MPL_LANDER CRUISE or DESCENT CK -116001 MVACS Payload frame (-116100): ------------------------------------ MPL_MVACS rel.to LANDER/LL CK -116100 SSI frames (-11611x): --------------------- MPL_SSI_HEAD rel.to MVACS CK -116110 MPL_SSI_LEFT_EYE rel.to SSI_HEAD FIXED -116111 MPL_SSI_RIGHT_EYE rel.to SSI_HEAD FIXED -116112 Robotic arm frames (-11612x & -11613x): ----------------------------- MPL_RA_TORSO rel.to MVACS CK -116121 MPL_RA_SHOULDER rel.to RA_TORSO CK -116122 MPL_RA_ELBOW rel.to RA_SHOULDER CK -116123 MPL_RA_WRIST rel.to RA_ELBOW FIXED -116124 MPL_RA_CAMERA rel.to RA_WRIST FIXED -116125 MPL_RA_SCOOP rel.to RA_WRIST CK -116126 MPL_RA_STP rel.to RA_SCOOP FIXED -116127 MPL_RA_BLADE1 rel.to RA_SCOOP FIXED -116128 MPL_RA_BLADE2 rel.to RA_SCOOP FIXED -116129 MPL_RA_TINE1 rel.to RA_SCOOP FIXED -116130 MPL_RA_TINE2 rel.to RA_SCOOP FIXED -116131 MET instrument frames (-11614x,-11615x): ---------------------------------------- MPL_MET_MAST rel.to MVACS FIXED -116140 MPL_MET_SUBMAST rel.to MVACS FIXED -116150 MARDI frame (-116200): ---------------------- MPL_MARDI rel.to LANDER FIXED -116200 LIDAR frame (-116300): ---------------------- MPL_LIDAR rel.to LANDER FIXED -116300 Antenna frames (-1164xx): ------------------------- MPL_MGA2 rel.to LANDER FIXED -116420 MPL_MGA3GIMBAL rel.to LANDER FIXED -116430 MPL_LGA7 rel.to LANDER FIXED -116440 MPL_LGA5 rel.to LANDER FIXED -116450 Frame descriptions and definitions are provided in the sections below. MPL Frame Hierarchy ------------------------------------------------------------------------------- The diagram below shows the Mars Polar Lander frames hierarchy: "J2000" INERTIAL +----------------------------+----------------------------+ | | | | <--pck | <--pck | <--inertial V V V "IAU_EARTH" "IAU_MARS" "MARSIAU" EARTH BFR(***) MARS BFR(***) MMEJ2000 Inertial -------------- +--------------------------+ ----------------- | . | | | <--fixed . | <--fixed | V . V | "MPL_LOCAL_LEVEL" . "MPL_MRD" | +-------------------------+ . --------- | | | | . | | | | fixed--> | .(**) | | | | V V | | | | "MPL_SURFACE_FIXED" | | | | ------------------- | | | | | | | | <--fixed | <--ck | <--ck | V V V | "MPL_LVLH" "MPL_LANDER_DESCENT" "MPL_LANDER_CRUISE" | ---------- -------------------- ------------------- | | | | | | <--ck(*) | <--ck(*) | <--ck(*) | V V V | "MPL_LANDER" | +------------------------------------------------+ | ^ | | | | | | | | | <--fixed | <--fixed | | | | | | V V | | | | | | "MPL_MARDI" "MPL_LIDAR" | | | | | | ----------- ----------- | | | | | | fixed--> | | | | <--fixed | | V | | V | | "MPL_MGA2" | | "MPL_LGA5" | | ---------- | | ---------- | | | | | | fixed--> | | <--fixed | | V V | | "MPL_MGA3GIMBAL" "MPL_LGA7" | | ---------------- ---------- | <--ck | <--ck(*)(****) V V "MPL_MVACS" --------------------------------------------------------+ | | | | | <--ck | <--fixed | <--fixed | <--ck V V V V "MPL_RA_TORSO" "MPL_MET_SUBMAST" "MPL_MET_MAST" "MPL_SSI_HEAD" -------------- ----------------- -------------- -------------- | | | <--ck | V | "MPL_RA_SHOULDER" | ----------------- | <--fixed | | | <--ck | V V "MPL_RA_ELBOW" "MPL_SSI__EYE" -------------- -------------------------- | | <--fixed V "MPL_RA_WRIST" +-----------------------------------------------------------+ | | | | <--fixed | V | "MPL_RA_STP" "MPL_RA_CAMERA" | <--ck ------------ --------------- | ^ V | <--fixed "MPL_RA_SCOOP" | ----------------------------------------------------------------+ | | | | | <--fixed | <--fixed | <--fixed | <--fixed V V V V "MPL_RA_BLADE1" "MPL_RA_BLADE2" "MPL_RA_TINE1" "MPL_RA_TINE2" --------------- --------------- -------------- -------------- (*) In there cases transformation is fixed but it has to stored in a CK to make SPICE "traverse" appropriate frame tree branch based on the time of interest. (**) the MPL_SURFACE_FIXED is defined as zero offset frame with respect to the MPL_LOCAL_LEVEL, it can be easily moved up the tree to be "between" IAU_MARS and MPL_LOCAL_LEVEL. (***) BFR -- body-fixed rotating frame. (****) This "CK-connection" can go both ways. Implementation of Frame Chains for Different Mission Phases ------------------------------------------------------------------------------- Different routes along the branches of the MPL frame hierarchy are implemented for different mission phases depending on the availability of the orientation data, the source, format and type of the data. This subsection summarizes mission phase specific implementations. Cruise ------ "J2000" Inertial ---------------- | | <----------- Fixed transformation built into SPICE V "MARSIAU" Inertial ------------------ | | <----------- CK segment containing TLM quaternions V "MPL_LANDER_CRUISE" ------------------- | | <----------- CK segment representing fixed rotation defined | by the lander design V "MPL_LANDER" ------------ | | <----------- CK segment representing fixed rotation defined | by the lander/payload design V "MPL_MVACS" ----------- Entry-Descent-Landing --------------------- "J2000" Inertial ---------------- | | <----------- PCK-based transformation V "IAU_MARS" BFR ---------------- | | <----------- CK segment representing fixed rotation derived | from TLM (based on s/c position at the time of V parachute pre-deploy + 13 seconds) "MPL_MRD" --------- | | <----------- CK segment based on TLM Quaternion V "MPL_LANDER_DESCENT" -------------------- | | <----------- CK segment representing fixed rotation defined | by the lander design V "MPL_LANDER" ------------ | | <----------- CK segment representing fixed rotation defined | by the lander/payload design V "MPL_MVACS" ----------- Surface Operations ------------------ During surface operations the lander orientation is provided from two different source in two different forms: -- initial orientation is be provided by SCOPS Team of LMA in the form of quaternion defining orientation of the MPL_LANDER frame with respect to the MPL_LVLH frame; -- updated orientation, based on the Sun and local horizon images taken on a daily basis, is be provided by MVACS Team of UCLA in the form of quaternion defining orientation of the MPL_MVACS frame with respect to the MPL_LOCAL_LEVEL frame; To accommodate both data streams two frame chains can be implemented: Chain 1 (based on LMA quaternion): "J2000" Inertial ---------------- | | <----------- PCK-based transformation V "IAU_MARS" BFR ---------------- | | <----------- Fixed rotation based on the landing site | coordinates V "MPL_LOCAL_LEVEL" ----------------- | | <----------- Fixed rotation based on frame definitions V "MPL_LVLH" ---------- | | <----------- CK segment representing fixed rotation per | initial quaternion provided by LMA V "MPL_LANDER" ------------ | | <----------- CK segment representing fixed rotation defined | by the lander/payload design V "MPL_MVACS" ----------- Chain 2 (based on MVACS quaternion): "J2000" Inertial ---------------- | | <----------- PCK-based transformation V "IAU_MARS" BFR -------------- | | <----------- Fixed rotation based on the landing site | coordinates V "MPL_LOCAL_LEVEL" ----------------- | | <----------- CK segment representing fixed rotation per | updated quaternion(s) provided by MVACS V "MPL_MVACS" ----------- | | <----------- CK segment representing fixed rotation defined | by the lander/payload design V "MPL_LANDER" ------------ NOTE: For every mission phase all CK segment required to support transformations in the chain for that phase are provided in a single CK file. MPL Local Level Frame ------------------------------------------------------------------------------- This frame defines the z axis as the normal outward at the landing site, the x axis points at local north with the y axis completing the right handed frame. Positive azimuth is measured counter clockwise from the x axis. Orientation of the frame is given relative to the Mars fixed rotating frame 'IAU_MARS' (x - along the line of zero longitude intersecting the equator, z - along the spin axis, y - completing the right hand coordinate frame) The transformation from 'MPL_LOCAL_LEVEL' frame to 'IAU_MARS' frame is a 3-2-3 rotation with defined angles as the negative of the site longitude, the negative of the site colatitude, 180 degrees. Nominal MPL landing site areographic longitude and latitude used prior August 1999 were: longitude = 200 degrees (west, west is positive in areographic frame) latitude = -75 degrees (south) These nominal coordinates were obtained from Mars Polar Lander OPTG file optg_l_991213-991220_M98L_C4Svr generated by MSOP NAV on 1998-182T12:01:54. An ``inactive'' copy of the TKFRAME_-116900_ANGLES keyword containing these coordinates is: TKFRAME_-116900_ANGLES = ( 200.000, -165.000, 180.000 ) Final target landing site coordinates selected at the beginning of August 1999 are (provided in [10]): longitude = 195W degrees latitude = 76S degrees Pre "final SCAM tracking pass" target landing site location based on the data provided by Phil Knocke on December 3, 1999 at 10:15 PST is longitude = 164.63250647 degrees latitude = -76.14043028 These coordinates are implemented in the frame definition below. \begindata FRAME_MPL_LOCAL_LEVEL = -116900 FRAME_-116900_NAME = 'MPL_LOCAL_LEVEL' FRAME_-116900_CLASS = 4 FRAME_-116900_CLASS_ID = -116900 FRAME_-116900_CENTER = -116 TKFRAME_-116900_RELATIVE = 'IAU_MARS' TKFRAME_-116900_SPEC = 'ANGLES' TKFRAME_-116900_UNITS = 'DEGREES' TKFRAME_-116900_AXES = ( 3, 2, 3 ) TKFRAME_-116900_ANGLES = ( 195.36749353, -166.14043028, 180.000 ) \begintext MPL Surface Fixed Frame ------------------------------------------------------------------------------- The orientation of the SURFACE_FIXED frame is by definition the same as of the MPL_LOCAL_LEVEL frame. Thus this frame is zero offset frame relative to LOCAL_LEVEL. \begindata FRAME_MPL_SURFACE_FIXED = -116901 FRAME_-116901_NAME = 'MPL_SURFACE_FIXED' FRAME_-116901_CLASS = 4 FRAME_-116901_CLASS_ID = -116901 FRAME_-116901_CENTER = -116 TKFRAME_-116901_RELATIVE = 'MPL_LOCAL_LEVEL' TKFRAME_-116901_SPEC = 'ANGLES' TKFRAME_-116901_UNITS = 'DEGREES' TKFRAME_-116901_AXES = ( 1, 2, 3 ) TKFRAME_-116901_ANGLES = ( 0.000, 0.000, 0.000 ) \begintext MPL Mars Relative Descent (MRD) Frame ------------------------------------------------------------------------------- This frame is the frame used by MPL AACS on-board software to control the lander attitude during "terminal descent" phase -- from the "parachute pre-deploy + 13 secs" time through the "surface touchdown" time. The frame is defined in [11] as follows: "The Mars Relative Descent Frame Local Vertical, LOcal Horizontal Coordinate system used by the Lander is a coordinate system fixed with respect to the MCMF [Mars body-fixed rotating frame -- BVS] and is based on the position of (Pmcmf) of the Lander and the north pole unit vector (Nmcmf) in the MCMF frame at parachute pre-deploy + 13 secs (pre-deploy is triggered when the spacecraft velocity magnitude is below a specified threshold.) The axes are defined as follows: -Pmcmf [points from the spacecraft in +Zmrd = ----------------- Mars body-fixed frame towards |Pmcmf| the center of the planet at the time "pre-deploy + 13 sec" - BVS] +Zmrd x Nmcmf [points to local East from sub- +Ymrd = ----------------- spacecraft point computed at the |+Zmrd x Nmcmf| time "pre-deploy + 13 sec" in Mars body-fixed frame - BVS] +Xmrd = +Ymrd x +Zmrd [points to local North from sub- spacecraft point computed at the time "pre-deploy + 13 sec" in Mars body-fixed frame - BVS] " Since "parachute pre-deploy + 13 secs" time and position of the spacecraft position at that time are not known until the actual decent and landing will happen, and assuming that the final landing location will not be very far from the sub-spacecraft point at "parachute pre-deploy + 13 secs" time, we can specify orientation of the MPL_MRD frame as fixed 180 degrees rotation about +X with respect to the MPL_LOCAL_LEVEL frames. This nominal definition implements this rotation: \begindata FRAME_MPL_MRD = -116902 FRAME_-116902_NAME = 'MPL_MRD' FRAME_-116902_CLASS = 4 FRAME_-116902_CLASS_ID = -116902 FRAME_-116902_CENTER = -116 TKFRAME_-116902_RELATIVE = 'MPL_LOCAL_LEVEL' TKFRAME_-116902_SPEC = 'ANGLES' TKFRAME_-116902_UNITS = 'DEGREES' TKFRAME_-116902_AXES = ( 1, 2, 3 ) TKFRAME_-116902_ANGLES = ( 180.000, 0.000, 0.000 ) \begintext When the actual transformation from "IAU_MARS" to "MPL_MRD" frame, computed on-board and send down to Earth in channelized telemetry as 3x3 transformation matrix, will become available, it should be inserted into the definition below as follows: TKFRAME_-116902_MATRIX = ( A-474(LVLH_MTRX_11) A-475(LVLH_MTRX_12) A-476(LVLH_MTRX_13) A-477(LVLH_MTRX_21) A-478(LVLH_MTRX_22) A-479(LVLH_MTRX_23) A-480(LVLH_MTRX_31) A-481(LVLH_MTRX_32) A-482(LVLH_MTRX_33) ) where A-xxx is channel ID and (LVLH_MTRX_xx) is channel name. Then the definition should be "activated" by placing it between \begindata ... \begintext tokens: begindata FRAME_MPL_MRD = -116902 FRAME_-116902_NAME = 'MPL_MRD' FRAME_-116902_CLASS = 4 FRAME_-116902_CLASS_ID = -116902 FRAME_-116902_CENTER = -116 TKFRAME_-116902_RELATIVE = 'IAU_MARS' TKFRAME_-116902_SPEC = 'MATRIX' TKFRAME_-116902_MATRIX = ( d.dddddddd d.dddddddd d.dddddddd d.dddddddd d.dddddddd d.dddddddd d.dddddddd d.dddddddd d.dddddddd ) begintext This matrix was obtained from telemetry simulated during ORT3, 11-17-1999: TKFRAME_-116902_MATRIX = ( -0.93817294 0.24798852 0.24152263 -0.25555417 -0.96679473 0.00000000 0.23350281 -0.06172211 0.97039521 ) MPL Landed Local Vertical, Local Horizontal (LVLH) Frame ------------------------------------------------------------------------------- This frame is the frame with respect to which the landed lander orientation is determined by on-board GyroCompass process. The frame is defined in [11] as follows: "The Landed Local Vertical, Local Horizontal Coordinate System used by the Lander is a coordinate system [the origin of which is -- BVS] fixed with respect to the landed spacecraft. The coordinate frame is is related to the MCI [MARSIAU Inertial -- BVS] frame by rotation of the right ascension of the Mars local meridian and the latitude of the landed spacecraft." The axes of this frame point as follows: +Z points along local gravity vector (because the latitude of the landing is determined as [11]: "LAT = arcsin( -G local * W local ) where: LAT = latitude of landed s/c -G local = gravity vector measured in s/c body frame w local = Mars rotational rate measure in the s/ body frame" +X points towards local North +Y complements to a right hand frame (and, thus points towards local East) One principal axis of this frame is based on the measured gravity vector direction at the landing site, which can be computed using different assumptions: -- local gravity vector points towards the center of Mars; in this case latitude defining the axis is planetocentric latitude; -- local gravity vector points along normal to the nominal Mars spheroid surface; in this case latitude defining the axis is planetographic latitude; -- local gravity vector points along the gravitational potential vector computed using some Mars gravity field model. It's obvious that the first assumption is the most inaccurate of three while the last one the most accurate. On the other hand the difference between planetocentric and planetographic latitudes at the nominal landing site is: delta = | LAT_plcen - LAT_plgraph | = | -76.0 - ( -76.174 ) | = 0.174 which fairly small (... definitely less than the backlash in the SSI gimbal motors :) Another consideration, which is equally (or maybe even more) important, is consistency between definition of this frame and MPL_LOCAL_LEVEL frame. These frames, if based on same latitude, will simply be rotated 180 degrees about +X axis one with respect to the other. Thus, in this file the MPL_LVLH frame is defined as a fixed offset frame with respect to the LOCAL_LEVEL frame and the definition of the LOCAL_LEVEL frame above takes care of using the right latitude. \begindata FRAME_MPL_LVLH = -116903 FRAME_-116903_NAME = 'MPL_LVLH' FRAME_-116903_CLASS = 4 FRAME_-116903_CLASS_ID = -116903 FRAME_-116903_CENTER = -116 TKFRAME_-116903_RELATIVE = 'MPL_LOCAL_LEVEL' TKFRAME_-116903_SPEC = 'ANGLES' TKFRAME_-116903_UNITS = 'DEGREES' TKFRAME_-116903_AXES = ( 1, 2, 3 ) TKFRAME_-116903_ANGLES = ( 180.000, 0.000, 0.000 ) \begintext MPL Lander Frame ------------------------------------------------------------------------------- There are three body-fixed frames defined for the lander -- Lander Frame (or Mechanical Frame), Lander Cruise frame and Lander Descent frame. Lander Frame ------------ The LANDER frame is the one used in all solid modeling and design of the lander. This frame, also called "Lander Mechanical Frame", is defined in [11] as follows: "+Xm = pointed towards foot of deployed lander leg #1 (0 degree leg) +Zm = normal to launch vehicle interface plane +Ym = +Zm x +Xm, parallel to landed solar array axis of symmetry The origin of the frame is centered on the launch vehicle separation plane." If someone would look at the normal landed spacecraft configuration, he/she would see: - Z axis is vertical and points down (from the lander deck toward the lander "legs"); - X axis is parallel to the lander deck plane and lander solar array yoke and points from the RA mounting side of the deck; - Y complements to the right hand frame and points along solar array axis of symmetry; - origin of this frame is approximately 80 centimeters above the lander deck. Lander Cruise Frame ------------------- This frame is defined in [11] as follows: "+Xc = negative direction of thrust of TCMs +Zc = center line of REMs #3 and #4 +Yc = +Zc x +Xc ... The +X axis of the cruise frame is aligned with the +Z axis of the mechanical [MPL_LANDER -- BVS] frame. The +Y axis is rotated +30 degrees from the +Y axis of the mechanical frame, about the +X axis of the cruise frame." The MPL_LANDER frame can be transformed to the MPL_LANDER_CRUISE frame by two rotations, first is -90 degrees about Y, second is +30 degrees about new position of X. Lander Descent Frame -------------------- This frame is defined in [11] as follows: "+Xd = velocity vector of s/c during descent +Yd = normal to landed solar array base +Zd = -Xm -or- +Zd x +Yd ... The MPL_LANDER frame can be transformed to the MPL_LANDER_DESCENT frame by a single rotation of -90 degrees about Y. Lander Frame Definitions ------------------------ All three lander frames are defined as CK frames for the following reasons: -- during cruise the s/c "flies" using MPL_LANDER_CRUISE; the orientation of this frame is determined on-board with respect to the MARSIAU frame; it's sent down in the chanellized telemetry from which it's extracted and stored in the cruise CK file(s); -- during descent the s/c "flies" using MPL_LANDER_DESCENT; the orientation of this frame is determined on-board with respect to the Mars Relative Descent frame (MPL_MRD); it's sent down in the chanellized telemetry from which it's extracted and stored in descent CK file; -- after landing the orientation of MPL_LANDER_CRUISE is determined (by running GyroCompass process) with respect the Landed Local Vertical, Local Horizontal frame (MPL_LVLH); it's stored in surface orientation CK file(s); -- for different periods (cruise, descent, surface ops) the MPL_LANDER should be specified as offset to MPL_LANDER_CRUISE or MPL_LANDER_DESCENT depending on for which of these the telemetred orientation quaternion is available. Also, should the landed orientation change during surface operation due to RA arm or other activities, the change in orientation will be "captured" in the landed CK file(s). \begindata FRAME_MPL_LANDER = -116001 FRAME_-116001_NAME = 'MPL_LANDER' FRAME_-116001_CLASS = 3 FRAME_-116001_CLASS_ID = -116001 FRAME_-116001_CENTER = -116 CK_-116001_SCLK = -116 CK_-116001_SPK = -116 FRAME_MPL_LANDER_CRUISE = -116000 FRAME_-116000_NAME = 'MPL_LANDER_CRUISE' FRAME_-116000_CLASS = 3 FRAME_-116000_CLASS_ID = -116000 FRAME_-116000_CENTER = -116 CK_-116000_SCLK = -116 CK_-116000_SPK = -116 FRAME_MPL_LANDER_DESCENT = -116002 FRAME_-116002_NAME = 'MPL_LANDER_DESCENT' FRAME_-116002_CLASS = 3 FRAME_-116002_CLASS_ID = -116002 FRAME_-116002_CENTER = -116 CK_-116002_SCLK = -116 CK_-116002_SPK = -116 \begintext Nominal Landed Orientation -------------------------- Nominally lander should land in an upward horizontal position with the local north direction to be exactly in the middle between lander +X and +Y axes. This is required to provide initial communication capability using lander's HGA. Nominal landing orientation (top view): --------------------------------------- ^ +Xll(north) | | +Xlnd + | + +Ylnd \ | / \**| / 45 deg. \ | / \|/ <------------* +Zlnd(down) +Yll(west) +Zll(up) For this landing orientation the LOCAL LEVEL Frame can be transformed to the LANDER frame by two rotations, first is 180 degrees about X, second is -45 degrees about new position of Z. Third rotation is not needed, therefore it's defined as zero rotation about Y axis. MPL MVACS Frame ------------------------------------------------------------------------------- The MVACS Frame is a fixed rotation from the LANDER. This frame will be used to communicate all payload operations and alignments. The MVACS Payload Frame is defined to be rotated relative to the LANDER Frame by 180 degrees about +Y axis to so that its +Z axis points upward (leaving +X in what was previously -X direction): +Xlnd _ <----X / \ | | X | | \_/ +Zlnd V | | | | | | |^| +Xmvacs ||| ||| ___________X-------> /__lander deck_\ +Xmvacs | | /|_solar__________|\ //| array |\\ // |________________| \\ // \______________/ \\ _// \____________/ \\_ |__| |__| The origin of MVACS frame is on the surface of the deck at the center of the SSI base. Though the MVACS frame is fixed rotation from the LANDER frame, it is declared as CK based frame. This is necessary to accomodate all available kinds of landed orientation (see "Implementation of Frame Chains for Different Mission Phases" section of this file for details.) \begindata FRAME_MPL_MVACS = -116100 FRAME_-116100_NAME = 'MPL_MVACS' FRAME_-116100_CLASS = 3 FRAME_-116100_CLASS_ID = -116100 FRAME_-116100_CENTER = -116 CK_-116100_SCLK = -116 CK_-116100_SPK = -116 \begintext MPL SSI Frames ------------------------------------------------------------------------------- The SSI Camera Head (or Camera Central Look) Frame is a CK-based frame with orientation computed from camera head gimbal angles (AZ and EL) relative to the MVACS Frame. The SSI Camera Head Frame axes are defined as follows: - X axis is in the plane containing elevation axis and parallel to the left eye boresight vector; it is perpendicular to the elevation axis, and it points in the direction same direction as camera's boresight vectors. - Y axis is parallel to the elevation axis and points from the camera gimbal axes intersection towards the left eye; - Z axis complements to the right hand frame; The origin of the SSI Camera Frame is located at the intersection of the camera AZ and EL axes.. In zero AZ and zero EL position SSI Camera Head axes are coincident with MVACS frame axes. Diagram below shows orientation of the SSI Camera Head frame in this position: Top view: --------- ^ +Xssi ^ camera AZ | ^+Xmvacs | axis is __ _|_ ____________|___________ _|_ __ perpendicular | |___| | |___| | to the page |left eye | right eye| | | | | | | ------|- <---------o -|-------- | +Yssi +Zssi | camera | +Ymvacs +Zmvacs | elevation | (both out of page) | axis |______________________________________| \begindata FRAME_MPL_SSI_HEAD = -116110 FRAME_-116110_NAME = 'MPL_SSI_HEAD' FRAME_-116110_CLASS = 3 FRAME_-116110_CLASS_ID = -116110 FRAME_-116110_CENTER = -116 CK_-116110_SCLK = -116 CK_-116110_SPK = -116 \begintext The SSI Left and Right eye frames are fixed offset frame with their orientation given relative to the SSI Camera Head Frame. For both frames axes are defined as follows: - X axis is coincident with eye's boresight vector; - Y axis is coincident with CCD rows direction; - Z axis is coincident with CCD column direction; Origin of each of these frames is located at the nodal point of the corresponding camera. Diagram below shows orientation of both frames relative to the SSI camera head frame: Top view: --------- +Xleft +Xssi +Xright ^ ^ ^ left half |<->/ | \<->| right half toe-in angle | / | \ | toe-in angle | / | \ | __ _|/ ____________|___________ \|_ __ | |_/_| | |_\_| | | / | \ | camera | / | \ | elevation +Yleft ^ | / | \ | axis \ ---/-- <----------o --\--------- \ / +Yssi +Zssi(out) \ \ /| |\ right eye left eye o +Zleft(out) +Zright(out) o nodal point nodal point |______________________________________|/ / / v +Yright SSI Camera Frame can be transformed to the SSI Left Eye frame by a single rotation of left half toe-in angle, -0.98491445 degrees, about Z axis. Since by definition camera central look vector belong to a plane parallel to the left eye boresight vector and CCD clock angle in not determined (assumed 0 degrees), second and third rotations are not needed, and therefore they are defined as zero rotations about X and Y axes. Since frames definition below contain reverse transformation, from SSI Left Eye to SSI Camera Head, order of rotations is reversed and sign or rotation angles is changed to opposite one. \begindata FRAME_MPL_SSI_LEFT_EYE = -116111 FRAME_-116111_NAME = 'MPL_SSI_LEFT_EYE' FRAME_-116111_CLASS = 4 FRAME_-116111_CLASS_ID = -116111 FRAME_-116111_CENTER = -116 TKFRAME_-116111_RELATIVE = 'MPL_SSI_HEAD' TKFRAME_-116111_SPEC = 'ANGLES' TKFRAME_-116111_UNITS = 'DEGREES' TKFRAME_-116111_AXES = ( 3, 2, 1 ) TKFRAME_-116111_ANGLES = ( 0.98491445, 0.000, 0.000 ) \begintext SSI Camera Frame can be transformed to the SSI Right Eye frame by two subsequent rotations, first of right half toe-in angle, 0.87834430 degrees, about Z axis, and second of boresight elevation error angle, 0.15469860 degrees, about new position of Y axis. Since CCD clock angle in not determined (assumed 0 degrees), third rotation is not needed, and therefore it is defined as zero rotation about X axis. Since frames definition below contain reverse transformation, from SSI Right Eye to SSI Camera Head, order of rotations is reversed and sign or rotation angles is changed to opposite one. \begindata FRAME_MPL_SSI_RIGHT_EYE = -116112 FRAME_-116112_NAME = 'MPL_SSI_RIGHT_EYE' FRAME_-116112_CLASS = 4 FRAME_-116112_CLASS_ID = -116112 FRAME_-116112_CENTER = -116 TKFRAME_-116112_RELATIVE = 'MPL_SSI_HEAD' TKFRAME_-116112_SPEC = 'ANGLES' TKFRAME_-116112_UNITS = 'DEGREES' TKFRAME_-116112_AXES = ( 3, 2, 1 ) TKFRAME_-116112_ANGLES = ( -0.87834430, -0.15469860, 0.000 ) \begintext MPL Robotic Arm Frames ------------------------------------------------------------------------------- Robotic Arm joint names: Joint 1 (vertical axis) TORSO Joint 2 (horizontal axis) SHOULDER Joint 3 (horizontal axis) ELBOW Joint 4 (horizontal axis) WRIST NOTE that there is no frame defined for the WRIST joint, instead there are two different frames defined for two instruments mounted on and rotating about this joint -- RA_STP and RA_SCOOP. RA Gimbal Frames Schematic Diagram ------------------------------------------- The arm is shown in fully extended configuration, "zero" gimbal angle configuration. Top view: --------- +Yt +Zs ^ +Ymvacs ^ ^ | | | | _|__|_ +Zmvacs(up) O----> +Xmvacs | | | | +Xt +Xs | O--X----->--> +Zt(out) +Ys(in) ^ +Ze ^ +Yw |______| | | | |_____________________.|. | | ||| | |_______________________||| __|_______ |||____________________|_.|. | +Ye(in)|X--------> +Xe | |O---------> +Xw |______________________|_|_| | +Zw(out)______| Side view: ---------- ^ +Xmvacs | | +Ymvacs(in) X----> +Xmvacs ^+Zw __|_________ / | SCOOP / ^ +Zt | | / |___ _ \ | ____/ /| \_____________________/ \_____________________\/|\/ / | X------> +Xs +Ze(in) X------> +Xe +Yw(in) X------> +Xw / | | |___________________\ | /____________________\ / +Yt(in)X------> +Xt \|/ \_/ /_______|_| | | | V +Ys V +Ye +Zs(in) RA TORSO Frame ------------------------------------------- RA TORSO Frame is CK-based frame with its orientation given relative to MVACS Frame. RA TORSO frame is defined as follows: - Z axis is along torso joint rotation axis, i.e. vertical and up from the lander base structure; - X axis lies in the lander base structure plane, perpendicular to the shoulder joint rotation axis and points from torso joint rotation axis towards shoulder joint rotation axis; - Y complements to the right hand frame; The origin of the TORSO Frame is located approximately at the middle of the torso gimbal. \begindata FRAME_MPL_RA_TORSO = -116121 FRAME_-116121_NAME = 'MPL_RA_TORSO' FRAME_-116121_CLASS = 3 FRAME_-116121_CLASS_ID = -116121 FRAME_-116121_CENTER = -116 CK_-116121_SCLK = -116 CK_-116121_SPK = -116 \begintext RA SHOULDER Frame ------------------------------------------- RA SHOULDER Frame is CK-based frame with its orientation given relative to RA TORSO Frame. RA SHOULDER frame is defined as follows: - Z axis is along shoulder joint rotation axis and points in the same direction as Y axis of the RA TORSO frame; - X is perpendicular to and intersects both shoulder and elbow joint rotation axes and points from the shoulder axis towards elbow axis; - Y complements to the right hand frame; The origin of the SHOULDER Frame is located approximately at the middle of the shoulder gimbal. \begindata FRAME_MPL_RA_SHOULDER = -116122 FRAME_-116122_NAME = 'MPL_RA_SHOULDER' FRAME_-116122_CLASS = 3 FRAME_-116122_CLASS_ID = -116122 FRAME_-116122_CENTER = -116 CK_-116122_SCLK = -116 CK_-116122_SPK = -116 \begintext RA ELBOW Frame ------------------------------------------- RA ELBOW Frame is a CK-based frame with its orientation given relative to RA SHOULDER. RA ELBOW frame is defined as follows: - Z axis is along elbow joint rotation axis and points in the same direction as Z axis of the RA SHOULDER frame; - X is perpendicular to and intersects both elbow and wrist joint rotation axes and points from the elbow axis towards wrist axis; - Y complements to the right hand frame; The origin of the ELBOW Frame is located approximately at the middle of the elbow gimbal. \begindata FRAME_MPL_RA_ELBOW = -116123 FRAME_-116123_NAME = 'MPL_RA_ELBOW' FRAME_-116123_CLASS = 3 FRAME_-116123_CLASS_ID = -116123 FRAME_-116123_CENTER = -116 CK_-116123_SCLK = -116 CK_-116123_SPK = -116 \begintext RA WRIST Frame ------------------------------------------- RA WRIST Frame is a fixed offset frame with its orientation given relative to RA ELBOW Frame. RA WRIST frame is defined as follows: - Y axis is parallel to and points in the same direction as Z axis of the RA ELBOW frame, i.e. along shoulder, elbow and wrist rotations axes; - X axis is parallel to and points in the same direction as X axis of the RA ELBOW frame - Z complements to right hand frame and is parallel to but points in the direction opposite to the Y axis of the RA ELBOW frame; i.e. RA WRIST frame is rotated 90 degrees about X axis from RA ELBOW frame. The origin of the RA WRIST Frame is located in the middle of the RA WRIST gimbal. RA ELBOW Frame can be transformed to the RA WRIST frame by a single rotation of 90 degrees about X. Second and third rotations are not needed, therefore they are defined as zero rotations about Y and Z axes. Since frames definition below contain reverse transformation, from RA WRIST to RA ELBOW, order of rotations is reversed and sign or rotation angles is changed to opposite one. \begindata FRAME_MPL_RA_WRIST = -116124 FRAME_-116124_NAME = 'MPL_RA_WRIST' FRAME_-116124_CLASS = 4 FRAME_-116124_CLASS_ID = -116124 FRAME_-116124_CENTER = -116 TKFRAME_-116124_RELATIVE = 'MPL_RA_ELBOW' TKFRAME_-116124_SPEC = 'ANGLES' TKFRAME_-116124_UNITS = 'DEGREES' TKFRAME_-116124_AXES = ( 1, 2, 3 ) TKFRAME_-116124_ANGLES = ( -90.000, 0.000, 0.000 ) \begintext RA Science Instrument Frames Schematic Diagram ---------------------------------------------- Scoop, STP and RA camera side view: ----------------------------------- +Zt1^ ^+Xb2 +Yb1, +Yb2, +Yt1, / | +Yt2 axes are into x +Zb2| +Zb1 +Yscoop the page / \ <---x____x---> (in) +Xt2^ /\__V_________||_|_________x------> \ /\/ +Xt1 |+Xb1 /| +Zscoop x | V / | / | / | V | ^+Zw / V +Xscoop +Zt2 \ ___|__ __________/ ____________________________\/ | \/ SCOOP / | \ | x---------> +Xw ____________________________\ +Yw(in)/ | | \______/ \ | / *__ RA CAMERA \ \ | / *__ \ \ STP |/ *__ \ \ /__ * \_| *_+Yrac(in)/ x +Ystp(in) *__ x_ .' \ *__/ *__ +Xstp <' \ / *> V +Zstp +Xrac V +Zrac Note that RAC is mounted on the elbow (last) link of the RA while SCOOP is mounted on the wrist gimbal. (STP, BLADE 1, BLADE 2, TINE assembly are mounted on the SCOOP.) RA CAMERA Frame ------------------------------------------- RA CAMERA Frame is a fixed offset frame with its orientation given relative to RA WRIST Frame. RA CAMERA frame is defined as follows: - Z axis points along camera boresight; - Y axis is along and point in the same direction as Y axis of the RA WRIST frame - X complements to right hand frame. The origin of the RA CAMERA Frame is located in the middle of the RA camera eye entrance. RA WRIST Frame can be transformed to the RA CAMERA frame by a single rotation of 97 degrees about Y axis. Second and third rotations are not needed, therefore they are defined as zero rotations about X and Z axes. Since frames definition below contain reverse transformation, from RA CAMERA to RA WRIST, order of rotations is reversed and sign or rotation angles is changed to opposite one. \begindata FRAME_MPL_RA_CAMERA = -116125 FRAME_-116125_NAME = 'MPL_RA_CAMERA' FRAME_-116125_CLASS = 4 FRAME_-116125_CLASS_ID = -116125 FRAME_-116125_CENTER = -116 TKFRAME_-116125_RELATIVE = 'MPL_RA_WRIST' TKFRAME_-116125_SPEC = 'ANGLES' TKFRAME_-116125_UNITS = 'DEGREES' TKFRAME_-116125_AXES = ( 1, 2, 3 ) TKFRAME_-116125_ANGLES = ( 0.000, -97.000, 0.000 ) \begintext RA SCOOP Frame ------------------------------------------- RA SCOOP Frame is a CK-based frame with its orientation given relative to RA WRIST. The origin of the RA SCOOP Frame is located at the scoop tip. RA SCOOP frame is defined as follows: - Z axis is parallel to scoop main blade outside surface, perpendicular to scoop edge and points from the scoop bottom towards scoop blade; - Y axis is along wrist joint rotation axis and points in the same direction as Y axis of the RA ELBOW frame; - X complements to the right hand frame; \begindata FRAME_MPL_RA_SCOOP = -116126 FRAME_-116126_NAME = 'MPL_RA_SCOOP' FRAME_-116126_CLASS = 3 FRAME_-116126_CLASS_ID = -116126 FRAME_-116126_CENTER = -116 CK_-116126_SCLK = -116 CK_-116126_SPK = -116 \begintext RA STP Frame ------------------------------------------- RA STP Frame is a is a fixed offset frame with its orientation given relative to RA SCOOP Frame. RA STP frame is defined as follows: - Z axis is along needle axis and points from wrist joint rotation axis towards the end of the needle; - Y axis is along wrist joint rotation axis and points in the same direction as Y axis of the RA SCOOP frame; - X complements to the right hand frame; The origin of the RA STP Frame is located at the STP tip. RA SCOOP Frame can be transformed to the RA STP frame by a single rotation of 49.73 degrees about Y axis. Second and third rotations are not needed, therefore they are defined as zero rotations about X and Z axes. Since the frame definition below contains reverse transformation, from RA STP to RA SCOOP, the order of rotations is reversed and the signs of rotation angles are changed to the opposite ones. \begindata FRAME_MPL_RA_STP = -116127 FRAME_-116127_NAME = 'MPL_RA_STP' FRAME_-116127_CLASS = 4 FRAME_-116127_CLASS_ID = -116127 FRAME_-116127_CENTER = -116 TKFRAME_-116127_RELATIVE = 'MPL_RA_SCOOP' TKFRAME_-116127_SPEC = 'ANGLES' TKFRAME_-116127_UNITS = 'DEGREES' TKFRAME_-116127_AXES = ( 1, 2, 3 ) TKFRAME_-116127_ANGLES = ( 0.000, -49.730, 0.000 ) \begintext RA BLADE 1 Frame ------------------------------------------- RA BLADE 1 Frame is a fixed offset frame with its orientation given relative to RA SCOOP Frame. RA BLADE 1 frame is defined as follows: - Z axis is parallel to blade 1 outside surface, perpendicular to the blade edge and points from the blade; - Y axis is along wrist joint rotation axis and points in the same direction as Y axis of the RA SCOOP frame; - X complements to the right hand frame; The origin of the RA BLADE 1 Frame is located in the middle of the blade edge. RA SCOOP Frame can be transformed to the RA BLADE 1 frame by a single rotation of -12.16 degrees about Y axis. Second and third rotations are not needed, therefore they are defined as zero rotations about X and Z axes. Since the frame definition below contains reverse transformation, from RA BLADE 1 to RA SCOOP, the order of rotations is reversed and the signs of rotation angles are changed to the opposite ones. \begindata FRAME_MPL_RA_BLADE1 = -116128 FRAME_-116128_NAME = 'MPL_RA_BLADE1' FRAME_-116128_CLASS = 4 FRAME_-116128_CLASS_ID = -116128 FRAME_-116128_CENTER = -116 TKFRAME_-116128_RELATIVE = 'MPL_RA_SCOOP' TKFRAME_-116128_SPEC = 'ANGLES' TKFRAME_-116128_UNITS = 'DEGREES' TKFRAME_-116128_AXES = ( 1, 2, 3 ) TKFRAME_-116128_ANGLES = ( 0.000, 12.160, 0.000 ) \begintext RA BLADE 2 Frame ------------------------------------------- RA BLADE 2 Frame is a fixed offset frame with its orientation given relative to RA SCOOP Frame. RA BLADE 2 frame is defined as follows: - Z axis is parallel to blade 2 outside surface, perpendicular to the blade edge and points from the blade; - Y axis is along wrist joint rotation axis and points in the same direction as Y axis of the RA SCOOP frame; - X complements to the right hand frame; The origin of the RA BLADE 2 Frame is located in the middle of the blade edge. RA SCOOP Frame can be transformed to the RA BLADE 2 frame by a single rotation of -172.16 degrees about Y axis. Second and third rotations are not needed, therefore they are defined as zero rotations about X and Z axes. Since the frame definition below contains reverse transformation, from RA BLADE 2 to RA SCOOP, the order of rotations is reversed and the signs of rotation angles are changed to the opposite ones. \begindata FRAME_MPL_RA_BLADE2 = -116129 FRAME_-116129_NAME = 'MPL_RA_BLADE2' FRAME_-116129_CLASS = 4 FRAME_-116129_CLASS_ID = -116129 FRAME_-116129_CENTER = -116 TKFRAME_-116129_RELATIVE = 'MPL_RA_SCOOP' TKFRAME_-116129_SPEC = 'ANGLES' TKFRAME_-116129_UNITS = 'DEGREES' TKFRAME_-116129_AXES = ( 1, 2, 3 ) TKFRAME_-116129_ANGLES = ( 0.000, 172.160, 0.000 ) \begintext RA TINE 1 Frame ------------------------------------------- RA TINE 1 Frame is a fixed offset frame with its orientation given relative to RA SCOOP Frame. RA TINE 1 frame is defined as follows: - Z axis is parallel to the middle tine edge and points from the tine tip 1 outwards; - Y axis is along wrist joint rotation axis and points in the same direction as Y axis of the RA SCOOP frame; - X complements to the right hand frame; The origin of the RA TINE 1 Frame is located the tine 1 tip. RA SCOOP Frame can be transformed to the RA TINE 1 frame by a single rotation of -46.18 degrees about Y axis. Second and third rotations are not needed, therefore they are defined as zero rotations about X and Z axes. Since the frame definition below contains reverse transformation, from RA TINE 1 to RA SCOOP, the order of rotations is reversed and the signs of rotation angles are changed to the opposite ones. \begindata FRAME_MPL_RA_TINE1 = -116130 FRAME_-116130_NAME = 'MPL_RA_TINE1' FRAME_-116130_CLASS = 4 FRAME_-116130_CLASS_ID = -116130 FRAME_-116130_CENTER = -116 TKFRAME_-116130_RELATIVE = 'MPL_RA_SCOOP' TKFRAME_-116130_SPEC = 'ANGLES' TKFRAME_-116130_UNITS = 'DEGREES' TKFRAME_-116130_AXES = ( 1, 2, 3 ) TKFRAME_-116130_ANGLES = ( 0.000, 46.180, 0.000 ) \begintext RA TINE 2 Frame ------------------------------------------- RA TINE 2 Frame is a fixed offset frame with its orientation given relative to RA SCOOP Frame. RA TINE 2 frame is defined as follows: - Z axis is parallel to the middle tine edge and points from the tine tip 2 outwards; - Y axis is along wrist joint rotation axis and points in the same direction as Y axis of the RA SCOOP frame; - X complements to the right hand frame; The origin of the RA TINE 2 Frame is located the tine 2 tip. RA SCOOP Frame can be transformed to the RA TINE 2 frame by a single rotation of -226.18 degrees about Y axis. Second and third rotations are not needed, therefore they are defined as zero rotations about X and Z axes. Since the frame definition below contains reverse transformation, from RA TINE 2 to RA SCOOP, the order of rotations is reversed and the signs of rotation angles are changed to the opposite ones. \begindata FRAME_MPL_RA_TINE2 = -116131 FRAME_-116131_NAME = 'MPL_RA_TINE2' FRAME_-116131_CLASS = 4 FRAME_-116131_CLASS_ID = -116131 FRAME_-116131_CENTER = -116 TKFRAME_-116131_RELATIVE = 'MPL_RA_SCOOP' TKFRAME_-116131_SPEC = 'ANGLES' TKFRAME_-116131_UNITS = 'DEGREES' TKFRAME_-116131_AXES = ( 1, 2, 3 ) TKFRAME_-116131_ANGLES = ( 0.000, 226.180, 0.000 ) \begintext MPL MET Frames ------------------------------------------------------------------------------- Though both MET masts -- main mast and submast -- can (and will) rotate about hinge axis during deployment, they stay fixed with respect to the lander and MVACS frame after they get deployed. Therefore, the MET_MAST and MET_SUBMAST frames are defined as a fixed offset frames with their deployed orientation given relative to the MVACS Frame. Both MET mast frames are defined as follows: - Z axis is along the mast; - X axis toward the side of the mast on which the sensors are mounted; - Y axis is along hinge rotation axis and points in the direction to complement to right hand frame; Since sensors the main mast are mounted on the side opposite to the side on which they are mounted on the submast, Y axes of the MAST and SUBMAST frames point in opposite directions. The origin of the MET_MAST and MET_SUBMAST frames is located at the corresponding hinge centers. Nominally the MET mast hinge axis is parallel to the lander deck (XY plane of the MVACS frame) and is rotated 11.868 degrees CCW about +Z from +Y axis of the MVACS frame (see [1], Appendix B.) Thus, a single rotation by 191.868 degrees about +Z axis is needed to transform MVACS frame into the MET_MAST frame for the nominal deployed mast configuration. For the submast, two rotations -- first by 11.868 degrees about +Z and second by -145 degrees about new position of Y -- are needed to transform MVACS frame to the MET_SUBMAST frame. The 145 degrees is a medium point of the nominal submast deployment range 140..150 (see [9].) Since the frame definitions below should contain reverse transformation, i.e. from mast to MVACS, the order of rotations is reversed and the signs of rotation angles are changed to the opposite ones. \begindata FRAME_MPL_MET_MAST = -116140 FRAME_-116140_NAME = 'MPL_MET_MAST' FRAME_-116140_CLASS = 4 FRAME_-116140_CLASS_ID = -116140 FRAME_-116140_CENTER = -116 TKFRAME_-116140_RELATIVE = 'MPL_MVACS' TKFRAME_-116140_SPEC = 'ANGLES' TKFRAME_-116140_UNITS = 'DEGREES' TKFRAME_-116140_AXES = ( 3, 2, 1 ) TKFRAME_-116140_ANGLES = ( -191.868, 0.000, 0.000 ) FRAME_MPL_MET_SUBMAST = -116150 FRAME_-116150_NAME = 'MPL_MET_SUBMAST' FRAME_-116150_CLASS = 4 FRAME_-116150_CLASS_ID = -116150 FRAME_-116150_CENTER = -116 TKFRAME_-116150_RELATIVE = 'MPL_MVACS' TKFRAME_-116150_SPEC = 'ANGLES' TKFRAME_-116150_UNITS = 'DEGREES' TKFRAME_-116150_AXES = ( 3, 2, 1 ) TKFRAME_-116150_ANGLES = ( -11.868, 145.0, 0.000 ) \begintext MPL MARDI Frame ------------------------------------------------------------------------------- MARDI Frame is a fixed offset frame with its orientation given relative to the LANDER Frame. MARDI frame is defined as follows: - Z axis is along the camera boresight; - Y axis is along detector (image) columns and points in the direction in increasing lines; - X complements to the right hand frame; it's along detector (image) rows and points in the direction in increasing samples; The origin of the MARDI Frame is located at the camera focal point. Nominal orientation of the camera is specified in [6] using three cant angles for the MARDI mounting plate: ANGLE ABOUT X = -19.28 deg \ adds to to total cant ANGLE ABOUT Y = -11.42 deg / angle of -22.00 deg ANGLE ABOUT Z = 27.37 deg These cant angles can be converted to the following rotational angles (see discussion in [7]): M = [ 57.3749 ] [ 21.9956 ] [ 59.9951 ] Z Y Z where M is a matrix rotating vectors from LANDER to MARDI frame. In other words, nominally LANDER frame can be transformed to the MARDI frame by three subsequent rotations, first of +59.9951 degrees about Z axis, second by +21.9956 degrees about new position of Y axis and third by +57.3749 degrees about final position of Z axis. The nominal angles were adjusted using target calibration data taken after the camera was mounted in the lander (see discussion in [7] and [8]): M = [ 57.143282 ] [ 21.711773 ] [ 58.197535 ] Z Y Z Since the frame definition below should contain reverse transformation, i.e. from MARDI to LANDER, the order of rotations is reversed and the signs of rotation angles are changed to the opposite ones. \begindata FRAME_MPL_MARDI = -116200 FRAME_-116200_NAME = 'MPL_MARDI' FRAME_-116200_CLASS = 4 FRAME_-116200_CLASS_ID = -116200 FRAME_-116200_CENTER = -116 TKFRAME_-116200_RELATIVE = 'MPL_LANDER' TKFRAME_-116200_SPEC = 'ANGLES' TKFRAME_-116200_UNITS = 'DEGREES' TKFRAME_-116200_AXES = ( 3, 2, 3 ) TKFRAME_-116200_ANGLES = ( -58.197535, -21.711773, -57.143282 ) \begintext MPL LIDAR Frame ------------------------------------------------------------------------------- LIDAR Frame is a fixed offset frame with its orientation given relative to the LANDER Frame. LIDAR frame is defined as follows: - Z axis is along the instrument boresight; - Y axis is perpendicular to the Z axis and points toward the side of the sensor unit on which the electronic module 2 is mounted; - X complements to the right hand frame; The origin of the LIDAR Frame is located at the geometric center of the sensor unit. Nominal orientation of LIDAR is provided in the Appendix B "LIDAR Mechanical Interface Drawing #902L1240120" of [1]: ^ +X lnd ^ +X lidar | +Y lidar / | <. /'./ | '. /'./ / . | '. / / / | / '. / / | EM2 '/ 'o +Z lidar (from page) | / / | '. / | | '. /<--->| 12 degrees x----------------> +Y lnd LIDAR Sensor ' | +Z lnd (into page) Module As seen on the diagram the LIDAR points up -- in the direction opposite to the lander +Z axis -- and is nominally rotated by 12 degrees counterclockwise about it. Then the following set of rotation angles defines orientation of the LIDAR frame: M = [ 0.0 ] [ -12.0 ] [ 180.0 ] Y Z X where M is a matrix rotating vectors from LANDER frame to LIDAR frame. In other words, nominally LANDER frame can be transformed to the LIDAR frame by two subsequent rotations, first of 180.0 degrees about X axis, second by -12.0 degrees about new position of Z axis. Since the frame definition below should contains reverse transformation, i.e. from LIDAR to LANDER, the order of rotations is reversed and the signs of rotation angles are changed to the opposite ones. \begindata FRAME_MPL_LIDAR = -116300 FRAME_-116300_NAME = 'MPL_LIDAR' FRAME_-116300_CLASS = 4 FRAME_-116300_CLASS_ID = -116300 FRAME_-116300_CENTER = -116 TKFRAME_-116300_RELATIVE = 'MPL_LANDER' TKFRAME_-116300_SPEC = 'ANGLES' TKFRAME_-116300_UNITS = 'DEGREES' TKFRAME_-116300_AXES = ( 1, 3, 2 ) TKFRAME_-116300_ANGLES = ( 180.000, 12.000, 0.000 ) \begintext MPL Antenna Frames ------------------------------------------------------------------------------- This section contains Mars Polar Lander Antenna Frame definitions provided by William R. Adams of MSOP Spacecraft Telecommunications, LMA. They were updated by Ramona H. Tung from the Flight Communications Group at JPL, who also added the antenna frames to be used during the Landed phase of the mission. The MPL Antenna Frames are fixed offset frames with their orientation given relative to the LANDER Frames (MPL_LANDER_CRUISE during Cruise phase and MPL_LANDER during Landed phase). MGA-2 and LGA-7 are used only during the Cruise phase, and are specified with respect to the Lander Cruise frame (AACS) orientation. MGA-3 and LGA-5 are used only during the Landed phase and are specified with respect to the Lander Mechanical frame. Except for MGA-3 which is a gimballed antenna, the antenna frames assume that the boresight is pointed along the +Z-axis. Note that Medium and Low Gain Antenna mounting alignment angles are preliminary and must be used testing purposes only. The frame definitions below contain the transformation from antenna frame to LANDER frame. Medium Gain Antenna ------------------- The Mars Polar Lander Medium Gain Antenna 2 (MGA2) is only used during the Cruise phase. With respect to the MPL_LANDER_CRUISE frame, its boresight +Z points approximately 133 degrees away from +Z AACS towards -X AACS, +Y points in the direction of +Y AACS, and +X complements the frame by the right hand rule. The MPL_LANDER_CRUISE frame can be transformed to the MPL_MGA2 frame by a single -133 degree rotation about the Y axis. Since the frame definition below should contain the reverse transformation (i.e. MPL_MGA2 to MPL_LANDER_CRUISE), the sign of the rotation is reversed. \begindata FRAME_MPL_MGA2 = -116420 FRAME_-116420_NAME = 'MPL_MGA2' FRAME_-116420_CLASS = 4 FRAME_-116420_CLASS_ID = -116420 FRAME_-116420_CENTER = -116 TKFRAME_-116420_SPEC = 'ANGLES' TKFRAME_-116420_RELATIVE = 'MPL_LANDER_CRUISE' TKFRAME_-116420_ANGLES = ( 0.0, 133.0, 0.0 ) TKFRAME_-116420_AXES = ( 3, 2, 1 ) TKFRAME_-116420_UNITS = 'DEGREES' \begintext The Mars Polar Lander Medium Gain Antenna 3 (MGA3) is only used during the Landed phase of the mission. It is gimballed and mounted on the +X side of the spacecraft above the +X leg. The antenna frame is oriented such that +Z is along the +X mechanical axis, +X is upward, and +Y is the cross product. In relation to the MPL_LANDER mechanical configuration, +Z = +X mechanical, +X = -Z mechanical, and +Y = +Y mechanical. The antenna tracks the earth when in use. The MPL_LANDER frame can be transformed to the MPL_MGA3GIMBAL frame by a single 90 degree rotation about the Y axis. Since the frame definition below should contain the reverse transformation (i.e. MPL_MGA3GIMBAL to MPL_LANDER), the sign of the rotation is reversed. \begindata FRAME_MPL_MGA3GIMBAL = -116430 FRAME_-116430_NAME = 'MPL_MGA3GIMBAL' FRAME_-116430_CLASS = 4 FRAME_-116430_CLASS_ID = -116430 FRAME_-116430_CENTER = -116 TKFRAME_-116430_SPEC = 'ANGLES' TKFRAME_-116430_RELATIVE = 'MPL_LANDER' TKFRAME_-116430_ANGLES = ( 0.0, -90.0, 0.0 ) TKFRAME_-116430_AXES = ( 3, 2, 1 ) TKFRAME_-116430_UNITS = 'DEGREES' \begintext Low Gain Antenna ---------------- The Mars Polar Lander Low Gain Antenna 7 (LGA7) is only used during the Cruise phase of the mission. With respect to the MPL_LANDER_CRUISE frame, its boresight +Z points approximately along the -X AACS axis, +Y points in the direction of +Y AACS, and +X complements the frame by the right hand rule. The MPL_LANDER_CRUISE frame can be transformed to the MPL_LGA7 frame by a single -90 degree rotation about the Y axis. Since the frame definition below should contain the reverse transformation (i.e. MPL_LGA7 to MPL_LANDER_CRUISE), the sign of the rotation is reversed. \begindata FRAME_MPL_LGA7 = -116440 FRAME_-116440_NAME = 'MPL_LGA7' FRAME_-116440_CLASS = 4 FRAME_-116440_CLASS_ID = -116440 FRAME_-116440_CENTER = -116 TKFRAME_-116440_SPEC = 'ANGLES' TKFRAME_-116440_RELATIVE = 'MPL_LANDER_CRUISE' TKFRAME_-116440_ANGLES = ( 0.0, 90.0, 0.0 ) TKFRAME_-116440_AXES = ( 3, 2, 1 ) TKFRAME_-116440_UNITS = 'DEGREES' \begintext The Mars Polar Lander Low Gain Antenna 5 (LGA5) is only used during the Landed phase of the mission. With respect to the MPL_LANDER frame, its boresight (+Z LGA5) points approximately 47 degrees away from X (in the X-Y plane), and 43.4 degrees out of the X-Y plane towards -Z, +Y LGA5 points 47 degrees away from Y toward -X (in the X-Y plane), and +X LGA5 complements the frame by the right hand rule. ^ +X lnd | | | | | | | | | x----------------> +Y lnd +Z lnd (into page) ^ +Z LGA5 +X LGA5 / <. /'. / < '. / /. \ '. / / '. \ 43.4 degrees out of the X-Y lnd plane '. / / \ (toward -Z lnd) ___/._'/._._/____v_________ / \ / ^ / \ / | 47 degrees from +Y lnd in X-Y lnd plane '. \ | '. / \ v '/ \ v +Y LGA5 Then the following set of rotation angles defines orientation of the MPL_LGA5 antenna frame: M = [ 0.0 ] [ 133.4 ] [ 47.0 ] X Y Z where M is a matrix rotating vectors from the MPL_LANDER frame to the MPL_LGA5 frame. In other words, nominally the MPL_LANDER frame can be transformed to the MPL_LGA5 frame by two subsequent rotations, first of 47.0 degrees about the Z axis, second by 133.4.0 degrees about new position of the Y axis. Since the frame definition below should contain the reverse transformation, i.e. from MPL_LGA5 to MPL_LANDER, the order of rotations is reversed and the signs of rotation angles are changed to the opposite ones. \begindata FRAME_MPL_LGA5 = -116450 FRAME_-116450_NAME = 'MPL_LGA5' FRAME_-116450_CLASS = 4 FRAME_-116450_CLASS_ID = -116450 FRAME_-116450_CENTER = -116 TKFRAME_-116450_SPEC = 'ANGLES' TKFRAME_-116450_RELATIVE = 'MPL_LANDER' TKFRAME_-116450_ANGLES = ( -47.0, -133.4, 0.0 ) TKFRAME_-116450_AXES = ( 3, 2, 1 ) TKFRAME_-116450_UNITS = 'DEGREES' \begintext MPL Structures NAIF ID <-> Name Mapping ------------------------------------------------------------------------------- This section contains mapping needed by SPICE system to support use of the MPL structure names in the SPKEZ/SPKEZR calls. \begindata NAIF_BODY_NAME += ( 'MPL_LANDER' ) NAIF_BODY_CODE += ( -116 ) NAIF_BODY_NAME += ( 'MPL_LANDER_FRAME_CENTER' ) NAIF_BODY_CODE += ( -116000 ) NAIF_BODY_NAME += ( 'MPL_LOCAL_LEVEL_CENTER' ) NAIF_BODY_CODE += ( -116900 ) NAIF_BODY_NAME += ( 'MPL_MVACS_FRAME_CENTER' ) NAIF_BODY_CODE += ( -116100 ) NAIF_BODY_NAME += ( 'MPL_SSI_HEAD_CENTER' ) NAIF_BODY_CODE += ( -116110 ) NAIF_BODY_NAME += ( 'MPL_SSI_LEFT_EYE_FOCAL_PT' ) NAIF_BODY_CODE += ( -116111 ) NAIF_BODY_NAME += ( 'MPL_SSI_RIGHT_EYE_FOCAL_PT' ) NAIF_BODY_CODE += ( -116112 ) NAIF_BODY_NAME += ( 'MPL_SSI_LEFT_EYE_CENTER' ) NAIF_BODY_CODE += ( -116113 ) NAIF_BODY_NAME += ( 'MPL_SSI_RIGHT_EYE_CENTER' ) NAIF_BODY_CODE += ( -116114 ) NAIF_BODY_NAME += ( 'MPL_SSI_FMARK_I1' ) NAIF_BODY_CODE += ( -116115 ) NAIF_BODY_NAME += ( 'MPL_SSI_FMARK_I2' ) NAIF_BODY_CODE += ( -116116 ) NAIF_BODY_NAME += ( 'MPL_SSI_FMARK_I3' ) NAIF_BODY_CODE += ( -116117 ) NAIF_BODY_NAME += ( 'MPL_SSI_FMARK_I4' ) NAIF_BODY_CODE += ( -116118 ) NAIF_BODY_NAME += ( 'MPL_RA_TORSO_JOINT_CENTER' ) NAIF_BODY_CODE += ( -116121 ) NAIF_BODY_NAME += ( 'MPL_RA_SHOULDER_JOINT_CENTER' ) NAIF_BODY_CODE += ( -116122 ) NAIF_BODY_NAME += ( 'MPL_RA_ELBOW_JOINT_CENTER' ) NAIF_BODY_CODE += ( -116123 ) NAIF_BODY_NAME += ( 'MPL_RA_WRIST_JOINT_CENTER' ) NAIF_BODY_CODE += ( -116124 ) NAIF_BODY_NAME += ( 'MPL_RAC_FOCAL_PT' ) NAIF_BODY_CODE += ( -116125 ) NAIF_BODY_NAME += ( 'MPL_RAC_CENTER' ) NAIF_BODY_CODE += ( -116135 ) NAIF_BODY_NAME += ( 'MPL_RA_SCOOP_TIP' ) NAIF_BODY_CODE += ( -116126 ) NAIF_BODY_NAME += ( 'MPL_RA_STP_TIP' ) NAIF_BODY_CODE += ( -116127 ) NAIF_BODY_NAME += ( 'MPL_RA_BLADE_1_CENTER' ) NAIF_BODY_CODE += ( -116128 ) NAIF_BODY_NAME += ( 'MPL_RA_BLADE_2_CENTER' ) NAIF_BODY_CODE += ( -116129 ) NAIF_BODY_NAME += ( 'MPL_RA_TINE_TIP_1' ) NAIF_BODY_CODE += ( -116130 ) NAIF_BODY_NAME += ( 'MPL_RA_TINE_TIP_2' ) NAIF_BODY_CODE += ( -116131 ) NAIF_BODY_NAME += ( 'MPL_MET_RAATS' ) NAIF_BODY_CODE += ( -116132 ) NAIF_BODY_NAME += ( 'MPL_MET_MAST_HINGE' ) NAIF_BODY_CODE += ( -116140 ) NAIF_BODY_NAME += ( 'MPL_MET_TC1' ) NAIF_BODY_CODE += ( -116141 ) NAIF_BODY_NAME += ( 'MPL_MET_TC2' ) NAIF_BODY_CODE += ( -116142 ) NAIF_BODY_NAME += ( 'MPL_MET_TC3' ) NAIF_BODY_CODE += ( -116143 ) NAIF_BODY_NAME += ( 'MPL_MET_WS1' ) NAIF_BODY_CODE += ( -116144 ) NAIF_BODY_NAME += ( 'MPL_MET_TDL' ) NAIF_BODY_CODE += ( -116145 ) NAIF_BODY_NAME += ( 'MPL_MET_SUBMAST_HINGE' ) NAIF_BODY_CODE += ( -116150 ) NAIF_BODY_NAME += ( 'MPL_MET_TC4' ) NAIF_BODY_CODE += ( -116151 ) NAIF_BODY_NAME += ( 'MPL_MET_TC5' ) NAIF_BODY_CODE += ( -116152 ) NAIF_BODY_NAME += ( 'MPL_MET_WS2' ) NAIF_BODY_CODE += ( -116153 ) NAIF_BODY_NAME += ( 'MPL_MET_PS' ) NAIF_BODY_CODE += ( -116160 ) NAIF_BODY_NAME += ( 'MPL_MARDI_CENTER' ) NAIF_BODY_CODE += ( -116200 ) NAIF_BODY_NAME += ( 'MPL_MARDI_FOCAL_POINT' ) NAIF_BODY_CODE += ( -116206 ) NAIF_BODY_NAME += ( 'MPL_LIDAR_CENTER' ) NAIF_BODY_CODE += ( -116300 ) \begintext