Commit 602b3533 authored by Marc Costa's avatar Marc Costa
Browse files

Done several corrections to the SP Draft FK and minor corrections to the RM

parent 22739234
Loading
Loading
Loading
Loading
+535 −0
Original line number Diff line number Diff line
KPL/FK

ExoMarsRSP Kazachok Surface Platform (SP) Frames Kernel
===============================================================================

   This frame kernel contains a complete set of frame definitions for the
   ExoMars RSP Surface Platform including definitions for the structures
   science instrument frames. This kernel also contains NAIF ID/name mapping
   for the ExoMars RSP Surface Platform instruments.


Version and Date
------------------------------------------------------------------------

   Version 0.0.0 -- September 23, 2019 -- Stanislav Bober, IKI

      Draft Version. Based on ExoMars 2016 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>
       ``The layout of the EM2020 DM'' on 31 July 2019

    6. Email from Oleg Batanov <obat@romance.iki.rssi.ru>
       ``EM20 PNI'' on 19 September 2019


Contact Information
------------------------------------------------------------------------

   If you have any questions regarding this file contact the
   ESA SPICE Service at ESAC:

           Marc Costa Sitja
           (+34) 91-8131-457
           marc.costa@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


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


SP 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, SP)

            SP_LANDER                   -173000
            SP_CRUISE                   -173001
            SP_DESCENT                  -173002
            SP_EIP                      -173901
            SP_TOPO                     -173900
            SP_LANDED_LOCAL             -173902
            SP_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
      ======================    ==========================   =======  =======

        SP_CRUISE                  J2000                      CK      -173001
        SP_DESCENT                 IAU_MARS                   CK      -173002
        SP_TOPO                    IAU_MARS                   FIXED   -173900
	      SP_EIP                     IAU_MARS                   FIXED   -173901
        SP_LANDED_LOCAL            SP_TOPO                    FIXED   -173902
        SP_AFTER_RM                SP_TOPO                    FIXED   -173903

        SP_LANDER                  SSP_CRUISE,               CK      -173000
                                   SP_DESCENT,
                                   SP_LANDED_LOCAL,
                                   SP_AFTER_RM



SP Frames Hierarchy
--------------------------------------------------------------------------

   The diagram below shows the ExoMars Surface Platform frames hierarchy:


                "J2000" INERTIAL
        +-------------------------------+
        |                               |
        |<--ck                          |<--pck
        |                               |
        v                               v
    "SP_CRUISE"                    "IAU_MARS"
    -----------              +-----------------------+
        |                    |                       |
        |                    |<--fixed               |<--fixed
        |                    |                       |
        |                    v                       v
        |                "SP_EIP"                "SP_TOPO"
        |                --------             +-------------------+
        |                    |                |                   |
        |                    |<--ck           |<--fixed           |<--fixed
        |                    |                |                   |
        |                    v                v                   v
        |               "SP_DESCENT"    "SP_LANDED_LOCAL"   "SP_AFTER_RM"
        |               ------------    -----------------   -------------
        |                    |                |                   |
        |<--ck(*)            |<--ck(*)        |<--ck(*)           |<--ck(*)
        |                    |                |                   |
        |                    |                |                   |
        |                    |                |                   |
        v                    v   "SP_LANDER"  v                   v
        -----------------------------------------------------------


   (*)      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 SP 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
       "SP_CRUISE"
       -----------
            |
            | <----------- CK segment representing fixed rotation defined
            |              by the lander design and to make SPICE "transverse"
            V              to the appropriate frame chain
      "SP_LANDER"
      -----------


Entry-Descent-Landing
---------------------

     "J2000" Inertial
     ----------------
            |
            | <----------- PCK-based transformation
            V
        "IAU_MARS"
        ----------
            |
            | <----------- Fixed rotation based on frame definitions
            |
            V
        "SP_EIP"    (Entry Insertion Point)
        --------
            |
            | <----------- CK segment
            |

       "SP_DESCENT"    (Entry-Descent-Landing)
       ------------
            |
            | <----------- CK segment representing fixed rotation defined
            |              by the lander design and to make SPICE "transverse"
            V              to the appropriate frame chain
       "SP_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
        "SP_TOPO"
        ---------
            |
            | <----------- Fixed rotation based on frame definitions
            V
      "SP_AFTER_RM"
      -------------
            |
            | <----------- CK segment representing fixed rotation per
            |              initial quaternion and to make SPICE "transverse"
            V              to the appropriate frame chain.
       "SP_LANDER"
       -----------


Surface Mission (after rover disposal)
--------------------------------------

     "J2000" Inertial
     ----------------
            |
            | <----------- PCK-based transformation
            V
        "IAU_MARS"
        ----------
            |
            | <----------- Fixed rotation based on the landing site
            |              coordinates
            V
        "SP_TOPO"
        ---------
            |
            | <----------- Fixed rotation based on frame definitions
            V
     "SP_LANDED_LOCAL"
     -----------------
            |
            | <----------- CK segment representing fixed rotation per
            |              initial quaternion and to make SPICE "transverse"
            V              to the appropriate frame chain.
       "SP_LANDER"
       -----------


SP Platform Spacecraft and Spacecraft Structures Frames
--------------------------------------------------------------------

   This section of the file contains the definitions of the spacecraft
   and spacecraft structures frames.


SP Spacecraft Frames
------------------------------------------

    According to [?] the ExoMars Surface Platform landing site reference frame
    -- SP_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;

        - the origin is located at the SP landing point above the surface
          of Mars.


   According to [5] the ExoMars Surface Platform spacecraft reference frame
   -- SP_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.


   These diagrams illustrate the SP_LANDER frame:

   -Y Surface Platform side view:
   ------------------------------

                                                __
                                               /\\\
                         _____________________ |\\|     +Ysc is into the
                       ||                       ||\      page.
                       ||                       || \
                       ||                       ||  \
             .---------||                       ||---'-----.
            /          ||                       ||          \
           |           ||                       ||           |
           |           ||                       ||           |
    _______|___________||_______+Ysc____________||___________|______
   |________________________________x---> +Zsc________BASE PLANE____|
    `.                              |                              .'
      `.                            | +Xsc                       .'
        `.__________________________v__________________________.'
           |   /   .'        `.            .'       `.   \   |
           |  /  .'            `.________.'           `.  \  |
           | / .'                                       `. \ |
          | /.'                      |                    `.\ |
       '._|/'__.'                    |                  '.__`\|_.'
         ======                      |                    ======
                                     v towards Mars


   -X Surface Platform top view:
   -----------------------------

                                _.-----._
                            _.-'         '-._
                        _.-'                 '-._
                    _.-'                         '-._
                _.-'                                 '-._
              -'                        BASE PLANE       '-
             /   .--.                                .--.  \
            /     \_|                                |_/    \
           /                                                 \
          / =================|             |================= \
         /--|---------------.               .---------------|--\
        /   |               ||             ||               |   \
       /    |               ||             ||               |    \
      /     |               ||  .-------.  ||               |     \
     /      |               || /         \ ||               |      \
    .       |               ||/       +Ysc\||               |       .
    |       |               |' +Xsc x--->  '|               |       |
    |       |               |'      |      '|               |       |
    '       |               ||\     | +Zsc/||               |       '
     \      |               || \    v    / ||               |      /
      \     |               ||  `-------'  ||               |     /
       \    |               ||             ||               |    /
        \   |               ||             ||               |   /
         \--|---------------'               '---------------|--/
          \ =================|             |================= /
           \       _                                  _      /
            \     / |                                | \    /
             \_  '--'                                '--' _/   +Xsc is into
               '-._                                   _.-'      the page.
                   '-._                           _.-'
                       '-._                   _.-'
                           '-._           _.-'
                               '-._____.-'


   These sets of keywords define the ExoMarsRSP Surface Platform Spacecraft
   frames:

   \begindata

      FRAME_SP_LANDER                  = -173000
      FRAME_-173000_NAME               = 'SP_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                = 'SP_LANDER'

      FRAME_SP_CRUISE                  =  -173001
      FRAME_-173001_NAME               = 'SP_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                = 'SP_CRUISE'

      FRAME_SP_DESCENT                 = -173002
      FRAME_-173002_NAME               = 'SP_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                = 'SP_DESCENT'

      FRAME_SP_EIP                     = -173901
      FRAME_-173901_NAME               = 'SP_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_SP_TOPO                    = -173900
      FRAME_-173900_NAME               = 'SP_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_SP_LANDED_LOCAL            =  -173902
      FRAME_-173902_NAME               = 'SP_LANDED_LOCAL'
      FRAME_-173902_CLASS              =  4
      FRAME_-173902_CLASS_ID           =  -173902
      FRAME_-173902_CENTER             =  -173

      TKFRAME_-173902_RELATIVE         = 'SP_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_SP_AFTER_RM                =  -173903
      FRAME_-173903_NAME               = 'SP_AFTER_RM'
      FRAME_-173903_CLASS              =  4
      FRAME_-173903_CLASS_ID           =  -173903
      FRAME_-173903_CENTER             =  -173

      TKFRAME_-173903_RELATIVE         = 'SP_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


SP NAIF ID Codes -- Definitions
===============================================================================

   This section contains name to NAIF ID mappings for the ExoMarsRSP 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
      ---------------------  -------  ------------------------------

   Surface Platform:
   -----------------
      SP                     -173      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 += ( 'SP'                           )
      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 += ( 'EXOMARS SURFACE PLATFORM'     )
      NAIF_BODY_CODE += ( -173                           )

      NAIF_BODY_NAME += ( 'SP_LANDER'                    )
      NAIF_BODY_CODE += ( -173000                        )

  \begintext


End of FK file.
+1 −1

File changed.

Contains only whitespace changes.