Mars Reconnaissance Orbiter
Software Interface Specification
Interface Title: SPICE Frames Kernel (FK)
Mission: MRO Date:12/17/03
Module ID: SIS-NAF008-MRO
Module Type (REFerence Only or MISsion-specific info included): REF
Reference Module ID: NAIF Document No. 372 Date: 5/25/00
Approvals
Generating Subsystem:
Mission Navigation Subsystem/NAIF Element
Charles Acton _______________________________________________
Cog E Date
Receiving Subsystems:
APSS
Curt Eggemeyer _______________________________________________
Cog E Date
MNS
Tung-Han You _______________________________________________
Cog E Date
SEPA
Mike Haggard _______________________________________________
Cog E Date
DMAS
Young Lee _______________________________________________
Cog E Date
DACS
Mike Levesque _______________________________________________
Cog E Date
POSS
Daniel Wenkert _______________________________________________
Cog E Date
GDS System Engineer:
Ground Data System (GDS)
Magdi Carlton _______________________________________________
GDS SE Date
Multimission Software Interface Specification (SIS)
SPICE
Frames Kernel
FK
NAIF Document No. 372
Version 1.0
Prepared by: C. Acton
Navigation and Ancillary Information Facility (NAIF)
Jet Propulsion Laboratory
National Aeronautics and Space Administration
PURPOSE: This SIS describes the format and content of SPICE Frames Kernel (FK) file. The FK file is used to establish the relationships between reference frames used within the SPICE system. It also describes and gives examples of how to use NAIF Toolkit subroutines to access and use the data in a SPICE FK file.
CHANGE LOG
|
Version |
Date |
Page Nos. |
Reason |
|
1.0 |
25 May 2000 |
All |
New multimission version. |
|
|
|
|
|
|
|
|
|
|
List of Acronyms
ANSI American National Standards Institute
ASCII American Standard Code for Information Interchange
CCSDS Consultative Committee on Space Data Standards
CK SPICE C-kernel
ET Ephemeris Time
FK SPICE Frames Kernel
FTP File Transfer Protocol
FTS SFOC File Transfer Service
JPL Caltech/Jet Propulsion Laboratory
MGSO Multimission Ground Systems Office
NAIF Navigation and Ancillary Information Facility
PDB Project Data Base
PDS Planetary Data System
SFDU Standard Formatted Data Unit
SIS Software Interface Specification
SPICE S-, P-, I-, C- and E-kernels; the principal logical data components of a particular NASA ancillary information system
TDB Barycentric Dynamical Time
TMOD Telecommunications and Mission Operations Directorate
VMS Digital Equipment Corporation's Virtual Memory Operating System
Section 1
General Description
1.1 Purpose of Document
This Software Interface Specification (SIS) describes the contents and structure of a SPICE Frames Kernel (FK) file.
1.2 Scope
This is a multimission SIS, applicable for all flight projects.
1.3 Reference Documents
|
No. |
NAIF Document ID |
Title |
|
1. |
349 |
Frames Required Reading |
|
2. |
318 |
Kernel Required Reading |
|
3. |
168 |
SPK Required Reading |
|
4. |
174 |
CK Required Reading |
These reference documents are included in each delivery of the SPICE Toolkit. Also available are two SPICE tutorials on frames, available from the NAIF server:
ftp://naif.jpl.nasa.gov/pub/naif/toolkit_docs/Tutorials/
1.4 Functional Description
A frames kernel contains specifications for the definition of one or more reference frames intended to be used by an application built upon SPICE system components. Frame specifications provided to an application at run time using an FK file can be used within the SPICE components that utilize a reference frame specification as a parameter, such as the SPK readers (SPKEZR or SPKEZ) or the transformation matrix routines SXFORM and PXFORM.
In the case of fixed offset frames (TK Frames) a frames kernel file contains actual data used in defining a reference frame. In all other cases the FK provides pointers to other SPICE kernels–PcK, CK or SPK files–used to construct the frame.
1.4.1 Data Source, Destination and Transfer Method
Frames Kernels are made available to flight projects through whatever mechanism is used for providing access to SPICE products, such as a Project Database (PDB), a File Interchange System (FIS) or a SPICE Server.
1.4.2 Labeling and Identification
FK files may include an internal label section appearing at the beginning of the file. The information in this label section might be used in the construction of Planetary Data System (PDS) label or SFDU K-Header metadata.
1.4.3 Assumptions and Constraints
Contents of a FK file must adhere to SPICE text kernel specifications as described in SPICE document Kernel Required Reading (Reference 2).
Section 2
Data Object Definition
2.1 Structure and Organization
A frames kernel is a simple ASCII file containing data sections and descriptive text sections. The contents and format follow the FK specifications described in the SPICE document Frames Required Reading (Reference 1).
Text sections of an FK are used to describe the data. They are preceded by the token:
\begintext
If it appears first in the file, before any data, the first text section does not need this delimiter—it is interpreted as a text section by default. The initial text section may contain labels (metadata) providing provenance for the file. This labeling practice is highly recommended by NAIF, although it is not a SPICE requirement. Such metadata could utilize the same "keyword = value" syntax used in data sections of the FK. In general the text sections are not restricted to a particular format other than each line must not exceed 79 characters.
All data sections start with the begin data delimiter,
\begindata
Data are provided using a "keyword = value" syntax. The data sections are parsed by SPICE kernel file readers and so must adhere to the format specified in the NAIF Document Kernel Required Reading (Reference 2).
2.2 Data Format and Definition
2.2.1 Metadata Description
While not a requirement, any metadata labels usually appear first in the file. Below is an example label section.
\begintext
mission_name= CASSINI
spacecraft_name= CASSINI_ORBITER
MISSION_PHASE_NAME= "LAUNCH", "CRUISE", "SATURN_ORBIT"
data_set_id= "CAS-S-SPICE-6-FK-V1.0"
product_id= <unique ID>
product_creation_time= <yyyy-mm-ddThh:mm:ss.ttt>
TARGET_NAME= SATURN
producer_id= <name>
NOTE= <"additional information">
Following any labels, but still within the first text section, is usually found an introduction to the frames kernel. This may include version and date, references, author and general comments about using the FK.
2.2.2 Data Description
The SPICE frames system allows specification of several types of reference frames, such as fixed offset frames, and frames based on SPICE Planetary Constants Kernel (PCK) data or on C-kernel (CK) data. Descriptions of these frame types and specification of the defining information needed for each type are found in the SPICE document Frames Required Reading (Reference 1).
FK assignments use a KEYWORD = VALUE syntax. Each assignment must appear on a separate line and each line must not exceed 79 characters.
2.2.2.1 Example of a TK Frame
An example of a Text Kernel (TK) frame specification, used for fixed offset frames, and where the fixed mounting alignment data are provided within the FK file, is shown below.
\begintext
ISS Frames
----------------------------------------------------------
The Narrow Angle Camera (NAC) and Wide Angle Camera (WAC) are mounted on
the remote sensing pallet on the +X side of the Cassini spacecraft, and
nominally directed along the -Y axis of the AACS body frame.
Note the angles in the frame definitions are specified for the "from
antenna to (relative to) base frame" transformation.
Imaging Science Subsystem Narrow Angle Camera (ISS_NAC)
The ISS NAC points nominally along the spacecraft -Y axis. The following
frame definition encapsulates this nominal frame.
From [8]:
``The Narrow Angle Camera (NAC) detector is a CCD. Its coordinate system is
defined according to the geometry of the detector. The narrow angle
coordinate system is defined in the same manner as the SRU coordinate
systems defined above and the four central pixels of center of the full CCD
are selected for the definition of the origin of the coordinate system.
The Narrow Angle Camera is the primary instrument on the Remote Sensing
Pallet (RSP). AACS is responsible for providing pointing knowledge of the
boresight vector of this instrument. All other RSP instruments use the
pointing provided to the NAC as their reference for determining their
pointing.''
Nominal Frame Definition:
FRAME_CASSINI_ISS_NAC = -82360
FRAME_-82360_NAME = 'CASSINI_ISS_NAC'
FRAME_-82360_CLASS = 4
FRAME_-82360_CLASS_ID = -82360
FRAME_-82360_CENTER = -82
TKFRAME_-82360_SPEC = 'ANGLES'
TKFRAME_-82360_RELATIVE = 'CASSINI_SC_COORD'
TKFRAME_-82360_ANGLES = ( -90.0, 0.0, 90.0 )
TKFRAME_-82360_AXES = ( 1, 2, 3 )
TKFRAME_-82360_UNITS = 'DEGREES'
[6] describes the in-flight calibration of the ISS that was the result of
the CICLOPS (Cassini Imaging Central Laboratory for Operations) analysis of
8 NAC images that were taken during ICO (Instrument Checkout). The rotation
matrix that takes vectors represented in the ISS_NAC frame into the
spacecraft frame follows:
[ ] [ ] [ ] [ ]
[ ROT ] = [ -89.892082 ] [ 0.047029483 ] [ 90.024236 ]
[ ] [ ] [ ] [ ]
X Y Z
where [x]i represents the rotation matrix of a given angle x about
axis i.
The angles were taken directly from [6].
\begindata
FRAME_CASSINI_ISS_NAC = -82360
FRAME_-82360_NAME = 'CASSINI_ISS_NAC'
FRAME_-82360_CLASS = 4
FRAME_-82360_CLASS_ID = -82360
FRAME_-82360_CENTER = -82
TKFRAME_-82360_SPEC = 'ANGLES'
TKFRAME_-82360_RELATIVE = 'CASSINI_SC_COORD'
TKFRAME_-82360_ANGLES = ( -89.892082, 0.047029483, 90.024236 )
TKFRAME_-82360_AXES = ( 1, 2, 3 )
TKFRAME_-82360_UNITS = 'DEGREES'
2.2.2.2 Example of a CK Frame
A CK frame is one that is defined by a SPICE C-kernel. An example of a CK frame specification is shown below.
\begintext
CAPS Frames
The CAPS frame is currently listed as a CK based frame.
\begindata
FRAME_CASSINI_CAPS = -82820
FRAME_-82820_NAME = 'CASSINI_CAPS'
FRAME_-82820_CLASS = 3
FRAME_-82820_CLASS_ID = -82820
FRAME_-82820_CENTER = -82
CK_-82820_SCLK = -82
CK_-82820_SPK = -82
Section 3
Using Frames Kernel Data
3.1 Loading FK Data Into a Program
All frames specification information contained in a Frames kernel are loaded into the memory space of an application program in the initialization stage of the program. This is accomplished using the SPICE Toolkit's text kernel loading mechanism:
CALL FURNSH ("<FK file name>")
furnsh_c ("<fk file name>")
3.2 Using FK Data
Any reference frames defined in a frames kernel can be used throughout a SPICE-based application program that use SPICE routines in which a reference frame is an input or output argument. Examples of such routines are:
SXFORM
PXFORM
SPKEZR
CKGPAV
The reader is referred to descriptions of how to use these routines found in the referenced SPICE tutorials on the frames kernels, to reference document numbers 1,3 and 4, and to the source code headers for these routines.