KPL/IK Rocky-7 Rover Cameras Instrument Kernel. --------------------------------------------------------------- This SPICE System Instrument Kernels (IK) file contains external, internal and FOV geometry characteristics for the Rocky-7 Mast Panorama and Rear Navigation Cameras. Revisions -------------------------------------------------------------- Version 1.0 Wed Jan 28 16:32:05 PST 1998 --- B.V. Semenov Initial release. References --------------------------------------------------------------- 1) Rocky-7 Camera model information provided by Clark Olson (camera center positions and boresight directions) and Paul Backes (camera FOV parameters). 2) KERNEL Required reading (KERNEL.REQ). Implementation Notes -------------------------------------------------------- This file is used by the SPICE system as follows: programs that make use of this I-kernel must `load' the kernel, normally during program initialization. Loading the kernel associates data items with their names in a data structure called the `kernel pool'. The SPICELIB routine LDPOOL loads a kernel file into the pool as shown below. CALL LDPOOL ( I_kernel_name ) In order for a program or subroutine to extract data from the pool, the SPICELIB routines GDPOOL and GIPOOL are used. See [4] for more details. This file was created and may be updated with a text editor or word processor. Rocky-7 Camera NAIF ID Codes. Rocky-7 Camera Frame names. --------------------------------------------------------------- Rocky-7 Camera NAIF ID codes are as follows (these codes also used in Rocky-7 Structures SPK file to designate camera positions): CAMERA NAIF ID ---------------------------- --------- Mast Left Camera -10002014 Mast Right Camera -10002015 Left Rear Navigation Camera -10002001 Right Rear Navigation Camera -10002002 Rocky-7 Camera Frame Names are as follows (these frames are defined in the Rocky-7 Frame Definition Kernel file): 'MAST-LEFT-CAMERA' 'MAST-RIGHT-CAMERA' 'REAR-LEFT-NAV-CAMERA' 'REAR-RIGHT-NAV-CAMERA' Keyword Naming Conventions -------------------------------------------------------- All names referencing values in this I-kernel start with the characters `INS' followed by the NAIF ID code for . The remainder of the name is an underscore character followed by the unique name of the data item. For example, the vertical size of a pixel for the mast left camera is specified by INS-10002014_PIXEL_VSIZE The upper bound on the length of the name of any data item is 32 characters. If the same item is included in more then one file, or if the same item appears more than once within a single file, the latest value supersedes any earlier values. Camera External Geometry: Center Positions and Frame Orientations. --------------------------------------------------------------- THIS SECTION IS FOR INFORMATION PURPOSES ONLY. ANYONE WHO IS USING SPICE TOOLKIT VERSION N0047 OR LATER DOES NOT NEED TO ACCESS DATA IN THIS SECTION OF THE FILE DIRECTLY. HE/SHE IS ADVISED TO USE CAMERA FRAME DEFINITIONS FROM THE ROCKY-7 FRAME DEFINITIONS KERNEL AND CAMERA POSITIONS FROM THE ROCKY-7 STRUCTURES SPK FILE TO COMPUTE TRANSFORMATIONS/POSITIONS IN VARIOUS FRAMES ASSOCIATED WITH THE ROCKY-7 CAMERAS. Below is the discussion regarding camera center positions from the input file used to make Rocky-7 Structure SPK file. ".... The coordinates for the camera centers defines the focal points of the cameras were provided by Clark Olson from his camera model files. The center locations in these files were given relative to the Rocky-7 frame (origin between pair of wheels on the ground, Z up, X along rover toward the side opposite to the mast and arm) The data the mast camera in this frame were provided for the mast position straight up and looking towards positive rover's X (torso angle = 0 deg, shoulder angle = -90 deg, elbow angle = 0 deg.) Original Olson's data were: X, m Y, m Z, m left mast camera -0.052596 0.218271 1.423305 right mast camera -0.055404 0.119730 1.423591 rear left nav camera -0.100577 -0.024629 0.311736 rear right nav camera -0.099423 0.024629 0.312264 The data for the mast were "adjusted" by applying translation to be relative to the mast head center (Petras's mast coordinates were used). To performed translation the following offsets in coordinates were added: delta X 0.04128, m delta Y -0.10478, m delta Z -1.41190, m (-0.34158 - 0.49943 - 0.57089) Coordinates were also "switched" from rover to mast head frame (Z->X, X->-Z, Y->Y). Final "translated" camera locations are: left mast camera 0.011405 0.113491 0.011316 right mast camera 0.011691 0.014951 0.014124 rear left nav camera -0.100577 -0.024629 0.311736 rear right nav camera -0.099423 0.024629 0.312264 Same in km: mast left camera 1.1405E-5, 11.3491E-5, 1.1316E-5 mast right camera 1.1691E-5, 1.4951E-5, 1.4124E-5 rear left nav camera -10.0577E-5, -2.4629E-5, 31.1736E-5 rear right nav camera -9.9423E-5, 2.4629E-5, 31.2264E-5 ..." Below is the discussion regarding camera frame orientations from the Rocky-7 Frame Definitions file. "... The next frame definitions are for the mast camera frames. The mast camera frames are fixed offset frames whose orientation is given relative the MAST-ELBOW frame. Original data provided by Clark Olson from his camera model files contained directions of the left and right mast camera boresight vectors relative to the rover frame for the fully extended up and looking forwards mast position (torso angle = 0 deg, shoulder angle = -90 deg, elbow angle = 0 deg). The units vectors for these direction were: left mast camera 0.999916 -0.002337 0.012731 right mast camera 0.999955 0.002860 0.009047 The same vector expressed in the MAST-ELBOW frame are (coordinates were "switched in the following way Z->X, X->-Z, Y->Y): left mast camera 0.012731 -0.002337 -0.999916 right mast camera 0.009047 0.002860 -0.999955 The following set of Euler angles would define the transformation from the MAST-ELBOW frame to a particular mast camera frame given that in the camera frame X axis is along boresight vector, Y axis is parallel to rover wheels axes and Z is up for the fully extended up mast position (the order of rotation is: first rotation about Y axis, the second about X axis and the third about Z axis): rot 1 (Y) rot 2 (X) rot 3 (Z) left mast camera 89.270545 0.0000000 -0.133900 right mast camera 89.481636 0.0000000 0.163866 ... The next frame definitions are for the rear navigation camera frames. The rear navigation camera frames are fixed offset frames whose orientation is given relative the ROCKY-7 frame. Original data provided by Clark Olson from his camera model files contained directions of the rear left and right navigation camera boresight vectors relative to the rover frame. The units vectors for these direction were: rear left camera -0.758458 0.013175 -0.651588 rear right camera -0.758813 -0.005250 -0.651287 The following set of Euler angles would define the transformation from the ROCKY-7 frame to a particular rear camera frame given that in the camera frame X axis is along boresight vector, Y axis is parallel to rover wheels axes and Z is up (the order of rotations is: first rotation about Y axis, the second about X axis and the third about Z axis): rot 1 (Y) rot 2 (X) rot 3 (Z) rear left camera -40.665733 0.0000000 179.245105 rear right camera -40.639396 0.0000000 -179.699195 ..." Camera FOV Geometry --------------------------------------------------------------- In the camera frames, X is optical axis, Z is vertical axis (it point up for the fully extended up mast position) and Y horizontal that complements to a right hand frame. Below is the cameras FOV description provided by Paul Backes: "... - There is a linear relationship between pixel column number and angle around the panorama. The Hs parameter of the camera model (one of the five internal parameters) gives this relationship. The angular width of one column (one pixel) = arctan(1/Hs). - There is a linear relationship between pixel row number and angle up the panorama. The Vs parameter of the camera model (one of the five internal parameters) gives this relationship. The angular height of one column (one pixel) = arctan(1/Vs). Mast cameras: Hs = 608.787084 Vs = 786.742527 Image Dimensions=(512, 486) Navigation cameras: Hs = 102.050000 Vs = 125.810000 Image Dimensions=(256, 243) NOTE: Navigation cameras image dimensions are (256, 243). The reason of is that we sample it at half resolution. It's assumed that camera optical axis intersects image in its center. .." For each camera, the following parameters were computed based this set of values and formatted as IK keywords: MAST NAVIGATION CAMERAS CAMERAS horizontal pixel size, degrees 0.09411456 0.56143014 vertical pixel size, degrees 0.07282656 0.45540556 horizontal FOV size, degrees 48.18665472 143.72611584 vertical FOV size, degrees 35.39370816 110.66355108 horizontal FOV size, pixels 512 256 vertical FOV size, pixel 486 243 central pixel coordinates, pixels 256,243 128,121.5 from the left top corner (0,0) Below is the data section containing corresponding keywords and their values: \begindata INS-10002014_PIXEL_HSIZE = 0.09411456 INS-10002014_PIXEL_VSIZE = 0.07282656 INS-10002014_FOV_HSIZE = 48.18665472 INS-10002014_FOV_VSIZE = 35.39370816 INS-10002014_FOV_SAMPLES = 512 INS-10002014_FOV_LINES = 486 INS-10002014_FOV_CENTER = ( 256, 243 ) INS-10002015_PIXEL_HSIZE = 0.09411456 INS-10002015_PIXEL_VSIZE = 0.07282656 INS-10002015_FOV_HSIZE = 48.18665472 INS-10002015_FOV_VSIZE = 35.39370816 INS-10002015_FOV_SAMPLES = 512 INS-10002015_FOV_LINES = 486 INS-10002015_FOV_CENTER = ( 256, 243 ) INS-10002001_PIXEL_HSIZE = 0.56143014 INS-10002001_PIXEL_VSIZE = 0.45540556 INS-10002001_FOV_HSIZE = 143.72611584 INS-10002001_FOV_VSIZE = 110.66355108 INS-10002001_FOV_SAMPLES = 256 INS-10002001_FOV_LINES = 243 INS-10002001_FOV_CENTER = ( 128, 121.5 ) INS-10002002_PIXEL_HSIZE = 0.56143014 INS-10002002_PIXEL_VSIZE = 0.45540556 INS-10002002_FOV_HSIZE = 143.72611584 INS-10002002_FOV_VSIZE = 110.66355108 INS-10002002_FOV_SAMPLES = 256 INS-10002002_FOV_LINES = 243 INS-10002002_FOV_CENTER = ( 128, 121.5 ) \begintext