SSC05-XI-7 The AeroAstro Fast-Angular-Rate Miniature Star Tracker: Algorithms and Simulation Results Bill Seng, James Stafford, Ray Zenick, Vickie Kennedy AeroAstro, Inc. 20145 Ashbrook Place, Ashburn, VA 20145; (703) 723-9800 bill.seng@aeroastro.com, james.stafford@aeroastro.com, ray.zenick@aeroastro.com, vickie.kennedy@aeroastro.com ABSTRACT: AeroAstro’s Fast Angular Rate Miniature Star Tracker (FAR-MST) is an optical-based system that uses image processing of star fields viewed from the satellite to determine ephemeris information. The FAR-MST system offers solutions to several problems, including the determination of an initial position fix (the “lost-in-space” problem), determination of spacecraft attitude, and measurement of spacecraft rotational velocity – even at high angular rates. Low-cost, high-performance microsatellites cannot afford the volume or mass required by a large star tracker. The target physical specifications of the FAR-MST make it very attractive to microsatellites. FAR-MST weighs less than 1 kilogram and consumes fewer than 3 Watts. It provides both spacecraft attitude to within 100 arc-seconds and angular rate information over rates up to 15 degree/second. As a result of its high performance, it can easily handle typical spacecraft tumble conditions, providing for recovery from a lost-in-space condition without aid from any other sensors at minimal cost and impact to spacecraft resources. FAR-MST provides the necessary information to enable accurate thrusting and slewing in specific directions, necessary for advanced microsatellite missions that require precise station-keeping, orbital-transfer capabilities, or rendezvous missions. FAR-MST provides a complete low-cost, low-power attitude determination solution ideal for small, rapid-response satellites. INTRODUCTION realize the benefits of small satellites, they cannot be burdened with the volume or mass required by a large star tracker, let alone redundant, large star trackers coupled with gyroscopes. Achieving a low-cost, highperformance satellite is not feasible without the introduction of new components more consistent with their goals. European star tracker manufacturers have taken strides towards producing either star trackers that function at both low and high angular velocities or star trackers that are small and lightweight, but none offer all of these characteristics in a single unit, which is what FAR-MST is striving to achieve. While the space industry continues to emphasize the increasing importance of small satellites, one of the primary hurdles to their widespread acceptance is that there is an insufficient selection of appropriate components to realize the full extent of a small satellite’s capabilities. One such area in which this is apparent is that of attitude determination components, particularly star trackers. To address this critical industry need, AeroAstro has developed a single, small, lightweight system that can replace multiple, independent components, such as gyros and star trackers, while providing all the functionality associated with traditional star trackers. AeroAstro’s Fast Angular Rate Miniature Star Tracker (FAR-MST) is an optical-based system that provides satellite ephemeris data by processing star field images. AeroAstro’s FAR-MST system addresses several different problems facing small satellites. First, it provides the ability to determine position from a lost-inspace condition (either during mission initialization or in recovery from tumble). It also enables determination of spacecraft attitude during normal operations. And finally, it provides measurement of spacecraft rotational velocity – even at high angular rates. The goal of the FAR-MST program is to develop a lowcost, mid-range performance star tracker to provide attitude determination and rate sensing capability to small satellites. A small satellite would be able to use FAR-MST both for initial detumbling and subsequent three-axis pointing operations, thus eliminating the need for additional gyros or magnetometers. This would provide savings to the satellite in terms of cost, development time, and operational complexity. The FAR-MST hardware design is based largely on the AeroAstro Miniature Star Tracker (MST), which is being developed under a separate Small Business Technology Transfer (STTR) program contract in conjunction with the Massachusetts Institute of Technology (MIT) Space Systems Laboratory (SSL). Unlike MST, however, the FAR-MST star tracker will Replacing redundant components saves volume, mass, and power, as well as their associated costs. To truly Seng 1 19th Annual AIAA/USU Conference on Small Satellites have autonomous lost-in-space capability. This means that it will autonomously determine the inertial threeaxis attitude of the satellite without prior attitude knowledge. The addition of this capability will involve minimal hardware changes, and is largely an upgrade to the MST star tracker software. low-power attitude determination solution ideal for small, rapid-response low-earth orbit (LEO) satellites. In addition to adding lost-in-space capability to the existing MST hardware design through the FAR-MST program, the team has also studied adding rate sensing capability, with a goal of designing a method to determine spin rates optically. Ideally, such an algorithm would require no additional hardware to the MST baseline design. This would give it an advantage over even inexpensive MEMS gyros in terms of cost, interface complexity, and power consumption. The target physical specifications of the FAR-MST make it very attractive to microsatellites. It weighs less than 1 kilogram and consumes fewer than 3 Watts of power. It provides both spacecraft attitude to within 100 arc-seconds and angular rate information over rates up to 15 degree/second. As a result of its high performance, it can easily handle typical spacecraft tumble conditions, providing for recovery from a lostin-space condition without aid from any other sensors at minimal cost and impact to spacecraft resources. Since FAR-MST can function at high angular rates, it eliminates the need for gyroscopes, offering further mass savings. It provides the necessary information to enable accurate thrusting and slewing in specific directions, necessary for advanced microsatellite missions that require precise station-keeping or precise orbital-transfer capabilities, and rendezvous missions. In recognition of the trend towards more modular and standardized spacecraft systems, the FAR-MST has a standard USB interface for command and telemetry. The FAR-MST system provides a complete low-cost, FAR-MST is not intended to compete with existing high-performance star trackers,1,2 nor will it necessarily provide the rate sensing accuracy or update rate provided by inexpensive MEMS gyros. Instead, it attempts to provide sufficient capabilities to economically fulfill the specific mission requirements of small satellites without burdening them with undue mass, volume, and power consumption. SIMULATION ENVIRONMENT Introduction Beginning with an internal AeroAstro simulation environment called SIMK3 (Figure 1), which provided Figure 1. Simulation Environment (SIMK). Seng 2 19th Annual AIAA/USU Conference on Small Satellites spacecraft dynamics, vector math, visualization, and general data analysis capabilities, the team then developed object models for each of the major components of the FAR-MST system: the CMOS (complementary metal oxide semiconductor) detector, lost-in-space algorithms and star catalog, and FARMST algorithms. In addition, each object also had a separate scripting object whose main purpose was to interface between the simulation scripts and the underlying C/C++ code of the algorithms themselves. The algorithms were developed in C/C++ for later porting to embedded systems. star centroid position. Pixels in the imaging array accumulate signal count through a combination of the optics and detector electronics modeled in the following equation: E(x, y) = (a)(e)( flux)PSF(x ! x c , y ! y c )dt (2) where E is the signal count in a pixel, a is the aperture area of the optics in square meters, e is the quantum efficiency of the detector in converting photons to electrons, flux is the number of photoelectrons emitted from the star per m2/s, and dt is the integration time in seconds. CMOS Camera Model Lastly, several noise sources are added to better simulate real-world performance. Noise is inherent not only from the detector but also from the quantized nature of the photons. Two dominant noise sources can be modeled as Poisson processes: photon arrival, and the detector noise from thermal sources, also known as dark current. Noise is also added to simulate read-out noise. The camera model was designed with an eye toward fabricating an optical chain through which the spacecraft dynamics model and star catalog model could be used to generate star map images. The spacecraft dynamics model enabled star field views from arbitrary attitudes and angular velocities to be simulated. The camera model consists of two image arrays: the first contains the number of photoelectrons in each pixel, the second contains the integration time for each pixel (necessary for dark current calculations). In SIMK, the algorithm to generate a simulated image utilizes a sequence of time steps. In each step, stars are extracted from the catalog and projected in the focal plane. Then, the spacecraft dynamics model is queried and the attitude of the star tracker is updated, causing a new set of stars to be extracted from the catalog and rendered onto the focal plane. Lastly, once the total preset integration time has been reached, the accumulated image is read out, with noise added based on the converter electronics, the accumulated signal at each pixel, and the dark current. Lost-In-Space Algorithm and Star Catalog A so-called lost-in-space algorithm is able to determine the attitude of the star tracker from no knowledge other than the current star image. Typically this class of algorithms attempts to work much like the early human astronomers did when looking at the heavens – by looking for patterns. In fact, star pattern recognition algorithms are arguably the most time-consuming and computationally intensive routines in a typical star tracker. One can generally group these pattern recognition algorithms into three groups:4 In the current rendering of stars in the CMOS camera model, the spectral nature of the star, optics, and detector is ignored. As a simplifying assumption, the model assumes a fixed constant relating Johnson Vband star magnitude to the photon flux (photons/s/m2) received at the focal plane of the detector. The equation governing this, relative to the known flux F0 for a magnitude 0 star is: Fm = F0!0.4 m Inter-star angular separation-based 2. Grid-based 3. Neural networks-based In the first class of algorithms, the stars are viewed as vertices of a graph (triangle, pyramid, etc.) whose edges define the angular separation between neighboring stars.5,6 The second class of algorithms uses the specific, well-defined pattern of stars associated with any given star.7,8 The last class is perhaps most like the one early astronomers used – patterns are recognized directly.9,10 (1) The center point of stars is positioned in the focal plane using the stars’ three-dimensional direction cosine vectors. To spatially distribute the star’s signal, the point spread function (PSF) of the star is modeled by a two-dimensional Gaussian normal curve located at the Seng 1. The first class of algorithms has been selected, based on the fact that it is more mature and has wellcharacterized performance. The key, however, to this 3 19th Annual AIAA/USU Conference on Small Satellites approach is to devise an efficient search method for pattern matches against a star catalog. The search method first must define the way patterns are generated, then a metric to determine the best match. Specifically, the “Pyramid” algorithm by Junkins and Mortari has been chosen, which uses an efficient technique called the k-vector approach, to search the star catalog and solve the lost-in-space problem. them, knowing the angular uncertainty and quickly listing all possible pairs by extracting the range of possible matching Y indexes. The pyramid algorithm uses the identification of the star pairs to find the star’s location in space. Given a separation, the algorithm uses the k-vector method to determine possible star pairs and then the algorithm intersects those possible pairs to obtain common matches, thereby extracting the six pairs in the pyramid. The algorithm contains logic to reject false stars in its search, and additionally defines an angular separation probability distribution function in order to estimate the uniqueness or match frequency of a given star pattern match. The problem solved by searching the star catalog using the k-vector technique is an example of the more general class of solutions known as hash tables. Hash tables are used to shorten search times; they use the hash function to translate the key to a data item into an index for a table where the data is actually stored. The search algorithm locates the data quickly without having to compare its key to all the keys in the table. The attitude of the star tracker can be found knowing the stars currently in view and their orientation relative to a star catalog. The attitude is calculated by determining the orthonormal matrix (rotation) best describing the relation between the observed star positions (found from the pyramid algorithm) and the reference star positions. As shown in Figure 2, the distribution of sin2(!) is nearly uniform, which means an efficient hash table can be made by using the angular separation between the stars as the key. The angle is then linked to the stars defining the angle through their indices, stored in separate arrays. Simulation Results: Lost-In-Space Algorithms An adaptation of the Pyramid algorithm written in C, suitable for porting to embedded processors, was tested against star fields generated from 10,000 randomly oriented attitudes. Images were thresholded, centroided to discover the stars’ locations, and run through the lost-in-space algorithm, generating a list of stars within the field of view. This resulting list was passed to our implementation of the q-method to calculate the attitude quaternion. The simulation was based on a detector model intended to represent a family of detectors. The detector was modeled as a 512 x 512 array, 25µm pitch, F/#1.2 optics, and a 30-degree field of view. The detector efficiency was modeled as 35%, with the noise set to a dark current of 700 e-/s and read noise of 400 e-/s. Figure 2. Histogram of sin2(q) of stars’ angular separation; q, is nearly flat, leading to an efficient search algorithm. Given stars at positions ri and rj, the sorted array Y of angular separations uij is calculated from: uij = sin 2 (! ij ) = ri " r j 2 Results of the lost-in-space algorithm testing are shown in Figure 3. Both the cross boresight distribution peaks (Figure 3, top left) and the about boresight distribution (Figure 3, top right) show that the most probable error is fairly low: about 5 arcsec for the cross boresight error and 10 arcsec for the about boresight error. The shapes of the error distributions are similar, but the cross boresight distribution becomes negligible at 30 arcsec, whereas the about boresight tails off about 120 arcsec. What this tells us is that there should not be any significant error above 30 arcsec in the cross boresight, nor above 120 arcsec in the about boresight. (3) The complementary arrays I and J hold the star indices for each uij in Y. A straight-line approximation uij maps the ij indices in Y back to their uij values and is used to form the k-vector. In practical terms, identifying a star pair becomes a matter of determining the angular separation between Seng 4 19th Annual AIAA/USU Conference on Small Satellites Figure 3. Lost-In-Space algorithm testing: Cross Boresight Error (bottom left) and Error Distribution (top left), and About Boresight Error (bottom right) and Error Distribution (top right). FAR-MST Algorithm – Velocity and Attitude typically be a small fraction of a second. A star will then be projected into the focal plane s of the imaging array using the perspective equations: Fast angular rotation rates pose significant problems for star trackers in general. A stationary tracker would record stars as nearly point sources, but a rotating platform tends to spread or streak the image across several pixels in a line or curve. These effects can be seen as a function of increasing rotational motion in Figure 4. Because the motion of the sensor is large compared to star parallax or star motion, these perturbation effects are neglected in our treatment. sx = f • where f is the camera focal length (in an ideal camera model) and rz is the distance along the camera boresight direction. Differentiating this and using the expression for the motion of the axis of a torque-free rigid body, the expression for the motion of the stars in the plane of the focal array due to the angular velocity is derived: (4) !• $ ! #sx & = # rx ry / f #• & "( f + ry2 ) / f "sy % A simplifying assumption has been made: that during any given frame capture the angular rate would remain nearly constant, because the exposure time would Seng (5) r sy = f y rz The apparent motion of the star at position r, measured in the reference plane of the detector rotating with angular speed ", is: r =! "r rx rz 5 '( f + rx2 ) / f '(rx ry ) / f !( $ ry $# x & &( rx %# y & #"( z &% (6) 19th Annual AIAA/USU Conference on Small Satellites Figure 4. Star streak patterns caused by rotation of imager, shown with increasing rotation rate left to right. • The solution proceeds from the fact that the change in The crux of the issue lies at estimating or measuring s • • the motion, r , is by definition orthogonal to " (Eqn 4). at several pixels in the image. Estimating s, by definition, involves knowing the magnitude and direction of velocity at any given pixel in the image. The magnitude of the velocity is proportional to the length of a star streak in the image – but high noise may cause dim streaks to disappear, making an accurate determination of length difficult. Also, in considering only a single image, there is an inherent ambiguity in the direction of the rotation. ! If this vector is normalized and called v , we can take a ! set of measurements of v and find the spin-axis direction that is most orthogonal to the set of measurements according to: # Our fast angular rate algorithm solves this problem in three steps. First, raw star field images are processed using two-dimensional, steerable Gaussian filters to detect star streaks caused by rotation of the star tracker and determine their orientation. Second, from these streaks, an estimate of the direction of rotation is made, noting that there is still an ambiguity in the sign of the direction. Lastly, two subsequent exposures are utilized in order to: a) remove the ambiguity in the sign of the direction, and b) determine the magnitude of the spin. " " !,v i 2 $ $% min (7) Knowing the spin axis defines the attitude of the star tracker. Simulation Results: FAR-MST Algorithm The FAR-MST algorithm was tested using 10,000 random angular velocities between 5 and 20 degrees/sec. The results are shown below in Figure 5 and Figure 6. Figure 5 shows the spin axis error distribution, which demonstrates that the error is very Figure 5. Spin Axis Error Distribution. Seng 6 19th Annual AIAA/USU Conference on Small Satellites Figure 6. Spin Magnitude Error Distribution. small (within about 2.5%) 65% of the time. Above 30% error, the error distribution is essentially constant, corresponding to a failure of the algorithm and the ensuing random result. simulation environment has been developed to test algorithms demonstrating lost-in-space and fast angular rate capabilities. The low signal-to-noise ratio typical of star field snapshots taken while rotating at high angular rates poses a significant challenge which these algorithms overcome to a great extent. The Spin Magnitude Error Distribution (Figure 6) is essentially Gaussian with the addition of a spike at –100%. This corresponds to a correct determination of spin axis and magnitude, but with the wrong polarity. The extreme high error cases likely correspond to occasions where section of the algorithm determining the spin axis failed. Spikes at ±200% represent the sum of the rest of the errors outside the graph. The successful development of FAR-MST will provide microsatellites with a more viable alternative for attitude determination, providing the level of capability required for most microsatellite missions in a package that is more consistent with their overall goals, in terms of mass, volume, power consumption, and cost. In general, it has been found that the spin axis section of the algorithm fails where the visible star field contains one or more short streaks grouped tightly together. Since this is a known condition, there are several possible approaches to rectifying this behavior: 1) increase integration time, generating longer streaks; 2) curve fit, creating longer streaks; or 3) collect images from two orthogonal fields of view. These approaches are actively being pursued. The team is currently engaged in two Phase II efforts – a Small Business Technology Transfer (STTR) contract with the Missile Defense Agency (MDA) for development of the basic Miniature Star Tracker (MST), and a Small Business Innovation Research (SBIR) contract with the Air Force Research Laboratory (AFRL) for development of the additional features to enable the fast angular rate version (FARMST). At the completion of these two contracts, AeroAstro expects a fully functional flight prototype star-tracker capable of providing microsatellites with accurate position, attitude, and rotational velocity determination at a cost low enough to enable widespread incorporation. AeroAstro is actively looking for flight opportunities to perform an on-orbit demonstration of the technology. CONCLUSION AeroAstro’s Fast Angular Rate Miniature Star Tracker (FAR-MST) is an optical-based system that uses image processing of star fields viewed from the satellite to determine ephemeris information. A star tracker Seng 7 19th Annual AIAA/USU Conference on Small Satellites ACKNOWLEDGEMENTS 5. AeroAstro wishes to thank AFRL and the Program Manger at AFRL, Mr. Jeff Ganley, for sponsorship and funding under contract FA9453-04-M-0331. Also gratefully acknowledged is the effort of our team members at the MIT Space Systems Laboratory, Dr. Raymond J. Sedwick and graduate research assistant Kara Huffman. Accardo, D. Rufino, G. “Brightness-Independent Start-Up Routine For Star Trackers.” IEEE Aerospace Electronic Systems, vol. 38, No. 3, pp. 813-823, 2002. 6. Motari, D., Romoli, A., Difesa, A., 2002. “StarNav III: A Three Fields of View Star Tracker.” In: IEEE on Aerospace Conf. Proc., pp. 47–57, 2002. 7. Birnbaum, M. “Spacecraft Attitude Control Using Star Field Trackers.” Acta Astronautica, Vol. 39, No. 9-12, pp. 763-773, 1996. Padgett, C., Kreutz-Delgado, K.. “Grid Algorithm for Autonomous Star Identification.” IEEE Aerospace Electron. Systems 33 (1), 202–213, 1997. 8. Eisenmann, A. and Liebe, C.C. “Operation and Performance of a Second Generation, Solid State, Star Tracker, The ASC.” Acta Astronautica, Vol 39, No. 9-12, pp. 697-705, 1996. Clouse, D.S., and Padgett, C.W. “Small Field-ofView Star Identification Using Bayesian Decision Theory”. IEEE Aerospace Electron. System 36 (3), 773–783, 2000. 9. Accardo, D. and Rufino, G.,. “Star Field Feature Characterization for Initial Acquisition by Neural Networks.” In: IEEE on Aerospace Conf. Proc., pp. 2319–2330, 2002 REFERENCES 1. 2. 3. 4. K. Anderson “Stellar Atitude Determination Device Design.” University of Colorado, Department of Mechanical and Aerospace Engineering, 2004. 10. Hong, J., Dickenson, J.A., “Neural-Network-Based Autonomous Star Identification Algorithm.” J. Guidance Control Dynam. 23 (4), 728–735. 2000. Zheng, S, Liu, J. and Tian, J.W. “An Efficient Star Acquisition Method Based on SVM with Mixtures of Kernels.” Pattern Recognition Letters, Vol. 26, pp. 147-165, 2005. Seng 8 19th Annual AIAA/USU Conference on Small Satellites