Abstract

It is a challenging task for a star sensor to implement star identification and determine the attitude of a spacecraft in the lost-in-space mode. Several algorithms based on triangle method are proposed for star identification in this mode. However, these methods hold great time consumption and large guide star catalog memory size. The star identification performance of these methods requires improvements. To address these problems, a star identification algorithm using planar triangle principal component analysis is presented here. A star pattern is generated based on the planar triangle created by stars within the field of view of a star sensor and the projection of the triangle. Since a projection can determine an index for a unique triangle in the catalog, the adoption of the -vector range search technique makes this algorithm very fast. In addition, a sharing star validation method is constructed to verify the identification results. Simulation results show that the proposed algorithm is more robust than the planar triangle and -vector algorithms under the same conditions.

1. Introduction

Accurate attitude information is essential for spacecraft autonomous navigation. This plays a very important role in spacecraft control systems. Many different strategies can be employed to determine the attitude. One of the most widely used attitude measurement devices is a star sensor. Other sensors for determining attitude include a sun sensor and magnetometer [13]. A star sensor can provide precision attitude without prior information. It obtains the attitude directly from the stars within its field of view (FOV). As long as at least two stars in the FOV are identified in the predefined onboard star catalog, the attitude of the spacecraft can be determined using the TRIAD algorithm [4].

A classic star sensor works in two basic modes. When it is first activated or after a system failure, it has no prior information regarding the attitude. This is called the “lost-in-space” (LIS) mode. Once the attitude is determined, the star sensor changes to the tracking mode. It employs previously obtained information to predict the current attitude. This paper addresses attitude determination in the LIS mode. The most important function for a star sensor to determine the attitude is star identification. Star identification in the LIS mode is much more difficult than in the tracking mode [58]. As a result, there are many different algorithms for star identification within an FOV (see review paper [9]). We focus our research on triangle algorithms. In this study, we explore a modified triangle algorithm employing a highly compressed feature catalog memory. It provides a significant improvement in terms of star identification time and rate.

The first triangle algorithm was developed by Liebe [10]. Liebe stored guide triangles that are formed by guide stars. These are used for matching observation triangles within the FOV. If the guide triangle matches any observation triangle, then the star identification succeeds. Even though only 1,000 stars were selected from the Smithsonian Astrophysical Observatory (SAO) [11] star catalog to form the guide triangles in this algorithm, there are still 185,000 star triangles. The recognition rate for this algorithm is 94.6% and the all-sky star identification average time is about 10 s.

Based on the traditional triangle algorithm, Mortari et al. proposed a pyramid algorithm [12] that matches four stars by ordering the angular distance between the stars to form an index. The adoption of the -vector range search technique makes this algorithm fast. This algorithm can estimate the frequency of false matches, but no statistical analysis is given for the errors in the four stars’ angular distance measurements.

Then, Cole and Crassidis made some changes in terms of feature selection for planar triangles method. The triangle is a combination of three stars, as shown in Figure 1. The area and polar moment of the triangles are used to determine what triangle is being examined by the star sensor [13]. Using these two features, the number of similar solutions will be rapidly reduced. Unlike the pyramid algorithm, this algorithm can give precise statistical analysis of the polar moment or area errors and can thus provide an accurate range for the observation triangles matching the catalog triangles. However, there are certain drawbacks to this algorithm. A large memory is required to hold the triangle data. For example, when the star sensor has an 8 × 8-degree FOV, the area and polar moment calculated can generate a guide star catalog of 167 MB. In addition, this algorithm is affected by star positional noise in the image.

Yang et al. developed a -vector star identification algorithm [14]. The Quine method [15], which can determine a star with only one angular distance triangle, is assimilated in this algorithm. The three edges of the triangle are used to generate a parameter . Comparison of the value of the parameter of the observation triangle with a triangle in the catalog can identify the star. Considerable time and memory can be saved with this algorithm. However, it also has some drawbacks. Because the feature triangle is a combination of the guide star and the two brightest stars around the guide star, the star identification rate is easily affected by magnitude noise. Furthermore, if the stars within the star sensor FOV cannot form a triangle corresponding to a triangle in the catalog, the algorithm will not work.

As mentioned previously, accurate error analysis, storage, speed, and the ability to manage noise are the main problems with traditional triangle star identification methods. In this study, we develop a star identification algorithm called the planar triangle principal component analysis (PTP) algorithm that performs well against star positional noise and magnitude noise. The algorithm, which incorporates the advantages of the planar triangles and -vector algorithms, can calculate the range of the measurement error precisely and identify a star faster. It creates planar triangles from the stars in the FOV similar to the planar triangle algorithm and then employs the three sides of the triangles to build vectors projected on the projection line to compute the projection as in the -vector algorithm. The stars selected to construct the planar triangle are satisfied with a specific condition that is more flexible than in the -vector algorithm. Thus, less memory is needed to store the planar triangles in the catalog database. The number of reference triangles is sufficient to be used for matching the observed triangles in the FOV of the star sensor. The adoption of the -vector range search technique makes the proposed algorithm very fast. In addition, the proposed sharing star validation method can effectively verify the identification results. In simulations, using the stars brighter than magnitude 6.0 Mv and 10 × 10-degree FOV, our algorithm obtains an identification rate of 96.79% from the statistics of 10,000 random sensor orientations at a positional noise level of 1 pixel and a magnitude level of 0.5 Mv.

The rest of the paper is organized as follows. In Section 2, the algorithm is described in detail, including guide star catalog construction, matching, star identification, and identification result validation. In Section 3, a simulation and an analysis of the results are provided. These focus on discussing the number of slave stars in guide database construction and comparing the robustness of the different algorithms (our PTP algorithm, -vector algorithm, and planar triangle algorithm) with regard to the algorithm parameters, including positional noise, magnitude noise, and the number of stars in the FOV. We draw our conclusion in Section 4.

2. Algorithm Description

The central concept of our PTP algorithm is that the planar triangles composed of the stellar unit vectors in the star-sensor-body coordinate system and the celestial coordinate system are congruent. The concept behind our PTP algorithm is to use the “three sides equal in congruent triangles” principle to recognize the pattern of the stars. Matching the three sides of the triangles simultaneously requires significant computation and results in a redundant match. However, by taking the three sides of the triangle as a three-dimensional vector and using the principal component analysis (PCA) algorithm [16] to compute the projector line, all planar triangles are projected to the projector line to compute the projections. By using the projection of the triangle in the image to find a matched triangle in the guide star database, the computation effort is greatly reduced. The simple diagram of the projection geometry is shown in Figure 2.

Our PTP algorithm has three steps. First, the guide database is constructed using PCA to train the planar triangles. Second, the projection of the planar triangles is computed to search for the best candidate triangle in the guide database. The third step validates the star identification and reports the identification result or failure. The functional steps of our PTP algorithm are shown in Figure 3.

2.1. Guide Database Construction

The guide database consists of two parts: reference catalog and feature pattern database. The basic information (ID, apparent position, and magnitude) of the stars is stored in the reference catalog. The stars are selected from the standard SAO Star Catalog J2000 [11]. The SAO catalog contains the information of 258,996 stars, including equatorial coordinates (including right ascension and declination), B1950 positions, proper motions, and apparent magnitude of the stars. The catalog is sorted by increasing ID number. For celestial navigation, we focus on the information about the equatorial coordinates and apparent magnitude of the stars. Given the attitude and the optical parameters of a star sensor, it is convenient for us to simulate a star image by using the catalog.

Here we use a wide, 10 × 10-degree FOV and assume that the star sensor is capable of capturing stars brighter than 6.0 Mv. A total of 5103 stars were picked from the star catalog. The pattern database creation consists of three steps: (1) feature triangle selection; (2) computation of the projection line for all of the feature triangles; (3) pattern database creation.

(1) Feature Triangle Selection. As shown in Figure 4, , , and are three unit vectors to the stars within the FOV, allowing the sides of the planar triangle to be calculated bywhere denotes the 2-norm of a vector.

As mentioned previously, 5103 stars brighter than 6.0 Mv were selected from the standard catalog. We take these stars from the reference catalog as the master stars. As shown in Figure 5, the apparent position of the master star is considered the optical axis of the star sensor that extracts the stars in a 10 × 10-degree FOV. We define the extracted stars as slave stars. The distance between the master star and an arbitrary slave star within an FOV can be calculated using (2), denoted by . With the restriction of the circular field of view, the maximum angle between the master star and the slave star is 5°, and the value of is very small. We will migrate the star database to hardware such as DSP6701; however, double-type data occupy 8 bytes and float-type data occupy 4 bytes in DSP memory. Multiplying by 10000 can facilitate the calculation and we can store in float-type data in the DSP, which can save memory as well. To this end, 10000 can satisfy the requirements of calculation. Incorporating this, when the angle between the master star and the slave star is 5°, the value of is 872.8. For the simulated star sensor with resolution of 1024 × 1024, we choose 0.05° as a lower limit to avoid double star interference in star identification. Considerwhere denotes the master star’s unit vector to the stars within the FOV and denotes the slave stars’ unit vector to the stars within the FOV.

The rule for feature planar triangle selection is as follows. First, we pick the slave stars that satisfy from the FOV and sort them by the distance between the master star and the slave stars. Second, the four nearest slave stars from the master star, denoted by , and , are kept. The first nearest slave star is denoted by , the second nearest slave star is denoted by , the same criteria apply for , and so on. If there are less than four slave stars, they will all be kept. The four slave stars compose the planar triangles with the master star (denoted by ) as follows: , , , , and .

(2) Computation of Projection Line for All Feature Triangles. The arbitrary triangles constructed above can be uniquely identified by a vector denoted by , where . , and denote the three sides of the triangle, and when , denotes the arbitrary triangle’s index and denotes the total number of triangles. All the triangles constructed above can then compose a matrix: . The size of is (), where . Then, the PCA algorithm is applied to , with the following procedure.(1)Calculate the column mean of the matrix , where and .(2)Construct the zero mean matrix , where and .(3)Calculate the eigenvalue of the covariance matrix , where , and then take the eigenvector corresponding to the largest eigenvalue as the main component of the data’s direction. This is termed the “projection axis” in this paper.

(3) Pattern Database Creation. For any arbitrary triangle, the projection corresponding to the projection axis can be found by using where denotes the th triangle’s projection, .

Then, each triangle can be assigned a unique index value in the projection axis. The projections of the triangles are sorted in order to generate a -vector to locate a particular triangle in the pattern database. Table 1 presents a portion of this pattern database of the star triangle data matrix sorted in ascending order of minimum projection (). Columns 3–5 indicate the ID of the stars in the celestial sphere. Columns 6–9 represent the three sides of the planar triangle formed by the stars.

A spatial distribution projection of the triangles on the projection axis is shown in Figure 6. The triangle indices corresponding to the projections are shown in Figure 7. In Figure 6, we can see that the projection values of some triangular eigenvectors on the projection axis are very close. Actually, each triangle vector corresponds to a unique projection value. In Figure 7, we can see that some of the projections are very close. These close projections, corresponding to the triangles, will be taken as the candidate triangles in the star identification stage. Moreover, from Figures 6-7, it can be seen that the data points are too close. It means that the PCA algorithm cannot separate the planar star triangles well. However, the main function of PCA in this paper is used to reduce the dimension of the triangle vector. The three dimensions of the triangle vector are used to generate a projection value, which can be used for fast triangle matching combining with the -vector method and the three-side restriction of the planar triangles. Then, the validation method proposed validates the candidate matched triangles and makes the final identification of the stars.

2.2. Star Identification

Star identification consists of two steps. Step 1 focuses on obtaining the projection of the observed triangle and calculating an accurate projection deviation. Step 2 describes a quick solution to the triangle matching and star identification processes using the projection and projection deviation.

(1) Projection of Observed Triangle. Using the guide database constructing process, we can obtain the mean vector of all the corresponding triangle vectors in the database as well as the direction vector of the projection line. Given the arbitrary three star unit direction vectors within the FOV corresponding to the star sensor coordinates, denoted by , , and , we can calculate the three sides of a triangle that is a combination of these three stars as shown inThen, we can assume that the vector corresponding to the triangle is denoted by , and the projection of the triangle on the projection line can be found using The equation given is for the star sensor frame. It can be also used, however, in the Earth-centered inertial frame. To obtain a boundary for the measurement error, the standard deviation of the calculated projection can be calculated.

Since the projection is a nonlinear function of , , and , a linearization approach can be used to determine its variance. To compute the variance, the following 1 × 9 partial derivative matrix is evaluated by where

The partials with respect to , , and are given by

The partials with respect to , , and are given by

The unit direction vector of any star , corresponding to the star-sensor-body coordinate system, can be found using the standard coordinate transformation equation: , where is the unit direction vector of the star in the Earth-centered inertial coordinate system and is the direction cosine matrix. When measurement errors (a typical star sensor follows a nearly zero mean Gaussian white-noise distribution [17]) are removed, the probability of errors is concentrated on the direction of [18]. Then, the sphere containing that point can be approximated by a tangent plane [13], characterized bywhere denotes the th measurement and the sensor error is approximately Gaussian, which satisfieswhere denotes the variance of the star sensor noise and denotes the expected sensor error. Additional details of this model are given in [19]. Since the direction cosine matrix is unknown, we can substitute for [18], and then (11) can be reconstructed asAccording to (4) to (12), the variance of the projection can be calculated bywhere where denotes a 3 × 3 matrix of zeros and , , and are given by (12). Note that the matrices and cannot be evaluated at their respective true values; however, the errors that are generated by replacing the true values with the measured ones can be negligible compared with typical star sensor noise levels. Since the standard deviation is derived analytically, the range of the true projection can be determined precisely.

(2) Star Identification Procedure. In the star identification phase, we number the stars to be identified in an image. Then, planar triangles are constructed for the numbered stars. We take each numbered star as a master star and select stars that satisfy the feature triangle construction criteria from the remaining stars as slave stars. After constructing the planar triangles, we can calculate the three sides of the triangle by using (1) and can also calculate the projection of the triangle using (3). Owing to the influence of noise, there must be a projection deviation. The standard deviation of the projection, , can be found using (13). Then, we can confirm that the boundaries of the true value of projection are in the range , where . As this range is chosen to be the measurement projection times the standard deviation of the measurement noise, , the true measurement is expected to be within this range 99.7% of the time. After the range of error is determined, we can use the -vector method to quickly search and match in the pattern database. The -vector method works as follows.(1)Construct a linear equation , where is the -vector constant, is the slope of the -vector, is the projection, and is a function for the error. Each projection corresponds to a triangle in Table 1 where the maximum projection is denoted by and the minimum projection is denoted by . Then, the step of the length can be found usingand and can be given by(2)Compute the projection of the triangle in the star image, and then, the true value is assumed to satisfy the boundaries . We can then obtain the upper and lower limits of usingwhere denotes the lower limit of , denotes its upper limit, and .(3)Substituting and into the equation gives and .(4)The range is delimited by a lower index and a higher index :where and denote the index in Table 1. ConsiderObviously, all of the -vector values should be computed offline. One lower or higher limit of that is corresponding to a -vector value can be computed offline. We can generate a -vector search database. Table 2 shows a port of -vector search data. Column 1 indicates the limit index that is obtained by (17). Column 2 represents the -vector value corresponding to the limit index.

When the searching range is determined, we can compare the three sides of the observed triangle with the reference triangle(s) within the boundary. If the three side errors are within a small range, only one triangle will meet the criteria, and so the observed triangle will match the reference triangle, and the stars corresponding to the triangle will also match. If there is more than one triangle that meets the criteria, we store the candidate triangles and initiate the validation procedure.

2.3. Validation

With respect to all the candidate matched triangles, we store the IDs of the stars in the star image corresponding to the catalog as follows: , where denotes the IDs of the star in the star image, denotes IDs of the star in the catalog, and , where denotes the total number of possible identified star IDs parts. Since there are redundant triangles existing in some cases, is more than equal to the total number of stars in the star image. Then, we verify the identification result in the validation stage. The flow chart of the star identification and the validation is shown in Figure 8. From the feature planar triangles construction procedure, it can be seen that different planar triangles share stars, which indicates that a star can exist in different feature triangles within the star sensor’s FOV. Based on this, a validation method was constructed. As shown in Figure 9, and denote the star IDs in the star image and in the catalog of the th star in the th feature triangle, respectively. and represent the th and th feature planar triangles, respectively. If a star in different triangles has the same IDs in the star image and catalog, our PTP algorithm will successfully identify the star and the triangles with the star; otherwise, it will be determined as a failure. The following short example, whose results are shown in Table 3, demonstrates how the validation method works. The input image was generated by star image simulation procedure from the star catalog, the star sensor’s optical parameters, and its attitude. The resulting image contains 12 stars. Only 9 stars are extracted. The rest are too faint to be detected. Only identified stars participate in the validation stage. The first row of Table 3 shows the identified triangles. The identities of the stars in image corresponding to star catalog are shown in the second and the third rows of Table 3. It can be seen that the identified stars in different triangles share common identities in star image and catalog. The validation method determines that stars 3, 4, 5, 6, 7, 8, 10, 11, and 12 are correctly identified. Then, the attitude of the star sensor can be determined by the correctly identified stars’ coordinates in image and their matching positions in the catalogue.

3. Simulation and Analysis

In this section, we evaluate the star identification algorithm presented in this paper and compare it with the -vector and planar triangle algorithms. We show the results for the simulated images. We tested the algorithm using MATLAB in a Microsoft Windows 7 environment on an i5-2400 3.10 GHz PC. The simulations focused on discussing the number of slave stars in guide database construction and the robustness of the key parameters of the algorithm, the number of stars in the FOV, the noise on the star position, and the noise on the star magnitude. For star position noise, it mainly comes from two sources: one comes from the precision of the star centroid algorithms [20, 21] and the other comes from lens distortion that brings lateral distortion and radial distortion to image. In addition, the star sensor’s sensitivity calibration error may bring in star magnitude noise. Most algorithms [6, 2226] test their robustness by adding pixel and magnitude noise on the star image. In this paper, we still adopt this way to test the robustness of our algorithm.

3.1. Simulation Platform

For these experiments, a platform in a VC++ environment was designed to simulate the pictures taken by an onboard star sensor. The configuration of the star sensor is shown in Table 4. Each test was performed using 10,000 uniform sensor orientations. The orientations were generated using a Monte Carlo method. For each orientation, stars within a 10° × 10° FOV were picked from the star catalog.

3.2. Discuss the Number of Slave Stars in Guide Database Construction

The number of the slave stars is very crucial for constructing the guide database. To obtain the proper number of slave stars for constructing our database, we set the limit number of the closet slave stars to 3, 4, 5, and 6 for testing, respectively. Then, we compare the memory size of these guide databases constructed by these limits. Also, 10,000 uniform sensor orientations are generated to test the star identification rate and average identification time with the different guide databases. The result is given with more than 5 stars in the FOV of star sensor, which is shown in Table 5. Column 2 shows the memory size of the guide databases constructed under a different number of slave stars. The guide databases store the feature star triangle data, which are constructed as Section 2.1 demonstrates. Obviously, the larger the memory size of the guide database is, the more time the star identification will take. In turn, when the number of closet slave stars is 3, it obtains the smallest size memory of the guide database and achieves the lowest star identification rate, because the database is less sufficient than the other three databases. From the result, it can be seen that a good balance between memory size and average identification time can be achieved when the number of closet slave stars is set to 4.

3.3. Robustness against Number of Stars in FOV

The number of stars in the FOV has an impact on the identification rate. Figure 10 shows the probability occurrences of the number of stars in the FOV for 10,000 apparent positions. The minimum number of stars in the FOV was 2, and the maximum was 45. The average number of stars was 14.18. In the FOV, the probability of more than eight stars was 96.47%.

Generally, the more stars there are in the FOV, the higher the identification rate is. Figure 11 shows the changes in the identification rate with the number of stars in the FOV for the three algorithms. From Figure 10, we can see that, in the case of fewer stars in the FOV, the planar triangle algorithm achieved a higher identification rate than the PTP and -vector algorithms. Our PTP algorithm achieved a higher identification rate than the -vector algorithm. When the number of stars in the FOV was more than seven, the PTP and -vector algorithms achieved a higher identification rate, about 100%. The identification rate of the planar triangle algorithm tended toward 100% with some fluctuation. Figure 11 also shows that neither our PTP nor the -vector algorithm ensured a high identification rate with less than five stars in the FOV. The reason is that our PTP and the -vector algorithms could not cover all the feature triangles. However, we can see from Figure 10 that, in most cases, there are more than five stars within the FOV, which means that our PTP algorithm can work well in most cases. Our PTP algorithm achieves a balance between memory storage and star identification time.

3.4. Robustness against Star Positional Noise

To simulate the star positional error, a Gauss noise with a zero mean and a standard deviation ranging from 0 to 2 pixels was used. Figure 12 shows the statistical results of the star identification process with more than five stars in the FOV for the three algorithms. All the algorithms were implemented under the same simulation conditions. It can be seen that when the standard deviation of the star positional error changed from 0 to 2 pixels, the identification rate of the planar triangle algorithm dropped from 99.1% to 92.1%, the identification rate of the -vector algorithm dropped from 98.9% to 93.7%, and the identification rate of our PTP algorithm dropped from 99.3% to 95.5%. Compared with the other two algorithms, our PTP algorithm achieved a higher identification rate at the noise level of 2 pixels. Because of the star position noise, the redundant match and mismatch of star triangles will occur during the star identification process, which could reduce the success rate of the algorithms. The redundant rate of match and mismatch of triangles increases as the star position noise grows. However, the sharing star validation method proposed here can reduce the probability of the redundant match and mismatch triangles. Therefore, our PTP algorithm could be more robust than the other two algorithms towards star position noise.

3.5. Robustness against Star Magnitude Noise

In addition, a magnitude deviation of 0.5 Mv was added to each star in order to simulate the influence of brightness inaccuracy. Simulated sky images with more than five stars were selected to test the identification rate for the three algorithms. The statistical results with magnitude noise are shown in Figure 13. As noise was added, the identification rate of the -vector algorithm dropped from 98.9% to 93.7%. The magnitude noise impacted the -vector algorithm’s ability to generate the pattern triangles, which in turn reduced the identification rate. The other two algorithms do not use the magnitude information to generate the pattern triangles. Because of the magnitude noise, some stars are missing or added in the star image, which could reduce the other two algorithms’ identification rate. It can be seen that the magnitude noise exerted less influence on the PTP and planar triangle algorithms than that on -vector algorithm.

3.6. Comparison and Analysis

A comprehensive comparison of the three algorithms is presented in Table 6. It indicates that the proposed algorithm was more robust than the other two. The memory size for the guide database of our PTP algorithm was 0.784 MB. Under similar conditions, 0.537 MB was required by the -vector algorithm and 178 MB was needed by the planar triangle algorithm. This was more than 200 times larger than the equivalent PTP database. Moreover, the average time needed for the computation of the proposed algorithm was less than that for the other two. This is because a -vector search technique is used in the proposed algorithm. The most important result was that the identification rate of our PTP algorithm was higher than those of the other two algorithms.

4. Conclusion

An effective algorithm for star identification has been developed using the three sides of planar triangles that also incorporates principal component analysis (PCA) and a -vector technique (PTP). The algorithm generates the star pattern in a projection that is computed using the three sides of the triangle projected on a projection line. The guide database is constructed similarly. For reliability, a projection is used for the initial match, and the adoption of the -vector range search technique makes this algorithm very fast. Moreover, a sharing star validation method is adopted for the final match. The algorithm presented here can be used in the lost-in-space mode to determine the attitude for a star sensor that has no prior attitude information. Simulation results indicate that our PTP algorithm is more robust against noise than are the -vector and planar triangle algorithms. In addition, it is seen from the simulation results that the identification rate of the proposed algorithm is comparatively high and the storage of the guide database and the identification speed are both acceptable. The algorithm should be transplanted to a star sensor immediately for supporting a wide variety of missions. However, the algorithm proposed here was not tested on real sky images. We will try to acquire the real images to test the robustness of the algorithm in the future. Another future direction is to track and locate the space object using star sensor technique.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgment

The work was supported by the National Natural Science Foundation of China (no. 61372177).