diff --git a/kernels/fk/emrsp_sp_v00.tf b/kernels/fk/emrsp_sp_v00.tf new file mode 100644 index 0000000000000000000000000000000000000000..aac1c830f5c444c9e1a42939ecfe00be92a42d51 --- /dev/null +++ b/kernels/fk/emrsp_sp_v00.tf @@ -0,0 +1,568 @@ +KPL/FK + +ExoMars Surface Platform (ExoMars-20) Frames Kernel +=============================================================================== + + This frame kernel contains a complete set of frame definitions for the + ExoMars Surface Platform including definitions for the structures science + instrument frames. This kernel also contains NAIF ID/name mapping for the + ExoMars Surface Platform instruments. + + +Version and Date +------------------------------------------------------------------------ + + Version 0.0-draft -- September 23, 2019 -- Stanislav Bober, IKI + + Draft Version. Based on ExoMars-16 EDM (Schiaparelli) + Frame Definitions Kernel (em16_edm_v01.tf) + + +References +------------------------------------------------------------------------ + + 1. ``Frames Required Reading'', NAIF + + 2. ``Kernel Pool Required Reading'', NAIF + + 3. ``C-Kernel Required Reading'', NAIF + + 4. Email from Marc Costa <mcosta@sciops.esa.int> + ``Special consideration for LaRa in the Surface Platform FK'' + on 12 July 2019 + + 5. Email from Alexander Abbakumov <aabbakumov@romance.iki.rssi.ru> + ``Компоновка ЭМ2020 ДМ'' on 31 July 2019 + + 6. Email from Oleg Batanov <obat@romance.iki.rssi.ru> + ``ЭМ20 ПНИ'' on 19 September 2019 + + + +Contact Information +------------------------------------------------------------------------ + + If you have any questions regarding this file contact SPICE support at + ESAC: + + Marc Costa Sitja + (+34) 91-8131-457 + mcosta@sciops.esa.int, esa_spice@sciops.esa.int + + or SPICE support at IKI: + + Alexander Abbakumov + +7 (495) 333-40-13 + aabbakumov@romance.iki.rssi.ru + + Stanislav Bober + +7 (985) 285-24-94 + stasbober@rlab.iki.rssi.ru + + or NAIF at JPL: + + Boris Semenov + +1 (818) 354-8136 + Boris.Semenov@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. Loading the kernel associates the data items with + their names in a data structure called the "kernel pool". The SPICELIB + routine FURNSH loads a kernel into the pool as shown below: + + FORTRAN: (SPICELIB) + + CALL FURNSH ( frame_kernel_name ) + + C: (CSPICE) + + furnsh_c ( frame_kernel_name ); + + IDL: (ICY) + + cspice_furnsh, frame_kernel_name + + MATLAB: (MICE) + + cspice_furnsh ( 'frame_kernel_name' ) + + PYTHON: (SPICEYPY)* + + furnsh( frame_kernel_name ) + + In order for a program or routine to extract data from the pool, the + SPICELIB routines GDPOOL, GIPOOL, and GCPOOL are used. See [2] for + more details. + + This file was created and may be updated with a text editor or word + processor. + + * SPICEPY is a non-official, community developed Python wrapper for the + NAIF SPICE toolkit. Its development is managed on Github. + It is available at: https://github.com/AndrewAnnex/SpiceyPy + + +ExoMars Surface Platform NAIF ID Codes -- Summary Section +------------------------------------------------------------------------ + + The following names and NAIF ID codes are assigned to the ExoMars Surface + Platform, its structures and science instruments (the keywords implementing + these definitions are located in the section "ExoMars Surface Platform NAIF + ID Codes -- Definitions Section" at the end of this file): + + ExoMars Surface Platform and it's Structures names/IDs: + + EXOMARS SURFACE PLATFORM -173 (synonyms: + EXOMARS RSP SURFACE PLATFORM, + EXOMARS RSP SP) + + ESP_LANDER -173000 + ESP_CRUISE -173001 + ESP_DESCENT -173002 + ESP_EIP -173901 + ESP_TOPO -173900 + ESP_LANDED_LOCAL -173902 + ESP_AFTER_RM -173903 + + + +ExoMars Surface Platform Frames +------------------------------------------------------------------------ + + The following ExoMars Surface Platform frames are defined in this kernel file: + + Name Relative to Type NAIF ID + ====================== ========================== ======= ======= + + ESP_CRUISE J2000 CK -173001 + ESP_DESCENT IAU_MARS CK -173002 + ESP_TOPO IAU_MARS FIXED -173900 + ESP_EIP IAU_MARS FIXED -173901 + ESP_LANDED_LOCAL ESP_TOPO FIXED -173902 + ESP_AFTER_RM ESP_TOPO FIXED -173903 + + ESP_LANDER ESP_CRUISE, CK -173000 + ESP_DESCENT, + ESP_LANDED_LOCAL, + ESP_AFTER_RM + + + +ExoMars Surface Platform Frames Hierarchy +-------------------------------------------------------------------------- + + The diagram below shows the ExoMars Surface Platform frames hierarchy: + + + "J2000" INERTIAL + +-------------------------------+ + | | + | <--ck | <--pck + | | + v v + "ESP_CRUISE" "IAU_MARS" + ------------ +-----------------------+ + | | | + | | <--fixed | <--fixed + | | | + | v v + | "ESP_EIP" "ESP_TOPO" + | --------- +-------------------+ + | | | | + | | <--ck | <--fixed | <--fixed + | | | | + | | v v + | "ESP_DESCENT" "ESP_LANDED_LOCAL" "ESP_AFTER_RM" + | ------------- ------------------ -------------- + | | | | + | <--ck(*) | <--ck(*) | <--ck(*) | <--ck(*) + | | | | + v v v v + +--------------------+------+---------+-------------------+ + | + v + "ESP_LANDER" + ------------ + + (*) In these cases transformation is fixed but it has to be + stored in a CK to make SPICE "traverse" appropriate frame + tree branch based on the time of interest and/or loaded + kernels. + + +Implementation of Frame Chains for Different Mission Phases +------------------------------------------------------------------------------- + + Different routes along the branches of the ESP frame hierarchy + are implemented for different mission phases depending on the + availability of the orientation data and the source, format and type + of the data. + + This subsection summarizes mission phase specific implementations. + + +Cruise +------ + + "J2000" Inertial + ---------------- + | + | <----------- CK segment containing telemetry data + | + v + "ESP_CRUISE" + ------------ + | + | <----------- CK segment representing fixed rotation defined + | by the lander design and to make SPICE "transverse" + V to the appropiate frame chain + "ESP_LANDER" + ------------ + + +Entry-Descent-Landing +--------------------- + + "J2000" Inertial + ---------------- + | + | <----------- PCK-based transformation + V + "IAU_MARS" + ---------- + | + | <----------- Fixed rotation based on frame definitions + | + V + "ESP_EIP" (Entry Insertion Point) + --------- + | + | <----------- CK segment + | + + "ESP_DESCENT" (Entry-Descent-Landing) + ------------- + | + | <----------- CK segment representing fixed rotation defined + | by the lander design and to make SPICE "transverse" + V to the appropiate frame chain + "ESP_LANDER" + ------------ + + +Surface Mission (after landing and before rover disposal) +--------------------------------------------------------- + + "J2000" Inertial + ---------------- + | + | <----------- PCK-based transformation + V + "IAU_MARS" + ---------- + | + | <----------- Fixed rotation based on the landing site + | coordinates + V + "ESP_TOPO" + ---------- + | + | <----------- Fixed rotation based on frame definitions + V + "ESP_AFTER_RM" + -------------- + | + | <----------- CK segment representing fixed rotation per + | initial quaternion and to make SPICE "transverse" + V to the appropiate frame chain. + "ESP_LANDER" + ------------ + + +Surface Mission (after rover disposal) +-------------------------------------- + + "J2000" Inertial + ---------------- + | + | <----------- PCK-based transformation + V + "IAU_MARS" + ---------- + | + | <----------- Fixed rotation based on the landing site + | coordinates + V + "ESP_TOPO" + ---------- + | + | <----------- Fixed rotation based on frame definitions + V + "ESP_LANDED_LOCAL" + ------------------ + | + | <----------- CK segment representing fixed rotation per + | initial quaternion and to make SPICE "transverse" + V to the appropiate frame chain. + "ESP_LANDER" + ------------ + + +ExoMars Surface Platform Spacecraft and Spacecraft Structures Frames +-------------------------------------------------------------------- + + This section of the file contains the definitions of the spacecraft + and spacecraft structures frames. + + +ExoMars Surface Platform Spacecraft Frames +------------------------------------------ + + According to [?] the ExoMars Surface Platform landing site reference frame + -- ESP_TOPO -- is defined as follows: + + - +X axis points to Mars north pole; + + - +Z axis is orthogonal to Mars surface, points outside Mars; + + - +Y axis completes the right-handed frame. + + - center located at ExoMars Surface Platform actual landing point above + Mars surface; + + + According to [5] the ExoMars Surface Platform spacecraft reference frame + -- ESP_LANDER -- + is defined as follows: + + - +X axis is orthogonal to the base plane (octogonal platform) + and points towards the Mars surface; + + - +Y axis points along rover ; + + - +Z axis completes the right-handed frame. + + - the origin of this frame is located at the landing point of Mars surface + and defined by . + + + These diagrams illustrate the ExoMars Surface Platform frame: + + -Y side view: + ------------- + + + __ + /\\\ + _____________________ |\\| + || ||\ + || || \ + || || \ + .---------|| ||---'-----. + / || || \ + | || || | + | || || | + _______|___________||_______+Ysc____________||___________|______ + |________________________________x---> +Zsc________BASE PLANE____| + `. | .' + `. | +Xsc .' + `.__________________________v__________________________.' + | / .' `. .' `. \ | + | / .' `.________.' `. \ | + | / .' `. \ | + | /.' | `.\ | + '._|/'__.' | '.__`\|_.' + ====== | ====== + v towards Mars + + + + -X top view: + ------------ + + + + _.-----._ + _.-' '-._ + _.-' '-._ + _.-' '-._ + _.-' '-._ + -' BASE PLANE '- + / .--. .--. \ + / \_| |_/ \ + / \ + / =================| |================= \ + /--|---------------. .---------------|--\ + / | || || | \ + / | || || | \ + / | || .-------. || | \ + / | || / \ || | \ + . | ||/ +Ysc\|| | . + | | |' +Xsc x---> '| | | + | | |' | '| | | + ' | ||\ | +Zsc/|| | ' + \ | || \ v / || | / + \ | || `-------' || | / + \ | || || | / + \ | || || | / + \--|---------------' '---------------|--/ + \ =================| |================= / + \ _ _ / + \ / | | \ / + \_ '--' '--' _/ + '-._ _.-' + '-._ _.-' + '-._ _.-' + '-._ _.-' + '-._____.-' + + + + These sets of keywords define the ExoMars Surface Platform Spacecraft frames: + + \begindata + + FRAME_ESP_LANDER = -173000 + FRAME_-173000_NAME = 'ESP_LANDER' + FRAME_-173000_CLASS = 3 + FRAME_-173000_CLASS_ID = -173000 + FRAME_-173000_CENTER = -173 + CK_-173000_SCLK = -173 + CK_-173000_SPK = -173 + OBJECT_-173_FRAME = 'ESP_LANDER' + + + FRAME_ESP_CRUISE = -173001 + FRAME_-173001_NAME = 'ESP_CRUISE' + FRAME_-173001_CLASS = 3 + FRAME_-173001_CLASS_ID = -173001 + FRAME_-173001_CENTER = -173 + CK_-173001_SCLK = -173 + CK_-173001_SPK = -173 + OBJECT_-173_FRAME = 'ESP_CRUISE' + + + FRAME_ESP_DESCENT = -173002 + FRAME_-173002_NAME = 'ESP_DESCENT' + FRAME_-173002_CLASS = 3 + FRAME_-173002_CLASS_ID = -173003 + FRAME_-173002_CENTER = -173 + CK_-173002_SCLK = -173 + CK_-173002_SPK = -173 + OBJECT_-173_FRAME = 'ESP_DESCENT' + + + FRAME_ESP_EIP = -173901 + FRAME_-173901_NAME = 'ESP_EIP' + FRAME_-173901_CLASS = 4 + FRAME_-173901_CLASS_ID = -173901 + FRAME_-173901_CENTER = 499 + + TKFRAME_-173901_SPEC = 'ANGLES' + TKFRAME_-173901_RELATIVE = 'IAU_MARS' + TKFRAME_-173901_UNITS = 'DEGREES' + TKFRAME_-173901_AXES = ( 3, 2, 3 ) + TKFRAME_-173901_ANGLES = ( 0.0, 0.0, 0.0 ) + + + FRAME_ESP_TOPO = -173900 + FRAME_-173900_NAME = 'ESP_TOPO' + FRAME_-173900_CLASS = 4 + FRAME_-173900_CLASS_ID = -173900 + FRAME_-173900_CENTER = -173900 + + TKFRAME_-173900_RELATIVE = 'IAU_MARS' + TKFRAME_-173900_SPEC = 'ANGLES' + TKFRAME_-173900_UNITS = 'DEGREES' + TKFRAME_-173900_AXES = ( 3, 2, 3 ) + TKFRAME_-173900_ANGLES = ( 0.0, 0.0, 0.0 ) + + + FRAME_ESP_LANDED_LOCAL = -173902 + FRAME_-173902_NAME = 'ESP_LANDED_LOCAL' + FRAME_-173902_CLASS = 4 + FRAME_-173902_CLASS_ID = -173902 + FRAME_-173902_CENTER = -173 + + TKFRAME_-173902_RELATIVE = 'ESP_TOPO' + TKFRAME_-173902_SPEC = 'ANGLES' + TKFRAME_-173902_UNITS = 'DEGREES' + TKFRAME_-173902_AXES = ( 1, 2, 3 ) + TKFRAME_-173902_ANGLES = ( 180.0, 0.0, 0.0 ) + + FRAME_ESP_AFTER_RM = -173903 + FRAME_-173903_NAME = 'ESP_AFTER_RM' + FRAME_-173903_CLASS = 4 + FRAME_-173903_CLASS_ID = -173903 + FRAME_-173903_CENTER = -173 + + TKFRAME_-173903_RELATIVE = 'ESP_TOPO' + TKFRAME_-173903_SPEC = 'ANGLES' + TKFRAME_-173903_UNITS = 'DEGREES' + TKFRAME_-173903_AXES = ( 1, 2, 3 ) + TKFRAME_-173903_ANGLES = ( 180.0, 0.0, 0.0 ) + + \begintext + + +ExoMars Surface Platform NAIF ID Codes -- Definitions +=============================================================================== + + This section contains name to NAIF ID mappings for the ExoMars-20 mission. + Once the contents of this file is loaded into the KERNEL POOL, these + mappings become available within SPICE, making it possible to use names + instead of ID code in the high level SPICE routine calls. + + Name ID Synonyms + --------------------- ------- ----------------------- + + EXOMARS SURFACE PLATFORM -173 (synonyms: + EXOMARS RSP SURFACE PLATFORM, + EXOMARS RSP SP, + EM RSP SP) + + The mappings summarized in this table are implemented by the keywords + below. + + \begindata + + NAIF_BODY_NAME += ( 'EXOMARS SURFACE PLATFORM' ) + NAIF_BODY_CODE += ( -173 ) + + NAIF_BODY_NAME += ( 'EXOMARS RSP SURFACE PLATFORM' ) + NAIF_BODY_CODE += ( -173 ) + + NAIF_BODY_NAME += ( 'EXOMARS RSP SP' ) + NAIF_BODY_CODE += ( -173 ) + + NAIF_BODY_NAME += ( 'ESP_LANDER' ) + NAIF_BODY_CODE += ( -173000 ) + + NAIF_BODY_NAME += ( 'ESP_CRUISE' ) + NAIF_BODY_CODE += ( -173001 ) + + NAIF_BODY_NAME += ( 'ESP_DESCENT' ) + NAIF_BODY_CODE += ( -173002 ) + + NAIF_BODY_NAME += ( 'ESP_TOPO' ) + NAIF_BODY_CODE += ( -173900 ) + + NAIF_BODY_NAME += ( 'ESP_EIP' ) + NAIF_BODY_CODE += ( -173901 ) + + NAIF_BODY_NAME += ( 'ESP_LANDED_LOCAL' ) + NAIF_BODY_CODE += ( -173902 ) + + NAIF_BODY_NAME += ( 'ESP_AFTER_RM' ) + NAIF_BODY_CODE += ( -173903 ) + + + \begintext + + +End of FK file. \ No newline at end of file