Commit 73fb5915 authored by Alexander Abbakumov's avatar Alexander Abbakumov
Browse files

Added new fk, spk for ground stations, sclk file for SP and spk landing sight.

Updated fk for SP.
parent 602b3533
Loading
Loading
Loading
Loading
+588 −0
Original line number Diff line number Diff line
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.1 -- October 30, 2019 -- Stanislav Bober, IKI
   
      Descent path was removed from frame chaining.
	  LARA frames added. Added several frame definitions.


   Version 0.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)
										                                            
    SP_LANDER                  -173000
    SP_CRUISE                  -173001
    SP_TOPO                    -173900
    SP_LANDED_LOCAL            -173901
    SP_AFTER_RM                -173902

	LARA                        -197     (synonyms:
	                                      EXOMARS LARA,
										  EXOMARS RSP LARA)

    LARA_ANT_BASE				-197000
	LARA_ANT_TX1                -197001
	LARA_ANT_TX2                -197002
	LARA_ANT_RX                 -197003

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_TOPO                    IAU_MARS                  FIXED    -173900
        SP_LANDED_LOCAL            SP_TOPO                   FIXED    -173901
        SP_AFTER_RM                SP_TOPO                   FIXED    -173902
    
        SP_LANDER                  SP_CRUISE,                 CK      -173000
                                   SP_LANDED_LOCAL,
                                   SP_AFTER_RM
		
		LARA_ANT_BASE    		   SP_LANDER                 FIXED    -197000
		LARA_ANT_TX1    		   LARA_ANT_BASE             FIXED    -197001
		LARA_ANT_TX2    		   LARA_ANT_BASE             FIXED    -197002
		LARA_ANT_RX     		   LARA_ANT_BASE             FIXED    -197003

ExoMars Surface Platform Frames Hierarchy
--------------------------------------------------------------------------

   The diagram below shows the ExoMars Surface Platform frames hierarchy:


                "J2000" INERTIAL
        +-------------------------------+
        |                               |
        | <--ck                         | <--pck
        |                               |
        v                               v
  "CM_SPACECRAFT" ?                 "IAU_MARS"   
  ---------------                       +------------+
        |                                            |
        | <--fixed                                   | <--fixed
        |                                            |
        v                                            v
   "SP_CRUISE"                                    "SP_TOPO"
   -----------                             +-------------------+
        |                                  |                   |
        |                                  | <--fixed          | <--fixed
        |                                  |                   |
        |                                  v                   v
        |                            "SP_LANDED_LOCAL"  "SP_AFTER_RM"
        |                            -----------------  -------------
        |                                  |                   |
        | <--ck(*)                         | <--ck(*)          | <--ck(*)
        |                                  |                   |
        v                                  v                   v
        +---------------------------+------+-------------------+
                                    |
                                    v
                                "SP_LANDER"
                                ------------
								    |
									| <--fixed
									v
							 "LARA_ANT_BASE"
					+---------------+---------------+
					|               |               |
					|<--fixed       |<--fixed       |<--fixed
					v               v               v
			 "LARA_ANT_TX1"  "LARA_ANT_TX2"  "LARA_ANT_RX"
							  

   (*)      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 appropiate 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. Generated using PINPOINT utility.
            V              (See sp_topo_xxxxxxxx.tf, sp_topo_xxxxxxxx.bsp)
        "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 appropiate 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_AFTER_RM"
      -------------
            |
            | <----------- CK segment representing fixed rotation per
            |              initial quaternion and to make SPICE "transverse"
            V              to the appropiate frame chain.
       "SP_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
------------------------------------------

    ExoMars Surface Platform landing site topocentric 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.
        
        - center located at ExoMars Surface Platform actual landing point above
          Mars surface;
		  
		- Frame text kernel and binary SPK located in sp_topo_xxxxxxxx.tf,
		  sp_topo_xxxxxxxx.bsp.
		
		
	ExoMars Surface Platform landing site reference frame 
    -- SP_LANDED_LOCAL -- is defined as follows:
            
        - Frame built by fixed rotation relative to SP_TOPO using
		  angles acquired after SP landing.

        - Origin of this frame is located at the landing point on Mars surface.

	ExoMars Surface Platform landing site reference frame 
    -- SP_AFTER_RM -- is defined as follows:
            
        - Frame built by fixed rotation relative to SP_TOPO using
		  angles acquired after RM disposal.

        - Origin of this frame is located at the landing point on Mars surface.
		
	ExoMars Surface Platform LARA antennas frames base
	-- LARA_ANT_BASE -- is defined as follows:
	
	    - Frame origin located at SP_LANDER origin.
		
		- +X axis points at zenith direction of Surface Platform
		
	ExoMars Surface Platform LARA antennas frames
	-- LARA_ANT_TX1, LARA_ANT_TX2, LARA_ANT_RX -- is defined as follows:
	
	    - Frame origins located in LARA_ANT_TX1, LARA_ANT_TX2, LARA_ANT_RX objects.
		
		- SPK kernels for LARA_ANT_TX1, LARA_ANT_TX2, LARA_ANT_RX objects have
		  fixed offset relative to SP_LANDER origin.
		
		- Orientation is rotated by fixed angles relative to LARA_ANT_BASE (i.e. SP zenith),
		  rotation angles acquired during calibration procedure.
	

   These diagrams illustrate the ExoMars Surface Platform frame (SP_LANDER):

   -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_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_LANDED_LOCAL           =  -173901
      FRAME_-173901_NAME               = 'SP_LANDED_LOCAL'
      FRAME_-173901_CLASS              =  4
      FRAME_-173901_CLASS_ID           =  -173901
      FRAME_-173901_CENTER             =  -173
      TKFRAME_-173901_RELATIVE         = 'SP_TOPO'
      TKFRAME_-173901_SPEC             = 'ANGLES'
      TKFRAME_-173901_UNITS            = 'DEGREES'
      TKFRAME_-173901_AXES             = (   1,    2,    3   )
      TKFRAME_-173901_ANGLES           = ( 180.0,  0.0,  0.0 )

      FRAME_SP_AFTER_RM                =  -173902
      FRAME_-173902_NAME               = 'SP_AFTER_RM'
      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_LARA_ANT_BASE              = -197000
      FRAME_-197000_NAME               = 'LARA_ANT_BASE'
      FRAME_-197000_CLASS              =  4
      FRAME_-197000_CLASS_ID           =  -197000
      FRAME_-197000_CENTER             =  -197
      TKFRAME_-197000_RELATIVE         = 'SP_TOPO'
      TKFRAME_-197000_SPEC             = 'ANGLES'
      TKFRAME_-197000_UNITS            = 'DEGREES'
      TKFRAME_-197000_AXES             = (   3,   2,   3  )
      TKFRAME_-197000_ANGLES           = ( 0.0, 0.0, 0.0  )

      FRAME_LARA_ANT_TX1               = -197011
      FRAME_-197011_NAME               = 'LARA_ANT_TX1'
      FRAME_-197011_CLASS              =  4
      FRAME_-197011_CLASS_ID           =  -197011
      FRAME_-197011_CENTER             =  -197001
      TKFRAME_-197011_RELATIVE         = 'LARA_ANT_BASE'
      TKFRAME_-197011_SPEC             = 'ANGLES'
      TKFRAME_-197011_UNITS            = 'DEGREES'
      TKFRAME_-197011_AXES             = (   3,   2,   3  )
      TKFRAME_-197011_ANGLES           = ( 0.0, 0.0, 0.0  )
      OBJECT_-197001_FRAME             = -197011
	  
      FRAME_LARA_ANT_TX2               = -197012
      FRAME_-197012_NAME               = 'LARA_ANT_TX2'
      FRAME_-197012_CLASS              =  4
      FRAME_-197012_CLASS_ID           =  -197012
      FRAME_-197012_CENTER             =  -197002
      TKFRAME_-197012_RELATIVE         = 'LARA_ANT_BASE'
      TKFRAME_-197012_SPEC             = 'ANGLES'
      TKFRAME_-197012_UNITS            = 'DEGREES'
      TKFRAME_-197012_AXES             = (   3,   2,   3  )
      TKFRAME_-197012_ANGLES           = ( 0.0, 0.0, 0.0  )
      OBJECT_-197002_FRAME             = -197012

      FRAME_LARA_ANT_RX                = -197013
      FRAME_-197013_NAME               = 'LARA_ANT_RX'
      FRAME_-197013_CLASS              =  4
      FRAME_-197013_CLASS_ID           =  -197013
      FRAME_-197013_CENTER             =  -197003
      TKFRAME_-197013_RELATIVE         = 'LARA_ANT_BASE'
      TKFRAME_-197013_SPEC             = 'ANGLES'
      TKFRAME_-197013_UNITS            = 'DEGREES'
      TKFRAME_-197013_AXES             = (   3,   2,   3  )
      TKFRAME_-197013_ANGLES           = ( 0.0, 0.0, 0.0  )
      OBJECT_-197003_FRAME             = -197013

   \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)
										  
	LARA                        -197     (synonyms:
	                                      EXOMARS LARA,
										  EXOMARS RSP LARA)

	LARA_ANT_TX1                -197001
	LARA_ANT_TX2                -197002
	LARA_ANT_RX                 -197003
	
                                            
   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 += ( 'LARA'                         )
      NAIF_BODY_CODE += ( -197                           )

      NAIF_BODY_NAME += ( 'LARA_ANT_TX1'                 )
      NAIF_BODY_CODE += ( -197001                        )

      NAIF_BODY_NAME += ( 'LARA_ANT_TX2'                 )
      NAIF_BODY_CODE += ( -197002                        )

      NAIF_BODY_NAME += ( 'LARA_ANT_RX'                  )
      NAIF_BODY_CODE += ( -197003                        )

  \begintext
  
  
End of FK file.
 No newline at end of file
+179 −0

File added.

Preview size limit exceeded, changes collapsed.

+104 −0

File added.

Preview size limit exceeded, changes collapsed.

+131 −0

File added.

Preview size limit exceeded, changes collapsed.

+129 B

File added.

No diff preview for this file type.

Loading