KPL/FK PHSRM Spacecraft Frame Definitions Kernel ============================================================================== This frame kernel contains complete set of frame definitions for the PHobos Sample Return Mission (PHSRM) spacecraft, their structures and science instruments. This frame kernel also contains name - to - NAIF ID mappings for PHSRM science instruments and s/c structures (see the last section of the file.) Version and Date ---------------------------------------------------------- The TEXT_KERNEL_ID stores version information of loaded project text kernels. Each entry associated with the keyword is a string that consists of four parts: the kernel name, version, entry date, and type. For example, the TSNS I-kernel might have an entry as follows: TEXT_KERNEL_ID += 'PHSRM_TSNS V0.0.0 15-JULY-2009 IK' | | | | | | | | KERNEL NAME <-------+ | | | | | V VERSION <-------+ | KERNEL TYPE | V ENTRY DATE PHSRM Frame Kernel Version: \begindata TEXT_KERNEL_ID += 'PHSRM_FRAMES 0.0.5 01-JUNE-2011 FK' \begintext Version 0.0.5 -- 01-JUNE-2011 -- Boris Semenov/JPL - Added star tracker frames (PHSRM_BOKZ_1 and PHSRM_BOKZ_2), dynamic frames for nominal orientation modes (PHSRM_SUN_POINTED, PHSRM_PHOBOS_POINTED, PHSRM_MARS_POINTED), and Phobos orbital frame (PHOBOS_RIC); Most of these frames were previously defined in separated FKs (phsrm_dyn_2.tf, phsrm_ric.tf); Version 0.0.4 -- 16-DECEMBER-2009 -- Anton Ledkov/IKI - Added HEND-2(High Energy Neutron Detector) frame. Version 0.0.3 -- 01-OKTOBER-2009 -- Anton Ledkov/IKI - Added MS (MOESSBAUER) frame. Version 0.0.2 -- 29-SEPTEMBER-2009 -- Anton Ledkov/IKI - Added MC frame. Version 0.0.1 -- 20-AUGUST-2009 -- Anton Ledkov/IKI - Added AOST frame. Version 0.0.0 -- 31-JULY-2009 -- Anton Ledkov/IKI, Boris Semenov/JPL Initial version. References ------------------------------------------------------------------------------- 1. ``Frames Required Reading'' 2. ``Kernel Pool Required Reading'' 3. ``C-Kernel Required Reading'' 4. TSNS Geometry Document, July 2009 5. AOST Geometry Document, August 2009 6. MC Geometry Documents, first Version, September 2009 7. HEND-2 Geometry Documents, December 2009 Contact Information ------------------------------------------------------------------------------- Direct questions, comments or concerns about the contents of this kernel to: Anton Ledkov, IKI, (495)-333-1266, aledkov@list.ru 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 SPICE routine FURNSH loads a kernel file into the pool as shown below. CALL FURNSH ( 'frame_kernel_name; ) -- FORTRAN (SPICELIB) furnsh_c ( "frame_kernel_name" ); -- C (CSPICE) cspice_furnsh, frame_kernel_name -- IDL (Icy) cspice_furnsh( 'frame_kernel_name' ) -- MATLAB (Mice) This file was created and may be updated with a text editor or word processor. PHSRM Frames ------------------------------------------------------------------------------- The following PHSRM frames are defined in this kernel file: Name Relative to Type NAIF ID ====================== ===================== ============ ======= Spacecraft frame: ----------------- PHSRM_SPACECRAFT J2000 CK -555000 TSNS frames: ------------ PHSRM_TSNS_NAC_1_INS PHSRM_SPACECRAFT FIXED -555011 PHSRM_TSNS_NAC_1_INT TSNS_NAC_1_INS FIXED -555012 PHSRM_TSNS_NAC_2_INS PHSRM_SPACECRAFT FIXED -555021 PHSRM_TSNS_NAC_2_INT TSNS_NAC_2_INS FIXED -555022 PHSRM_TSNS_WAC_1_INS PHSRM_SPACECRAFT FIXED -555031 PHSRM_TSNS_WAC_1_INT TSNS_WAC_1_INS FIXED -555032 PHSRM_TSNS_WAC_2_INS PHSRM_SPACECRAFT FIXED -555041 PHSRM_TSNS_WAC_2_INT TSNS_WAC_2_INS FIXED -555042 AOST frames: ------------- PHSRM_AOST_BASE PHSRM_SPACECRAFT FIXED -555100 PHSRM_AOST_SCANNER PHSRM_AOST_BASE CK -555110 PHSRM_AOST_OPTICS PHSRM_AOST_SCANNER CK -555120 PHSRM_AOST_ECL PHSRM_AOST_CAP FIXED -555130 PHSRM_AOST_ATM PHSRM_AOST_CAP FIXED -555140 PHSRM_AOST_SUR PHSRM_AOST_CAP FIXED -555150 MC structures and MC-mounted instruments: -------------------------------------------------- PHSRM_MC_BASE PHSRM_SPACECRAFT FIXED -555200 PHSRM_MC_SHOULDER_AZ PHSRM_MC_BASE CK -555201 PHSRM_MC_SHOULDER_EL PHSRM_MC_SHOULDER_AZ CK -555202 PHSRM_MC_ELBOW PHSRM_MC_SHOULDER CK -555203 PHSRM_MC_TURRET PHSRM_MC_ELBOW CK -555204 PHSRM_MS PHSRM_MC_TURRET FIXED -555210 PHSRM_PANCAM PHSRM_MC_TURRET FIXED -555220 PHSRM_OMEGA PHSRM_MC_BASE FIXED -555240 (нужно ли описать ГЗУ(-555230) и расстояние между осями ?) HEND-2 frames: -------------- PHSRM_HEND-2 PHSRM_SPACECRAFT FIXED -555050 ONA frames: -------------- PHSRM_ONA PHSRM_SPACECRAFT FIXED -555060 Star Tracker Frames ------------------- PHSRM_BOKZ_1 PHSRM_SPACECRAFT FIXED -555811 PHSRM_BOKZ_2 PHSRM_SPACECRAFT FIXED -555812 Dynamic frames -------------- PHSRM_SUN_POINTED J2000 DYNAMIC -555901 PHSRM_PHOBOS_POINTED J2000 DYNAMIC -555902 PHSRM_MARS_POINTED J2000 DYNAMIC -555903 PHOBOS_RIC J2000 DYNAMIC -555921 PHSRM Frame Tree ---------------------------------------------------------- The diagram below shows the PHSRM frames hierarchy: "PHSRM_SUN_POINTED" ------------------- ^ |<-dynamic | | "PHSRM_PHOBOS_POINTED" | ---------------------- | ^ | |<-dynamic | | | | "PHSRM_MARS_POINTED" "PHOBOS_RIC" | | -------------------- ------------ | | ^ ^ | | |<-dynamic |<-dynamic | | | | | | | | "J2000" INERTIAL +-----------------------------------------------------+ | | | | |<-pck |<-pck | |<-pck V v | V "IAU_MARS" "IAU_EARTH" | "IAU_PHOBOS" MARS BODY-FIXED EARTH BODY-FIXED | PHOBOS BODY-FIXED --------------- ---------------- | ----------------- | | |<-ck | | | "PHSRM_BOKZ_1" "PHSRM_BOKZ_2" | -------------- -------------- | ^ ^ | |<-fixed |<-fixed | | | | v "PHSRM_SPACECRAFT" +------------------------------------------------------+ | | | | | |<-fixed | | | | V | | | | "PHSRM_TSNS_*_INS" | | | | ------------------ | | | | | | | | | |<-fixed | |<--fixed |<--fixed | V | | | | "PHSRM_TSNS_*_INT" | "PHSRM_HEND-2" "PHSRM_ONA" | ------------------ | ------------ ----------- | | | fixed->| |<-fixed V v "PHSRM_AOST_BASE" "PHSRM_MC_BASE" ----------------- +----------------------------- | | | |<-ck |<-fixed |<-ck V V V "PHSRM_AOST_SCANNER" "PHSRM_OMEGA" "PHSRM_MC_SHOULDER_AZ" -------------------- ------------- ---------------------- | | |<-ck |<-ck V V "PHSRM_AOST_OPTICS" "PHSRM_MC_SHOULDER_EL" +--------------------------------+ ----------------------- | | | | |<-fixed |<-fixed |<-fixed |<-ck V V V V "PHSRM_AOST_ECL" "PHSRM_AOST_ATM" "PHSRM_AOST_SUR" "PHSRM_MC_ELBOW" ---------------- --------------- ---------------- -------------------- | |<-ck V "PHSRM_MC-TURRET" +------------------------------ | | | |<-fixed |<-fixed |<-fixed V V V "PHSRM_GZU" "PHSRM_PANCAM" "PHSRM_MS" ----------- -------------- ---------- \ | under construction PHSRM Spacecraft Frames ---------------------------------------------------------- The PHSRM spacecraft frame is defined as follows: +X along solar array normal +Z in the direction of antenna +Y completes the right-handed frame. This is diagram illustrates the PHSRM spacecraft frame: TBD This frame is defined as a CK-based frame because its orientation with respect to the J2000 inertial frame will be stored in CK files. \begindata FRAME_PHSRM_SPACECRAFT = -555000 FRAME_-555000_NAME = 'PHSRM_SPACECRAFT' FRAME_-555000_CLASS = 3 FRAME_-555000_CLASS_ID = -555000 FRAME_-555000_CENTER = -555 CK_-555000_SCLK = -555 CK_-555000_SPK = -555 OBJECT_-555_FRAME = 'PHSRM_SPACECRAFT' \begintext TSNS Frames ---------------------------------------------------------- Two reference frames are defined for each of the TSNS cameras. The first reference -- the ``internal'' frame -- is named ``PHSRM_TSNS_[cam]_[#]_INT'', where [cam] is NAC or WAC and [#] is 1 or 2, and is defined as follows (from [4]): +Z is along optical axis +X is parallel to the detector lines and points in the direction of increasing column index +Y completes the right-handed frame. The second reference frame -- the ``instrument'' frame -- is named ``PHSRM_TSNS_[cam]_[#]_INS'', where [cam] is NAC or WAC and [#] is 1 or 2, and is defined as follows (from [4]): +Z is along the ``internal'' frame +Z axis +Y is along the ``internal'' frame +X axis +Y completes the right-handed frame. The ``instrument'' frames are rotated by -90 degrees about +Z with respect to the corresponding ``internal'' frames. The ``internal'' frames are rotated by +90 degrees about +Z with respect to the corresponding ``instrument'' frames. =========================================================================== Anton's Diagram bottom view __ /| Y \Zsc / \ |------| \ | nac2 | \ |------| \ / ^ X \ / | \ / | |------| Y \ / Y |------| | wac1 |--->--------/-------<---| wac2 | |------| | /|Xsc |------| | | / | X V B \ / | \ /_ /| |------| A | | nac1 | | |------| | / |Ysc |/_ Y o Angle A = 35.59 o angle B = A+15.61=51.20 (bad picture) o angle between Ysc and Xsc = 90, respectively =========================================================================== For Anton: A helpful angle-line ASCII diagram ;) ~120 90 ~60 ~135 \ | / ~45 `. \ | / . ~150 -. `. \ | / .' .- ~30 `-.`. \ | / .'.-' `-`.\|/.'-' 180 ----------o---------- 0 ,-'.'|`.`-. .-' .'/ | \`. `-. ~210 -' .' / | \ `. ` ~330 .' / | \ `. ~225 / | \ ~315 ~240 270 ~300 =========================================================================== This diagram illustrates the ``internal'' frames (based on diagram 2.3 from [4]): +Z NAC2 o / `.+Y +X / `. ` .' +X +Y `o' WAC2 A +Z |--./ B | /`..' | / .' +Zsc ' <-------------------x | +Xsc . | .' / | .'`./ | B /`.__| A = 35.59 deg +Z A | B = 15.61 deg WAC1 o +X | .' `.+Y / | +X ' +Y`.` / | +Xsc is into the page. `o NAC1 | +Z for all internal frames +Z V +Ysc is out of the page. This diagram illustrates the ``instrument'' frames (based on diagram 2.3 from [4] AND on the fact that +X ``internal'' = +Y ``instrument''): +X `. +Z NAC2 `o / +Y +Y / .' o' WAC2 A +Z`. |--./ B ` +X | /`..' | / .' +Zsc ' <-------------------x | +Xsc . | .' / | .'`./ | A = 35.59 deg +X B /`.__| B = 15.61 deg `. +Z A | (A+B) = 51.20 deg WAC1 `o | 90-(A+B) = 38.80 deg .' / +Y | +Y ' / | +Xsc is into the page. o NAC1 | +Z for all instrument frames +Z`. V +Ysc is out of the page. ` +X As seen on the diagram the spacecraft frame can be co-aligned with each of the ``instrument'' frames by two rotations: first about +X by -144.41 deg for NAC 1, by +35.59 deg for NAC 2, by +51.20 deg for WAC 1, by -128.8 deg for WAC 2, second about +Y by -90 deg. If we were to show how matrices that rotate vectors from the ``instrument'' frames to the spacecraft frame could be constructed using these angles, we would reverse the order and the signs of the angles and would get this: SC [ ] [ ] [ ] [ ] [ ROT ] = [ 144.41 ] [ 90.0 ] [ 0.0 ] [ ] [ ] [ ] [ ] NAC1 X Y Z SC [ ] [ ] [ ] [ ] [ ROT ] = [ -35.59 ] [ 90.0 ] [ 0.0 ] [ ] [ ] [ ] [ ] NAC2 X Y Z SC [ ] [ ] [ ] [ ] [ ROT ] = [ -51.2 ] [ 90.0 ] [ 0.0 ] [ ] [ ] [ ] [ ] WAC1 X Y Z SC [ ] [ ] [ ] [ ] [ ROT ] = [ 128.8 ] [ 90.0 ] [ 0.0 ] [ ] [ ] [ ] [ ] WAC2 X Y Z The angels from the equations above are used in the ``instrument'' frame definitions below. \begindata FRAME_PHSRM_TSNS_NAC_1_INS = -555011 FRAME_-555011_NAME = 'PHSRM_TSNS_NAC_1_INS' FRAME_-555011_CLASS = 4 FRAME_-555011_CLASS_ID = -555011 FRAME_-555011_CENTER = -555 TKFRAME_-555011_SPEC = 'ANGLES' TKFRAME_-555011_RELATIVE = 'PHSRM_SPACECRAFT' TKFRAME_-555011_ANGLES = ( 144.41, 90, 0 ) TKFRAME_-555011_AXES = ( 1, 2, 3 ) TKFRAME_-555011_UNITS = 'DEGREES' FRAME_PHSRM_TSNS_NAC_2_INS = -555021 FRAME_-555021_NAME = 'PHSRM_TSNS_NAC_2_INS' FRAME_-555021_CLASS = 4 FRAME_-555021_CLASS_ID = -555021 FRAME_-555021_CENTER = -555 TKFRAME_-555021_SPEC = 'ANGLES' TKFRAME_-555021_RELATIVE = 'PHSRM_SPACECRAFT' TKFRAME_-555021_ANGLES = ( -35.59, 90, 0 ) TKFRAME_-555021_AXES = ( 1, 2, 3 ) TKFRAME_-555021_UNITS = 'DEGREES' FRAME_PHSRM_TSNS_WAC_1_INS = -555031 FRAME_-555031_NAME = 'PHSRM_TSNS_WAC_1_INS' FRAME_-555031_CLASS = 4 FRAME_-555031_CLASS_ID = -555031 FRAME_-555031_CENTER = -555 TKFRAME_-555031_SPEC = 'ANGLES' TKFRAME_-555031_RELATIVE = 'PHSRM_SPACECRAFT' TKFRAME_-555031_ANGLES = ( -51.20, 90, 0 ) TKFRAME_-555031_AXES = ( 1, 2, 3 ) TKFRAME_-555031_UNITS = 'DEGREES' FRAME_PHSRM_TSNS_WAC_2_INS = -555041 FRAME_-555041_NAME = 'PHSRM_TSNS_WAC_2_INS' FRAME_-555041_CLASS = 4 FRAME_-555041_CLASS_ID = -555041 FRAME_-555041_CENTER = -555 TKFRAME_-555041_SPEC = 'ANGLES' TKFRAME_-555041_RELATIVE = 'PHSRM_SPACECRAFT' TKFRAME_-555041_ANGLES = ( 128.80, 90, 0 ) TKFRAME_-555041_AXES = ( 1, 2, 3 ) TKFRAME_-555041_UNITS = 'DEGREES' \begintext The ``internal'' frames are defined below as fixed-offset frames rotated by -90 degrees about +Z relative to the corresponding ``instrument'' frames. \begindata FRAME_PHSRM_TSNS_NAC_1_INT = -555012 FRAME_-555012_NAME = 'PHSRM_TSNS_NAC_1_INT' FRAME_-555012_CLASS = 4 FRAME_-555012_CLASS_ID = -555012 FRAME_-555012_CENTER = -555 TKFRAME_-555012_SPEC = 'ANGLES' TKFRAME_-555012_RELATIVE = 'PHSRM_TSNS_NAC_1_INS' TKFRAME_-555012_ANGLES = ( 0, 0, -90.0 ) TKFRAME_-555012_AXES = ( 1, 2, 3 ) TKFRAME_-555012_UNITS = 'DEGREES' FRAME_PHSRM_TSNS_NAC_2_INT = -555022 FRAME_-555022_NAME = 'PHSRM_TSNS_NAC_2_INT' FRAME_-555022_CLASS = 4 FRAME_-555022_CLASS_ID = -555022 FRAME_-555022_CENTER = -555 TKFRAME_-555022_SPEC = 'ANGLES' TKFRAME_-555022_RELATIVE = 'PHSRM_TSNS_NAC_2_INS' TKFRAME_-555022_ANGLES = ( 0, 0, -90.0 ) TKFRAME_-555022_AXES = ( 1, 2, 3 ) TKFRAME_-555022_UNITS = 'DEGREES' FRAME_PHSRM_TSNS_WAC_1_INT = -555032 FRAME_-555032_NAME = 'PHSRM_TSNS_WAC_1_INT' FRAME_-555032_CLASS = 4 FRAME_-555032_CLASS_ID = -555032 FRAME_-555032_CENTER = -555 TKFRAME_-555032_SPEC = 'ANGLES' TKFRAME_-555032_RELATIVE = 'PHSRM_TSNS_WAC_1_INS' TKFRAME_-555032_ANGLES = ( 0, 0, -90.0 ) TKFRAME_-555032_AXES = ( 1, 2, 3 ) TKFRAME_-555032_UNITS = 'DEGREES' FRAME_PHSRM_TSNS_WAC_2_INT = -555042 FRAME_-555042_NAME = 'PHSRM_TSNS_WAC_2_INT' FRAME_-555042_CLASS = 4 FRAME_-555042_CLASS_ID = -555042 FRAME_-555042_CENTER = -555 TKFRAME_-555042_SPEC = 'ANGLES' TKFRAME_-555042_RELATIVE = 'PHSRM_TSNS_WAC_2_INS' TKFRAME_-555042_ANGLES = ( 0, 0, -90.0 ) TKFRAME_-555042_AXES = ( 1, 2, 3 ) TKFRAME_-555042_UNITS = 'DEGREES' \begintext AOST Frames ============================================================================ This section of the file contains the definitions of the AOST frames. [5] AOST Base and Scanner Frames -------------------------------------- The AOST instrument is rigidly mounted on the s/c. Therefore, the AOST base frame, PHSRM_AOST_BASE, is a fixed offset frame with its orientation given relative to the PHSRM_SPACECRAFT frame. The PHSRM_AOST_BASE frame is defined by the instrument design and its mounting on the s/c as follows: - +X axis is along the nominal AOST 'S' module scanner rotation axis and nominal AOST 'O' module optical axis, and points from the AOST 'S' module toward the AOST 'O' module; nominally this axis is co-aligned with the s/c +X axis; - +Y axis is parallel to the nominal direction of the AOST 'S' scanner boresight in its 'nadir' (zero) position; it nominally points in the return direction as the s/c +Y axis; - +Z completes the right hand frame; it nominally points in the same direction as the s/c +Z axis; Since the AOST scanner rotates with respect to its base, the PHSRM_AOST_SCANNER frame is defined as a CK frame with its orientation provided in a CK file relative to the PHSRM_AOST_BASE frame. Since the AOST capping rotates with respect to its scanner, the PHSRM_AOST_CAPPING frame is defined as a CK frame with its orientation provided in a CK file relative to the PHSRM_AOST_BASE frame. The PHSRM_AOST_SCANNER frame is defined as follows: - +X axis is along the nominal AOST 'S' module scanner rotation axis and nominal AOST 'O' module optical axis, and points from the AOST 'S' module toward AOST 'O' module; nominally this axis is co-aligned with the +X axis of the PHSRM_AOST_BASE frame; - +Y axis is parallel to the AOST 'S' scanner boresight; in 'nadir' scanner position it is co-aligned with the +Y axis of the PHSRM_AOST_BASE frame; - +Z completes the right hand frame; ^ +Zsc | | | o-----> +Ysc +Xsc +=========================================+ || || ==|| || .' || ------------------------------------- || _ .' || || _|o|_ || ||--/ \ A || ------------------------------------- ||_|_______|_ <---- || ||\| |/ || ||-\\_ _ _// `. || right solar array || \_____/ `. ||-------------------------------------- || ==|| || || || +=========================================+ A ^ Xaost ^ Xsc | | ________ | | | ______|______ | | |s | |____ | <---|--|-----x |­__o| o-------> Zsc Zaost | |____________| |_| |_____/_____\_ _____________|__b__________|_________ \\\\\\\\\\\\\|_____________|\\\\\\\ B - base, S - scanner, O - optics -- scaner rotation around Xaost axis on 360 degris -- optics rotation around Zaost axis on 360 degris These sets of keywords define AOST base, scanner and optics frames: \begindata FRAME_PHSRM_AOST_BASE = -555100 FRAME_-555100_NAME = 'PHSRM_AOST_BASE' FRAME_-555100_CLASS = 4 FRAME_-555100_CLASS_ID = -555100 FRAME_-555100_CENTER = -555 TKFRAME_-555100_RELATIVE = 'PHSRM_SPACECRAFT' TKFRAME_-555100_SPEC = 'ANGLES' TKFRAME_-555100_UNITS = 'DEGREES' TKFRAME_-555100_AXES = ( 1, 2, 3 ) TKFRAME_-555100_ANGLES = ( 180, 0.0, 0.0 ) FRAME_PHSRM_AOST_SCANNER = -555110 FRAME_-555110_NAME = 'PHSRM_AOST_SCANNER' FRAME_-555110_CLASS = 3 FRAME_-555110_CLASS_ID = -555110 FRAME_-555110_CENTER = -555 CK_-555110_SCLK = -555 CK_-555110_SPK = -555 FRAME_PHSRM_AOST_OPTICS = -555120 FRAME_-555120_NAME = 'PHSRM_AOST_OPTICS' FRAME_-555120_CLASS = 3 FRAME_-555120_CLASS_ID = -555120 FRAME_-555120_CENTER = -555 CK_-555120_SCLK = -555 CK_-555120_SPK = -555 \begintext AOST Detector Frames -------------------------------------- Since three AOST detectors receive radiation through the optics and three essentially have a single pixel, their frames, PHSRM_AOST_ECL, PHSRM_AOST_ATM and PHSRM_AOST_SUR, are defined to be nominally co-aligned with the AOST optics frame, SHSRM_AOST_OPTICS. These structures are used in order to be able to measure in three different modes. Currently no misalignment data are available, and, therefore, the set of keywords below makes these frames co-aligned with their reference. \begindata FRAME_PHSRM_AOST_ECL = -555130 FRAME_-555130_NAME = 'PHSRM_AOST_ECL' FRAME_-555130_CLASS = 4 FRAME_-555130_CLASS_ID = -555130 FRAME_-555130_CENTER = -555 TKFRAME_-555130_RELATIVE = 'PHSRM_AOST_OPTICS' TKFRAME_-555130_SPEC = 'ANGLES' TKFRAME_-555130_UNITS = 'DEGREES' TKFRAME_-555130_AXES = ( 1, 2, 3 ) TKFRAME_-555130_ANGLES = ( 0.0, 0.0, 0.0 ) FRAME_PHSRM_AOST_ATM = -555140 FRAME_-555140_NAME = 'PHSRM_AOST_ATM' FRAME_-555140_CLASS = 4 FRAME_-555140_CLASS_ID = -555140 FRAME_-555140_CENTER = -555 TKFRAME_-555140_RELATIVE = 'PHSRM_AOST_OPTICS' TKFRAME_-555140_SPEC = 'ANGLES' TKFRAME_-555140_UNITS = 'DEGREES' TKFRAME_-555140_AXES = ( 1, 2, 3 ) TKFRAME_-555140_ANGLES = ( 0.0, 0.0, 0.0 ) FRAME_PHSRM_AOST_SUR = -555150 FRAME_-555150_NAME = 'PHSRM_AOST_SUR' FRAME_-555150_CLASS = 4 FRAME_-555150_CLASS_ID = -555150 FRAME_-555150_CENTER = -555 TKFRAME_-555150_RELATIVE = 'PHSRM_AOST_OPTICS' TKFRAME_-555150_SPEC = 'ANGLES' TKFRAME_-555150_UNITS = 'DEGREES' TKFRAME_-555150_AXES = ( 1, 2, 3 ) TKFRAME_-555150_ANGLES = ( 0.0, 0.0, 0.0 ) \begintext PHSRM MC (complex manipulator ) Structures Frames ------------------------------------------------- Complex manipulator installed on the landing module, on a rack between panels 6 and 7 -- +X axis is directed as well as the X axis of the spacecraft; -- +Y axis is rotated around the X at 67.5 deg; -- +Z completes the right hand frame; .' panel 6 .' .' ^ Zsc .' | -'\' | -' \ | (переделать рисунок) -------------\MC \ | panel 7 \ -' o--------> Ysc \-' Xsc \ | Xbase \/ A=67.5 deg \ \Ybase \begindata FRAME_PHSRM_MC_BASE = -555200 FRAME_-555200_NAME = 'PHSRM_MC_BASE' FRAME_-555200_CLASS = 4 FRAME_-555200_CLASS_ID = -555200 FRAME_-555200_CENTER = -555 TKFRAME_-555200_RELATIVE = 'PHSRM_SPACECRAFT' TKFRAME_-555200_SPEC = 'ANGLES' TKFRAME_-555200_UNITS = 'DEGREES' TKFRAME_-555200_AXES = ( 1, 2, 3 ) TKFRAME_-555200_ANGLES = ( 67.5, 0.0, 0.0 ) \begintext MC front view (original position): | ^ Xelb . | +------|------+--+------|------+ | . | | | | | | | | | Zelb -- -|- - --.- -- -|- |- - --o---->-|-- - Elbow | | | | Yelb | axis | . | |elbow | | +-------------+--+-------------+ ^ Xms | | | | | | | | . | | . | +------+--+ | | | | | | |MS | | Zms | . | | . | | o--+--> | | | | | | +-------+Yms | | . | | . | |turret | | | | | | | | | | | | . | +-------------+---+ ^Xtr| | | | | | | | | | |----+ | . | | . | | | | | | | - - - - -- - -- --- -| --o---|---> - Turret | . | | | | | Ytr | Ztr axis | | | | . | | | | . | +-------------+---+ | | | | | | +-------------+--+-------------+ | | | ^Xsh_el| | ^Xsh_az| +-------+ | | Zsh_el | | Zsh_az | | - --| - -- o----> |- | - -- o----->| |_ | / | Ysh_el | | Ysh_az | || | |shoulder_el | |shoulder_az | || - GZU | +-------------+--+-------------+ | | . | | +-------------+ Shoulder/El / /|baes ^Xb |/ / axis / / / | | | / / / / / /| o------------> Zbase / / / / | |Yb |/ / / / / / /| | | / / / / / / / +------|------+/ / / / / / / / / / |/ / / / / / / / / / / / | / / / / | | - Shoulder/Az axis The angles of the manipulator links move from the starting position: -- azimuth (shoulder_az) -- "-" 100, "+" 110 deg -- drive recovery manipulator (shoulder_el) -- "-" 45, "+" 100 deg -- drive rotation of the handle (elbow) -- "-" 20, "+" 180 deg -- drive rotation devices (turret) -- "-" 150, "+" 150 deg During normal surface operations the orientation of each of these frames with respect to each other varies and is controlled and telemetered using MC 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_PHSRM_MC_SHOULDER_AZ = -555201 FRAME_-555201_NAME = 'PHSRM_MC_SHOULDER_AZ' FRAME_-555201_CLASS = 3 FRAME_-555201_CLASS_ID = -555201 FRAME_-555201_CENTER = -555 CK_-555201_SCLK = -555 CK_-555201_SPK = -555201 FRAME_PHSRM_MC_SHOULDER_EL = -555202 FRAME_-555202_NAME = 'PHSRM_MC_SHOULDER_EL' FRAME_-555202_CLASS = 3 FRAME_-555202_CLASS_ID = -555202 FRAME_-555202_CENTER = -555 CK_-555202_SCLK = -555 CK_-555202_SPK = -555202 FRAME_PHSRM_MC_ELBOW = -555203 FRAME_-254203_NAME = 'PHSRM_MC_ELBOW' FRAME_-254203_CLASS = 3 FRAME_-254203_CLASS_ID = -555203 FRAME_-254203_CENTER = -555 CK_-254203_SCLK = -555 CK_-254203_SPK = -555203 FRAME_PHSRM_MC_TURRET = -555205 FRAME_-555205_NAME = 'PHSRM_MC_TURRET' FRAME_-555205_CLASS = 3 FRAME_-555205_CLASS_ID = -555205 FRAME_-555205_CENTER = -555 CK_-555205_SCLK = -555 CK_-555205_SPK = -555205 \begintext PHSRM MC instrument frames -- GZY, PANCAM, and MOESSBAUER -- are fixed with respect to the TURRET frame and are nominally rotated from it about Z axis by the following angles : (We have no information about the status of PANCAM and GZU currently) Instrument Angle, deg ------------- ---------- MS 0.0 (расположение осей) PANCAM ?.0 GZU ?.0 The actual calibrated values of these angles from are: Instrument Angle, rad ------------- ----------- MS 0.0000 PANCAM 1.5708 ? GZU 3.3161 ? This diagram illustrates MC head and instrument frames (looking in the direction of Ztr axis): ^Xtr | | <----oZtr Ytr /-----\ |---------| | MS ^Xms| | | | +-------+ | <---oZms| | GZU | | Yms | | | | | | +-+ | +---------+ | | | | +----------+ | | | | |PANCAM |__/--| | | | | | |__| | | | | | | | \--| +-| |---+ +----------+ | | | | | | | | |_| All these frames are defined as fixed offset frames with respect to TURRET frame with offsets corresponding to the table below. The following sets of keywords should be included into the frame definitions to provide this nominal orientation (provided for reference only): TKFRAME_-555210_AXES = ( 1, 2, 3 ) TKFRAME_-555210_ANGLES = ( 0.000, 0.000, 0.000 ) \begindata FRAME_PHSRM_MS = -555210 FRAME_-555210_NAME = 'PHSRM_MS' FRAME_-555210_CLASS = 4 FRAME_-555210_CLASS_ID = -555210 FRAME_-555210_CENTER = -555 TKFRAME_-555210_RELATIVE = 'PHSRM_MC_TURRET' TKFRAME_-555210_SPEC = 'ANGLES' TKFRAME_-555210_UNITS = 'RADIANS' TKFRAME_-555210_AXES = ( 1, 2, 3 ) TKFRAME_-555210_ANGLES = ( 0.000, 0.000, 0.000 ) \begintext HEND-2 Frames ============================================================================= This section of the file contains the definitions of the HEND-2 frames. [7] ------------------------------------------------ The High Energy Neutron Detector HEND-2 is mounted on the science deck (TSP number 8), as close to the object of study. Shading of fields of view of the device in the direction of the object under study "-" X is not allowed. +Z directed along "-"Xsc +X perpendicular to the TSP Number 8 +Y completes the right-handed frame. top view ^ Ysc | | panel 5 | panel 4 . ---------- . panel 6 .' `. .' `. | PHSRM_SPACECRAFT | panel 3| | <----- | o |panel 7 Zsc | Xsc | | | `. .' panel 2`. .' ` ---------- ' panel 8 panel1 Ysc Xhend ^ `. | . Yhend `. | A .' `. |-. .' `. | .' A=45 deg <----------o Xsc Zsc Zhend +X is out of the page +Zhend is into the page SC [ ] [ ] [ ] [ ] [ ROT ] = [ 45 ] [ 90.0 ] [ 0.0 ] [ ] [ ] [ ] [ ] HEND-2 X Y Z \begindata FRAME_PHSRM_HEND-2 = -555050 FRAME_-555050_NAME = 'PHSRM_HEND-2' FRAME_-555050_CLASS = 4 FRAME_-555050_CLASS_ID = -555050 FRAME_-555050_CENTER = -555 TKFRAME_-555050_SPEC = 'ANGLES' TKFRAME_-555050_RELATIVE = 'PHSRM_SPACECRAFT' TKFRAME_-555050_ANGLES = ( 45.0, 90.0, 0.0 ) TKFRAME_-555050_AXES = ( 1, 2, 3 ) TKFRAME_-555050_UNITS = 'DEGREES' \begintext ONA Frames ============================================================================= This section of the file contains the definitions of the ONA frames. [8] ------------------------------------------------ ONA - oblique directional aerial +X along +X SC. +Y axis is rotated by 20 degrees clockwise. +Z completes the right-handed frame. top view Ysc +Zona ^ `. | . +Yona `. | A .' `. |-. .' `. | .' A=20 deg <----------o Xsc Zsc Xona +X is out of the page SC [ ] [ ] [ ] [ ] [ ROT ] = [ 20 ] [ 0.0 ] [ 0.0 ] [ ] [ ] [ ] [ ] ONA X Y Z \begindata FRAME_PHSRM_ONA = -555060 FRAME_-555060_NAME = 'PHSRM_ONA' FRAME_-555060_CLASS = 4 FRAME_-555060_CLASS_ID = -555060 FRAME_-555060_CENTER = -555 TKFRAME_-555060_SPEC = 'ANGLES' TKFRAME_-555060_RELATIVE = 'PHSRM_SPACECRAFT' TKFRAME_-555060_ANGLES = ( 20.0, 0.0, 0.0 ) TKFRAME_-555060_AXES = ( 1, 2, 3 ) TKFRAME_-555060_UNITS = 'DEGREES' \begintext Star Tracker Frames ---------------------------------------------------------- This section defines star tracker frames, PHSRM_BOKZ_1 and PHSRM_BOKZ_2. These frames are defined as follows: - +Z is boresight - +X is along CCD lines - +Y completes the right handed frame. This diagram illustrates BOKZ frames: +Ybokz2 ^ +Xsc +Ybokz1 ^ | ^ +Zbokz2 < / | \ > +Zbokz1 `. / | \ .' 30 deg `. / | \ .' 30 deg `o | x' (out of the page) +Xbokz2 x-----------> +Y +Xbokz1 (into the page) +Zsc (into the page) To rotate s/c frame to BOKZ 1 frame: -90 degrees about Y, -120 about new +X. To rotate s/c frame to BOKZ 2 frame: +90 degrees about Y, +60 about new +X. \begindata FRAME_PHSRM_BOKZ_1 = -555811 FRAME_-555811_NAME = 'PHSRM_BOKZ_1' FRAME_-555811_CLASS = 4 FRAME_-555811_CLASS_ID = -555811 FRAME_-555811_CENTER = -555 TKFRAME_-555811_SPEC = 'ANGLES' TKFRAME_-555811_RELATIVE = 'PHSRM_SPACECRAFT' TKFRAME_-555811_ANGLES = ( 0.0, 90.0, 120.0 ) TKFRAME_-555811_AXES = ( 3, 2, 1 ) TKFRAME_-555811_UNITS = 'DEGREES' FRAME_PHSRM_BOKZ_2 = -555812 FRAME_-555812_NAME = 'PHSRM_BOKZ_2' FRAME_-555812_CLASS = 4 FRAME_-555812_CLASS_ID = -555812 FRAME_-555812_CENTER = -555 TKFRAME_-555812_SPEC = 'ANGLES' TKFRAME_-555812_RELATIVE = 'PHSRM_SPACECRAFT' TKFRAME_-555812_ANGLES = ( 0.0, -90.0, -60.0 ) TKFRAME_-555812_AXES = ( 3, 2, 1 ) TKFRAME_-555812_UNITS = 'DEGREES' \begintext Dynamic Frames ---------------------------------------------------------- This section defines dynamic frames relevant for the PHSRM mission. These dynamic frames fall into two categories: dynamic frames emulating spacecraft orientation modes (Sun-pointed, Phobos-pointed, Mars-pointed) and dynamic frames useful for graphing spacecraft motion relative to Phobos (Phobos orbital). The dynamic frames emulating spacecraft orientation modes are defined as follows: - Sun-pointed (PHSRM_SUN_POINTED, ID -555901) -- +X toward Sun, +Y towards Earth - Phobos-pointed (PHSRM_PHOBOS_POINTED, ID -555902) -- -X towards Phobos, +Y towards Earth. - Mars-pointed (PHSRM_MARS_POINTED, -555903) -- -X towards Mars, +Y towards Earth. To compute orientation of these frames spacecraft trajectory SPK file(s) and planetary and satellite trajectory SPKs files must be loaded together with this FK. \begindata FRAME_PHSRM_SUN_POINTED = -555901 FRAME_-555901_NAME = 'PHSRM_SUN_POINTED' FRAME_-555901_CLASS = 5 FRAME_-555901_CLASS_ID = -555901 FRAME_-555901_CENTER = -555 FRAME_-555901_RELATIVE = 'J2000' FRAME_-555901_DEF_STYLE = 'PARAMETERIZED' FRAME_-555901_FAMILY = 'TWO-VECTOR' FRAME_-555901_PRI_AXIS = 'X' FRAME_-555901_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_-555901_PRI_OBSERVER = -555 FRAME_-555901_PRI_TARGET = 'SUN' FRAME_-555901_PRI_ABCORR = 'NONE' FRAME_-555901_SEC_AXIS = 'Z' FRAME_-555901_SEC_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_-555901_SEC_OBSERVER = -555 FRAME_-555901_SEC_TARGET = 'EARTH' FRAME_-555901_SEC_ABCORR = 'NONE' FRAME_PHSRM_PHOBOS_POINTED = -555902 FRAME_-555902_NAME = 'PHSRM_PHOBOS_POINTED' FRAME_-555902_CLASS = 5 FRAME_-555902_CLASS_ID = -555902 FRAME_-555902_CENTER = -555 FRAME_-555902_RELATIVE = 'J2000' FRAME_-555902_DEF_STYLE = 'PARAMETERIZED' FRAME_-555902_FAMILY = 'TWO-VECTOR' FRAME_-555902_PRI_AXIS = '-X' FRAME_-555902_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_-555902_PRI_OBSERVER = -555 FRAME_-555902_PRI_TARGET = 'PHOBOS' FRAME_-555902_PRI_ABCORR = 'NONE' FRAME_-555902_SEC_AXIS = 'Z' FRAME_-555902_SEC_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_-555902_SEC_OBSERVER = -555 FRAME_-555902_SEC_TARGET = 'EARTH' FRAME_-555902_SEC_ABCORR = 'NONE' FRAME_PHSRM_MARS_POINTED = -555903 FRAME_-555903_NAME = 'PHSRM_MARS_POINTED' FRAME_-555903_CLASS = 5 FRAME_-555903_CLASS_ID = -555903 FRAME_-555903_CENTER = -555 FRAME_-555903_RELATIVE = 'J2000' FRAME_-555903_DEF_STYLE = 'PARAMETERIZED' FRAME_-555903_FAMILY = 'TWO-VECTOR' FRAME_-555903_PRI_AXIS = '-X' FRAME_-555903_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_-555903_PRI_OBSERVER = -555 FRAME_-555903_PRI_TARGET = 'MARS' FRAME_-555903_PRI_ABCORR = 'NONE' FRAME_-555903_SEC_AXIS = 'Z' FRAME_-555903_SEC_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_-555903_SEC_OBSERVER = -555 FRAME_-555903_SEC_TARGET = 'EARTH' FRAME_-555903_SEC_ABCORR = 'NONE' \begintext The Phobos orbital (RIC) frame is defined with its +X pointing from Mars to Phobos and its +Y pointing in the direction of velocity of Phobos relative to Mars. To compute orientation of this frames a satellite trajectory SPKs file(s) must be loaded together with this FK. \begindata FRAME_PHOBOS_RIC = -555921 FRAME_-555921_NAME = 'PHOBOS_RIC' FRAME_-555921_CLASS = 5 FRAME_-555921_CLASS_ID = -555921 FRAME_-555921_CENTER = 499 FRAME_-555921_RELATIVE = 'J2000' FRAME_-555921_DEF_STYLE = 'PARAMETERIZED' FRAME_-555921_FAMILY = 'TWO-VECTOR' FRAME_-555921_PRI_AXIS = 'X' FRAME_-555921_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_-555921_PRI_OBSERVER = 'MARS' FRAME_-555921_PRI_TARGET = 'PHOBOS' FRAME_-555921_PRI_ABCORR = 'NONE' FRAME_-555921_SEC_AXIS = 'Y' FRAME_-555921_SEC_VECTOR_DEF = 'OBSERVER_TARGET_VELOCITY' FRAME_-555921_SEC_OBSERVER = 'MARS' FRAME_-555921_SEC_TARGET = 'PHOBOS' FRAME_-555921_SEC_ABCORR = 'NONE' FRAME_-555921_SEC_FRAME = 'J2000' \begintext NAIF ID Code to Name Mapping ---------------------------------------------------------- The following keywords define names for the corresponding ID codes for PHSRM mission. \begindata NAIF_BODY_CODE += ( -555 ) NAIF_BODY_NAME += ( 'GRUNT' ) NAIF_BODY_CODE += ( -555 ) NAIF_BODY_NAME += ( 'PHSRM' ) \begintext TSNS IDs: \begindata NAIF_BODY_NAME += ( 'PHSRM_TSNS_NAC_1' ) NAIF_BODY_CODE += ( -555010 ) NAIF_BODY_NAME += ( 'PHSRM_TSNS_NAC_2' ) NAIF_BODY_CODE += ( -555020 ) NAIF_BODY_NAME += ( 'PHSRM_TSNS_WAC_1' ) NAIF_BODY_CODE += ( -555030 ) NAIF_BODY_NAME += ( 'PHSRM_TSNS_WAC_2' ) NAIF_BODY_CODE += ( -555040 ) \begintext AOST IDs: \begindata NAIF_BODY_NAME += ( 'PHSRM_AOST_BASE' ) NAIF_BODY_CODE += ( -555100 ) NAIF_BODY_NAME += ( 'PHSRM_AOST_SCANNER' ) NAIF_BODY_CODE += ( -555110 ) NAIF_BODY_NAME += ( 'PHSRM_AOST_optics' ) NAIF_BODY_CODE += ( -555120 ) NAIF_BODY_NAME += ( 'PHSRM_AOST_ECL' ) NAIF_BODY_CODE += ( -555130 ) NAIF_BODY_NAME += ( 'PHSRM_AOST_ATM' ) NAIF_BODY_CODE += ( -555140 ) NAIF_BODY_NAME += ( 'PHSRM_AOST_SUR' ) NAIF_BODY_CODE += ( -555150 ) \begintext MC IDs: \begindata NAIF_BODY_NAME += ( 'PHSRM_MC_BASE' ) NAIF_BODY_CODE += ( -555200 ) NAIF_BODY_NAME += ( 'PHSRM_MC_SHOULDER_AZ' ) NAIF_BODY_CODE += ( -555201 ) NAIF_BODY_NAME += ( 'PHSRM_MC_SHOULDER_EL' ) NAIF_BODY_CODE += ( -555202 ) NAIF_BODY_NAME += ( 'PHSRM_MC_ELBOW' ) NAIF_BODY_CODE += ( -555203 ) NAIF_BODY_NAME += ( 'PHSRM_MC_TURRET' ) NAIF_BODY_CODE += ( -555205 ) \begintext PHSRM_MS IDs: \begindata NAIF_BODY_NAME += ( 'PHSRM_MS' ) NAIF_BODY_CODE += ( -555210 ) \begintext HEND-2 IDs: \begindata NAIF_BODY_NAME += ( 'PHSRM_HEND-2' ) NAIF_BODY_CODE += ( -555050 ) \begintext ONA IDs: \begindata NAIF_BODY_NAME += ( 'PHSRM_ONA' ) NAIF_BODY_CODE += ( -555060 ) \begintext Star Tracker Instrument IDs and names. \begindata NAIF_BODY_NAME += ( 'PHSRM_BOKZ_1' ) NAIF_BODY_CODE += ( -555811 ) NAIF_BODY_NAME += ( 'PHSRM_BOKZ_2' ) NAIF_BODY_CODE += ( -555812 ) \begintext End of FK file.