80 likes | 221 Views
Using the Frames Subsystem. July 2013. What is the Power of Frames?. The “power” of the Frames capability stems from the SPICE system’s ability to construct complex reference frame transformations with no programming effort required of you - the end user
E N D
Using the Frames Subsystem July 2013
What is the Power of Frames? • The “power” of the Frames capability stems from the SPICE system’s ability to construct complex reference frame transformations with no programming effort required of you - the end user • But it’s crucial that you select and load the needed kernels • The principal benefit from the Frames capability is obtained through the main SPK subsystem interfaces (SPKEZR and SPKPOS) and the Frames subsystem interfaces (SXFORM and PXFORM) • The remaining pages illustrate typical use of frames • Several VERY IMPORTANT usage issues are mentioned in the core Frames tutorial; be sure to also read that. In SPICE terminology: “reference frame” = “coordinate system” Using Frames
Offset Between Instruments • Required Kernels: • Generic LSK • Mission FK • Camera IK(s) M i s a l i g n m e n t a n g l e b e t w e e n I S S Compute the angular separation between the ISS Narrow Angle Camera and Wide Angle Camera boresights: C Retrieve the matrix that transforms vectors from NAC to WAC frame CALL PXFORM( ‘CASSINI_ISS_NAC’, ‘CASSINI_ISS_WAC’, ET, MAT ) C Transform NAC boresight to WAC frame and find separation angle CALL MXV ( MAT, NAC_BORESIGHT_nac, NAC_BORESIGHT_wac ) ANGLE = VSEP( NAC_BORESIGHT_wac , WAC_BORESIGHT_wac ) I S S N A C c a m e r a b o r e s i g h t s F r a m e C A S S I N I N A C B o r e s i g h t I S S W A C F r a m e W A C B o r e s i g h t S / C F r a m e ISS = Imaging Science System Using Frames
Angular Constraints • Required Kernels: • Generic LSK • Mission FK • Spacecraft SCLK • Camera IK • Planetary Ephemeris SPK • Spacecraft SPK • Spacecraft CK J 2 0 0 0 S u n F r a m e S u n d i r e c t i o n Check whether the angle between the camera boresight and the direction to the Sun is within the allowed range: CALL SPKPOS( ‘SUN’, ET, ‘CASSINI_ISS_NAC’, ‘LT+S’, ‘CASSINI’, SUNVEC, LT ) ANGLE = VSEP( NAC_BORESIGHT_nac, SUNVEC ) IF ( ANGLE .LE. CONSTRAINT ) WRITE(*,*) ‘WE ARE IN TROUBLE!’ C A S S I N I i n t h e N A C f r a m e S S B I S S N A C F r a m e A n g l e b e t w e e n N A C B o r e s i g h t S / C a n d S u n d i r e c t i o n F r a m e S a t u r n J 2 0 0 0 F r a m e N A C B o r e s i g h t Using Frames
Angles at the Surface J 2 0 0 0 • Required Kernels: • Generic LSK • Generic PCK • Mission FK • Planetary Ephemeris SPK • Satellite Ephemeris SPK • Landing Site SPK S S B F r a m e Compute solar azimuth and elevation at the Huygens probe landing site CALL SPKPOS(‘SUN’,ET,‘HUYGENS_LOCAL_LEVEL’,‘LT+S’,‘HUYGENS_PROBE’,SUNVEC,LT) CALL RECLAT(SUNVEC, R, AZIMUTH, ELEVATION) ELEVATION = -ELEVATION IF (AZIMUTH .LT. 0.D0) THEN AZIMUTH = AZIMUTH + TWOPI() ENDIF S u n S o l a r J 2 0 0 0 S u n D i r e c t i o n E L F r a m e I n L o c a l L e v e l S o l a r F r a m e A Z T i t a n L o c a l L e v e l T i t a n ‘ s I A U F r a m e a t t h e B o d y - f i x e d p r o b e L a n d i n g f r a m e S i t e Using Frames
Relative Position of Sensors • Required Kernels: • Generic LSK • Mission FK • Structure Locations SPK • Spacecraft SCLK • Solar Array CK M A G + Y f r a m e Find the position of one MGS MAG sensor with respect to the other in the MGS s/c frame. Also find the relative orientation of the sensors: CALL SPKEZR(‘MGS_MAG-Y’, ET, ‘MGS_SPACECRAFT’, ‘NONE’, ‘MGS_MAG+Y’, STATE, LT) CALL PXFORM(‘MGS_MAG_+Y_SENSOR’, ‘MGS_MAG_-Y_SENSOR’, ET, MAT) M A G - Y p o s i t i o n r e l a t i v e M A G + Y + Y G i m b a l f r a m e M A G - Y f r a m e S / C F r a m e - Y G i m b a l H i n g e - Y f r a m e f r a m e Using Frames
Manipulators - 1 M G S • Required Kernels: • Generic LSK • Mission FK • Spacecraft SCLK • HGA IK • Structure Locations SPK • Planetary Ephemeris SPK • Spacecraft SPK • Spacecraft CK • HGA CK Compute the angle between the direction to Earth and the MGS HGA boresight: CALL SPKEZR( ‘EARTH’, ET, ‘MGS_HGA’, ‘LT+S’, ‘MGS’, EARTH_STATE, LT ) ANGLE = VSEP( HGA_BORESIGHT, EARTH_STATE ) S / C F r a m e H G A H i n g e H G A f r a m e f r a m e H G A G i m b a l M a r s f r a m e M G S H G A J 2 0 0 0 o f f - p o i n t i n g F r a m e a n g l e S u n S S B E a r t h HGA = High Gain Antenna J 2 0 0 0 F r a m e Using Frames
Manipulators - 2 R A J 2 D i g L o c . • Required Kernels: • Generic LSK • Mission FK • Lander SCLK • Structure Locations SPK • Lander SPK • Lander CK • SSI CK • RA CK S S I F r a m e F r a m e i n S S I f r a m e S S I C a m e r a Compute the soil digging location in the MPL surface-fixed and camera left eye frames: CALL SPKEZR( ‘MPL_RA_SCOOP’,ET,‘MPL_SURFACE_FIXED’,‘NONE’,‘MPL_SURF’,ST1,LT ) CALL SPKEZR( ‘MPL_RA_SCOOP’,ET,‘MPL_SSI_LEFT’, ‘NONE’,‘MPL_SSI’, ST2,LT ) h e a d F r a m e R A S c o o p F r a m e R A J 1 F r a m e D i g L o c a t i o n M V A C S i n S u r f a c e f i x e d F r a m e f r a m e S u r f a c e - f i x e d F r a m e Using Frames