KPL/FK MER-2 Frames Kernel ======================================================================== This frame kernel contains complete set of frame definitions for the MER-2 including definitions for the MER-2 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 -254111/-254112; PANCAM LEFT/RIGHT IDs are -254121/-254122. 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-B was replaced with MER-2 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-2 NAIF ID Codes ======================================================================== The following names and NAIF ID codes are assigned to the MER-2 rover, its structures and science instruments (the keywords implementing these definitions are located in the section "MER-2 Mission NAIF ID Codes -- Definition Section" at the end of this file): MER-2 rover and landing site: ----------------------------- MER-2 -254 MER-2_LANDING_SITE -254900 MER-2 HAZCAMs: -------------- MER-2_HAZCAM_FRONT_LEFT -254011 MER-2_HAZCAM_FRONT_RIGHT -254012 MER-2_HAZCAM_REAR_LEFT -254021 MER-2_HAZCAM_REAR_RIGHT -254022 MER-2 PMA structures and PMA-mounted instruments: -------------------------------------------------- MER-2_PMA_BASE -254100 MER-2_PMA_HEAD -254110 MER-2_NAVCAM_LEFT -254111 MER-2_NAVCAM_RIGHT -254112 MER-2_PANCAM_LEFT -254121 MER-2_PANCAM_RIGHT -254122 MER-2_MINI_TES -254140 MER-2 IDD structures and IDD-mounted instruments: -------------------------------------------------- MER-2_IDD_BASE -254200 MER-2_IDD_SHOULDER_AZ -254201 MER-2_IDD_SHOULDER_EL -254202 MER-2_IDD_ELBOW -254203 MER-2_IDD_WRIST -254204 MER-2_IDD_TURRET -254205 MER-2_IDD_TURRET_HEAD -254206 MER-2_APXS -254210 MER-2_MICROIMAGER -254220 MER-2_RAT -254230 MER-2_MOSSBAUER -254240 MER-2 Antennas: --------------- MER-2_MGA -254500 MER-2_CLGA -254510 MER-2_BLGA -254520 MER-2_UHF -254030 MER-2_HGA_BASE -254300 MER-2_HGA -254310 MER-2_RLGA -254540 MER-2 mobility system components: --------------------------------- MER-2_ROCKER_LEFT -254410 MER-2_BOGEY_LEFT -254411 MER-2_STRUT_FRONT_LEFT -254412 MER-2_STRUT_REAR_LEFT -254413 MER-2_ROCKER_RIGHT -254420 MER-2_BOGEY_RIGHT -254421 MER-2_STRUT_FRONT_RIGHT -254422 MER-2_STRUT_REAR_RIGHT -254423 MER-2 Frames ======================================================================== The following MER-2 frames are defined in this kernel file: Name Relative to Type NAIF ID ====================== =================== ===== ======= MER-2 Surface frames: --------------------- MER-2_TOPO IAU_MARS FIXED -254900 MER-2_LOCAL_LEVEL MER-2_TOPO FIXED -254910 MER-2_SURFACE_FIXED MER-2_LOCAL_LEVEL FIXED -254920 MER-2 rover, lander, and cruise frames: --------------------------------------- MER-2_ROVER MER-2_LOCAL_LEVEL CK -254000 MER-2_LANDER MER-2_LOCAL_LEVEL FIXED -254700 MER-2_CRUISE J2000 CK -254800 MER-2 rover body-mounted instrument frames: ------------------------------------------- MER-2_HAZCAM_FRONT_LEFT MER-2_ROVER FIXED -254011 MER-2_HAZCAM_FRONT_RIGHT MER-2_ROVER FIXED -254012 MER-2_HAZCAM_REAR_LEFT MER-2_ROVER FIXED -254021 MER-2_HAZCAM_REAR_RIGHT MER-2_ROVER FIXED -254022 MER-2_UHF MER-2_ROVER FIXED -254030 MER-2 PMA and PMA-mounted instrument frames: -------------------------------------------- MER-2_PMA_BASE MER-2_ROVER FIXED -254100 MER-2_PMA_HEAD MER-2_PMA_BASE CK -254110 MER-2_NAVCAM_LEFT MER-2_PMA_HEAD FIXED -254111 MER-2_NAVCAM_RIGHT MER-2_PMA_HEAD FIXED -254112 MER-2_PANCAM_LEFT MER-2_PMA_HEAD FIXED -254121 MER-2_PANCAM_RIGHT MER-2_PMA_HEAD FIXED -254122 MER-2_MINI_TES MER-2_PMA_HEAD FIXED -254140 MER-2 IDD and IDD-mounted instrument frames: -------------------------------------------- MER-2_IDD_BASE MER-2_ROVER FIXED -254200 MER-2_IDD_SHOULDER_AZ MER-2_BASE CK -254201 MER-2_IDD_SHOULDER_EL MER-2_IDD_SHOULDER_AZ CK -254202 MER-2_IDD_ELBOW MER-2_IDD_SHOULDER_EL CK -254203 MER-2_IDD_WRIST MER-2_IDD_ELBOW CK -254204 MER-2_IDD_TURRET MER-2_IDD_WRIST CK -254205 MER-2_IDD_TURRET_HEAD MER-2_IDD_TURRET FIXED -254206 MER-2_APXS MER-2_IDD_TURRET_HEAD FIXED -254210 MER-2_MICROIMAGER MER-2_IDD_TURRET_HEAD FIXED -254220 MER-2_RAT MER-2_IDD_TURRET_HEAD FIXED -254230 MER-2_MOSSBAUER MER-2_IDD_TURRET_HEAD FIXED -254240 MER-2 antenna frames: ---------------------- MER-2_MGA MER-2_ROVER FIXED -254500 MER-2_CLGA MER-2_ROVER FIXED -254510 MER-2_BLGA MER-2_ROVER FIXED -254520 MER-2_UHF MER-2_ROVER FIXED -254030 MER-2_HGA_BASE MER-2_ROVER FIXED -254300 MER-2_HGA MER-2_HGA_BASE CK -254310 MER-2_RLGA MER-2_ROVER FIXED -254540 MER-2 mobility system frames: ----------------------------- MER-2_ROCKER_LEFT MER-2_ROVER CK -254410 MER-2_BOGEY_LEFT MER-2_ROCKER_LEFT CK -254411 MER-2_STRUT_FRONT_LEFT MER-2_ROCKER_LEFT CK -254412 MER-2_STRUT_REAR_LEFT MER-2_BOGEY_LEFT CK -254413 MER-2_ROCKER_RIGHT MER-2_ROVER CK -254420 MER-2_BOGEY_RIGHT MER-2_ROCKER_RIGHT CK -254421 MER-2_STRUT_FRONT_RIGHT MER-2_ROCKER_RIGHT CK -254422 MER-2_STRUT_REAR_RIGHT MER-2_BOGEY_RIGHT CK -254423 MER-2 Frame Tree ======================================================================== The diagram below shows the MER-2 frame hierarchy: "J2000" +-------------------------------------------------------+ | | | |<-ck |<-pck |<-pck | | | v v v MER-2_CRUISE "IAU_MARS" "IAU_EARTH" ----------------- ---------- ----------- ^ . | . . |<-fixed . . | . . v . . "MER-2_TOPO" . . ------------ . . | . . |<-fixed . . | . . v . . "MER-2_LOCAL_LEVEL" . . ------------------------------------+ . . | | | . . |<-ck |<-fixed |<-ck . . | | | . . | v v . . | "MER-2_SURFACE_FIXED" "MER-2_LANDER" . . | --------------------- -------------- . . (3) | ^ . . . . .. . . .. | . . . . . | . . . . . | . . v . . | . . "MER-2_CLGA". . | "MER-2_RLGA" . . ------------. . | ------------ . . ^ . . | ^ . . | . . | | . . |<-fxd . . | |<-fxd . . | . . | | . . | v . | | . . | "MER-2_BLGA". | "MER-2_HAZCAM_*" | . . | ------------. | ---------------- | . . | ^ . | ^ | . . | | . | | | . . | |<-fxd . | |<-fxd | . . | | . | | | . . | | v | | | . . | | "MER-2_MGA" | "MER-2_UHF" | | . . | | ----------- | ----------- | | . . | | ^ | ^ | | . . | | | | | | | . .(1) | | fxd->| | |<-fxd | | .(2) . | | | | | | | . v | | | v | | | v +-------------------------------------------------------+ "MER-2_ROVER" +-------------------------------------------------------+ | | | | | |<-fixed |<-fixed | | | | | | v v | | "MER-2_PMA_BASE" "MER-2_HGA_BASE" | | ---------------- ---------------- | | | | | | |<-ck |<-ck | | | | | | | v | | | "MER-2_HGA" | | | ----------- | | | | | v | | "MER-2_PMA_HEAD" | | +-----------------------------------------+ | | | | | | | |<-fixed |<-fixed fixed->| | | | | | | | v v v | | "MER-2_PANCAM_*" "MER-2_NAVCAM_*" "MER-2_MINI_TES" | | ---------------- ---------------- ---------------- | | | | | |<-fixed | | | v | "MER-2_IDD_BASE" | ---------------- | | | |<-ck | | | v | "MER-2_IDD_SHOULDER_AZ" | ----------------------- | | | |<-ck |<-ck | | v v "MER-2_IDD_SHOULDER_EL" "MER-2_ROCKER_*" ----------------------- +----------------------------------- | | | |<-ck |<-ck |<-ck | | | v v v "MER-2_IDD_ELBOW" "MER-2_STRUT_FRONT_*" "MER-2_BOGEY_*" ----------------- --------------------- --------------- | | |<-ck |<-ck | | v v "MER-2_IDD_WRIST" "MER-2_STRUT_REAR_*" ----------------- -------------------- | |<-ck | v "MER-2_IDD_TURRET" ------------------ | |<-fixed | v "MER-2_IDD_TURRET_HEAD" ------------------------------------------------------------+ | | | | |<-fixed |<-fixed |<-fixed |<-fixed | | | | v v v v "MER-2_APXS" "MER-2_MICROIMAGER" "MER-2_MOSSBAUER" "MER-2_RAT" ------------ ------------------- ----------------- ----------- (1) While MER-2_CRUISE and MER-2_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-2_LANDER and MER-2_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-2 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-2 surface frames: <> MER-2 Topocentric Frame ----------------------- MER-2 topocentric frame, MER-2_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-2_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-2 Local Level Frame ----------------------- MER-2 local level frame, MER-2_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-2_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-2_TOPO frame. \begindata FRAME_MER-2_LOCAL_LEVEL = -254910 FRAME_-254910_NAME = 'MER-2_LOCAL_LEVEL' FRAME_-254910_CLASS = 4 FRAME_-254910_CLASS_ID = -254910 FRAME_-254910_CENTER = -254900 TKFRAME_-254910_RELATIVE = 'MER-2_TOPO' TKFRAME_-254910_SPEC = 'ANGLES' TKFRAME_-254910_UNITS = 'DEGREES' TKFRAME_-254910_AXES = ( 1, 2, 3 ) TKFRAME_-254910_ANGLES = ( 180.000, 0.000, 0.000 ) \begintext MER-2 Surface Fixed Frame ------------------------- MER-2 surface fixed frame, MER-2_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-2_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-2_LOCAL_LEVEL frame. \begindata FRAME_MER-2_SURFACE_FIXED = -254920 FRAME_-254920_NAME = 'MER-2_SURFACE_FIXED' FRAME_-254920_CLASS = 4 FRAME_-254920_CLASS_ID = -254920 FRAME_-254920_CENTER = -254900 TKFRAME_-254920_RELATIVE = 'MER-2_LOCAL_LEVEL' TKFRAME_-254920_SPEC = 'ANGLES' TKFRAME_-254920_UNITS = 'DEGREES' TKFRAME_-254920_AXES = ( 1, 2, 3 ) TKFRAME_-254920_ANGLES = ( 0.000, 0.000, 0.000 ) \begintext MER-2 Rover, Lander, and Cruise Frames ======================================================================== This diagram illustrates MER-2 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-2 Rover Frame ----------------- MER-2 rover frame, MER-2_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-2_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-2 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-2_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-2_LOCAL_LEVEL frame is provided in the CK files. \begindata FRAME_MER-2_ROVER = -254000 FRAME_-254000_NAME = 'MER-2_ROVER' FRAME_-254000_CLASS = 3 FRAME_-254000_CLASS_ID = -254000 FRAME_-254000_CENTER = -254 CK_-254000_SCLK = -254 CK_-254000_SPK = -254000 \begintext MER-2 Lander Frame ------------------ MER-2 lander frame, MER-2_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-2_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-2_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-2_LANDER = -254700 FRAME_-254700_NAME = 'MER-2_LANDER' FRAME_-254700_CLASS = 4 FRAME_-254700_CLASS_ID = -254700 FRAME_-254700_CENTER = -254 TKFRAME_-254700_RELATIVE = 'MER-2_LOCAL_LEVEL' TKFRAME_-254700_SPEC = 'ANGLES' TKFRAME_-254700_UNITS = 'DEGREES' TKFRAME_-254700_AXES = ( 1, 2, 3 ) TKFRAME_-254700_ANGLES = ( 0.000, 0.000, 0.000 ) \begintext MER-2 Cruise Frame ------------------ MER-2 cruise frame, MER-2_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-2_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-2_CRUISE = -254800 FRAME_-254800_NAME = 'MER-2_CRUISE' FRAME_-254800_CLASS = 3 FRAME_-254800_CLASS_ID = -254800 FRAME_-254800_CENTER = -254 CK_-254800_SCLK = -254 CK_-254800_SPK = -254800 \begintext MER-2 Rover HAZCAM Frames ======================================================================== MER-2 HAZCAM Frames ------------------- The frame for each of the four MER-2 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-2_HAZCAM_FRONT_LEFT = -254011 FRAME_-254011_NAME = 'MER-2_HAZCAM_FRONT_LEFT' FRAME_-254011_CLASS = 4 FRAME_-254011_CLASS_ID = -254011 FRAME_-254011_CENTER = -254 TKFRAME_-254011_RELATIVE = 'MER-2_ROVER' TKFRAME_-254011_SPEC = 'ANGLES' TKFRAME_-254011_UNITS = 'DEGREES' TKFRAME_-254011_AXES = ( 1, 2, 3 ) TKFRAME_-254011_ANGLES = ( 0.000, 90.000, 45.000 ) FRAME_MER-2_HAZCAM_FRONT_RIGHT = -254012 FRAME_-254012_NAME = 'MER-2_HAZCAM_FRONT_RIGHT' FRAME_-254012_CLASS = 4 FRAME_-254012_CLASS_ID = -254012 FRAME_-254012_CENTER = -254 TKFRAME_-254012_RELATIVE = 'MER-2_ROVER' TKFRAME_-254012_SPEC = 'ANGLES' TKFRAME_-254012_UNITS = 'DEGREES' TKFRAME_-254012_AXES = ( 1, 2, 3 ) TKFRAME_-254012_ANGLES = ( 0.000, 90.000, 45.000 ) FRAME_MER-2_HAZCAM_REAR_LEFT = -254021 FRAME_-254021_NAME = 'MER-2_HAZCAM_REAR_LEFT' FRAME_-254021_CLASS = 4 FRAME_-254021_CLASS_ID = -254021 FRAME_-254021_CENTER = -254 TKFRAME_-254021_RELATIVE = 'MER-2_ROVER' TKFRAME_-254021_SPEC = 'ANGLES' TKFRAME_-254021_UNITS = 'DEGREES' TKFRAME_-254021_AXES = ( 1, 2, 3 ) TKFRAME_-254021_ANGLES = ( 0.000, -90.000, 55.000 ) FRAME_MER-2_HAZCAM_REAR_RIGHT = -254022 FRAME_-254022_NAME = 'MER-2_HAZCAM_REAR_RIGHT' FRAME_-254022_CLASS = 4 FRAME_-254022_CLASS_ID = -254022 FRAME_-254022_CENTER = -254 TKFRAME_-254022_RELATIVE = 'MER-2_ROVER' TKFRAME_-254022_SPEC = 'ANGLES' TKFRAME_-254022_UNITS = 'DEGREES' TKFRAME_-254022_AXES = ( 1, 2, 3 ) TKFRAME_-254022_ANGLES = ( 0.000, -90.000, 55.000 ) \begintext MER-2 PMA Structures and PMA-Mounted Instrument Frames ======================================================================== MER-2 PMA Base Frame -------------------- Per [4] MER-2 PMA base frame, MER-2_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-2_PMA_BASE = -254100 FRAME_-254100_NAME = 'MER-2_PMA_BASE' FRAME_-254100_CLASS = 4 FRAME_-254100_CLASS_ID = -254100 FRAME_-254100_CENTER = -254 TKFRAME_-254100_RELATIVE = 'MER-2_ROVER' TKFRAME_-254100_SPEC = 'ANGLES' TKFRAME_-254100_UNITS = 'DEGREES' TKFRAME_-254100_AXES = ( 1, 2, 3 ) TKFRAME_-254100_ANGLES = ( 0.000, 0.000, 0.000 ) \begintext MER-2 PMA Head Frame -------------------- MER-2 PMA head frame, MER-2_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-2_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-2_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-2_PMA_HEAD = -254110 FRAME_-254110_NAME = 'MER-2_PMA_HEAD' FRAME_-254110_CLASS = 3 FRAME_-254110_CLASS_ID = -254110 FRAME_-254110_CENTER = -254 CK_-254110_SCLK = -254 CK_-254110_SPK = -254110 \begintext MER-2 PANCAM and NAVCAM Frames ------------------------------ The frame for each of the two MER-2 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-2_NAVCAM_LEFT = -254111 FRAME_-254111_NAME = 'MER-2_NAVCAM_LEFT' FRAME_-254111_CLASS = 4 FRAME_-254111_CLASS_ID = -254111 FRAME_-254111_CENTER = -254 TKFRAME_-254111_RELATIVE = 'MER-2_PMA_HEAD' TKFRAME_-254111_SPEC = 'ANGLES' TKFRAME_-254111_UNITS = 'DEGREES' TKFRAME_-254111_AXES = ( 2, 3, 2 ) TKFRAME_-254111_ANGLES = ( -90.000, 90.000, 0.000 ) FRAME_MER-2_NAVCAM_RIGHT = -254112 FRAME_-254112_NAME = 'MER-2_NAVCAM_RIGHT' FRAME_-254112_CLASS = 4 FRAME_-254112_CLASS_ID = -254112 FRAME_-254112_CENTER = -254 TKFRAME_-254112_RELATIVE = 'MER-2_PMA_HEAD' TKFRAME_-254112_SPEC = 'ANGLES' TKFRAME_-254112_UNITS = 'DEGREES' TKFRAME_-254112_AXES = ( 2, 3, 2 ) TKFRAME_-254112_ANGLES = ( -90.000, 90.000, 0.000 ) FRAME_MER-2_PANCAM_LEFT = -254121 FRAME_-254121_NAME = 'MER-2_PANCAM_LEFT' FRAME_-254121_CLASS = 4 FRAME_-254121_CLASS_ID = -254121 FRAME_-254121_CENTER = -254 TKFRAME_-254121_RELATIVE = 'MER-2_PMA_HEAD' TKFRAME_-254121_SPEC = 'ANGLES' TKFRAME_-254121_UNITS = 'DEGREES' TKFRAME_-254121_AXES = ( 2, 3, 2 ) TKFRAME_-254121_ANGLES = ( -90.000, 90.000, 1.000 ) FRAME_MER-2_PANCAM_RIGHT = -254122 FRAME_-254122_NAME = 'MER-2_PANCAM_RIGHT' FRAME_-254122_CLASS = 4 FRAME_-254122_CLASS_ID = -254122 FRAME_-254122_CENTER = -254 TKFRAME_-254122_RELATIVE = 'MER-2_PMA_HEAD' TKFRAME_-254122_SPEC = 'ANGLES' TKFRAME_-254122_UNITS = 'DEGREES' TKFRAME_-254122_AXES = ( 2, 3, 2 ) TKFRAME_-254122_ANGLES = ( -90.000, 90.000, -1.000 ) \begintext MER-2 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-2_MINI_TES = -254140 FRAME_-254140_NAME = 'MER-2_MINI_TES' FRAME_-254140_CLASS = 4 FRAME_-254140_CLASS_ID = -254140 FRAME_-254140_CENTER = -254 TKFRAME_-254140_RELATIVE = 'MER-2_PMA_HEAD' TKFRAME_-254140_SPEC = 'ANGLES' TKFRAME_-254140_UNITS = 'DEGREES' TKFRAME_-254140_AXES = ( 2, 3, 2 ) TKFRAME_-254140_ANGLES = ( 90.000, -90.000, 0.000 ) \begintext MER-2 IDD Structures and IDD-Mounted Instrument Frames ======================================================================== MER-2 IDD Structures Frames --------------------------- MER-2 IDD base frame, MER-2_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-2_IDD_BASE = -254200 FRAME_-254200_NAME = 'MER-2_IDD_BASE' FRAME_-254200_CLASS = 4 FRAME_-254200_CLASS_ID = -254200 FRAME_-254200_CENTER = -254 TKFRAME_-254200_RELATIVE = 'MER-2_ROVER' TKFRAME_-254200_SPEC = 'ANGLES' TKFRAME_-254200_UNITS = 'DEGREES' TKFRAME_-254200_AXES = ( 1, 2, 3 ) TKFRAME_-254200_ANGLES = ( 0.000, 0.000, 0.000 ) \begintext All MER-2 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-2_IDD_SHOULDER_AZ = -254201 FRAME_-254201_NAME = 'MER-2_IDD_SHOULDER_AZ' FRAME_-254201_CLASS = 3 FRAME_-254201_CLASS_ID = -254201 FRAME_-254201_CENTER = -254 CK_-254201_SCLK = -254 CK_-254201_SPK = -254201 FRAME_MER-2_IDD_SHOULDER_EL = -254202 FRAME_-254202_NAME = 'MER-2_IDD_SHOULDER_EL' FRAME_-254202_CLASS = 3 FRAME_-254202_CLASS_ID = -254202 FRAME_-254202_CENTER = -254 CK_-254202_SCLK = -254 CK_-254202_SPK = -254202 FRAME_MER-2_IDD_ELBOW = -254203 FRAME_-254203_NAME = 'MER-2_IDD_ELBOW' FRAME_-254203_CLASS = 3 FRAME_-254203_CLASS_ID = -254203 FRAME_-254203_CENTER = -254 CK_-254203_SCLK = -254 CK_-254203_SPK = -254203 FRAME_MER-2_IDD_WRIST = -254204 FRAME_-254204_NAME = 'MER-2_IDD_WRIST' FRAME_-254204_CLASS = 3 FRAME_-254204_CLASS_ID = -254204 FRAME_-254204_CENTER = -254 CK_-254204_SCLK = -254 CK_-254204_SPK = -254204 FRAME_MER-2_IDD_TURRET = -254205 FRAME_-254205_NAME = 'MER-2_IDD_TURRET' FRAME_-254205_CLASS = 3 FRAME_-254205_CLASS_ID = -254205 FRAME_-254205_CENTER = -254 CK_-254205_SCLK = -254 CK_-254205_SPK = -254205 \begintext MER-2 IDD Instrument Frames --------------------------- MER-2 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-2_IDD_TURRET frame and is nominally rotated from it by +90 degrees about +X axis. \begindata FRAME_MER-2_IDD_TURRET_HEAD = -254206 FRAME_-254206_NAME = 'MER-2_IDD_TURRET_HEAD' FRAME_-254206_CLASS = 4 FRAME_-254206_CLASS_ID = -254206 FRAME_-254206_CENTER = -254 TKFRAME_-254206_RELATIVE = 'MER-2_IDD_TURRET' TKFRAME_-254206_SPEC = 'ANGLES' TKFRAME_-254206_UNITS = 'DEGREES' TKFRAME_-254206_AXES = ( 1, 2, 3 ) TKFRAME_-254206_ANGLES = ( -90.000, 0.000, 0.000 ) \begintext MER-2 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-2_APXS = -254210 FRAME_-254210_NAME = 'MER-2_APXS' FRAME_-254210_CLASS = 4 FRAME_-254210_CLASS_ID = -254210 FRAME_-254210_CENTER = -254 TKFRAME_-254210_RELATIVE = 'MER-2_IDD_TURRET_HEAD' TKFRAME_-254210_SPEC = 'ANGLES' TKFRAME_-254210_UNITS = 'DEGREES' TKFRAME_-254210_AXES = ( 1, 2, 3 ) TKFRAME_-254210_ANGLES = ( 0.000, 90.000, 0.000 ) FRAME_MER-2_MICROIMAGER = -254220 FRAME_-254220_NAME = 'MER-2_MICROIMAGER' FRAME_-254220_CLASS = 4 FRAME_-254220_CLASS_ID = -254220 FRAME_-254220_CENTER = -254 TKFRAME_-254220_RELATIVE = 'MER-2_IDD_TURRET_HEAD' TKFRAME_-254220_SPEC = 'ANGLES' TKFRAME_-254220_UNITS = 'DEGREES' TKFRAME_-254220_AXES = ( 1, 2, 3 ) TKFRAME_-254220_ANGLES = ( 0.000, 0.000, 0.000 ) FRAME_MER-2_RAT = -254230 FRAME_-254230_NAME = 'MER-2_RAT' FRAME_-254230_CLASS = 4 FRAME_-254230_CLASS_ID = -254230 FRAME_-254230_CENTER = -254 TKFRAME_-254230_RELATIVE = 'MER-2_IDD_TURRET_HEAD' TKFRAME_-254230_SPEC = 'ANGLES' TKFRAME_-254230_UNITS = 'DEGREES' TKFRAME_-254230_AXES = ( 1, 2, 3 ) TKFRAME_-254230_ANGLES = ( 0.000, -90.000, 0.000 ) FRAME_MER-2_MOSSBAUER = -254240 FRAME_-254240_NAME = 'MER-2_MOSSBAUER' FRAME_-254240_CLASS = 4 FRAME_-254240_CLASS_ID = -254240 FRAME_-254240_CENTER = -254 TKFRAME_-254240_RELATIVE = 'MER-2_IDD_TURRET_HEAD' TKFRAME_-254240_SPEC = 'ANGLES' TKFRAME_-254240_UNITS = 'DEGREES' TKFRAME_-254240_AXES = ( 1, 2, 3 ) TKFRAME_-254240_ANGLES = ( 0.000, 180.000, 0.000 ) \begintext MER-2 HGA Frames ======================================================================== MER-2 Cruise Antenna Frames --------------------------- MER-2 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-2_MGA = -254500 FRAME_-254500_NAME = 'MER-2_MGA' FRAME_-254500_CLASS = 4 FRAME_-254500_CLASS_ID = -254500 FRAME_-254500_CENTER = -254 TKFRAME_-254500_SPEC = 'ANGLES' TKFRAME_-254500_RELATIVE = 'MER-2_ROVER' TKFRAME_-254500_AXES = ( 1, 2, 3 ) TKFRAME_-254500_ANGLES = ( 180.000, 0.000, 0.000 ) TKFRAME_-254500_UNITS = 'DEGREES' FRAME_MER-2_CLGA = -254510 FRAME_-254510_NAME = 'MER-2_CLGA' FRAME_-254510_CLASS = 4 FRAME_-254510_CLASS_ID = -254510 FRAME_-254510_CENTER = -254 TKFRAME_-254510_SPEC = 'ANGLES' TKFRAME_-254510_RELATIVE = 'MER-2_ROVER' TKFRAME_-254510_AXES = ( 1, 2, 3 ) TKFRAME_-254510_ANGLES = ( 180.000, 0.000, 0.000 ) TKFRAME_-254510_UNITS = 'DEGREES' FRAME_MER-2_BLGA = -254520 FRAME_-254520_NAME = 'MER-2_BLGA' FRAME_-254520_CLASS = 4 FRAME_-254520_CLASS_ID = -254520 FRAME_-254520_CENTER = -254 TKFRAME_-254520_SPEC = 'ANGLES' TKFRAME_-254520_RELATIVE = 'MER-2_ROVER' TKFRAME_-254520_AXES = ( 1, 2, 3 ) TKFRAME_-254520_ANGLES = ( 180.000, 0.000, 0.000 ) TKFRAME_-254520_UNITS = 'DEGREES' \begintext MER-2 UHF Antenna Frame ----------------------- MER-2 UHF antenna frame, MER-2_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-2_UHF = -254030 FRAME_-254030_NAME = 'MER-2_UHF' FRAME_-254030_CLASS = 4 FRAME_-254030_CLASS_ID = -254030 FRAME_-254030_CENTER = -254 TKFRAME_-254030_RELATIVE = 'MER-2_ROVER' TKFRAME_-254030_SPEC = 'ANGLES' TKFRAME_-254030_UNITS = 'DEGREES' TKFRAME_-254030_AXES = ( 3, 2, 1 ) TKFRAME_-254030_ANGLES = ( 0.000, 0.000, 180.000 ) \begintext MER-2 HGA Frames ---------------- MER-2 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-2 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-2_HGA_BASE = -254300 FRAME_-254300_NAME = 'MER-2_HGA_BASE' FRAME_-254300_CLASS = 4 FRAME_-254300_CLASS_ID = -254300 FRAME_-254300_CENTER = -254 TKFRAME_-254300_RELATIVE = 'MER-2_ROVER' TKFRAME_-254300_SPEC = 'ANGLES' TKFRAME_-254300_UNITS = 'DEGREES' TKFRAME_-254300_AXES = ( 2, 1, 3 ) TKFRAME_-254300_ANGLES = ( 0.000, 180.000, 30.000 ) \begintext MER-2 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-2 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-2_HGA = -254310 FRAME_-254310_NAME = 'MER-2_HGA' FRAME_-254310_CLASS = 3 FRAME_-254310_CLASS_ID = -254310 FRAME_-254310_CENTER = -254 CK_-254310_SCLK = -254 CK_-254310_SPK = -254310 \begintext MER-2 Rover LGA Frame --------------------- The MER-2 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-2_RLGA = -254540 FRAME_-254540_NAME = 'MER-2_RLGA' FRAME_-254540_CLASS = 4 FRAME_-254540_CLASS_ID = -254540 FRAME_-254540_CENTER = -254 TKFRAME_-254540_SPEC = 'ANGLES' TKFRAME_-254540_RELATIVE = 'MER-2_ROVER' TKFRAME_-254540_AXES = ( 1, 2, 3 ) TKFRAME_-254540_ANGLES = ( 180.000, 0.000, 0.000 ) TKFRAME_-254540_UNITS = 'DEGREES' \begintext MER-2 Mobility System Frames ======================================================================== This diagram illustrates the MAS frames: <> MER-2 Mobility System Frames ---------------------------- All MER-2 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-2_ROCKER_LEFT = -254410 FRAME_-254410_NAME = 'MER-2_ROCKER_LEFT' FRAME_-254410_CLASS = 3 FRAME_-254410_CLASS_ID = -254410 FRAME_-254410_CENTER = -254 CK_-254410_SCLK = -254 CK_-254410_SPK = -254410 FRAME_MER-2_BOGEY_LEFT = -254411 FRAME_-254411_NAME = 'MER-2_BOGEY_LEFT' FRAME_-254411_CLASS = 3 FRAME_-254411_CLASS_ID = -254411 FRAME_-254411_CENTER = -254 CK_-254411_SCLK = -254 CK_-254411_SPK = -254411 FRAME_MER-2_STRUT_FRONT_LEFT = -254412 FRAME_-254412_NAME = 'MER-2_STRUT_FRONT_LEFT' FRAME_-254412_CLASS = 3 FRAME_-254412_CLASS_ID = -254412 FRAME_-254412_CENTER = -254 CK_-254412_SCLK = -254 CK_-254412_SPK = -254412 FRAME_MER-2_STRUT_REAR_LEFT = -254413 FRAME_-254413_NAME = 'MER-2_STRUT_REAR_LEFT' FRAME_-254413_CLASS = 3 FRAME_-254413_CLASS_ID = -254413 FRAME_-254413_CENTER = -254 CK_-254413_SCLK = -254 CK_-254413_SPK = -254413 FRAME_MER-2_ROCKER_RIGHT = -254420 FRAME_-254420_NAME = 'MER-2_ROCKER_RIGHT' FRAME_-254420_CLASS = 3 FRAME_-254420_CLASS_ID = -254420 FRAME_-254420_CENTER = -254 CK_-254420_SCLK = -254 CK_-254420_SPK = -254420 FRAME_MER-2_BOGEY_RIGHT = -254421 FRAME_-254421_NAME = 'MER-2_BOGEY_RIGHT' FRAME_-254421_CLASS = 3 FRAME_-254421_CLASS_ID = -254421 FRAME_-254421_CENTER = -254 CK_-254421_SCLK = -254 CK_-254421_SPK = -254421 FRAME_MER-2_STRUT_FRONT_RIGHT = -254422 FRAME_-254422_NAME = 'MER-2_STRUT_FRONT_RIGHT' FRAME_-254422_CLASS = 3 FRAME_-254422_CLASS_ID = -254422 FRAME_-254422_CENTER = -254 CK_-254422_SCLK = -254 CK_-254422_SPK = -254422 FRAME_MER-2_STRUT_REAR_RIGHT = -254423 FRAME_-254423_NAME = 'MER-2_STRUT_REAR_RIGHT' FRAME_-254423_CLASS = 3 FRAME_-254423_CLASS_ID = -254423 FRAME_-254423_CENTER = -254 CK_-254423_SCLK = -254 CK_-254423_SPK = -254423 \begintext MER-2 NAIF ID Codes -- Definition Section ======================================================================== This section contains name to NAIF ID mappings for the MER-2. MER-2 rover and landing site names and IDs ------------------------------------------ \begindata NAIF_BODY_NAME += ( 'MER-2' ) NAIF_BODY_CODE += ( -254 ) NAIF_BODY_NAME += ( 'MER-2_LANDING_SITE' ) NAIF_BODY_CODE += ( -254900 ) \begintext MER-2 rover body-mounted instruments names and IDs ---------------------------------------------------- \begindata NAIF_BODY_NAME += ( 'MER-2_HAZCAM_FRONT_LEFT' ) NAIF_BODY_CODE += ( -254011 ) NAIF_BODY_NAME += ( 'MER-2_HAZCAM_FRONT_RIGHT' ) NAIF_BODY_CODE += ( -254012 ) NAIF_BODY_NAME += ( 'MER-2_HAZCAM_REAR_LEFT' ) NAIF_BODY_CODE += ( -254021 ) NAIF_BODY_NAME += ( 'MER-2_HAZCAM_REAR_RIGHT' ) NAIF_BODY_CODE += ( -254022 ) \begintext MER-2 PMA structures and PMA-mounted instrument names and IDs --------------------------------------------------------------- \begindata NAIF_BODY_NAME += ( 'MER-2_PMA_BASE' ) NAIF_BODY_CODE += ( -254100 ) NAIF_BODY_NAME += ( 'MER-2_PMA_HEAD' ) NAIF_BODY_CODE += ( -254110 ) NAIF_BODY_NAME += ( 'MER-2_NAVCAM_LEFT' ) NAIF_BODY_CODE += ( -254111 ) NAIF_BODY_NAME += ( 'MER-2_NAVCAM_RIGHT' ) NAIF_BODY_CODE += ( -254112 ) NAIF_BODY_NAME += ( 'MER-2_PANCAM_LEFT' ) NAIF_BODY_CODE += ( -254121 ) NAIF_BODY_NAME += ( 'MER-2_PANCAM_RIGHT' ) NAIF_BODY_CODE += ( -254122 ) NAIF_BODY_NAME += ( 'MER-2_MINI_TES' ) NAIF_BODY_CODE += ( -254140 ) \begintext MER-2 IDD structures and IDD-mounted instrument names and IDs --------------------------------------------------------------- \begindata NAIF_BODY_NAME += ( 'MER-2_IDD_BASE' ) NAIF_BODY_CODE += ( -254200 ) NAIF_BODY_NAME += ( 'MER-2_IDD_SHOULDER_AZ' ) NAIF_BODY_CODE += ( -254201 ) NAIF_BODY_NAME += ( 'MER-2_IDD_SHOULDER_EL' ) NAIF_BODY_CODE += ( -254202 ) NAIF_BODY_NAME += ( 'MER-2_IDD_ELBOW' ) NAIF_BODY_CODE += ( -254203 ) NAIF_BODY_NAME += ( 'MER-2_IDD_WRIST' ) NAIF_BODY_CODE += ( -254204 ) NAIF_BODY_NAME += ( 'MER-2_IDD_TURRET' ) NAIF_BODY_CODE += ( -254205 ) NAIF_BODY_NAME += ( 'MER-2_IDD_TURRET_HEAD' ) NAIF_BODY_CODE += ( -254206 ) NAIF_BODY_NAME += ( 'MER-2_APXS' ) NAIF_BODY_CODE += ( -254210 ) NAIF_BODY_NAME += ( 'MER-2_MICROIMAGER' ) NAIF_BODY_CODE += ( -254220 ) NAIF_BODY_NAME += ( 'MER-2_RAT' ) NAIF_BODY_CODE += ( -254230 ) NAIF_BODY_NAME += ( 'MER-2_MOSSBAUER' ) NAIF_BODY_CODE += ( -254240 ) \begintext MER-2 antenna names and IDs --------------------------- \begindata NAIF_BODY_NAME += ( 'MER-2_MGA' ) NAIF_BODY_CODE += ( -254500 ) NAIF_BODY_NAME += ( 'MER-2_CLGA' ) NAIF_BODY_CODE += ( -254510 ) NAIF_BODY_NAME += ( 'MER-2_BLGA' ) NAIF_BODY_CODE += ( -254520 ) NAIF_BODY_NAME += ( 'MER-2_UHF' ) NAIF_BODY_CODE += ( -254030 ) NAIF_BODY_NAME += ( 'MER-2_HGA_BASE' ) NAIF_BODY_CODE += ( -254300 ) NAIF_BODY_NAME += ( 'MER-2_HGA' ) NAIF_BODY_CODE += ( -254310 ) NAIF_BODY_NAME += ( 'MER-2_RLGA' ) NAIF_BODY_CODE += ( -254540 ) \begintext MER-2 mobility system components names and IDs ---------------------------------------------- \begindata NAIF_BODY_NAME += ( 'MER-2_ROCKER_LEFT' ) NAIF_BODY_CODE += ( -254410 ) NAIF_BODY_NAME += ( 'MER-2_BOGEY_LEFT' ) NAIF_BODY_CODE += ( -254411 ) NAIF_BODY_NAME += ( 'MER-2_STRUT_FRONT_LEFT' ) NAIF_BODY_CODE += ( -254412 ) NAIF_BODY_NAME += ( 'MER-2_STRUT_REAR_LEFT' ) NAIF_BODY_CODE += ( -254413 ) NAIF_BODY_NAME += ( 'MER-2_ROCKER_RIGHT' ) NAIF_BODY_CODE += ( -254420 ) NAIF_BODY_NAME += ( 'MER-2_BOGEY_RIGHT' ) NAIF_BODY_CODE += ( -254421 ) NAIF_BODY_NAME += ( 'MER-2_STRUT_FRONT_RIGHT' ) NAIF_BODY_CODE += ( -254422 ) NAIF_BODY_NAME += ( 'MER-2_STRUT_REAR_RIGHT' ) NAIF_BODY_CODE += ( -254423 ) \begintext