Description of NIS Raster Test - Jan 25, 2000 A. NIS Narrow Raster Test Goal is to put Eros in a 6x8 (colxrow) grid of positions centered on the NIS narrow fov. The fov is stopped (no relative motion) for 355 seconds at each position while NIS executes 25 observations of 14 sec each (8 sec integration, 2 rest, 4 darks). Actually the outer-most left and right columns have Eros center just barely outside the fov. The remaining 4 columns are inside. Two plots show two different ways to visualize this. 1) Nixrastst_narrw.gif is the Orbit simulation. It shows Eros at a fixed position, and plots all the stopped fov positions relative to Eros. The observation begins with fov in upper right corner (Eros is just outide lower left corner). This starting fov is the purple-outlined rectangle. The fov is slewed downward relative to Eros, stopping at 8 positions (including start and end) for 355 sec at each position (note that dwell time is 355, not 350 as stated in gif comment). Slew times between stopped positions is 15 sec. During this column scan, NIS Seq 8 is executed which is timed to perform a NIS 'scan' (25 observations=350sec) at each stopped position. This is timed so the NIS 'scan' begins 5 seconds after the 15 sec slew completes, or 5 seconds into the start of each 355 sec slew pause period. Eros is just outside the left edge of the fov at all 8 positions for this first column scan. The fov is then repositioned slightly to the left, putting Eros just inside the left edge of fov, and the next column scan commences which takes the fov UPWARD relative to Eros (stopped at 8 more positions including start and end). NIS Seq 8 is executed again simultaneously with same result (25 observations at each of the 8 stopped positions). Etc for remainder of columns. Slew direction is alternated between adjacent column slewing scans. 2) The second way to visualize this observation is with my planning drawing (below). In this case the fov is shown fixed, with a grid of 6x8 positions where Eros center is stopped relative to the fov. Eros center = the dots. The starting position of Eros is lower left dot just outside the left edge of the fov. The first column slew is represented by the vertical grid of dots just outside the left edge of the fov. The first set of 25 observations (NIS 'scan' 1) of Seq 8 occurs when Eros is in the lower left position, the last is when Eros is at the upper left position. Starting position for the second column slewing scan has Eros just inside the upper left edge of the fov. Ending position of the 2nd column slew has Eros just inside lower left edge of fov. Etc. Note, the fov shape is shown correctly scaled here. The NIS narrow fov is about .38 x .76 deg. start positions for col 2 col4 col6 | | | V V V ------------------------ end pos, col 1 ---> .| . . . . |. | | > vertical spacing between positions .0829 deg .| . . . . |. | | .| . . .<-->. |. horiz spacing between positions = .0813 deg | | .| . . . . |. | | .| . . . . |. | | .| . . . . |. | | .| . . . . |. | | start pos, col 1 --> .| . . . . |. |______________________| > distance from lower row to bottom edge of fov = .09 deg ^ ^ (same as distance from top row to top edge of fov) | | starting positions for col 3 col 5 <--> distance from inner right-most column to right fov edge = .068 deg (this is same for left most inner column to left fov edge) For this to work, the timing of the slewing scan (ds56) had to be carefully coordinated with the design and execution of NIS Seq 8. I've tried to distinguish between the two uses of the word 'scan'. A NIS 'scan' is a term that is equivalent to a package of 'observations' within the execution of a NIS Sequence. A slewing scan is a set of movements in fov pointing that is caused by execution of a ds56 guidance and control data structure. NIS Seq 8: --------- #scans = 8 sec betw scans = 20 # obs = 25 calint = 1 #sec/obs = 14 (spectra/obs = 14-2-4=8) #rest/obs = 2 #darks/obs = 4 #mirror steps between obs = 0 sec betw obs = 0 This means that 1 NIS 'scan' is equal to 25 'observations' of 14 sec each (8 integ+2rest+4dark). This takes 350 sec. Seq 8 performs eight of these 'scans' separated by 20 seconds. Each ds56 slewing scan alternates between a 355 sec pause period and a 15 sec slew. Each scan begins with a pause. There are 8 pause periods and 7 slew periods in each column (scan). During each 15 sec slew in the 1st column the fov is slewed at .0055238 deg/sec about z, which moves fov downward .0829 deg relative to Eros (or Eros appears to move up relative to the fov). In between each slew is the 355 sec pause. When the 8th position is reached, a reposition occurs to put eros at starting point for the 2nd scan. Then the ds56 is repeated for next column except the slew rate is -.0055238, so fov moves up this time for 8 new positions in the 2nd column (Eros moves down). Reposition to 3rd column, etc. Integration of NIS and slewing is as follows. The slew scan begins with a 355 sec pause period at the first position while the first NIS 'scan' is performed. There is an inital 5 sec delay of NIS Seq 8 start, plus 350 seconds for the first NIS 'scan' = 355 sec, which equals the pause period. After the pause, the first 15 sec slew occurs. This coincides with the first 15 seconds of the NIS sec between scans (20 sec); the last 5 sec occurs during the first 5 seconds of the next slew pause. The 2nd NIS 'scan' commences and uses up the rest of the 2nd slew pause period. The result is that the NIS 'scans' always start 5 seconds after start of slew pause, and ends when the pause ends. The slews occur during the first 15 seconds of the 20 second NIS 'sec between scans' period. initial NIS nis seq 8| (25 obsx14sec)| 20 sec | (25 obsx14sec) | 20 sec | etc delay| 1 nis 'scan' |betw scans | 1 nis 'scan' |betw scans | ------------------------------------------------------------------- | 5s| 350sec | 15sec |5s| 350 sec | 15 sec |5s| etc | | | | | | | | ---------------------------------------------------------------------- | | | SLEW <------pause 355sec----> <-slew-> <----pause 355 sec--->|<-slew->|<----pause etc MSI Support Imaging - Three filter 4 (autoexp, Table 5/FAST) images are taken at each stopped position. They are taken at very beginning, middle, and end of the dwell times. So for instance, at each stopped position in the narrow scan we do 25 NIS observations, 14 seconds each (for a total of 350 seconds). We take the first image at start of this period, second in middle of the period, and third image at the very end of this period. see plot: /eros/00024/msi_nixraststnarrw.gif Nasty Pointing details: The Eros center grid spacing was determined as follows. There is a 4 column x 8 row grid inside the fov. There are two additional columns that are just outside the fov. The left most column was placed 1 Eros radius plus 5 msi short pixels away from (just inside) the left edge of the fov (.068 deg). The right most column is .068 just inside right edge of fov. The two center columns were positioned to give equal spacing between all 4 inside columns (.08133 deg horizontal delta). The 2 columns outside are spaced with same horizontal delta from the columns just inside fov (.08133 deg). Vertical grid spacing was done as follows. The top row of Eros centers was placed to be 1 Eros radius + 5 msi long pixels = .09 deg from top edge of fov (inside the fov). Same for bottom. Bottom row is .09 deg just inside bottom edge. Intermediate positions were spread equally between the bottom and top positions. Initial targeting for the start of each scan is done with a DS40. We do this by setting the aimpoint to be nadir and then defining the virtual boresight as something other than the center of NIS 75. This offsets the NIS fov to the proper starting position relative to Eros center because spacecraft DS40 pointing rules force the 'virtual boresight' to point to the aimpoint which is nadir; if the virtual boresight is something other than the value for NIS 75, the NIS fov will be offset from Eros by that amount. The 'virtual boresight' is simply a unit vector in spacecraft body coordinate system. This is a cartesian system fixed (embedded, cemented) in the spacecraft where x = approximately the instrument boresights, z = solar panel normal, y is defined such that x X y = z. If sitting at the center of this coordinate system, looking out the boresight (approximately down +x), then z points to right, and y points up. The vb just defines what part of the spacecraft you want to point at the aimpoint (nadir in this case). If the v.b. is defined as (1,0,0), then the x axis of the spacecraft will point to nadir. The center of NIS 75 was determined to be slightly offset from 1,0,0. It was believed to be -.140798 deg toward the -y axis, and .148993 deg toward the +z axis away from x. The spacecraft body system vector that represents that NIS 75 boresight is (.9999939 -.00245739 .00247660). This is a vector that points mostly along the +x, but is a little bit offset toward -y and +z. In a DS40, if you defined the v.b. to be that vector, and the aimpoint = nadir, then the center of NIS 75 would be exactly centered on nadir. For the start of each column slew, we wish to simply offset the NIS 75 center away from Eros nadir by defining the proper virtual boresight that will accomplish it. To do that we determine first the angular distance in y and z which we want Eros to be offset from NIS 75. Then we ADD that to the known (estimated) offset of NIS 75 from s/c (1,0,0). Then convert that to a boresight vector. First, define da = angle from NIS 75 center in +y direction (positive is measured going up from center) to place where Eros should be; db = angle from NIS 75 in +z direction (positive measured to the right from center) to place where Eros should be. In the plot, virtual boresight = place where Eros dot is shown. NIS 75 center by definition is center of FOV. I assumed that center of NIS 75 is -.140798 in y and .148993 in z from x' (1,0,0) spacecraft body fixed. (from boresight offset analysis). So to find virtual boresight (place where Eros should be in spacecraft x,y,z, must ADD the NIS 75 center angular offset from 1,0,0 to the da and db angles. The following little fortran program calculates the starting virtual boresight vectors that will position Eros in the proper relative spot to NIS 75 center for the start of each column slew (according to above recipe). program borenar c calculates boresight vectors for DS40s, start position c for each column slew c 'a' is angular offset is y direction c 'b' is angular offset in z direction real*8 x,y,z,dnisa,dnisb,dtr real*8 da(6),a(6),db(6),b(6) c write(*,*)'Name of output file?' c read(*,*)ofile open(10,file='borenar.vb',status='new') dtr=2*3.14159265/360. dnisa=-.140798 dnisb=.1418993 db(1)=-.122-.0813333+dnisb db(2)=-.122+dnisb db(3)=-.0406667+dnisb db(4)=.0406667+dnisb db(5)=.122+dnisb db(6)=.122+.0813333+dnisb da(1)=-.29+dnisa da(2)=.29+dnisa da(3)=-.29+dnisa da(4)=.29+dnisa da(5)=-.29+dnisa da(6)=.29+dnisa do 11 i=1,6 a(i)=da(i)*dtr b(i)=db(i)*dtr x=cos(b(i))*cos(a(i)) y=sin(a(i)) z=sin(b(i))*cos(a(i)) write(10,*)'vb',i,'=',x,y,z 11 continue close(10) stop end These are the virtual boresight values that position Eros at the right place for the start of each column slew. vb 1= .9999711588121427 -7.518772609158304E-03 -1.072195109153272E-03 vb 2= .9999965491103874 2.604063187291167E-03 3.473071165935368E-04 vb 3= .9999701728086372 -7.518772609158304E-03 1.766791305211312E-03 vb 4= .9999915329415472 2.604063187291167E-03 3.186361581986783E-03 vb 5= .9999611267372793 -7.518772609158304E-03 4.605765165810603E-03 vb 6= .9999784565410424 2.604063187291167E-03 6.025388677184878E-03 A separate DS40/DS56 pair had to be executed for each column scan. The slewing scan (ds56) begins at the ds40 starting position (as defined above) and then moves the fov relative to Eros actually by modulating the virtual boresight definition (we used the sbf scanning coord system). In this case we just modulate the z value of the virtual boresight, and this results in vertical motion of the fov relative to Eros. Scan rate is .0055238 deg/sec in z. Over 15 sec (duration of slew) fov moves .082857 deg which is vertical spacing between Eros stopped positions. DS40 is defined as follows for each case: aimpoint = nadir virtual boresight = see above values roll vect = z, roll ref = earth The DS56 is defined as follows. Each separate DS56 (for each separate column) only differs in that the sign of the rate is alternated in each subsequent DS56. This case given here is for a DS56 which moves fov DOWN relative to Eros: scan dur total = 2945 (total time for pausing and slewing in a column) scan coord system = 4 (spacecraft body fixed) rev sign of rate = (1,0,0) 1= reverse sign, 0 = do not reverse sign for (x,y,z) Only z axis is pertinent here, that value is 0, so is sign NOT reversed, slew continues in same direction for all slew periods during this column scan. hold place = (0,0,0) 0 = pause occurs before slew, 1 = pause occurs after slew For z axis, 0 means pause will occur before slew. First activity of this scan is a pause. rate dur = (0, 0, 15) For z axis, slew dur = 15 sec rate = (0,0, .0055238) For z axis, rate is +.0055238 deg/sec, modulation of virtual boresight in + z direction, when slew is active this results in motion of fov DOWN relative to Eros nadir. hold dur = (0,0, 355) For z axis, pause dur = 355 sec. Pause and slew occur in pairs; pause comes first. Pairs are repeated for total of 2945 sec. B. Wide Raster Test Same as above except we do an 10x8 (colxrow) grid and execute only 12 observations at each of the 8 positions in each column. Dwell time at each position is 173 seconds (5 sec settle + 168 to complete the 12 observations). Everything else is the same. Positions for Eros centers were determined in the same way. The inner left-most column was spaced .068 deg from left edge of fov. Inner right-most column was .068 from right edge. Top and bottom rows were .09 deg from top and bottom edge. Equal spacing determined between inner grid. Outer columns were placed using the inner horizontal spacing. see plots: /eros/00024/msi_nixraststwide.gif /eros/00024/nis_nixraststwide.gif NIS Seq 9: 8,20,12,1,14,2,4,0,0 (see above field definitions) Virtual boresights for starting positions of column slews: vb 1= .9999614977590243 -7.518772609158304E-03 -4.524495328822866E-03 vb 2= .9999922025019514 2.604063187291167E-03 -2.968802824827833E-03 vb 3= .9999707354006455 -7.518772609158304E-03 -1.412940460123223E-03 vb 4= .9999965992178964 2.604063187291167E-03 1.428550268543930E-04 vb 5= .9999702908937864 -7.518772609158304E-03 1.698643060754008E-03 vb 6= .999991313467925 2.604063187291167E-03 3.254511270640619E-03 vb 7= .9999601641760911 -7.518772609158304E-03 4.810209909825260E-03 vb 8= .9999763453024535 2.604063187291167E-03 6.366136227326300E-03 vb 9= .9999403553441489 -7.518772609158304E-03 7.921730408738642E-03 vb 10= .9999516950083428 2.604063187291167E-03 9.477684572665243E-03 program borewide c calculates boresight vector real*8 x,y,z,dnisa,dnisb,dtr,delb real*8 da(10),a(10),db(10),b(10) c write(*,*)'Name of output file?' c read(*,*)ofile open(10,file='borewide.vb',status='new') dtr=2*3.14159265/360. dnisa=-.140798 dnisb=.1418993 delb=.624/7. da(1)=-.29+dnisa da(2)=.29+dnisa da(3)=-.29+dnisa da(4)=.29+dnisa da(5)=-.29+dnisa da(6)=.29+dnisa da(7)=-.29+dnisa da(8)=.29+dnisa da(9)=-.29+dnisa da(10)=.29+dnisa db(1)=-.312-.089142+dnisb db(2)=-.312+dnisb db(3)=-(.312-delb)+dnisb db(4)=-(.312-2*delb)+dnisb db(5)=-(.312-3*delb)+dnisb db(6)=.312-3*delb+dnisb db(7)=.312-2*delb+dnisb db(8)=.312-delb+dnisb db(9)=.312+dnisb db(10)=.312+.089142+dnisb do 11 i=1,10 a(i)=da(i)*dtr b(i)=db(i)*dtr x=cos(b(i))*cos(a(i)) y=sin(a(i)) z=sin(b(i))*cos(a(i)) write(10,*)'vb',i,'=',x,y,z 11 continue close(10) stop end