AAS 13-015 DayStar: Modeling and Testing a Daytime Star Tracker for High Altitude Balloon Observatories Nick Truesdale, Kevin Dinkel, Zach Dischner, Jed Diller University of Colorado at Boulder 36th ANNUAL AAS GUIDANCE AND CONTROL CONFERENCE February 1 - February 6, 2013 Breckenridge, Colorado Sponsored by Rocky Mountain Section AAS Publications Office, P.O. Box 28130 - San Diego, California 92198 1 (Preprint) AAS 13-015 DAYSTAR: MODELING AND TESTING A DAYTIME STAR TRACKER FOR HIGH ALTITUDE BALLOON OBSERVATORIES Nicholas Truesdale*, Kevin Dinkel*, Zach Dischner*, and Jed Diller† High altitude balloon platforms offer improved accessibility for astronomical observatories with performance comparable to the Hubble Space Telescope. A requisite for such missions is an attitude determination system that provides an error signal with sub-arcsecond accuracy. Star trackers are a common solution, but none currently perform with the required accuracy due to atmospheric scattering during daytime. DayStar, a prototype star tracker designed at the University of Colorado at Boulder, addresses this issue with the use of red-filtered optics, a custom high resolution CMOS camera and efficient star identification algorithms. This paper discusses the modeling required to quantify daytime performance, and compares it to experimental data from DayStar’s September, 2012 test flight. Both show that, despite daytime conditions in the stratosphere, a star tracker can operate with sub-arcsecond accuracy. With the capabilities that DayStar provides, a high altitude balloon observatory can match the image quality of Hubble for a fraction of the cost. INTRODUCTION The NASA high altitude balloon program offers a unique environment for Earth and space observing missions. Gondolas are easily accessible and can weigh up to 3600 kg.1 This allows them to carry heavy instruments and source large amounts of electrical power. Additionally, stratospheric balloons fly above 99% of the Earth’s atmosphere, avoiding image degradation due to atmospheric turbulence. Telescopes flown in the stratosphere rival the performance of the Hubble Space Telescope (HST) for a small fraction of the price. To match HST’s performance, a balloon gondola must achieve pointing accuracy – and thus pointing knowledge – near or below the diffraction limit of the telescope it supports. 1 meter and 2 meter telescopes have a diffraction limit on the order of 0.1 arcseconds.2 Therefore, an RMS accuracy of at least 0.1 arcseconds is desired for a balloon-based attitude determination system. Star trackers are capable of providing this level of sub-arcsecond accuracy. The current standard for balloon-borne attitude determination is the ST5000 star tracker from the University of Wisconsin. The ST5000 was flown on a balloon on May 6, 2011 and performed with 0.24 and 0.53 arcseconds (1π) accuracy in the pitch and yaw directions during nighttime.3 Unfortunately, these accuracies are large enough to limit a telescope’s performance on a balloon. Additionally, the ST5000’s camera saturated 20 minutes before sunrise, preventing its use as daytime instrument. * † Graduate Student, Aerospace Engineering Sciences, University of Colorado at Boulder, 80309. Engineer, Southwest Research Institute, 80303. 2 From the ST5000 balloon test flight, it is clear that two critical capabilities are missing for balloon-borne star trackers: accuracies better than 0.1 arcseconds RMS and daytime performance. Both are necessary for telescopic observatories to operate as accurately and consistently as HST. DayStar is a prototype star tracker from the University of Colorado which aims to solve both problems. This paper will discuss the design of DayStar, focusing specifically on how attitude determination performance was quantified from images of stars. Initial performance estimates are then compared to a September 2012 test flight. PROJECT OVERVIEW DayStar’s design was first conceived as a Senior Project for the University of Colorado Aerospace Engineering Sciences department. It was contracted by Dr. Eliot F. Young, a planetary scientist at Southwest Research Institute in Boulder, Colorado. From August, 2011 to May, 2012, DayStar went from project definition to ground testing. The summer of 2012 was spent preparing for an August test flight. DayStar’s goal is to provide daytime performance and higher accuracy to high altitude balloon payloads over existing star trackers. Requirements for nighttime and daytime performance are 0.1 arceseconds RMS and 1.0 arcseconds RMS, respectively. System Design The DayStar system is comprised of two main parts, a camera (with foreoptics) and a supporting computer. The camera is designed specifically for imaging on a balloon, and is required to see stars even during daytime. This is achieved by using a red highpass filter at 620 nm, which removes most of the Rayleigh scattering from the atmosphere. The camera integrates a scientific CMOS sensor which also has strong red and near-infrared performance. Additionally the CMOS sensor has very low noise, and 5.5 megapixels, ensures high quality images. The optics are encompassed by a 150mm, f2.0 Olympus lens with an 8.2o field of view; this lens provides a small plate scale, numerous stars per image, and allows for shorter exposures (faster frame rates). Figure 1. The PCB to interface with the CIS2051 CMOS sensor from Andor was designed and built in house. Figure 2. A custom power board supplies power to the entire payload, controls the camera, collects diagnostics, and communicates with the computer. As shown in Figure 1 and Figure 2. A custom power board supplies power to the entire payload, controls the camera, collects diagnostics, and communicates with the computer.Figure 2, two circuit boards were custom designed by the DayStar team. One is the PCB housing the CMOS sensor, which routs data and commands to a frame grabber on the computer. The second 3 is a power regulation board, which supplies voltage to the camera and computer and also takes health and status data. The computer is a COTS motherboard with an Intel i3 processor. Images are taken via a Matrox Solios framegrabber and stored on 3 solid state drives (SSDs). The computer uses up to 40W at high loads; this was easily supplied during flight by 15V lithium sulfurdioxide batteries. Thermal loads are also manageable on a balloon; copper tube was used to sink 12+ W of heat from the motherboard to the structure. Test Flight On September 22, 2012 DayStar flew on the Wallops Arc Second Pointer (WASP) platform as a secondary payload out of Fort Sumner, NM. The flight was part of the Columbia Scientific Balloon Facility’s (CSBF) 2012 campaign. During the 15.5 hour flight DayStar operated for 4 hours and 40 minutes, from 16:35-21:15 MST. DayStar operated in three modes during this period of operation – daytime, twilight, and nighttime mode. In all modes, images were taken at 10Hz. Figure 3. The view from behind the Daystar optics shows DayStar’s computer in the foreground, lower right. Just right of center the optics can be seen at a 45 o angle. The WASP gondola can be seen in the upper right. 4 Daytime mode encompasses 2.5 hours of daylight, Figure 4. A sample simulated image twilight mode lasted for 1 hour and 10 minutes, centered with noise added to the background. around astronomical sunset, and nighttime mode occurred an hour after sunset. During daytime and nighttime modes, images were collected for 20 and 50 second bursts at regularly spaced intervals. Exposure times were 20, 30, 40 and 50 ms during daytime and twilight, and 30, 50 and 70 ms at night. During twilight mode, bursts were only 5 seconds long and the exposure time was varied at a higher cadence to capture the declining sky background during sunset. The DayStar system and WASP gondola were recovered the next morning. SOFTWARE DESIGN AND PERFORMANCE There are three main steps in converting an image of stars to a pointing solution: star detection, star centroiding and star tracking. Star detection is the process of identifying stars in an image. Once found, star centroiding is used to precisely find the center of each star. Finally, the attitude is determined by comparing the motion between images. Stars are matched, and the vectors between stars in each image are used to generate a least squares fit of the angular motion. These three procedures were tested before flight using a Monte Carlo approach applied to synthetic starfields, as seen in Figure 4. The following sections will detail each algorithm and the estimated performance. These results are based on modeling of DayStar’s camera, which is detailed in a paper submitted to the AIAA Aerospace Sciences Meeting.4 Using values from the image quality modeling, it is possible to estimate DayStar’s accuracy during daytime and nighttime. Star Detection Stars are identified in an image based on shape and brightness relative to the image background. This requires an estimate of the background value and standard deviation, π, which are obtained using a robust median. All pixels greater than a threshold (default 3π) are considered potential stars. These candidates are then grouped, forming congruent sets of pixels or “blobs.” 5 For a blob to be a star, a blob Figure 5. The percentage of stars visible as a function of must meet several conditions: the blur and exposure time. This can be extrapolated to be a peak value must exceed a brightfunction of SNR. ness threshold (default 5π); the blob must be roughly circular (default oblateness is 2); and the number of pixels in the blob must lie in a range (default is between 6 and 60). These limits will reject regions with abnormally high background, connected column and row noise or hot pixels. The result is that, as long the signal from a star is bright enough, it is detectable with some degree of certainty. Determining the performance of this algorithm consists of quantifying the certainty of detection (false detections are also a concern, but are eliminated in the star tracking phase and thus ignored for now). A Monte Carlo simulation was run, varying two key image parameters: exposure time and the number of pixels subtended by a star. Figure 5 shows the certainty of detection, with a black box indicating DayStar’s operational range. In this box, detection is always above 50%, and is typically in the 80-90% range for optimal exposure times. Star Centroiding While the star detection algorithm can find stars in an image, it cannot find their centers. Accurately centroiding stars with sub-pixel accuracy is key to determining an accurate attitude solution. Once a star has been located, its center is found using one of two methods; one is based on center of mass, while the other is based on a Gaussian fit. Both methods look at a square window surrounding a star. The center of mass of a star is calculated by summing the product of each pixel’s location and its intensity, πΌ, then dividing by the sum of all pixel intensities. While this can produce centroids with sub-pixel resolution, it is typically better to weight pixels based on their brightness.5 This leads to the Intensity Weighted Center of Mass (IWC) method, in which the intensity is squared so that brighter pixels have a greater effect. ∑ πΌ2 π₯ ∗ ∑ πΌ2 π¦ π₯ = ,π¦ = ∑ πΌ2 ∑ πΌ2 ∗ (1) A second method fits a 2D Gaussian to the star. Five parameters are allowed to vary in the fitting process: the center coordinates and widths in both π₯ and π¦, and the amplitude. Using a leastsquares fit, the centroid coordinates are found. This method is more restrictive; it requires the background be subtracted to zero, and does not work as well for distorted stars. Many papers have been written on star centroiding methods. In these, the sub-pixel accuracy of methods is often compared to signal-to-noise (SNR) of the star. Image modeling with the DayStar system shows that the SNR is in excess of 10 for all reliably identified stars. This means that the IWC method can be expected to produce accuracies of about 0.1 pixels, while the Gaussian fit will be slightly better for well-behaved cases.5 DayStar has a plate scale of 8.6 arcseconds, so the estimated centroid accuracy is 1.0 arcseconds or less. Star Tracking A star-tracker can be used to determine pointing in two ways. The first is called Lost-in-Space (LIS), and is the process of identifying the actual patch of sky being viewed and how the star tracker is oriented within it. This was out of the scope of DayStar’s first flight, though there are many resources that detail different LIS algorithms.6,7 6 The second mode of attitude determination is called tracking, and yields an attitude relative to a known initial condition. In order to track, DayStar compares subsequent images and determines the rotation between frames. This consists of three steps: matching stars, converting 2D image frame vectors to 3D spatial vectors, and computing a best fit rotation. The best fit is given as a quaternion; multiplication of quaternions yields a rotation from the initial image to each image in a set. Thus, for a burst of images, DayStar can track the relative attitude change over time. For each star in the first image, a matching star in the second image is found by searching within some radius. Since images are taken every 0.1 seconds, stars are not expected to move more than 5 pixels between subsequent frames. Thus, it is easy to define a search radius, typically 5-10 pixels, to match pairs of stars. Using the centroids for each image, 2D vectors in row-column units are found for every pair of stars. These must be converted into a 3D coordinate frame to calculate a quaternion. Figure 6 shows how using the boresight vector as the π₯ axis defines a right-handed coordinate frame. In this frame, π¦image and π§image represent decreasing columns and rows, respectively, Figure 6: An illustration of converting between a 2D and can be converted from pixels to mi“image plane” and a 3D “tracker frame”.8 crons using the camera plate scale. A 3D star vector is then defined by its components; the π¦ and π§ components are in microns, and the π₯ component is the focal length in microns. The vectors are normalized and organized in two lists, such that matched stars between frames line up together. Finally, the rotation between frames is computed using Davenport’s q-method.9 By comparing a list of vectors in the first frame to their counterparts in the second frame, the q-method applies a least-squares fit to find the rotation between frames. The result is a quaternion, which may also be represented as a direction-cosine matrix (DCM) or a yaw-pitch-roll (YPR) Euler angle sequence. 7 The accuracy of the q-method as a function of centroid methods was once again analyzed using a Monte Carlo simulation. For 10,000 iterations, star vectors were created and rotated into a second frame. In both frames, star centroids were corrupted using normally distributed noise with a given variance. The qmethod was then used, and the calculated rotation compared with the known value. This was repeated for many centroid variances, as well as different numbers of stars. The result of the Monte Carlo simulation is shown in Figure 7. From this graph, it is apparent that for the estimated centroid method performance, between 15 and 20 stars are needed during nighttime to achieve 0.1 arcseconds accuracy. During daytime, even very poor centroids will yield 1.0 arcseconds RMS error as long as 4 or more stars are seen. Figure 7. The accuracy of DayStar’s relative attitude solution is shown as a function of centroid accuracy and the number of stars in the image. For high numbers of stars, even low-performing centroid methods can provide an accurate solution. FLIGHT TEST RESULTS During the test flight, DayStar took over 42,000 images comprising almost 500 GB of data. These images were taken in bursts, at a rate of 10 Hz. Individual bursts are analyzed for tracking performance. The general approach is to ο¬rst correct each raw image for sensor biases. Next, stars are correlated between frames, and their changes in location are translated into three dimensional space. These changes are quantiο¬ed, and analyzed to provide a measure of tracking performance, as detailed in the previous section. This process is the same for all burst conο¬gurations and modes of operation. The DayStar imaging system simultaneously outputs two separate images. Each represents the exposed sensor area, read out through different amplification paths within the sensor. These are referred to as high-gain and low-gain images. During nighttime, high-gain images are analyzed, as they exhibit less background noise. During daytime the high-gain images saturated, so lowgain ones were analyzed instead. The low gain images were susceptible to severe noise; for this reason, almost all the analysis focuses on nighttime images. The effects of noise on the daytime images are discussed at the end of this section. Image Processing The sCMOS sensor contains two independent sensor halves. Each half contains columns of pixels read out through different on-chip ampliο¬ers. To correct for varying biases in each ampliο¬er, referred to commonly as ο¬xed pattern noise,10 every dark column was compared to a composite robust mean of the entire dark area. This yielded a multiplication factor for each column, describing the difference between each column and the overall dark area. When applied, these factors act to normalize all column ampliο¬ers as if a uniform ampliο¬cation was applied everywhere. This process was repeated for the top and bottom sensor halves. 8 Next, a similar process was implemented in which the robust averages of columns were compared from both halves. This normalized gains between the two halves, and yielded a full image, with uniform ampliο¬cation. Typically, correcting for ο¬xed pattern noise is done by subtracting dark frames from every readout frame. Due to readout speed requirements and camera design, this was not possible for the DayStar system. CMOS temperature sensitivity and electrical ο¬uctuations in the system caused gain factors to change, even over short image bursts. Figure 8 shows an original and ο¬at-ο¬elded image processed from one of DayStar’s bursts. Where the raw image contains notable column differences, and overall differences between top and bottom halves, the corrected image (right) is mostly ο¬at. This normalization process is important, because star recognition algorithms assume a uniform, ο¬at background. Figure 8. A comparison of a raw image (left) and a normalized image (right). In addition to removing column noise, both halves of the image have the same background value. Star Finding Once images from the test flight were normalized, the methods discussed in the Software Design and Performance section were used to find and centroid stars in every image. Figure 9 shows a set of images from nighttime, first with all discovered centroids (left) and then with only matched centroids between frames (right). During the matching process, some centroids do not have a partner in the subsequent frame. Most often, this is because of a false positive, though some stars with weak signals do appear intermittently. Figure 10 shows the counts for centroided and matched stars as a function of frame number; an average of six stars are lost during the matching process. This can be explained by the sparse star trails in Figure 9. 9 Figure 9. Composite images of all centroided stars (left) and successfully matched stars (right) for a sample nighttime burst. The matching process clearly removes most if not all false stars in the burst. Figure 10. The number of stars found (left) and successfully matched (right) for a sample nighttime burst. An average of six stars are too inconsistent to be matched in every frame. Nighttime Results Once centroided stars were matched between consecutive frames, quaternion rotations were calculated between the frames using the q-method. These rotations were “added” up over time to find the rotation of the center of each frame relative to the first frame. Using these rotations, DayStar’s performance can be explored without knowing anything about its inertial attitude. The variability in these rotations describes DayStar’s performance. However, this assumes that the observed changes are solely due to errors in DayStar’s algorithms and sensing equipment. From the image burst shown in Figure 9, the gondola motion is clearly visible in the path of the 10 stars. From visual analysis, it is clear that the gondola motion is dominated by low frequency oscillations, while DayStar’s variability is expected to be closer to its sampling frequency, 10 Hz. To separate the two phenomena, frequency filtering was performed on computed attitude vectors. First, quaternion rotations between images were converted into YPR Euler angles. Each set of angles was then transformed into the frequency domain. To remove balloon motion, an elliptical high-pass filter was applied to each set. Transformed back into the time domain, these rotation sets represent variations in the attitude, minus the slow motions of the balloon gondola. Figure 11 shows plots illustrating the filtering process used to eliminate slow-frequency motions from computed Euler angle sequences over a single, 50 second burst. Time-domain signals are on the leftmost subplots, and frequency-domain signals on the right. Top subplots represent unfiltered signals, and bottom subplots are filtered signals. 11 Figure 11. Yaw, Pitch, and Roll motion is isolated using a high-pass filter at 3.5 Hz The slow motion of the balloon gondola is clearly visible in the Euler angle plots. Over the 50 second burst, the gondola appears to have undergone 3 motion cycles. From the unfiltered frequency (top right) subplots, it is clear that most of the motion occurs at a frequency below 3.5 Hz. Applying the high pass filter at 3.5 Hz assumes that motion at higher frequencies are from DayStar’s algorithms alone. The resulting standard deviations for each of the filtered yaw, pitch, and roll sequences during this 500 image burst are: ππππ€ = 0.205 ππππ ππππππ ππππ‘πβ = 0.247 ππππ ππππππ ππ πππ = 5.161 ππππ ππππππ These results are initially misleading because the standard deviations of the roll, pitch and yaw vary over time. From Figure 11, the filtered Euler angles are not purely white noise and actually fluctuate with the dynamics of the gondola. Figure 12 shows the unfiltered and filtered yaw motion, with a moving 10-point 3π rolling standard deviation. 12 Figure 12. Average yaw standard deviation varies in time While the average standard deviation in yaw is 0.205 arcseconds, the time-based values vary significantly around that statistic. At worst, the 1π RMS is around 0.33 arseconds, and at best, the standard deviation is near 0.008 arcseconds. The worst performance (highest standard deviation) occurs at times when the gondola changes direction most drastically. Course gondola control was provided by a 1 degree yaw connector on the balloon cable. It is conceivable that the motor incurred high-frequency inflations in yaw, pitch, and roll performance during periods when it was actively correcting azimuthal gondola motion. This would falsify the assumption that all highfrequency variation comes from DayStar alone. Another way to visualize DayStar’s performance is to project its calculated attitude onto a 2D plane. While roll is not readily represented in this illustration, yaw and pitch are intuitively displayed. Figure 13 shows the unfiltered and filtered motion of the center of the DayStar image over the same 500 image burst. This motion closely resembles the motion seen by the stars in Figure 9. Figure 13. 2D projection of DayStar's calculated motion (left) and filtered motion (right). 13 The same process can be applied for the filtered yaw, pitch, and roll. The 2D projections of the filtered Euler angles are shown in Figure 13. A scatter plot is produced representing the error in the yaw and pitch angles. The attitude error parallel to the motion of the center of the frame is much lower than the error orthogonal to it. Approximating the scatter plot as a 2D ellipse, the maximum and minimum RMS along the major and minor axes are calculated as: ππππ₯ = 0.316 ππππ ππππππ ππππ = 0.057 ππππ ππππππ In the direction of motion, there is approximately 5.5 times less noise than in the normal direction. This extra energy in the normal direction could be due to jitter from the gondola motors or azimuthal corrector. This excess energy would be more apparent in the gondola modes with less inertia, such as pitch, and may not affect yaw in the same way. From the power plots of pitch and yaw in Figure 11, it can be seen that pitch has higher power in frequencies above 3.5 Hz than yaw. Testing DayStar on a more stable platform may provide more insight into its actual performance; but it is expected that DayStar will perform closer to ππππ when energy from onboard motors is not present in its attitude signal. Daytime Results Unlike nighttime images, daytime images suffered heavily from high sky background levels. This caused high-gain images to saturate at all exposure levels; thus, only low-gain images were usable. Due to electrical issues in design, these images display much higher levels of column biases and fluctuations, which degrades the SNRs of the stars. The intention of the camera design was to use high-gain images at all times, and supplement with low gain when higher dynamic range was needed. In addition, without any active cooling of the DayStar imaging system, the image sensor was recorded to operate at around 10C during the daytime. The sensor is very sensitive to changes in temperature, and performs best at -40C. A 10 degree increase in sensor temperature typically equates to doubling the dark current and hot pixels in each image. 11 Figure 14. On the left is a raw image taken at 17:12 during the day. The influence of daytime scattering is evident, and no stars are readily visible. After processing, three stars are detectable near the center of the image (right). Figure 14 depicts a typical image taken during the daytime on the left. Not only is the column bias more prominent than in the nighttime images, but there is also significant variability along the columns. The biases were removed using the same normalization methods used on the 14 nighttime images. The resulting image is shown on the right. The processed image now reveals three stars, circled in red, which star finding algorithms are able to identify in most frames. A close-up of one of the centroided stars is shown in Figure 15. Residual noise is still evident around the star, but the shape and peak still allow algorithms to distinguish it from background noise. The difference is slight enough, however, that in some frames only two centroids were found throughout the burst. Tracking with less than three stars does not produce useable pointing data. While tracking performance could not be quantified for daytime operation, DayStar was still able to prove its feasibility as a daytime tracker because stars were still identifiable over the high background. They were found even with a non-optimal operational configuration. Future revisions of DayStar must remove more systematic noise from the imaging system, and reconfigure more appropriate exposure times and gain settings for daytime operation. With these changes in place, the DayStar team is confident that daytime tracking is possible with the DayStar system. Figure 15. A close up of daytime centroided star CONCLUSION During its maiden flight, DayStar identified stars during both daytime and nighttime, proving the feasibility of a diurnal balloon-borne star tracker. Furthermore, nighttime images display RMS errors between 0.057 and 0.316 arcseconds. Higher errors are thought to be due to gondola motion and/or artifacts of the analysis process; thus, it is likely DayStar can perform below 0.1 arcseconds RMS with minimal design changes. During daytime, DayStar saw only three stars consistently. This was caused by severe electrical noise in the sensor, which also prohibited star matching and thus an attitude solution. However, the fact that DayStar did not saturate and saw stars even in poor conditions makes it likely that a solution could be attained once noise issues are remedied. Fixing the noise caused by the power system would immediately improve the quality of the images. By moving the power conversion within the camera enclosure and implementing a stricter ground plane design, column noise and other artifacts might be eliminated entirely. Doubling the low-gain setting would also improve signal-to-noise of stars, increasing the number visible during both day and night. Finally, employing active thermal control to cool the camera would strongly reduce dark current in images; DayStar operated near 0o C during flight, which is far above the ideal temperature of -40o C. DayStar will be flown again if given a flight opportunity, with the above design changes implemented. To further improve results, a more stable gondola is desired, with attitude sensors to characterize the balloon dynamics. Implementation of a Lost-in-Space algorithm would also help to find the true inertial pointing, as opposed to a relative attitude solution. 15 The next logical step beyond another flight is running the data collected in this test flight through the ST5000 software and making the DayStar camera a front end to the ST5000. A system combining DayStar with the computer and algorithms of the ST5000 could eventually be a viable off-the-shelf option for balloon payloads requiring arcsecond daytime attitude knowledge and sub-arcsecond nighttime attitude knowledge. ACKNOWLEDGMENTS The DayStar team would like to extend our gratitude to Dr. Eliot Young for his help throughout the project. Thanks go also to Dr. Scott Palo for his role as advisor, and Dr. Kimberly Ennico for her assistance during the September, 2012 flight test. REFERENCES 1 M. Johnson, "Columbia Scientific http://www.nsbf.nasa.gov/balloons.html. Balloon Facility," 5 September 2012. [Online]. Available: 2 E. F. Young, "Balloon-Borne Telescopes for Planetary Science: Imaging and Photometry," National Academies Planetary Science Decadal Survey, 2012. 3 E. F. Young, R. Mellon, J. Percival, J. Fox, T. Lachenmeier, B. Oglevie, M. Bingenheimer, "Sub-arcseond Performance of the ST5000 Star Tracker on a Balloon-Borne Platform," IEEE Trans. Aerospace, 2012. 4 N. Truesdale and M. Skeen, "DayStar: Modeling the Daytime Performance of a Star Tracker for High Altitude Balloons," in 51st AIAA Aerospace Sciences Meeting, Grapevine, TX, 2013. 5 M. K. Cheezum, W. F. Walker and W. H. Guilford, "Quantitative Comparison of Algorithms for Tracking Single Fluorescent Particles," Biophysical Journal, vol. 81, pp. 2378-2388, 2001. 6 D. Mortari, M. A. Samaan, C. Bruccoleri and J. L. Junkins, "Implementation of the Pyramid Star Identification Technique," Navigation, vol. 51, no. 3, pp. 171-184, 2004. 7 M. Kolomenkin, "A Geometric Voting Algorithm for Star Trackers," IEEE Trans. Aerospace and Electronic Systems, vol. 44, no. 2, pp. 441-456, 2008. 8 C. J. Padro, "Development of a star tracker-based reference system for accurate attitude determination of a simulated spacecraft," Air Force Institute of Technology, Wright-Patterson Air Force Base, OH, 2012. 9 C. Hall, "Chapter 4: Attitude Determination," in Spacecraft Attitude Dynamics and Control, 2003, pp. 4-14 to 4-17. 10 R. Turchetta, K. R. Spring and M. W. Davidson, "Introduction to CMOS Sensors," Olympus, 2012. [Online]. Available: http://www.olympusmicro.com/primer/digitalimaging/cmosimagesensors.html. 16