6
Pergamon PII:S0967-0661(96)00191-8 Control Eng. Practice, Vol. 4, No. 12, pp. 1735-1740, 1996 Copyright © 1996 Elsevier Science Ltd Printed in Great Britain. All rights reserved 0967-0661196 $15.00 + 0.00 A FAST AUTONOMOUS STAR-ACQUISITION ALGORITHM FOR SPACECRAFT B.M. Quine* and H.F. Durrant-Whyte** *Robotics Research Group, University of Oxford, Oxford, OXI 3PJ, UK and Matra Marconi Space Ltd (UK) (ben @ robots.oxford, ac. uk) **Department of Mechatronics, University of Sydney, Sydney, NSW 2006, Australia (Received March 1996; in final form May 1996) Abstract: An algorithm capable of real-time autonomous star recognition from large star catalogues, with minimal storage requirements, is described. The algorithm is based on a locally optimised binary tree-search technique that systematically divides the search space until a small set of stars is left in the identification set. Simulation results are presented to verify that the search algorithm can always identify the correct star, even in the presence of bounded measurement noise, not necessarily uniquely, but at least to within a small set of possibilities. Implementing the algorithm in Matlab on a 486DX25 PC, a search time of less than 100ms for a 20074-entry star catalogue is demonstrated. Keywords: Autonomous navigation, spacecraft, startracker, attitude determination. 1. INTRODUCTION Star observations are widely used by spacecraft as a primary means of attitude determination. Using sensitive star-tracking instruments (startrackers) high- accuracy pointing control can be achieved to allow precise surveying, image taking and narrow-band communication by the spacecraft systems and payload. Star observations are usually made by a CCD (charge coupled device) camera generating a 2D image of a small section of the sky (Wertz, et al., 1978). Current startracker systems process the data generated by the CCD using fairly crude thresholding and tracking algorithms (Procopio, 1990). The initial position is estimated by comparison with other information in conjunction with a small star catalogue, or by ground- based examination. The advent of modern "radiation hard" digital signal processing (DSP) and computer components will allow the implementation of much more sophisticated algorithms in flight systems (Parkes, et al., 1994). Of particular interest are techniques that allow autonomous attitude acquisition on-board the spacecraft. Several recent papers describe sequential pattern- matching approaches to star-identification (Skarus, et al., 1992; Cope, 1994). This paper discusses a fast, non-sequential star-identification technique that allows robust real-time initial attitude acquisition using star observations made from any spacecraft orientation without ground station intervention or analysis. The algorithm is based on a binary tree search technique and uses star intensities and nearest° neighbour separation features for identification. With knowledge of feature observation accuracies, the search algorithm can be constructed so that the correct star will always be identified, if not uniquely, then to within a small set of possibilities (assuming that the features are correctly identified). A binary tree search provides a technique for rapidly identifying items from large lists using a minimal amount of processing and storage (Uhlmann, 1992). The algorithm starts with the complete set of possibilities. The set is then sequentially halved by 1735

A fast autonomous star-acquisition algorithm for spacecraft

Embed Size (px)

Citation preview

Pergamon

PII:S0967-0661 (96)00191-8

Control Eng. Practice, Vol. 4, No. 12, pp. 1735-1740, 1996 Copyright © 1996 Elsevier Science Ltd

Printed in Great Britain. All rights reserved 0967-0661196 $15.00 + 0.00

A FAST AUTONOMOUS STAR-ACQUISITION ALGORITHM FOR SPACECRAFT

B.M. Quine* and H.F. Durrant-Whyte**

*Robotics Research Group, University of Oxford, Oxford, OXI 3PJ, UK and Matra Marconi Space Ltd (UK) (ben @ robots.oxford, ac. uk )

**Department of Mechatronics, University of Sydney, Sydney, NSW 2006, Australia

(Received March 1996; in final form May 1996)

Abstract: An algorithm capable of real-time autonomous star recognition from large star catalogues, with minimal storage requirements, is described. The algorithm is based on a locally optimised binary tree-search technique that systematically divides the search space until a small set of stars is left in the identification set. Simulation results are presented to verify that the search algorithm can always identify the correct star, even in the presence of bounded measurement noise, not necessarily uniquely, but at least to within a small set of possibilities. Implementing the algorithm in Matlab on a 486DX25 PC, a search time of less than 100ms for a 20074-entry star catalogue is demonstrated.

Keywords: Autonomous navigation, spacecraft, startracker, attitude determination.

1. INTRODUCTION

Star observations are widely used by spacecraft as a primary means of attitude determination. Using sensitive star-tracking instruments (startrackers) high- accuracy pointing control can be achieved to allow precise surveying, image taking and narrow-band communication by the spacecraft systems and payload.

Star observations are usually made by a CCD (charge coupled device) camera generating a 2D image of a small section of the sky (Wertz, et al., 1978). Current startracker systems process the data generated by the CCD using fairly crude thresholding and tracking algorithms (Procopio, 1990). The initial position is estimated by comparison with other information in conjunction with a small star catalogue, or by ground- based examination.

The advent of modern "radiation hard" digital signal processing (DSP) and computer components will allow the implementation of much more sophisticated algorithms in flight systems (Parkes, et al., 1994). Of particular interest are techniques that allow

autonomous attitude acquisition on-board the spacecraft.

Several recent papers describe sequential pattern- matching approaches to star-identification (Skarus, et al., 1992; Cope, 1994). This paper discusses a fast, non-sequential star-identification technique that allows robust real-time initial attitude acquisition using star observations made from any spacecraft orientation without ground station intervention or analysis. The algorithm is based on a binary tree search technique and uses star intensities and nearest° neighbour separation features for identification. With knowledge of feature observation accuracies, the search algorithm can be constructed so that the correct star will always be identified, if not uniquely, then to within a small set of possibilities (assuming that the features are correctly identified).

A binary tree search provides a technique for rapidly identifying items from large lists using a minimal amount of processing and storage (Uhlmann, 1992). The algorithm starts with the complete set of possibilities. The set is then sequentially halved by

1735

1736 B.M. Quine and H.F.

asking a series of logical equalities (for example: Is X>Y?), until only a small number of elements remain. It requires the storage of a single real value and integer question index for each star in the catalogue. Identification searches may then be carried out using a tree in a time similar to a simple two-entry comparison operation. For a catalogue containing n items, the resulting identification routine may be executed in a time proportional to loge(n), rather than a time n (taken by more conventional approaches).

The star-identification algorithm is developed in several parts. First, the types of star features that can be used for identification are described. A method to estimate the required size of the field of view is discussed. The process of building, and then locally optimising, a binary search tree is described. Finally, in cases of incomplete star identification, methods that might be further used to identify the exact star match are outlined. Results are presented for a large (33342 entry) star catalogue using a pattern of three stars for the identification of six features. Finally, the advantages of the proposed search algorithm, and possible extensions to the work, are discussed in the concluding remarks.

Durrant-Whyte

made, given a particular size of star-identification group (target star and nearest neighbours).

Since the magnitude and separation measurements are quantitative, each independent measurement may be used several times by a binary tree search, to subdivide a set of stars. The number of times the same question may usefully be asked is limited by the accuracy to which measurements can be made. A symmetry state is needed with groups of three stars or more to descibe completely the topology of the group. For a three-star group the state is binary--equivalent to the difference between one group and its mirrored projection. The number of permutations of the state increases with star-group size as more reordering transformations become possible.

The number of stars that may be used in the identification process is limited by the field of view of the camera providing the data. For reliable star identification, the field of view must be wide enough to guarantee that there is always at least one complete set of identifiable stars in the field of view for any spacecraft orientation. A method of identifying the limiting fields of view is discussed in the next section.

2. STAR PATTERN IDENTIFICATION

Stars in the field of view may be identified by either their geometrical relationship with other stars, or some characteristic of the light they emit. In practice, observations are usually made by some type of monochrome CCD camera, and so only intensity measurements are available. There is rarely any assessment of the spectral type of starlight.

Without a reference frame (before star identification), the geometrical relationships of a group of stars may be described in terms of separation distances between star neighbours and a symmetry state describing the order of the stars within the group. The algorithm described here identifies a particular star using the separations and the magnitudes of its nearest neighbours. The number of independent measurements that can be made is dependent on the number of stars considered by the identification algorithm. Table 1 summarises the possible measurements that can be

Table 1 Number of star-identification measurements bv star-~rouo size

No. Stars No. No. No. Total Magnitude Separation Symmetry Measures Measures Measures

1 1 0 0 1

2 2 1 0 3

3 3 3 1 7

4 4 6 1 11

3. REQUIRED FIELD OF VIEW

The CCD imaging surfaces of startracker cameras have fairly typical physical characteristics, usually about 10mmxl0mm with approximately 250 to 500 pixels across each side (Purll, et al., 1991; Verhoeff, 1994). The accuracy of the device is therefore roughly determined by the field of view of the camera - - narrower views giving higher pixel resolutions. By contrast, the autonomous star-identification problem is easier to solve with a larger field of view camera, as more stars may be matched. The need for a wider field of view must therefore be balanced with the pointing accuracy requirements of the device. Although knowledge of the field of view size is not strictly required to build a tree-search algorithm, it does have direct implications on how many stars are available for identification and, consequently, on how many stars it is sensible for the identification process to consider.

A Monte-Carlo simulation is used to assess these trade-offs. The aim is to estimate how large the field of view should be to guarantee enough stars to make an identification possible in any part of the sky. Random sky locations are created by generating random coordinates in a 3D box, rejecting the points falling outside a unit sphere. The points are then projected onto the surface of the unit sphere, creating a truly random celestial position. The number of stars within a ~particular distance of this reference point are identified, using first another fast tree-search routine, returning all the stars in a 3D box containing the field of view, and then a truncation routine removing any star not within the required distance from the centre. The search is repeated many times to build up

Fast Autonomous Star-Acquisition Algorithm

statistics about the number of stars in the field of view. Results are presented in Section 7.

4. BUILDING A SEARCH TREE

To exploit the advantages of a binary tree search, a tree structure must be computed off-line in advance, then stored in an efficient and easily recoverable way. The rules used by the algorithm described here are as follows:

1737

Set snlit about mid element Other

Feature a ¢ Spaces ~11 ~ i ~ / Identification Set .

. . .mid-1 mid mid+ l m id+2 . . .

Observation with Absolute Error Bounds

Feature Space

A fixed tree structure is dictated, that divides the set of identification possibilities exactly in half and then successively in half again all the way down to the roots of the search tree. Where the set contains an odd number of identification possibilities, the set is always split so that the largest section is in the lower half of the tree. The mid element is defined as the largest element in the lower half of the tree. The particular conventions used here are arbitrary. The important point is that the search algorithm can reproduce the tree structure using these rules without resorting to a stored table describing which stars fall on either branch of the tree.

Set split about mid. mid+l elcm¢nt Average Other

Feature a ¢ Spaces ~11 . . . . .

~ / / / ~ o n _ ~ _ _ _ _ ~ Feature Space

... mid-1 mid m i d + l mid+2 ...

Observation with Absolute Error Bounds

Fig. 1. The division of the search tree in a particular feature space

The particular feature to be used to split the tree at each branch point and the real value (in the feature space) that correctly splits the set (according to the previous conventions) must be generated and stored. This requires the storage of the particular feature index and a comparison real value for each branch in the tree (n-1 branches). The comparison value is calculated by ordering the remaining set of identification possibilities in the particular feature space. It may then be chosen as any real value in the space between those of the mid element and the mid+l elements.

The exact choice of the comparison value was made as the average feature value of the two elements, so that when searching the tree with inexact star observations, there is the clearest division of the tree (Fig. 1).

The set of identification possiblilites (successively reordered until the roots of the tree are reached) must also be restored, so that the correct element is identified after all the split criteria are considered. In practice, each star in the identification set is labelled (using the GC numbering system), and it is the re-ordered labels that are stored. This requires the extra storage of the labels, but allows any other information (such as absolute attitude) to be stored in a more conventional order.

The slow re-ordering of the search sets and the calculation of split questions that divide the search path need to be computed only once. The information is embedded into a simple structure by following these simple encryption rules. The search algorithm then only requires the use of these rules to access rapidly any search path. This allows extremely fast search times. Rather than comparing an observation against every star in the catalogue, the search routine simply asks the relevant series of distinguishing questions that halve the search space (Fig. 2).

For an n-star binary tree, the number of questions can be shown to be proportional to log2(n ). Additionally, this type of search system can account for bounded observation error by ensuring that both branches of the search tree are searched if the comparison value and the observed value are too close together to differentiate them accurately (Fig. 3). This causes more identification possibilities to be returned, but ensures that the correct star is always in the final set.

D N1N1NDDDN1D / / Nl N DN \ \

NNI N / / []

Fig. 2. Successive splitting of the identification set to find a unique match.

1738 B.M. Quine and H.F. Durrant-Whyte

/ / \ \ N NNON 2 0 O D D

/ / / /

\ \ \ \

/ /

Fig. 3. Several branches of the tree are searched to make an identification to within a small set.

5. LOCAL OPTIMISATION OF THE TREE

The success of exactly determining the correct star pattern must depend not only on the features considered, but also on the order in which they are used. For large star catalogues it is impractical to find an optimal global solution--taking an excessive amount of computer time. This paper adopts a local optimisation approach, allowing search-tree formation in a time proportional to n x q (where n is the number of stars in the map and q is the number of features) allowing a near-optimal solution to be found for large star catalogues.

For each possible feature a bounding absolute error in the measurement is estimated. At each branch of the tree, the comparison value for each of the possible feature is calculated, and the number of stars falling within the absolute error bounds of this value is generated. The algorithm then selects the feature that minimises the number of stars falling between these error bounds, thereby locally ensuring the best possible division of the remaining star set. This approach minimises the number of times that the search algorithm is unable to split the search path and must therefore search both sides of the remaining tree.

6. FINAL STAR SELECTION

As previously discussed, the tree may not be able to differentiate between two stars when the absolute observation error is considered. The search algorithm may therefore return more than one identification possibility for a particular star. This may be caused by the fact that the tree is not globally optimised, or may simply be because, given the measurement error bounds, it is not physically possible to identify a particular star uniquely, given the local star distribution.

If more than one star is returned, then further processing will be required to make a final identification. Possible approaches to identify the best match are to:

• Run the identification search on several stars in the field of view, and select the

identification possibilities that lie in the same part of the sky. Carry out a local sky match by examining the separation errors (ac tua l - p r e d i c t e d ) for all the stars in the field of view. Run a bank of attitude estimators on the different identification options, and identify the correct star selection by the estimator that performs the best. If the field of view is moving, wait until the next frame for a unique identification.

The methods outlined above may also be used to validate the algorithm's star identification. If an object is mis-identified as a star, or a nearest star neighbour is skipped, then a false identification will occur. These events can be minimised by building and searching other search trees that assume these mis-matches. Although this requires further storage, it would make the real system far more robust.

7. RESULTS

A star catalogue (Roman and Warren, 1993) containing information about 33342 stars was obtained from NASA internet site NDADSA.GSFC.NASA.GOV, and includes stars down to a magnitude of +9. This set was used to generate the true magnitude and neighbour separation data required to build the search tree. It was assumed that star observations would be made by a high- accuracy CCD-type startracker, capable of observing stars to magnitude +7.4, making these observations to within _+0.25 magnitudes and separation measurements to __.2 arcsecs (after centroiding). Simulations were therefore carried out using a truncated (20074-star) set of stars, brighter than magnitude +7.4.

Monte-Carlo simulation runs were used to determine what instrument field of view would be required for robust identification. Figures 4 and 5 show histograms of star distributions for 10000 randomly generated sky positions for 5 ° and 7 ° diameter fields of view. They indicate that a 7 ° field of view has at least 5 stars brighter than magnitude +7.4 in the field of view at all times. For the 5 ° field of view there were 3 cases where no stars were observed. This indicates the likelihood that there is a central star in the larger 7 ° field of view.

A three-star (target star + two nearest neighbours) recognition strategy was adopted, using three separations and three magnitudes for star identification. Strategies including the symmetry state were tested, but were found to have little significant improvement in performance (local optimisation produced a tree with the symmetry state effecting only 15 of the 20074 decisions in the tree). For a 20074-star catalogue, 15 binary questions are required to resolve the set completely. A three-star

1400

1200 I 1000

4IX

2 ~

10 15 20 s tm number density

Fast Autonomous Star-Acquisition Algorithm

25 30 35

150(X

100OG

50OO

o o ~ ~ ,'o ,~ 2 4 Nurr, b ~

1739

Fig. 4. A histogram showing the number of stars in a random 5 o diameter field of view.

Fig. 6. A histogram showing the number of stars in the final identification set.

3OO

2OO

100

10 20 30 40 50 star number demfily

Fig. 5. A histogram showing the number of stars in a random 7* diameter field of view.

identification strategy was chosen because a two-star approach does not provide enough information to form the requisite number of binary questions, given the stated feature observation accuracies. A locally optimised search tree was constructed using routines developed in the MATLAB programming environment. A simple cascaded search routine (recursively calling itself at each tree branch) was also developed. Using a 486DX25 PC with the routines coded in MATLAB, search times were less than lOOms.

The tree was tested by sequentially searching for every star in the catalogue - - the measurements simulated by taking the data used to build the tree and corrupting it with random noise (within the absolute limits specified). The results are shown in the form of a histogram (Fig. 6). In all cases the correct star was successfully identified as a possible match. In 98.7% of cases, the correct star was identified within a set of no more than three. In 72% of cases, the star was uniquely identified. In the very worst case, the

algorithm was only able to identify the correct star to within a set of 8 stars. It was further possible to improve the probability of "best guess" identification by building a search tree that selected a split value at the mid point. This had the effect of ranking the stars in the final identification set, and returning them in order of likelihood, but at the expense of generally larger identification sets.

8. CONCLUSIONS

The algorithm and simulation results presented here describe excellent identification performances for a high-accuracy startracker system. Other related research using a lower-accuracy ground-based star camera system (Quine and Durrant-Whyte 1996) has demonstrated practical identification performances from real sky images using a similar algorithm.

These types of algorithm provide a fast, robust method of identifying star patterns within large star catalogues. They can be tightly coded and require only a moderate storage capability when compared with more traditional methods. They are therefore particularly suitable for use on-board a spacecraft. Complete sky coverage using large sky catalogues and real-time operation is possible, with obvious advantages to spacecraft reliability and autonomy.

The approach can also be easily extended to correct for feature mis-identification, by building trees assuming various mis-identification events and running several searches in tandem. The correct match could then be identified from a union of the returned sets using the methods described in Section 6.

Future work will focus on the integration of derivatives of this algorithm with other software tools in development: fault-detection systems, data-fusing attitude estimators and accurate spacecraft models (Quine and Durrant-Whyte 1995a,b).

1740 B.M. Quine and H.F. Durrant-Whyte

REFERENCES

Cope, P. (1994). Wide-Angle Autonomous Starsensor for satellite use. In: Proceedings 2nd ESA spacecraft GNC Conference, WPP-071, Noordwijk, The Netherlands.

Parkes, S., A. Gillions and S. Price (1994). Programmable DSP Processor Systems for Space Applications. ESA Workshop on DSP for Space Applications, Noordwijk, The Netherlands.

Procopio, D. (1990). Modular Star Sensor (MOSS). Tech. Rep. 3065, Officine Galileo, ESA- CR(P) 3065, Noordwijk, The Netherlands.

Purll, D., N. Gradmann and M. BoUner (1991). The Rosat Star Tracker - - Flight Experience. In: Proceedings 1st ESA Spacecraft GNC Conference, Noordwijk, The Netherlands.

Quine, B. M. and H. F. Durrant-Whyte (1995a). An Improved Navigation Algorithm for On- Board Attitude Determination. In: Proceedings of AAS Rocky Mountain Guidance and Control Conference, AAS 95- 011, Colorado, USA.

Quine, B. M. and H. F. Durrant-Whyte (1995b). Implicit Jacobians for Linearised State Estimation in Nonlinear Systems. In: Proceedings of American Control Conference, Seattle, USA.

Quine, B. M. and H. F. Durrant-Whyte (1996).'Rapid Star Pattern Identification. In: Proceedings of SPIE lOth Annual International Aerosense Symposium, SPIE proceedings Vol. 2739, USA.

Roman, N. and W. Warren (1993). The General Catalogue of 33342 stars for the Epoch 1950. NASA Internet site NDADSA.GSFC.NASA.GOV, Doc. No. NSSDC/WDC-A-R&S 93-29, USA.

Skarus, W., D. Ratzsch and Ch. Elstner (April 1992). A Star Pattern Recognition Sensor (SPRS) of High Accuracy--A Contribution to New Possibilities of Autonomous Attitude Determination. In: Proceedings of ESA Satellite Symposia, Munich, Germany.

Uhlmann, J. (March 1992). Algorithms for multiple- target tracking. American Scientist, Vol. 80.

Verhoeff, P. (1994). Development and Pre- qualification of a medium accuracy, wide Field Pattern Recognition Starsensor. In: Proceedings 2nd ESA Spacecraft GNC Conference, WPP--071, Noordwijk, The Netherlands.

Wertz, J. (1978). Spacecraft Attitude Determination and Control. Kluwer Academic Publishers, ISBN 90-277-1204-2.