KPL/FK MER-1 Frames Kernel ======================================================================== This frame kernel contains complete set of frame definitions for the MER-1 including definitions for the MER-1 cruise, lander, and rover frames, local level, topocentric and surface-fixed frames, IDD, PMA and mobility structure frames, and science instrument frames. Version and Date ======================================================================== Version 0.1 -- March 28, 2003 -- Boris Semenov, NAIF Fixed NAVCAM/PANCAM LEFT/RIGHT ID codes in the frame definitions and body ID-name mapping keywords. NAVCAM LEFT/RIGHT IDs are now -253111/-253112; PANCAM LEFT/RIGHT IDs are -253121/-253122. Fixed NAVCAM/PANCAM LEFT/RIGHT frame ASCII diagrams to show the right hand frames. Fixed PANCAM LEFT/RIGHT frame definitions to make nominal toe-in rotations in the right direction. Version 0.0 -- February 13, 2003 -- Boris Semenov, NAIF MER-A was replaced with MER-1 to match projects official name<->id mapping. Version 0.0 -- October 18, 2002 -- Boris Semenov, NAIF Initial Release. Complete frame layout, but some descriptions and diagram are not implemented. References ======================================================================== 1. ``Frames Required Reading'' 2. ``Kernel Pool Required Reading'' 3. ``C-Kernel Required Reading'' 4. ``MER Pointing, Positioning, Phasing and Coordinate Systems'', MER420-2-431, Latest Version 5. MAS, IDD, HGA, and PMA MICD documents, MER420-3-480, Latest Version Contact Information ======================================================================== Boris V. Semenov, NAIF/JPL, (818)-354-8136, bsemenov@spice.jpl.nasa.gov Implementation Notes ======================================================================== This file is used by the SPICE system as follows: programs that make use of this frame kernel must `load' the kernel, normally during program initialization. The SPICELIB routine FURNSH and CSPICE function furnsh_c load a kernel file into the kernel pool as shown below. CALL FURNSH ( 'frame_kernel_name' ) furnsh_c ( 'frame_kernel_name' ) This file was created and may be updated with a text editor or word processor. MER-1 NAIF ID Codes ======================================================================== The following names and NAIF ID codes are assigned to the MER-1 rover, its structures and science instruments (the keywords implementing these definitions are located in the section "MER-1 Mission NAIF ID Codes -- Definition Section" at the end of this file): MER-1 rover and landing site: ----------------------------- MER-1 -253 MER-1_LANDING_SITE -253900 MER-1 HAZCAMs: -------------- MER-1_HAZCAM_FRONT_LEFT -253011 MER-1_HAZCAM_FRONT_RIGHT -253012 MER-1_HAZCAM_REAR_LEFT -253021 MER-1_HAZCAM_REAR_RIGHT -253022 MER-1 PMA structures and PMA-mounted instruments: -------------------------------------------------- MER-1_PMA_BASE -253100 MER-1_PMA_HEAD -253110 MER-1_NAVCAM_LEFT -253111 MER-1_NAVCAM_RIGHT -253112 MER-1_PANCAM_LEFT -253121 MER-1_PANCAM_RIGHT -253122 MER-1_MINI_TES -253140 MER-1 IDD structures and IDD-mounted instruments: -------------------------------------------------- MER-1_IDD_BASE -253200 MER-1_IDD_SHOULDER_AZ -253201 MER-1_IDD_SHOULDER_EL -253202 MER-1_IDD_ELBOW -253203 MER-1_IDD_WRIST -253204 MER-1_IDD_TURRET -253205 MER-1_IDD_TURRET_HEAD -253206 MER-1_APXS -253210 MER-1_MICROIMAGER -253220 MER-1_RAT -253230 MER-1_MOSSBAUER -253240 MER-1 Antennas: --------------- MER-1_MGA -253500 MER-1_CLGA -253510 MER-1_BLGA -253520 MER-1_UHF -253030 MER-1_HGA_BASE -253300 MER-1_HGA -253310 MER-1_RLGA -253540 MER-1 mobility system components: --------------------------------- MER-1_ROCKER_LEFT -253410 MER-1_BOGEY_LEFT -253411 MER-1_STRUT_FRONT_LEFT -253412 MER-1_STRUT_REAR_LEFT -253413 MER-1_ROCKER_RIGHT -253420 MER-1_BOGEY_RIGHT -253421 MER-1_STRUT_FRONT_RIGHT -253422 MER-1_STRUT_REAR_RIGHT -253423 MER-1 Frames ======================================================================== The following MER-1 frames are defined in this kernel file: Name Relative to Type NAIF ID ====================== =================== ===== ======= MER-1 Surface frames: --------------------- MER-1_TOPO IAU_MARS FIXED -253900 MER-1_LOCAL_LEVEL MER-1_TOPO FIXED -253910 MER-1_SURFACE_FIXED MER-1_LOCAL_LEVEL FIXED -253920 MER-1 rover, lander, and cruise frames: --------------------------------------- MER-1_ROVER MER-1_LOCAL_LEVEL CK -253000 MER-1_LANDER MER-1_LOCAL_LEVEL FIXED -253700 MER-1_CRUISE J2000 CK -253800 MER-1 rover body-mounted instrument frames: ------------------------------------------- MER-1_HAZCAM_FRONT_LEFT MER-1_ROVER FIXED -253011 MER-1_HAZCAM_FRONT_RIGHT MER-1_ROVER FIXED -253012 MER-1_HAZCAM_REAR_LEFT MER-1_ROVER FIXED -253021 MER-1_HAZCAM_REAR_RIGHT MER-1_ROVER FIXED -253022 MER-1_UHF MER-1_ROVER FIXED -253030 MER-1 PMA and PMA-mounted instrument frames: -------------------------------------------- MER-1_PMA_BASE MER-1_ROVER FIXED -253100 MER-1_PMA_HEAD MER-1_PMA_BASE CK -253110 MER-1_NAVCAM_LEFT MER-1_PMA_HEAD FIXED -253111 MER-1_NAVCAM_RIGHT MER-1_PMA_HEAD FIXED -253112 MER-1_PANCAM_LEFT MER-1_PMA_HEAD FIXED -253121 MER-1_PANCAM_RIGHT MER-1_PMA_HEAD FIXED -253122 MER-1_MINI_TES MER-1_PMA_HEAD FIXED -253140 MER-1 IDD and IDD-mounted instrument frames: -------------------------------------------- MER-1_IDD_BASE MER-1_ROVER FIXED -253200 MER-1_IDD_SHOULDER_AZ MER-1_BASE CK -253201 MER-1_IDD_SHOULDER_EL MER-1_IDD_SHOULDER_AZ CK -253202 MER-1_IDD_ELBOW MER-1_IDD_SHOULDER_EL CK -253203 MER-1_IDD_WRIST MER-1_IDD_ELBOW CK -253204 MER-1_IDD_TURRET MER-1_IDD_WRIST CK -253205 MER-1_IDD_TURRET_HEAD MER-1_IDD_TURRET FIXED -253206 MER-1_APXS MER-1_IDD_TURRET_HEAD FIXED -253210 MER-1_MICROIMAGER MER-1_IDD_TURRET_HEAD FIXED -253220 MER-1_RAT MER-1_IDD_TURRET_HEAD FIXED -253230 MER-1_MOSSBAUER MER-1_IDD_TURRET_HEAD FIXED -253240 MER-1 antenna frames: ---------------------- MER-1_MGA MER-1_ROVER FIXED -253500 MER-1_CLGA MER-1_ROVER FIXED -253510 MER-1_BLGA MER-1_ROVER FIXED -253520 MER-1_UHF MER-1_ROVER FIXED -253030 MER-1_HGA_BASE MER-1_ROVER FIXED -253300 MER-1_HGA MER-1_HGA_BASE CK -253310 MER-1_RLGA MER-1_ROVER FIXED -253540 MER-1 mobility system frames: ----------------------------- MER-1_ROCKER_LEFT MER-1_ROVER CK -253410 MER-1_BOGEY_LEFT MER-1_ROCKER_LEFT CK -253411 MER-1_STRUT_FRONT_LEFT MER-1_ROCKER_LEFT CK -253412 MER-1_STRUT_REAR_LEFT MER-1_BOGEY_LEFT CK -253413 MER-1_ROCKER_RIGHT MER-1_ROVER CK -253420 MER-1_BOGEY_RIGHT MER-1_ROCKER_RIGHT CK -253421 MER-1_STRUT_FRONT_RIGHT MER-1_ROCKER_RIGHT CK -253422 MER-1_STRUT_REAR_RIGHT MER-1_BOGEY_RIGHT CK -253423 MER-1 Frame Tree ======================================================================== The diagram below shows the MER-1 frame hierarchy: "J2000" +-------------------------------------------------------+ | | | |<-ck |<-pck |<-pck | | | v v v MER-1_CRUISE "IAU_MARS" "IAU_EARTH" ----------------- ---------- ----------- ^ . | . . |<-fixed . . | . . v . . "MER-1_TOPO" . . ------------ . . | . . |<-fixed . . | . . v . . "MER-1_LOCAL_LEVEL" . . ------------------------------------+ . . | | | . . |<-ck |<-fixed |<-ck . . | | | . . | v v . . | "MER-1_SURFACE_FIXED" "MER-1_LANDER" . . | --------------------- -------------- . . (3) | ^ . . . . .. . . .. | . . . . . | . . . . . | . . v . . | . . "MER-1_CLGA". . | "MER-1_RLGA" . . ------------. . | ------------ . . ^ . . | ^ . . | . . | | . . |<-fxd . . | |<-fxd . . | . . | | . . | v . | | . . | "MER-1_BLGA". | "MER-1_HAZCAM_*" | . . | ------------. | ---------------- | . . | ^ . | ^ | . . | | . | | | . . | |<-fxd . | |<-fxd | . . | | . | | | . . | | v | | | . . | | "MER-1_MGA" | "MER-1_UHF" | | . . | | ----------- | ----------- | | . . | | ^ | ^ | | . . | | | | | | | . .(1) | | fxd->| | |<-fxd | | .(2) . | | | | | | | . v | | | v | | | v +-------------------------------------------------------+ "MER-1_ROVER" +-------------------------------------------------------+ | | | | | |<-fixed |<-fixed | | | | | | v v | | "MER-1_PMA_BASE" "MER-1_HGA_BASE" | | ---------------- ---------------- | | | | | | |<-ck |<-ck | | | | | | | v | | | "MER-1_HGA" | | | ----------- | | | | | v | | "MER-1_PMA_HEAD" | | +-----------------------------------------+ | | | | | | | |<-fixed |<-fixed fixed->| | | | | | | | v v v | | "MER-1_PANCAM_*" "MER-1_NAVCAM_*" "MER-1_MINI_TES" | | ---------------- ---------------- ---------------- | | | | | |<-fixed | | | v | "MER-1_IDD_BASE" | ---------------- | | | |<-ck | | | v | "MER-1_IDD_SHOULDER_AZ" | ----------------------- | | | |<-ck |<-ck | | v v "MER-1_IDD_SHOULDER_EL" "MER-1_ROCKER_*" ----------------------- +----------------------------------- | | | |<-ck |<-ck |<-ck | | | v v v "MER-1_IDD_ELBOW" "MER-1_STRUT_FRONT_*" "MER-1_BOGEY_*" ----------------- --------------------- --------------- | | |<-ck |<-ck | | v v "MER-1_IDD_WRIST" "MER-1_STRUT_REAR_*" ----------------- -------------------- | |<-ck | v "MER-1_IDD_TURRET" ------------------ | |<-fixed | v "MER-1_IDD_TURRET_HEAD" ------------------------------------------------------------+ | | | | |<-fixed |<-fixed |<-fixed |<-fixed | | | | v v v v "MER-1_APXS" "MER-1_MICROIMAGER" "MER-1_MOSSBAUER" "MER-1_RAT" ------------ ------------------- ----------------- ----------- (1) While MER-1_CRUISE and MER-1_ROVER frames have constant orientation with respect to each other during cruise, the frame tree implemented by this FK does not provide this orientation "connection". (2) While MER-1_LANDER and MER-1_ROVER frames have constant orientation with respect to each other during cruise and up until the rover rolls of the lander, the frame tree implemented by this FK does not provide this orientation "connection". (3) Although MGA, CLGA and BLGA are mounted on the cruise stage, for CK production convenience reasons they are specified as fixed offset frames with respect to the rover frame. MER-1 Surface Frames ======================================================================== The surface frames layout in this version of the FK is based on the assumption that the total traverse distance during the mission will be relatively short (hundreds of meters, not kilometers) and, therefore, the local north and nadir directions, defining surface frame orientations, will be approximately the same at any point along the traverse path. This assumption allows defining surface frames as fixed offset frames with respect to each other and/or to Mars body-fixed frame, IAU_MARS. This diagram illustrates MER-1 surface frames: <> MER-1 Topocentric Frame ----------------------- MER-1 topocentric frame, MER-1_TOPO, is defined as follows: -- +Z axis is along the outward normal at the landing site ("zenith"); -- +X axis is along the local north direction ("north"); -- +Y axis completes the right hand frame ("west"); -- the origin of this frame is located at the landing site. The orientation of this frame is fixed with respect to the Mars body fixed rotating frame 'IAU_MARS'. The transformation from 'MER-1_TOPO' frame to 'IAU_MARS' frame is a 3-2-3 rotation with angles defined as the negative of the site areodetic longitude, the negative of the site areodetic colatitude, and 180 degrees. UNTIL THE FINAL LANDING SITE SELECTION IS MADE, ACTUAL DEFINITION OF THIS FRAME IS PROVIDED IN A SEPARATE FK FILE FOR EACH TARGET LANDING SITE. THE FK FOR THE SITE OF INTEREST MUST BE LOADED TOGETHER WITH THIS FK IN ORDER FOR SPICE TO BUILD COMPLETE FRAME TRANSFORMATION CHAIN. MER-1 Local Level Frame ----------------------- MER-1 local level frame, MER-1_LOCAL_LEVEL, is defined as follows: -- +Z axis is along the downward normal at the landing site ("nadir"); -- +X axis is along the local north direction ("north"); -- +Y axis completes the right hand frame ("east"); -- the origin of this frame is located between the rover's middle wheels and moves with the rover. Since this frame is essentially the MER-1_TOPO frame flipped by 180 degrees about +X ("north") to point +Z down, this frame is defined as a fixed offset frame with respect to the MER-1_TOPO frame. \begindata FRAME_MER-1_LOCAL_LEVEL = -253910 FRAME_-253910_NAME = 'MER-1_LOCAL_LEVEL' FRAME_-253910_CLASS = 4 FRAME_-253910_CLASS_ID = -253910 FRAME_-253910_CENTER = -253900 TKFRAME_-253910_RELATIVE = 'MER-1_TOPO' TKFRAME_-253910_SPEC = 'ANGLES' TKFRAME_-253910_UNITS = 'DEGREES' TKFRAME_-253910_AXES = ( 1, 2, 3 ) TKFRAME_-253910_ANGLES = ( 180.000, 0.000, 0.000 ) \begintext MER-1 Surface Fixed Frame ------------------------- MER-1 surface fixed frame, MER-1_SURFACE_FIXED, frame is defined as follows: -- +Z axis is along the downward normal at the landing site ("nadir"); -- +X axis is along the local north direction ("north"); -- +Y axis completes the right hand frame ("east"); -- the origin of this frame is located at the landing site. As seen from the definition, orientation-wise this frame is coincident with MER-1_LOCAL_LEVEL frame but its origin does not move during the mission. Therefore, this frame is defined as zero-offset frame with respect to the MER-1_LOCAL_LEVEL frame. \begindata FRAME_MER-1_SURFACE_FIXED = -253920 FRAME_-253920_NAME = 'MER-1_SURFACE_FIXED' FRAME_-253920_CLASS = 4 FRAME_-253920_CLASS_ID = -253920 FRAME_-253920_CENTER = -253900 TKFRAME_-253920_RELATIVE = 'MER-1_LOCAL_LEVEL' TKFRAME_-253920_SPEC = 'ANGLES' TKFRAME_-253920_UNITS = 'DEGREES' TKFRAME_-253920_AXES = ( 1, 2, 3 ) TKFRAME_-253920_ANGLES = ( 0.000, 0.000, 0.000 ) \begintext MER-1 Rover, Lander, and Cruise Frames ======================================================================== This diagram illustrates MER-1 cruise, rover, and lander frames: Yc Xc .__________ <------o _________________. | | | Cruise ._________________ | _________________. Stage | V Zc UHF /\ HGA \/ PMA .--. # || / \ # || | | # || \ /=. # || `--' || # || Rover ======================= (deployed) | =o=. | | .' `.__|o====o .===o=== __.|`. \\ .-. .-. `.-. ##o### | o | | o------>o | `-' Yr`|' Xr -' IDD | | V Zr Yl .________________ <------o _______________. Lander |_______________________ |Xl _____________| (deployed) | | V Zl MER-1 Rover Frame ----------------- MER-1 rover frame, MER-1_ROVER, is defined as follows: -- +Z axis is normal to the rover top deck plane and points down, from the top deck toward the wheels; -- +X axis is parallel to the rover top deck plane and points from the center of the top deck toward the PMA assembly; -- +Y completes the right hand frame; Orientation-wise this frame is the same as the Rover Mechanical and Rover Navigation frames defined in [4]. Since SPICE frames subsystem does not incorporate location information -- it is stored in the fixed offset SPK files -- this FK does not attempt to "map" the origin of the MER-1_ROVER to either Rover Navigation origin (located between the middle wheels) or Rover Mechanical frame origin (shifted by about 29 cm toward the front wheels). This "mapping" is done by defining a separate location for each of the two origins in the MER-1 fixed offset SPK file. During cruise this frame is rotated from the lander and cruise frames by +90 degrees about +Z axis. This orientation can also be provided in a CK file, but this frame seem to have no practical applications in cruise. During normal surface operations the MER-1_ROVER frame orientation with respect to the surface changes as the rover moves. Therefore, this frame is defined as a CK frame and the frame's orientation with respect to the MER-1_LOCAL_LEVEL frame is provided in the CK files. \begindata FRAME_MER-1_ROVER = -253000 FRAME_-253000_NAME = 'MER-1_ROVER' FRAME_-253000_CLASS = 3 FRAME_-253000_CLASS_ID = -253000 FRAME_-253000_CENTER = -253 CK_-253000_SCLK = -253 CK_-253000_SPK = -253000 \begintext MER-1 Lander Frame ------------------ MER-1 lander frame, MER-1_LANDER, is defined as follows: -- +Z axis is normal to the lander base petal plane and points down, from the upright lander toward the ground; -- +Y axis is parallel to the lander base petal plane and directed outward passing through the geometric center of the rover petal; -- +X completes the right hand frame; -- the origin of this frame is located at the geometric center of the the lander base petal; During cruise this frame is coincident orientation-wise with the cruise frame and is rotated by -90 degrees about +Z axis off the rover frame. Note that this frame has no practical applications in cruise. During normal surface operations the MER-1_LANDER frame orientation with respect to the surface is fixed after landing (Even if it changes after the rover roll off, there is no practical change in capturing the change magnitude as the lander does not any instruments of its own.) Therefore, this frame is defined as a fixed offset frame with respect to the MER-1_LOCAL_LEVEL frame. Currently the keywords below define the lander frame's orientation to be coincident with the local level frame -- +Z = nadir, +X = north, +Y = east. \begindata FRAME_MER-1_LANDER = -253700 FRAME_-253700_NAME = 'MER-1_LANDER' FRAME_-253700_CLASS = 4 FRAME_-253700_CLASS_ID = -253700 FRAME_-253700_CENTER = -253 TKFRAME_-253700_RELATIVE = 'MER-1_LOCAL_LEVEL' TKFRAME_-253700_SPEC = 'ANGLES' TKFRAME_-253700_UNITS = 'DEGREES' TKFRAME_-253700_AXES = ( 1, 2, 3 ) TKFRAME_-253700_ANGLES = ( 0.000, 0.000, 0.000 ) \begintext MER-1 Cruise Frame ------------------ MER-1 cruise frame, MER-1_CRUISE, is defined as follows: -- +Z axis is parallel to s/c spin axis and points toward the end of the aeroshell (in the launch direction); -- +Y axis is parallel to the spacecraft/launch vehicle interface plane and point toward star scanner assembly; -- +X completes the right hand frame; -- the origin of this frame is at the geometric center of the spacecraft/ launch vehicle interface ring. During cruise the MER-1_CRUISE frame orientation in inertial space changes as the spacecraft approaches Mars. Therefore, this frame is defined as a CK frame and the frame's orientation with respect to the J2000 inertial frame is provided in the CK files. During cruise this frame is coincident orientation-wise with the lander frame and is rotated by -90 degrees about +Z axis off the rover frame. This frame has no practical application during surface operations. \begindata FRAME_MER-1_CRUISE = -253800 FRAME_-253800_NAME = 'MER-1_CRUISE' FRAME_-253800_CLASS = 3 FRAME_-253800_CLASS_ID = -253800 FRAME_-253800_CENTER = -253 CK_-253800_SCLK = -253 CK_-253800_SPK = -253800 \begintext MER-1 Rover HAZCAM Frames ======================================================================== MER-1 HAZCAM Frames ------------------- The frame for each of the four MER-1 HAZCAMs -- FRONT/LEFT, FRONT/RIGHT, REAR/LEFT, REAR/RIGHT -- is defined as follows: -- +Z axis is along the camera's central pixel view direction ("into image"); -- +Y axis is along the image central column and points from the image center toward the image top row ("up"); -- +X completes the right hand frame and is along the image central row and points from the image center toward the image left column ("left"); -- the origin of the frame is located at the camera focal point. This diagram illustrates rover HAZCAM frames: /\ PMA HGA \/ .--. UHF || \ \ # || Yhr ^ \ | # || ^Yhf \ \ /=. # || / \ ' || # || / ====\================/= (out of page) Xhr o| =o=. |x Xhf (into page) .' | .' `.__| `. .' .===o=== __.|`. `. v .-. .-. `.-. v Zhf Zhr | o | | o------>o | `-' Yr`|' Xr -' | | (IDD is not shown) V Zr Since all HAZCAMs are rigidly mounted on the rover body, their frames are defined as fixed offset frames with orientation given with respect to the rover frame. Actual HAZCAM frame orientations will be derived from the final CAHVOR models as soon as such become available. Until then the frame orientations provided below are set to their nominal design values -- boresight in the direction of the rover +X and tilted 45 degrees toward the ground for FRONT HAZCAMs and in the direction of -X and tilted 35 degrees toward the ground for REAR HAZCAMs. \begindata FRAME_MER-1_HAZCAM_FRONT_LEFT = -253011 FRAME_-253011_NAME = 'MER-1_HAZCAM_FRONT_LEFT' FRAME_-253011_CLASS = 4 FRAME_-253011_CLASS_ID = -253011 FRAME_-253011_CENTER = -253 TKFRAME_-253011_RELATIVE = 'MER-1_ROVER' TKFRAME_-253011_SPEC = 'ANGLES' TKFRAME_-253011_UNITS = 'DEGREES' TKFRAME_-253011_AXES = ( 1, 2, 3 ) TKFRAME_-253011_ANGLES = ( 0.000, 90.000, 45.000 ) FRAME_MER-1_HAZCAM_FRONT_RIGHT = -253012 FRAME_-253012_NAME = 'MER-1_HAZCAM_FRONT_RIGHT' FRAME_-253012_CLASS = 4 FRAME_-253012_CLASS_ID = -253012 FRAME_-253012_CENTER = -253 TKFRAME_-253012_RELATIVE = 'MER-1_ROVER' TKFRAME_-253012_SPEC = 'ANGLES' TKFRAME_-253012_UNITS = 'DEGREES' TKFRAME_-253012_AXES = ( 1, 2, 3 ) TKFRAME_-253012_ANGLES = ( 0.000, 90.000, 45.000 ) FRAME_MER-1_HAZCAM_REAR_LEFT = -253021 FRAME_-253021_NAME = 'MER-1_HAZCAM_REAR_LEFT' FRAME_-253021_CLASS = 4 FRAME_-253021_CLASS_ID = -253021 FRAME_-253021_CENTER = -253 TKFRAME_-253021_RELATIVE = 'MER-1_ROVER' TKFRAME_-253021_SPEC = 'ANGLES' TKFRAME_-253021_UNITS = 'DEGREES' TKFRAME_-253021_AXES = ( 1, 2, 3 ) TKFRAME_-253021_ANGLES = ( 0.000, -90.000, 55.000 ) FRAME_MER-1_HAZCAM_REAR_RIGHT = -253022 FRAME_-253022_NAME = 'MER-1_HAZCAM_REAR_RIGHT' FRAME_-253022_CLASS = 4 FRAME_-253022_CLASS_ID = -253022 FRAME_-253022_CENTER = -253 TKFRAME_-253022_RELATIVE = 'MER-1_ROVER' TKFRAME_-253022_SPEC = 'ANGLES' TKFRAME_-253022_UNITS = 'DEGREES' TKFRAME_-253022_AXES = ( 1, 2, 3 ) TKFRAME_-253022_ANGLES = ( 0.000, -90.000, 55.000 ) \begintext MER-1 PMA Structures and PMA-Mounted Instrument Frames ======================================================================== MER-1 PMA Base Frame -------------------- Per [4] MER-1 PMA base frame, MER-1_PMA_BASE, is coincident in orientation with the rover frame. The origin of this frame is at center of the mounting plate between PMA and RED. Since this frame is fixed with respect to and coincident with the rover it's defined as zero offset frame with respect to the rover frame. \begindata FRAME_MER-1_PMA_BASE = -253100 FRAME_-253100_NAME = 'MER-1_PMA_BASE' FRAME_-253100_CLASS = 4 FRAME_-253100_CLASS_ID = -253100 FRAME_-253100_CENTER = -253 TKFRAME_-253100_RELATIVE = 'MER-1_ROVER' TKFRAME_-253100_SPEC = 'ANGLES' TKFRAME_-253100_UNITS = 'DEGREES' TKFRAME_-253100_AXES = ( 1, 2, 3 ) TKFRAME_-253100_ANGLES = ( 0.000, 0.000, 0.000 ) \begintext MER-1 PMA Head Frame -------------------- MER-1 PMA head frame, MER-1_PMA_HEAD, is defined as follows: -- +X axis is in the direction of the nominal NAVCAM boresight; -- +Y axis is along PMA head elevation rotation axis and points from the left NAVCAM toward the right NAVCAM; -- +Z completes the right hand frame; -- the origin of this frame is at the intersection of the PMA azimuth and elevation rotation axes. During normal surface operations the MER-1_PMA_HEAD frame orientation with respect to the PMA base frame is varying and controlled using azimuth and elevation angles. Therefore, this frame is defined as a CK frame and the frame's orientation with respect to the MER-1_PMA_BASE frame is provided in the CK files. For zero azimuth and elevation position this frame is coincident in orientation with the PMA base frame. \begindata FRAME_MER-1_PMA_HEAD = -253110 FRAME_-253110_NAME = 'MER-1_PMA_HEAD' FRAME_-253110_CLASS = 3 FRAME_-253110_CLASS_ID = -253110 FRAME_-253110_CENTER = -253 CK_-253110_SCLK = -253 CK_-253110_SPK = -253110 \begintext MER-1 PANCAM and NAVCAM Frames ------------------------------ The frame for each of the two MER-1 NAVCAM cameras -- LEFT and RIGHT, -- and the two PANCAM cameras -- LEFT and RIGHT -- is defined as follows: -- +Z axis is along the camera's central pixel view direction ("into image"); -- +Y axis is along the image central column and points from the image center toward the image top row ("up"); -- +X completes the right hand frame and is along the image central row and points from the image center toward the image left column ("left"); -- the origin of the frame is located at the camera focal point. Since both NAVCAM and PANCAM cameras are rigidly mounted on the PMA head, their frames are defined as fixed offset frames with orientation given with respect to the PMA head frame. This diagram illustrates PMA base, head, and instrument frames (zero AZ/EL position): PMA side view: -------------- Ynavcam(l,r) Yminites Ypancam(l,r) ^ ^ | | | ._. | Zminites |----| |-| Znavcam(l,r) <------o | | x------> Zpancam(l,r) `----| |-' .---. .' `. <--- Elevation Drive / \ | o------> \ | / Xpma_head `. | .' |-| Zpma_head PMA Head .___V___. ............ |...o------> Mounting Plane `---|---' Xpma_base | | | | | | | V Zpma_base ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ .----|----. | | <--- Azimuth Drive & Rotation Axis .----|----' | .'\ | .'.' .'.' | \.' | -------------------------------. -------------------------------' | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Yr | o------> ----------' | Xr | | Yr, Ypma_base, Ypma_head, V Zr Xminites are out of page Xnavcam(l,r), Xpancam(l,r) are into page. PMA top view: ------------- | | <--- Elevation rotation axis | ^ Xpancam(l) ._______|_. | ._. | Xnavcam(l) | | |_^ | | | | o------> Zpancam(l) | | |-| | | | |-| | | | | o------> Znavcam(l) Zr Xr | | |-' | x------> | | | | | | | | | | .----| | | Xpma_head | Zminites | | | | Xpma_base Yr v <----o |x------> | ||| | |----||| ^ Xnavcam(r) Xminites V| ||| | | | |V| | Xpancam(r) Ypma_base| |_^ | Ypma_head| | o------> Znavcam(r) | | |-| | | | |-| | | | | o------> Zpancam(r) | | |-' | | ._. | .___._.___. Zr, Zpma_base, Zpma_head, are into page. Ynavcam(l,r), Ypancam(l,r) and Yminites are out of page. Actual NAVCAM and PANCAM frame orientations will be derived from the final CAHVOR models as soon as such become available. Until then the frame orientations provided below are set to their nominal design values -- NAVCAM boresight parallel to each other and PMA head +X axis, and PANCAM boresights "toe"ed in by 1 degree toward the PMA head +X axis. In order align PMA head frame with the camera frames in this nominal orientation, it has to be rotated by +90 degrees about Y and then by -90 degrees about +Z. "toe"-ins for the PANCAM then require additional rotation about +Y by -1 degree for the left and +1 degree for the right eyes. \begindata FRAME_MER-1_NAVCAM_LEFT = -253111 FRAME_-253111_NAME = 'MER-1_NAVCAM_LEFT' FRAME_-253111_CLASS = 4 FRAME_-253111_CLASS_ID = -253111 FRAME_-253111_CENTER = -253 TKFRAME_-253111_RELATIVE = 'MER-1_PMA_HEAD' TKFRAME_-253111_SPEC = 'ANGLES' TKFRAME_-253111_UNITS = 'DEGREES' TKFRAME_-253111_AXES = ( 2, 3, 2 ) TKFRAME_-253111_ANGLES = ( -90.000, 90.000, 0.000 ) FRAME_MER-1_NAVCAM_RIGHT = -253112 FRAME_-253112_NAME = 'MER-1_NAVCAM_RIGHT' FRAME_-253112_CLASS = 4 FRAME_-253112_CLASS_ID = -253112 FRAME_-253112_CENTER = -253 TKFRAME_-253112_RELATIVE = 'MER-1_PMA_HEAD' TKFRAME_-253112_SPEC = 'ANGLES' TKFRAME_-253112_UNITS = 'DEGREES' TKFRAME_-253112_AXES = ( 2, 3, 2 ) TKFRAME_-253112_ANGLES = ( -90.000, 90.000, 0.000 ) FRAME_MER-1_PANCAM_LEFT = -253121 FRAME_-253121_NAME = 'MER-1_PANCAM_LEFT' FRAME_-253121_CLASS = 4 FRAME_-253121_CLASS_ID = -253121 FRAME_-253121_CENTER = -253 TKFRAME_-253121_RELATIVE = 'MER-1_PMA_HEAD' TKFRAME_-253121_SPEC = 'ANGLES' TKFRAME_-253121_UNITS = 'DEGREES' TKFRAME_-253121_AXES = ( 2, 3, 2 ) TKFRAME_-253121_ANGLES = ( -90.000, 90.000, 1.000 ) FRAME_MER-1_PANCAM_RIGHT = -253122 FRAME_-253122_NAME = 'MER-1_PANCAM_RIGHT' FRAME_-253122_CLASS = 4 FRAME_-253122_CLASS_ID = -253122 FRAME_-253122_CENTER = -253 TKFRAME_-253122_RELATIVE = 'MER-1_PMA_HEAD' TKFRAME_-253122_SPEC = 'ANGLES' TKFRAME_-253122_UNITS = 'DEGREES' TKFRAME_-253122_AXES = ( 2, 3, 2 ) TKFRAME_-253122_ANGLES = ( -90.000, 90.000, -1.000 ) \begintext MER-1 MINI-TES Frame -------------------- The frame for Mini-TES is defined as follows: -- +Z axis is along the instrument boresight defined as the central pixel view direction ("into image"); -- +Y axis is along the image central column and points from the image center toward the image top row ("up"); -- +X completes the right hand frame and is along the image central row and points from the image center toward the image left column ("left"); -- the origin of the frame is located at the instrument's focal point. Since Mini-TES is rigidly mounted on the PMA head, its frame is defined as fixed offset frame with orientation given with respect to the PMA head frame. Actual Mini-TEST frame orientation will be derived from the final instrument geometric model as soon as such becomes available. Until then the frame orientation provided below is set in accordance with the nominal design -- Mini-TES boresight parallel to the PMA head -X axis. In order align PMA head frame with the Mini-TES frame in this nominal orientation, it has to be rotated by -90 degrees about Y and then by +90 degrees about +Z. \begindata FRAME_MER-1_MINI_TES = -253140 FRAME_-253140_NAME = 'MER-1_MINI_TES' FRAME_-253140_CLASS = 4 FRAME_-253140_CLASS_ID = -253140 FRAME_-253140_CENTER = -253 TKFRAME_-253140_RELATIVE = 'MER-1_PMA_HEAD' TKFRAME_-253140_SPEC = 'ANGLES' TKFRAME_-253140_UNITS = 'DEGREES' TKFRAME_-253140_AXES = ( 2, 3, 2 ) TKFRAME_-253140_ANGLES = ( 90.000, -90.000, 0.000 ) \begintext MER-1 IDD Structures and IDD-Mounted Instrument Frames ======================================================================== MER-1 IDD Structures Frames --------------------------- MER-1 IDD base frame, MER-1_IDD_BASE, called in [5] IDD_MNT frame, is defined to be coincident in orientation with the rover frame. The origin of this frame is at center of the registration pin in the IDD mounting plate. Since this frame is fixed with respect to and coincident with the rover it's defined as zero offset frame with respect to the rover frame. \begindata FRAME_MER-1_IDD_BASE = -253200 FRAME_-253200_NAME = 'MER-1_IDD_BASE' FRAME_-253200_CLASS = 4 FRAME_-253200_CLASS_ID = -253200 FRAME_-253200_CENTER = -253 TKFRAME_-253200_RELATIVE = 'MER-1_ROVER' TKFRAME_-253200_SPEC = 'ANGLES' TKFRAME_-253200_UNITS = 'DEGREES' TKFRAME_-253200_AXES = ( 1, 2, 3 ) TKFRAME_-253200_ANGLES = ( 0.000, 0.000, 0.000 ) \begintext All MER-1 IDD joint frames -- SHOULDER_AZ, SHOULDER_EL, ELBOW, WRIST, and TURRET, enumerated in [5] as IDD0...IDD4 frames -- are defined in accordance with normal kinematics convention as follows: -- +Z axis is along the joint rotation axis, nominally pointing along rover +Z for SHOULDER_AZ, along rover -Y (for IDD in straight out position) for SHOULDER_EL, ELBOW, and WRIST, and along wrist +Y for TURRET; -- +X axis is along the link attached to the joint; -- +Y completes the right hand frame; -- the origin lies on the rotation axis at a point that provides for the minimum magnitude of translations between the joints (see diagram above). This diagram illustrates IDD base and joint frames in "zero joint rotation" position: IDD side view: ------------- Shoulder/Az Turret axis axis | | . . | | Rover body . .___. . | | Xr . Xbase APXS |MSB| RAT ...o-----o>-----> .___. | | | | .-. Xsh_el .-. .-. | | | o----x->----> =======| x------> =======| @------> | | ._|_. `| Xsh_az `|' Xelb `|' Xwr, Xtr V V | | | | Zr Zbase | | | | V V Ysh_el V Yelb V Ywr, Zsh_az Ztr Yr, Ybase, Ysh_az, Ytr are out of page; Zsh_el, Zelb, Zwr are into page. IDD top view: ------------ Shoulder/El Elbow Wrist axis axis axis | | | . . . | | | ~ ~ ~ ~ ~ ~ ~ ~ . Rover body . Zsh_el Zelb Zwr Xr . ^ ^ ^ X------> .._|_. ._|_. | | .___.| | |-------------| | | | | / .-..| | |-------------| | | Xelb ._|_. Xwr | / | x----x->----> | x------> -------| x------> V / `|'.Xsh_az Xsh_el ._|_.-------------| | Yr / |/. | MI| . x---|--> Xbase |.-.| Xtr | | V APXS | x--RAT-> `._|_.' Ysh_az `|' ........|. MSB V Ybase | V Ytr Zr, Zbase, Zsh_az, Ysh_el, Yelb, Ywr, and Ztr are all into the page During normal surface operations the orientation of each of these frames with respect to each other varies and is controlled and telemetered using IDD joint angles. Therefore, these frame are defined as a CK frames with the orientation for each frame provided with respect to its parent in the frame chain. \begindata FRAME_MER-1_IDD_SHOULDER_AZ = -253201 FRAME_-253201_NAME = 'MER-1_IDD_SHOULDER_AZ' FRAME_-253201_CLASS = 3 FRAME_-253201_CLASS_ID = -253201 FRAME_-253201_CENTER = -253 CK_-253201_SCLK = -253 CK_-253201_SPK = -253201 FRAME_MER-1_IDD_SHOULDER_EL = -253202 FRAME_-253202_NAME = 'MER-1_IDD_SHOULDER_EL' FRAME_-253202_CLASS = 3 FRAME_-253202_CLASS_ID = -253202 FRAME_-253202_CENTER = -253 CK_-253202_SCLK = -253 CK_-253202_SPK = -253202 FRAME_MER-1_IDD_ELBOW = -253203 FRAME_-253203_NAME = 'MER-1_IDD_ELBOW' FRAME_-253203_CLASS = 3 FRAME_-253203_CLASS_ID = -253203 FRAME_-253203_CENTER = -253 CK_-253203_SCLK = -253 CK_-253203_SPK = -253203 FRAME_MER-1_IDD_WRIST = -253204 FRAME_-253204_NAME = 'MER-1_IDD_WRIST' FRAME_-253204_CLASS = 3 FRAME_-253204_CLASS_ID = -253204 FRAME_-253204_CENTER = -253 CK_-253204_SCLK = -253 CK_-253204_SPK = -253204 FRAME_MER-1_IDD_TURRET = -253205 FRAME_-253205_NAME = 'MER-1_IDD_TURRET' FRAME_-253205_CLASS = 3 FRAME_-253205_CLASS_ID = -253205 FRAME_-253205_CENTER = -253 CK_-253205_SCLK = -253 CK_-253205_SPK = -253205 \begintext MER-1 IDD Instrument Frames --------------------------- MER-1 TURRET HEAD frame, enumerated as IDD5 in [5], is defined as follows: -- +Z axis is along the nominal Micro-Imager boresight; -- +Y axis is along the turret rotation axis; -- +X axis completes the right frame; -- the origin is at the intersection of the nominal turret rotation axis and Micro-Imager boresight; This frame is fixed with respect to the MER-1_IDD_TURRET frame and is nominally rotated from it by +90 degrees about +X axis. \begindata FRAME_MER-1_IDD_TURRET_HEAD = -253206 FRAME_-253206_NAME = 'MER-1_IDD_TURRET_HEAD' FRAME_-253206_CLASS = 4 FRAME_-253206_CLASS_ID = -253206 FRAME_-253206_CENTER = -253 TKFRAME_-253206_RELATIVE = 'MER-1_IDD_TURRET' TKFRAME_-253206_SPEC = 'ANGLES' TKFRAME_-253206_UNITS = 'DEGREES' TKFRAME_-253206_AXES = ( 1, 2, 3 ) TKFRAME_-253206_ANGLES = ( -90.000, 0.000, 0.000 ) \begintext MER-1 IDD instrument frames -- MICROIMAGER, APXS, RAT, and MOSSBAUER -- are fixed with respect to the TURRET_HEAD frame and are nominally rotated from it about Y axis by the following angles (from [5]): Instrument Angle ------------- ------- MICROIMAGER 0 deg APXS -90 deg RAT 90 deg MOSSBAUER 180 deg (Better descriptions for these frames are <>) This diagram illustrates IDD head and instrument frames (looking in the direction of Ztr axis): Ztr, Ytrh, Ymi, Yrat Ymsb, Yapxs are all ^ Zmi into page. | | MicroImager | .x------>Xmi Xapxs '___` ^ | ^ Ztrh |________. .-|-. | |==.' | `. --. RAT Zapxs | | / | \-----' | <------x | | x------> | |>x------> Zrat | | \ | Xtr -. | | .________.==`. | . Xtrh --' | APXS `-|-' | | V Ytr V Xrat | | | | | MOSSBAUER <------x-' Xmbs | | | V Zmsb All these frames are defined as fixed offset frames with respect to TURRET_HEAD frame with offsets corresponding to the table below. \begindata FRAME_MER-1_APXS = -253210 FRAME_-253210_NAME = 'MER-1_APXS' FRAME_-253210_CLASS = 4 FRAME_-253210_CLASS_ID = -253210 FRAME_-253210_CENTER = -253 TKFRAME_-253210_RELATIVE = 'MER-1_IDD_TURRET_HEAD' TKFRAME_-253210_SPEC = 'ANGLES' TKFRAME_-253210_UNITS = 'DEGREES' TKFRAME_-253210_AXES = ( 1, 2, 3 ) TKFRAME_-253210_ANGLES = ( 0.000, 90.000, 0.000 ) FRAME_MER-1_MICROIMAGER = -253220 FRAME_-253220_NAME = 'MER-1_MICROIMAGER' FRAME_-253220_CLASS = 4 FRAME_-253220_CLASS_ID = -253220 FRAME_-253220_CENTER = -253 TKFRAME_-253220_RELATIVE = 'MER-1_IDD_TURRET_HEAD' TKFRAME_-253220_SPEC = 'ANGLES' TKFRAME_-253220_UNITS = 'DEGREES' TKFRAME_-253220_AXES = ( 1, 2, 3 ) TKFRAME_-253220_ANGLES = ( 0.000, 0.000, 0.000 ) FRAME_MER-1_RAT = -253230 FRAME_-253230_NAME = 'MER-1_RAT' FRAME_-253230_CLASS = 4 FRAME_-253230_CLASS_ID = -253230 FRAME_-253230_CENTER = -253 TKFRAME_-253230_RELATIVE = 'MER-1_IDD_TURRET_HEAD' TKFRAME_-253230_SPEC = 'ANGLES' TKFRAME_-253230_UNITS = 'DEGREES' TKFRAME_-253230_AXES = ( 1, 2, 3 ) TKFRAME_-253230_ANGLES = ( 0.000, -90.000, 0.000 ) FRAME_MER-1_MOSSBAUER = -253240 FRAME_-253240_NAME = 'MER-1_MOSSBAUER' FRAME_-253240_CLASS = 4 FRAME_-253240_CLASS_ID = -253240 FRAME_-253240_CENTER = -253 TKFRAME_-253240_RELATIVE = 'MER-1_IDD_TURRET_HEAD' TKFRAME_-253240_SPEC = 'ANGLES' TKFRAME_-253240_UNITS = 'DEGREES' TKFRAME_-253240_AXES = ( 1, 2, 3 ) TKFRAME_-253240_ANGLES = ( 0.000, 180.000, 0.000 ) \begintext MER-1 HGA Frames ======================================================================== MER-1 Cruise Antenna Frames --------------------------- MER-1 uses three antennas in cruise and EDL -- MGA, Cruise LGA (CLGA), and Backshell LGA (BLGA). The frame for each of the three antennas 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 plate. For all of the antennas, the boresight is cruise or rover -Z, and the clock angle reference axis is arbitrary. Only one rotation is needed because the clock angle reference axis is arbitrary. A rotation of 180 degrees (or -180 degrees - same thing) about the +X axis will co-align the rover frame with the antenna frame. This keeps the rover +X axis as the clock reference axis. The frame definitions below (which express the same rotation for all antennas) implement this orientation. \begindata FRAME_MER-1_MGA = -253500 FRAME_-253500_NAME = 'MER-1_MGA' FRAME_-253500_CLASS = 4 FRAME_-253500_CLASS_ID = -253500 FRAME_-253500_CENTER = -253 TKFRAME_-253500_SPEC = 'ANGLES' TKFRAME_-253500_RELATIVE = 'MER-1_ROVER' TKFRAME_-253500_AXES = ( 1, 2, 3 ) TKFRAME_-253500_ANGLES = ( 180.000, 0.000, 0.000 ) TKFRAME_-253500_UNITS = 'DEGREES' FRAME_MER-1_CLGA = -253510 FRAME_-253510_NAME = 'MER-1_CLGA' FRAME_-253510_CLASS = 4 FRAME_-253510_CLASS_ID = -253510 FRAME_-253510_CENTER = -253 TKFRAME_-253510_SPEC = 'ANGLES' TKFRAME_-253510_RELATIVE = 'MER-1_ROVER' TKFRAME_-253510_AXES = ( 1, 2, 3 ) TKFRAME_-253510_ANGLES = ( 180.000, 0.000, 0.000 ) TKFRAME_-253510_UNITS = 'DEGREES' FRAME_MER-1_BLGA = -253520 FRAME_-253520_NAME = 'MER-1_BLGA' FRAME_-253520_CLASS = 4 FRAME_-253520_CLASS_ID = -253520 FRAME_-253520_CENTER = -253 TKFRAME_-253520_SPEC = 'ANGLES' TKFRAME_-253520_RELATIVE = 'MER-1_ROVER' TKFRAME_-253520_AXES = ( 1, 2, 3 ) TKFRAME_-253520_ANGLES = ( 180.000, 0.000, 0.000 ) TKFRAME_-253520_UNITS = 'DEGREES' \begintext MER-1 UHF Antenna Frame ----------------------- MER-1 UHF antenna frame, MER-1_UHF, is defined as follows: -- +Z axis is along the antenna boresight, nominally coincident with the rover -Z axis; -- +X axis is along the antenna pattern reference axis, nominally coincident with the rover +X axis; -- +Y completes the right hand frame; -- the origin of this frame is at the geometric center of the antenna top surface. This diagram illustrates UHF frame: ^ Zuhf | | /\ PMA HGA | \/ .--. x------> Xuhf / \ #Yuhf || | | # || \ /=. # || `--' || # || ======================= | =o=. | | .' `.__|o====o .===o=== __.|`. \\ .-. .-. `.-. ##o### | o | | o------>o | IDD `-' Yr`|' Xr -' | | V Zr Since UHF antenna is rigidly mounted on the rover body, its frame is defined as fixed offset frame with its orientation given with respect to the rover frame. Nominally a single rotation of 180 degrees about X is needed to align the rover frame with the UHF frame. \begindata FRAME_MER-1_UHF = -253030 FRAME_-253030_NAME = 'MER-1_UHF' FRAME_-253030_CLASS = 4 FRAME_-253030_CLASS_ID = -253030 FRAME_-253030_CENTER = -253 TKFRAME_-253030_RELATIVE = 'MER-1_ROVER' TKFRAME_-253030_SPEC = 'ANGLES' TKFRAME_-253030_UNITS = 'DEGREES' TKFRAME_-253030_AXES = ( 3, 2, 1 ) TKFRAME_-253030_ANGLES = ( 0.000, 0.000, 180.000 ) \begintext MER-1 HGA Frames ---------------- MER-1 HGA base frame is defined as follows: -- +Z axis is nominally parallel to the HGA azimuth gimbal rotation axis, perpendicular to the rover deck and points "up" (i.e. coincident with the rover -Z axis); -- +X axis is in the rover deck plane is nominally rotated 30 degrees off the rover +X axis toward the rover +Y axis; -- +Y axis completes the right hand frame; -- the origin of this frame is located at the intersection of the azimuth gimbal rotation axis and the rover deck plane. This diagram illustrates MER-1 HGA base frame (rover top view): Xr _________ ^ _________ / // | \\ \ / @/ | \@ \ / // | \\ Yr \ / // x------> \ / Xhgab ^ Zr \\ \ / // / (into \\ \ . ` <. // / page) \@ .-' . / Yhgab `-. / \\.-' @-' \ / `-. `o \ ,-' \ / // Zhgab (out of page) \ \ / \_____________________/ \ / \ / __@_____________@__ \ / \ / \ / \ / \_/ \ / \_/ \ / \___________/ This frame is fixed with respect to the rover frame, therefore it's defined as a fixed offset frame. Nominally two rotations are needed to alight the rover frame with the HGA base frame: first by 180 degrees about X, then by -30 degrees about Z. The frame definition below implements this orientation \begindata FRAME_MER-1_HGA_BASE = -253300 FRAME_-253300_NAME = 'MER-1_HGA_BASE' FRAME_-253300_CLASS = 4 FRAME_-253300_CLASS_ID = -253300 FRAME_-253300_CENTER = -253 TKFRAME_-253300_RELATIVE = 'MER-1_ROVER' TKFRAME_-253300_SPEC = 'ANGLES' TKFRAME_-253300_UNITS = 'DEGREES' TKFRAME_-253300_AXES = ( 2, 1, 3 ) TKFRAME_-253300_ANGLES = ( 0.000, 180.000, 30.000 ) \begintext MER-1 HGA frame is defined as follows: -- +Z axis is along the HGA boresight; -- +Y axis is along the HGA elevation gimbal rotation axis and point from the HGA dish toward the gimbal; -- +X completes the right hand frame; -- the origin of this frame is at the intersection of the HGA boresight elevation gimbal rotation axis. This diagram illustrates MER-1 HGA frame (HGA assembly back view, zero gimbal position): * * * * * * * Azimuth * * rotation * * axis * * - _ | * * | |----| `. | * +Zhga Xhga *------| | | `.| Elevation * (into x------> * ------------------o------ rotation * page) | *------| | | | `. axis * | * | |----| | | * | +Yhga * - .______|___. * V * | | | * * | Zhgab * * | ^ | * * .------- | ---. * * * * * | | | | | | ------------------------------------. <------o --.----------- Rover deck Xhgab Yhgab (out of page) During normal surface operations the orientation of this frame with respect to the HGA base frame varies and is controlled and telemetered using HGA azimuth and elevation angles. Therefore, this frame is defined as a CK frame with the orientation provided with respect to the HGA base frame. \begindata FRAME_MER-1_HGA = -253310 FRAME_-253310_NAME = 'MER-1_HGA' FRAME_-253310_CLASS = 3 FRAME_-253310_CLASS_ID = -253310 FRAME_-253310_CENTER = -253 CK_-253310_SCLK = -253 CK_-253310_SPK = -253310 \begintext MER-1 Rover LGA Frame --------------------- The MER-1 rover LGA 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 plate. As for the other antennas, the boresight is rover -Z, and the clock angle reference axis is arbitrary. Only one rotation is needed because the clock angle reference axis is arbitrary. A rotation of 180 degrees (or -180 degrees - same thing) about the +X axis will co-align the rover frame with the antenna frame. This keeps the rover +X axis as the clock reference axis. The frame definitions below (which express the same rotation for all antennas) implement this orientation. \begindata FRAME_MER-1_RLGA = -253540 FRAME_-253540_NAME = 'MER-1_RLGA' FRAME_-253540_CLASS = 4 FRAME_-253540_CLASS_ID = -253540 FRAME_-253540_CENTER = -253 TKFRAME_-253540_SPEC = 'ANGLES' TKFRAME_-253540_RELATIVE = 'MER-1_ROVER' TKFRAME_-253540_AXES = ( 1, 2, 3 ) TKFRAME_-253540_ANGLES = ( 180.000, 0.000, 0.000 ) TKFRAME_-253540_UNITS = 'DEGREES' \begintext MER-1 Mobility System Frames ======================================================================== This diagram illustrates the MAS frames: <> MER-1 Mobility System Frames ---------------------------- All MER-1 MAS frames are CK-based frames as their orientation changes constantly as the rover moves along. Description of the MAS frame are <>. \begindata FRAME_MER-1_ROCKER_LEFT = -253410 FRAME_-253410_NAME = 'MER-1_ROCKER_LEFT' FRAME_-253410_CLASS = 3 FRAME_-253410_CLASS_ID = -253410 FRAME_-253410_CENTER = -253 CK_-253410_SCLK = -253 CK_-253410_SPK = -253410 FRAME_MER-1_BOGEY_LEFT = -253411 FRAME_-253411_NAME = 'MER-1_BOGEY_LEFT' FRAME_-253411_CLASS = 3 FRAME_-253411_CLASS_ID = -253411 FRAME_-253411_CENTER = -253 CK_-253411_SCLK = -253 CK_-253411_SPK = -253411 FRAME_MER-1_STRUT_FRONT_LEFT = -253412 FRAME_-253412_NAME = 'MER-1_STRUT_FRONT_LEFT' FRAME_-253412_CLASS = 3 FRAME_-253412_CLASS_ID = -253412 FRAME_-253412_CENTER = -253 CK_-253412_SCLK = -253 CK_-253412_SPK = -253412 FRAME_MER-1_STRUT_REAR_LEFT = -253413 FRAME_-253413_NAME = 'MER-1_STRUT_REAR_LEFT' FRAME_-253413_CLASS = 3 FRAME_-253413_CLASS_ID = -253413 FRAME_-253413_CENTER = -253 CK_-253413_SCLK = -253 CK_-253413_SPK = -253413 FRAME_MER-1_ROCKER_RIGHT = -253420 FRAME_-253420_NAME = 'MER-1_ROCKER_RIGHT' FRAME_-253420_CLASS = 3 FRAME_-253420_CLASS_ID = -253420 FRAME_-253420_CENTER = -253 CK_-253420_SCLK = -253 CK_-253420_SPK = -253420 FRAME_MER-1_BOGEY_RIGHT = -253421 FRAME_-253421_NAME = 'MER-1_BOGEY_RIGHT' FRAME_-253421_CLASS = 3 FRAME_-253421_CLASS_ID = -253421 FRAME_-253421_CENTER = -253 CK_-253421_SCLK = -253 CK_-253421_SPK = -253421 FRAME_MER-1_STRUT_FRONT_RIGHT = -253422 FRAME_-253422_NAME = 'MER-1_STRUT_FRONT_RIGHT' FRAME_-253422_CLASS = 3 FRAME_-253422_CLASS_ID = -253422 FRAME_-253422_CENTER = -253 CK_-253422_SCLK = -253 CK_-253422_SPK = -253422 FRAME_MER-1_STRUT_REAR_RIGHT = -253423 FRAME_-253423_NAME = 'MER-1_STRUT_REAR_RIGHT' FRAME_-253423_CLASS = 3 FRAME_-253423_CLASS_ID = -253423 FRAME_-253423_CENTER = -253 CK_-253423_SCLK = -253 CK_-253423_SPK = -253423 \begintext MER-1 NAIF ID Codes -- Definition Section ======================================================================== This section contains name to NAIF ID mappings for the MER-1. MER-1 rover and landing site names and IDs ------------------------------------------ \begindata NAIF_BODY_NAME += ( 'MER-1' ) NAIF_BODY_CODE += ( -253 ) NAIF_BODY_NAME += ( 'MER-1_LANDING_SITE' ) NAIF_BODY_CODE += ( -253900 ) \begintext MER-1 rover body-mounted instruments names and IDs ---------------------------------------------------- \begindata NAIF_BODY_NAME += ( 'MER-1_HAZCAM_FRONT_LEFT' ) NAIF_BODY_CODE += ( -253011 ) NAIF_BODY_NAME += ( 'MER-1_HAZCAM_FRONT_RIGHT' ) NAIF_BODY_CODE += ( -253012 ) NAIF_BODY_NAME += ( 'MER-1_HAZCAM_REAR_LEFT' ) NAIF_BODY_CODE += ( -253021 ) NAIF_BODY_NAME += ( 'MER-1_HAZCAM_REAR_RIGHT' ) NAIF_BODY_CODE += ( -253022 ) \begintext MER-1 PMA structures and PMA-mounted instrument names and IDs --------------------------------------------------------------- \begindata NAIF_BODY_NAME += ( 'MER-1_PMA_BASE' ) NAIF_BODY_CODE += ( -253100 ) NAIF_BODY_NAME += ( 'MER-1_PMA_HEAD' ) NAIF_BODY_CODE += ( -253110 ) NAIF_BODY_NAME += ( 'MER-1_NAVCAM_LEFT' ) NAIF_BODY_CODE += ( -253111 ) NAIF_BODY_NAME += ( 'MER-1_NAVCAM_RIGHT' ) NAIF_BODY_CODE += ( -253112 ) NAIF_BODY_NAME += ( 'MER-1_PANCAM_LEFT' ) NAIF_BODY_CODE += ( -253121 ) NAIF_BODY_NAME += ( 'MER-1_PANCAM_RIGHT' ) NAIF_BODY_CODE += ( -253122 ) NAIF_BODY_NAME += ( 'MER-1_MINI_TES' ) NAIF_BODY_CODE += ( -253140 ) \begintext MER-1 IDD structures and IDD-mounted instrument names and IDs --------------------------------------------------------------- \begindata NAIF_BODY_NAME += ( 'MER-1_IDD_BASE' ) NAIF_BODY_CODE += ( -253200 ) NAIF_BODY_NAME += ( 'MER-1_IDD_SHOULDER_AZ' ) NAIF_BODY_CODE += ( -253201 ) NAIF_BODY_NAME += ( 'MER-1_IDD_SHOULDER_EL' ) NAIF_BODY_CODE += ( -253202 ) NAIF_BODY_NAME += ( 'MER-1_IDD_ELBOW' ) NAIF_BODY_CODE += ( -253203 ) NAIF_BODY_NAME += ( 'MER-1_IDD_WRIST' ) NAIF_BODY_CODE += ( -253204 ) NAIF_BODY_NAME += ( 'MER-1_IDD_TURRET' ) NAIF_BODY_CODE += ( -253205 ) NAIF_BODY_NAME += ( 'MER-1_IDD_TURRET_HEAD' ) NAIF_BODY_CODE += ( -253206 ) NAIF_BODY_NAME += ( 'MER-1_APXS' ) NAIF_BODY_CODE += ( -253210 ) NAIF_BODY_NAME += ( 'MER-1_MICROIMAGER' ) NAIF_BODY_CODE += ( -253220 ) NAIF_BODY_NAME += ( 'MER-1_RAT' ) NAIF_BODY_CODE += ( -253230 ) NAIF_BODY_NAME += ( 'MER-1_MOSSBAUER' ) NAIF_BODY_CODE += ( -253240 ) \begintext MER-1 antenna names and IDs --------------------------- \begindata NAIF_BODY_NAME += ( 'MER-1_MGA' ) NAIF_BODY_CODE += ( -253500 ) NAIF_BODY_NAME += ( 'MER-1_CLGA' ) NAIF_BODY_CODE += ( -253510 ) NAIF_BODY_NAME += ( 'MER-1_BLGA' ) NAIF_BODY_CODE += ( -253520 ) NAIF_BODY_NAME += ( 'MER-1_UHF' ) NAIF_BODY_CODE += ( -253030 ) NAIF_BODY_NAME += ( 'MER-1_HGA_BASE' ) NAIF_BODY_CODE += ( -253300 ) NAIF_BODY_NAME += ( 'MER-1_HGA' ) NAIF_BODY_CODE += ( -253310 ) NAIF_BODY_NAME += ( 'MER-1_RLGA' ) NAIF_BODY_CODE += ( -253540 ) \begintext MER-1 mobility system components names and IDs ---------------------------------------------- \begindata NAIF_BODY_NAME += ( 'MER-1_ROCKER_LEFT' ) NAIF_BODY_CODE += ( -253410 ) NAIF_BODY_NAME += ( 'MER-1_BOGEY_LEFT' ) NAIF_BODY_CODE += ( -253411 ) NAIF_BODY_NAME += ( 'MER-1_STRUT_FRONT_LEFT' ) NAIF_BODY_CODE += ( -253412 ) NAIF_BODY_NAME += ( 'MER-1_STRUT_REAR_LEFT' ) NAIF_BODY_CODE += ( -253413 ) NAIF_BODY_NAME += ( 'MER-1_ROCKER_RIGHT' ) NAIF_BODY_CODE += ( -253420 ) NAIF_BODY_NAME += ( 'MER-1_BOGEY_RIGHT' ) NAIF_BODY_CODE += ( -253421 ) NAIF_BODY_NAME += ( 'MER-1_STRUT_FRONT_RIGHT' ) NAIF_BODY_CODE += ( -253422 ) NAIF_BODY_NAME += ( 'MER-1_STRUT_REAR_RIGHT' ) NAIF_BODY_CODE += ( -253423 ) \begintext