# Modification and hardware implementation of star tracker algorithms

- 115 Downloads

**Part of the following topical collections:**

## Abstract

In this paper, a laboratory model is designed to evaluate the performance of star tracker algorithms for attitude determination of a satellite. Star tracker is the most accurate attitude sensor that determines satellite direction by applying centroiding algorithm, star identification and attitude determination. To utilize such algorithms, first, high quality of star images are needed which should be provided through the star tracker camera. Then, such images are given to processors and it determines the attitude of camera and satellite in three axes based on mentioned algorithms. First, in preliminary design, we define important star tracker parameters, like accuracy, detector, processor and field of view. In this paper, we have considered the range accuracy in yaw/pitch axis less than 20 arcsec and for roll axis less than 100 arcsec. To improve the attitude determination accuracy, we have applied an adaptive structure in centroiding algorithm, as only brightness stars are selected and identification algorithm is done based on them. Another important parameter is speed of identification algorithm which is handled by an ARM processor and improving pyramid algorithm, we reached less than 25 ms. Duo to this time, updating rate would be desired. Also knowing the coordination of bore sight direction that is distance between focal lens and imager is another important parameter that affects the accuracy of attitude and by ground calibration of camera, this parameter could be estimated carefully. Finally, implementation results on real images that are captured by a star tracker demonstrate optimum performance of algorithms.

## Keywords

Star tracker Centroiding algorithm Star identification Star catalog Attitude determination## 1 Introduction

One of the first ideas for navigating in the sky was the use of the position of the celestial bodies in the sky. With the advent of such an idea, they began their evolutionary astronomy navigation systems. In the past, the astronomical navigation systems were one of the key pillars of guiding planes, ships, missiles and satellites. But with the advent of modern radio navigation systems in the past decades, astronomical navigation has become a back-up system, and in the aftermath of GPS, virtually astronomical navigation was used only for space missions. At present, one of the most important pillars of the spacecraft navigation systems is the space mission of the star trackers. These detectors utilize the latest electronic and optical systems with low volume, weight and power. One of the most important requirements of all satellites, since its inception, is the sub-system of control and determination of the situation, because without it, use of the satellite to carry out missions is not possible. The status determination system, an integral part of the satellite control system, plays a significant role in satellite control algorithms [1, 2, 3].

Today, because of high accuracy of star tracker, this sensor is used more than others and other sensors are used as support devices [5, 6, 7]. The task of star sensor is providing high-quality star images and matching them with catalogs of stars which are stored in sensor’s memory and identifying stars in image and finally determining attitude of satellite based on them [8, 9, 10]. A star tracker works in two modes: lost-in-space (LIS) mode and tracking.

The difference between them is whether approximate attitude knowledge is available. Initial attitude acquisition mode is also called lost-in-space mode and occurs when a star sensor starts to work or when a system fails. In initial attitude acquisition, the task is to perform pattern recognition of the star pattern in the field of view (FOV). Because no prior attitude information is available, a full-sky star identification is needed to establish an initial attitude. Once an initial attitude is established, the star sensor reverts to the tracking model. Typically, the identification can be accomplished in a few seconds. The tracking mode tracks previously identified stars at known positions. The tracking mode is the normal operation mode of the star sensor. [11, 12, 13]. Process of star tracker consists of three main steps: centroiding, star identification and attitude determination. Centroiding takes the image from the camera and determines the coordinates of light sources in the image plane, which can then be converted to unit vectors in the tracker coordinate frame. Star identification is the crux of the star tracker. The unit vectors in the tracker frame are analyzed and compared to a star catalog to determine which stars are in the image frame and consequently provide unit vectors in the inertial reference frame. Finally, the list of unit vectors in both the tracker and inertial frame is run through a vector-based algorithm to determine the attitude of the star tracker in the inertial frame. The attitude can be output in various formats; among most common are quaternions, Euler angles and direction cosine matrices (DCMs) [13, 14, 15].

Because of the importance of attitude determination in LIS mode, our focus is on it. In this paper, after doing some researches on different types of algorithms in different star sensors, the best algorithm is found in each case. By modifying star tracker algorithms that are used in similar cases like centroiding and identification algorithms which are explained in details in [15, 16, 17, 18], we could improve accuracy and speed of algorithms. These improvements consist of applying adaptive structure to centroiding and modifying search method in identification. Then, their performances are evaluated through MATLAB software and in the next step it is applied on a proper ARM processor. In this step, for evaluating algorithms used simulated star images that are provided via MATLAB software by orbital movement simulation of LEO satellite in a specific orbit. After ensuring the performance of algorithms and also processor, we evaluated system on real images that were captured by a star tracker camera. And finally, we could offer a preliminary design for manufacturing a star tracker with desired accuracy.

## 2 Technological approach

Selected characteristics for preliminary design of star tracker

Selected characteristics | |
---|---|

Weight | 2–3 kg |

Accuracy | < 20 yaw and pitch < 100 roll |

FOV | 8° × 8° |

Sensitivity | 2.5–6.59 ( |

Update rate | 4–5 Hz |

Detector | CMOS |

Processor | ARM |

Input voltage | 20–30 v |

Temperature rate | − 20 °C to 50 °C |

As you can see, we definitely have five stars in FOV that have magnitudes between five and six.

Comparison of features ST 100 and ST 200 [3]

ST-100 | ST-200 | Improvement | |
---|---|---|---|

Mass | 740 g | 74 g | 90% |

Power consumption | 3 W (peak) | 0.7 W (peak) | 77% |

Price | low | lowest | 50% |

Accuracy | 30/200 arcsec | 30/200 arcsec | |

Design life | 3 years | 1 years | |

Detector | CCD | CMOS | |

Processor | FPGA and ARM7 | ARM9 | |

Number of PCB | 4 | 2 | 50% |

PCB footprint | 50 × 50 mm | 35 × 35 mm | 50% |

Interface | RS422 | RS485, SPI and I | |

Electronic integration | Moderate | High | |

Market readiness | 2009 | 2011 |

## 3 Description the algorithms used in star tracker

Star tracker is an electronic camera connected to a microcomputer. First by using images that are captured from sky, the stars are identified by centroiding and identification algorithm and satellite orientation is determined based on these observations. An autonomous star tracker can detect the patterns of stars in its field of view and determine attitude relative to celestial sphere. In this section, we describe algorithms which are used in this project.

### 3.1 Centroiding algorithm

After removing noise from star tracker images, they are given to processor for centroiding algorithm. In this step, situation of each star in the image is specified. Centroiding is very important since it affects the accuracy of other algorithms and sensor directly. It means that the place of each star can be specified by accuracy less than 1 pixel. If the stars are recorded in a focused way so that the light of star locates on one or two pixels, pixels will be saturated and the accuracy of centroiding will be reached within pixel range. Therefore, all the star trackers record the image in an unfocused way which means the image photons will be disputed in a lot of pixels and in this case the algorithm of finding the center performs with accuracy lower than pixel. There are two major techniques for centroiding. 1: The center of mass 2: Point Spread Function.

*N*and

*M*are the numbers of pixels in which finding center occurs,

*x*and

*y*are the coordination of pixels, image (

*x*,

*y*) is light intensity in pixel,

*x*

_{o}and

*y*

_{o}are the centres of star in the image.

The mean and variance of error for algorithm along x is 0.0269 and 0.00050488 and in y axis is 0.0269 and 0.00050580. To examine the accuracy of algorithm in real situation, Gaussian noise with the power of 0.01 is added to light intensity of stars. In this case, the mean and variance of error in parallel with x and are 0.0371 and 0.000846 and in parallel with y are 0.0391 and 0.0015, respectively.

#### 3.1.1 Improvement of centroiding algorithm by an adaptive structure

### 3.2 Star identification algorithm

#### 3.2.1 Modified pyramid algorithm

Comparison of identification algorithms with each other

Algorithm | Correct identification (%) | No. star | Processing time (s) | CPU speed (MHz) | Clock speed (×10 | Star catalog size | Data base (size) | Mission |
---|---|---|---|---|---|---|---|---|

Liebe | 94.6 | 3 | 0.5 | 32 | 0.165 | 8000 | 1 Mb | |

Grid | 99.7 | 10 | 0.187 | 1600 | 1.6 | 9000 | 313 Kb | |

Polestar | 99.7 | 10 | 1.04 | 350 | 3.6 | 4127 | ||

Zhang | 97.57 | 7 | 0.025 | 800 | 0.2 | 5102 | 344 Kb | |

Oriented triangles | 97.8 | 4 | 0.75 | 650 | 4.875 | 6000 | 73 Kb | |

Angle | 61 | 7 | 6.27 | 500 | 31.35 | 5000 | 12 Mb | |

Planner angle | 94 | 4 | 1 | 500 | 5 | 5000 | 167 Mb | Micro-satellite_TAS2 Fast star tracker |

Spherical triangle | 92 | 4 | 1.6 | 500 | 8 | 5000 | 167 Mb | STS 107 |

Modified pyramid | 99.8 | 4 | 0.5 | 2000 | 10 | 8816 | 1.12 Mb | Pico satellite GIFTS_EO-3 Mission CanX1 CubeSat |

*k*-vector approach for accessing the star catalog, which provides a searchless means to obtain all cataloged stars from the whole sky that could possibly correspond to a particular measured pair, given the measured interstar angle and the measurement precision. The pyramid logic is built on the identification of a four-star polygon structure—the pyramid—which is associated with an almost certain star identification. The set of \(M = \frac{{n\text{!}}}{{\left( {n - 2} \right)\text{!}2\text{!}}}\) interstar angles associated with a spherical polygon set of n stars, such as pairs (in pyramid algorithm

*n*= 4). More specifically, the star pattern geometric structure for the purpose of star identification is defined by the set of M interstar angles \(\left\{ {\theta_{ij} = \theta_{ji} = \text{cos}^{ - 1} \left( {b_{i}^{T} b_{j} } \right)} \right\}\) measured between each distinct pair of the p line-of-sight vectors \(\left\{ {\theta_{ij} = \theta_{ji} = \text{cos}^{ - 1} \left( {b_{i}^{T} b_{j} } \right)} \right\}\) that point from the sensor toward the vertices of the star spherical polygon on the celestial sphere. Matching the set of M measured interstar angles \(\text{cos}^{ - 1} \left( {b_{i}^{T} b_{j} } \right)\) with a cataloged set of interstar angles \(\text{cos}^{ - 1} \left( {r_{I}^{T} r_{J} } \right)\) to within measurement precision provides the basis for a hypothesis that the stars at the vertices of the measured polygon of stars are indeed the cataloged stars at the corresponding vertices of the matching polygon from the star catalog. Figure 10 shows the basic star structure used within the algorithm, which consists of a basic star triangle, identified by the indices i, j, k, together with a “confirming fourth star” identified by the index r.

*k*-vector approach instead of the much slower binary search technique (see the appendix). The

*k*-vector database is built a priori for some given working magnitude threshold and for the star tracker maximum angular aperture. Essentially, the

*k*-vector table is a structural database of all cataloged star pairs that could possibly fit in the camera FOV over the whole sky. The star pairs are ordered with increasing interstar angle. The data stored are the k index, the cosine of the interstar angle and the master catalog indices I[k] and J[k] of the k-th star pair. The

*k*-vector access logic is invoked in real time for a minimal set of star pairs in elementary measured star polygons (three for a triangle, six for a four-star pyramid, etc.); the fact that the vertices between adjacent measured star pairs share a common cataloged star is the key observation leading to logic for identifying the stars efficiently by simply comparing the

*k*-vector accessed catalog indices for the several sets of candidate star pairs (which must contain the common measured pivot star if it is in the catalog) [19]. The method, depicted in Fig. 11, essentially accomplishes the task by the following steps (where n is the number of observed stars).

Part of database used in identification algorithm

In the above, *s*_{1}, *s*_{2} and *s*_{3} are the centres of assumed stars. These relations occur for made triangle from first, second and fourth triangle out of first, third and fourth stars and also the triangle out of second, third and fourth. After calculation image features, we compare such features with information of database. To search the database, the technique of *k*-vector has been used in researches. This technique has been studied extensively in many references. [1, 2, 3, 4, 5]

#### 3.2.2 Modifying searching technique of *k*-vector

*k*-vector, the database is arranged from small to large. First according to linear regression(3–5 formulas), a line has been estimated at the smallest angle of all made triangles in database and using that, the value of k can be calculated.

*x*are output and input, respectively, and

*n*is number of iterations.

*y*based on below:

After calculation of image features, we determine the range of database for searching with the help of the smallest angle.

*p*

_{1},

*p*

_{2}and

*p*

_{3}is the coefficients of evaluated curve based on Eq. (9). If the calculated angle accuracy is

*ɛ*, two values of

*k*

_{bot}and

*k*

_{top}are calculated as Eq. (11). [5]

*floor*and

*ceil*return the smaller and greater integers than their arguments. Therefore, the searching range of stars can be obtained by (12). In this relation,

*ID*

_{start}and

*ID*

_{end}are the beginning and ending of searching range in database.

The comparison of two techniques in database

Searching method | Start of interval | End of interval | Length of interval |
---|---|---|---|

| 1 | 165,380 | 165,379 |

Suggested Method | 112,136 | 163,650 | 51,514 |

The comparison of time of running detecting algorithm with two searching techniques

Searching method | Time consumption for identification (ms) |
---|---|

| 0.228295 |

Suggested method | 0.01581 |

### 3.3 Attitude determination algorithm

*i*th star in the image,

*f*is the focal distance of camera lenses in meter, \(x_{o}\) and \(y_{o}\) are the line coordination of camera’s vision, \(\mu_{l}\) is the pixel length of detector, and \(\mu_{w}\) is the pixel width of detector. The coordination of camera’s vision line is intersection between focal lens vector and detector. Figure 14 clarifies this issue. The coordination of vision line for a CCD or CMOS is the center of sensor ideally, yet there is always error which should be improved through calibration on the ground and then on-orbit. [18]

Although a single coarse calibration on the ground is deemed enough for a number of emerging applications in micro- and nanosatellite platforms, the case is really different for evolved spacecraft [18]. To determine a first and valid approximation for the focal length (f) and offset (\(x_{o} ,y_{o}\)) values, we used proposed method explained in [18] that using of least square method solves ground calibration problem. It should be mentioned that for on-orbit calibration, we need statistical approach for estimation such as kalman method that is investigated with details in [18]. These estimation methods use ground calibration result as initial assumption. We have focused on ground calibration because we intended to design a star tracker for a micro-satellite.

*j*th star is identified in image, the features of this star such as RA and Dec can be obtained. Therefore, we have a unit vector for each identified star in form of relation (14). [8]

In this relation, \(\alpha_{j}\) is the RA and \(\delta_{j}\) is the *j*th Dec in earth-centered inertial coordinate. The output of attitude determination algorithm is transfer matrix or quaternions that will be explained in following of quaternions.

#### 3.3.1 Quaternions

In this equation, \(W_{i}\) and \(V_{i}\) are unit vectors of stars of image and unit vectors of catalog stars and \(a_{i}\) are the positive weight coefficients of these vectors.

*A*and \(\alpha\) is the rotation angle, the quaternions are defined based on following relation (16). [2]

#### 3.3.2 Wahba cost function

To minimize expanse function L, trace must be maximized and to do so matrices A and B should approach to each other.

Speed and accuracy are two important parameters in comparison with algorithms. The speed of algorithm is calculated through processing load calculation. In past, when calculation of locating was done by slow processors, speed was significant. However, nowadays, through powerful and fast processors accuracy is the determining parameter for choosing algorithm. According to probes in this paper, the algorithms of q-method, SVD and foam are the most accurate ones. Since these algorithms have the same level of accuracy, considering the applicability of algorithm in produced sensors is significant. Therefore, algorithm q-method is our selected algorithm in this project that its mechanism will be explained.

#### 3.3.3 Q-method algorithm

*AB*

^{T}) should be maximized. Furthermore, we have:

*K*is defined as (24) in which matrices

*B*,

*S*,

*Z*are calculated based on relations of (20). [2]

## 4 Experiments and results

### 4.1 The semi-physical test of algorithms

Output of centroiding algorithm for Fig. 17

x_centroid (pixel) | y_centroid (pixel) |
---|---|

295 | 355 |

467.0254 | 217.0169 |

519.0142 | 112 |

625.0027 | 281.9973 |

### 4.2 Applying centroiding algorithm

Intensity parameter of threshold has been considered 60 in this algorithm.

The output of identification algorithm of Fig. 18

Output | ||
---|---|---|

2336 | 2802 | 3052 |

2336 | 3052 | 3381 |

2336 | 2802 | 3381 |

Regarding the output of identification algorithm, the ID of four stars is 3381, 3052, 2802 and 2336.

In this case, the value of Wahba cost function is: \(L\left( A \right) = 1.52420381 \times 10^{ - 10}\).

As you can see in Fig. 17, first four brighter stars of image are chosen based on adaptive centroiding algorithm and they are identified.

The output of finding center algorithm of Fig. 19

x_centroid (pixel) | y_centroid (pixel) |
---|---|

418.9203 | 198.8781 |

467.0254 | 217.0169 |

519.0142 | 112 |

625.0027 | 281.9973 |

The output of detecting algorithm of Fig. 19

Output | ||
---|---|---|

1934 | 3052 | 3381 |

1934 | 3052 | 2802 |

1934 | 3381 | 2802 |

Regarding the output of identification algorithm, the identities of four stars are 1934, 3052, 3381 and 2802.

In this case, the value of Wahba cost function equals with: \(L\left( A \right) = 5.24253951 \times 10^{ - 7}\).

The comparison between the present error and its previous value shows that present value has become two times greater than and the value of cost function in the second mode has multiplied by 3000. For star sensor, this value is signification in attitude so that using the adaptive centroiding algorithm is the optimal approach.

## 5 Conclusions

In this research, a laboratory design of star tracker and applying of its algorithms has been considered to attitude determination of satellite in LIS mode and the results were tested on a powerful ARM processor. Such algorithms include centroiding, pattern recognition and attitude determination algorithm. In each case after searching, the best algorithm was chosen based on its practical use and it was turned to (C/C++) language to apply on a processor and the results were viewed. COM algorithm by parallel technique, modified pyramid algorithm and Q-method algorithm was the selected algorithms in centroiding, pattern recognition and attitude determination, respectively. Among these three algorithms, the pattern recognition algorithm needs the highest time of processing. Here by the change in searching technique that includes fitted quadratic curve instead of a line on database, we reduce the running time of algorithm by 14 times. In field of locating, it could be seen that choosing brighter stars of image significantly affects the accuracy and value of Wahba’s cost function. Therefore, by an adaptive approach in centroiding algorithm, four brighter stars of image are chosen and determined attitude based on them.

## Notes

### Funding

This study was funded by Iran University of Science and Technology.

### Compliance with ethical standards

### Conflict of interest

The authors declare that they have no conflict of interest.

## References

- 1.Shankararaman R, Lourde M (2013) An attitude control of a 3-axis stabilized satellite using adaptive control algorithm. In: Proceedings of international conference on system of systems engineering. Los Angeles, pp 282–287Google Scholar
- 2.Hou B, He Z, Zhou H, Zhou X, Sun B, Xu S, Wang J (2018) SINS/CNS integrated navigation system for ballistic missile based on maximum correntropy kalman filter. In: Annual American control conference (ACC) June 27–29Google Scholar
- 3.Rawashdeh SA, Lumpp JE (2014) Image-based attitude propagation for small satellite using RANSAC. IEEE Trans Aerosp Electron Syst 50(3):1864–1875CrossRefGoogle Scholar
- 4.Nikkhah AA, Nobari JH, Rad AM (2014) Optimal attitude and position determination by integration of INS, star tracker, and horizon sensor. IEEE Trans Aerosp Electron Syst 29(4):20–33CrossRefGoogle Scholar
- 5.de Galende M, Carvalho F (2014) Star tracker Orientation Optimization using Non-dominated Sorting Genetic Algorithm (NSGA). In: IEEE aerospace conference, Big Sky. MT, pp 1–8Google Scholar
- 6.Gou B, Cheng Y-M, Li S, Mu H-L (2018) INS/CNS integrated navigation method for circular orbiting satellite. Chinese Automation Congress (CAC)Google Scholar
- 7.Pham MD, Low KS, Chen S (2012) An autonomous star recognition algorithm with optimized database. IEEE Trans Aerosp Electron Syst 49(3):1467–1475CrossRefGoogle Scholar
- 8.Xinguo W (2014) Exposure time optimization for highly dynamic star trackers. Int J Sens 14(3):4914–4931Google Scholar
- 9.Zhang G (ed) (2017) Processing of star catalog and star image. In: Star identification Methods techniques and algorithms. Springer, New York, pp 37–71Google Scholar
- 10.Roshanian J, Yazdani S, Barzamini F (2018) Application of PIV and delaunay triangulation method for satellite angular velocity estimation using star tracker. IEEE Sens J 18:10105CrossRefGoogle Scholar
- 11.Aranda LA, Reviriego P, Toral RG, Maestro JA (2018) Protection scheme for star tracker images. IEEE Trans Aerosp Electron Syst 55(1):486CrossRefGoogle Scholar
- 12.Yang J, Liang B, Zhang T, Song J, Song L (2012) Laboratory Test System Design for Star Sensor Performance Evaluation. Journal of Computers 7(4):1056–1063Google Scholar
- 13.Tappe J, Kim JJ, Jordan A, Agrawal B (2011) Star tracker attitude estimation for an indoor ground based spacecraft simulator. In: AIAA conference on modeling and simulation technologies, Portland, OregonGoogle Scholar
- 14.Rufino G, Accardo D, Grassi M, Fasano G, Renga A, Tancredi U (2013) Real-time hardware-in-the-loop tests of star tracker algorithms. Int J Aerosp Eng 2013. https://doi.org/10.1155/2013/505720 CrossRefGoogle Scholar
- 15.Yahui S, Yingying X, Yunhai G (2002) Autonomous on-orbit calibration approach for star tracker cameras. Adv Astronaut Sci 112:39–57Google Scholar
- 16.Shashikala BK, Rao TH (2013) Design of very low noise amplifier for high accuracy star tracker in GEO missions. In: International conference on advanced electronic systems, pp 83–87Google Scholar
- 17.Jovanovic I, Enright J (2017) Towards star tracker geolocation for planetary navigation. In: IEEE aerospace conferenceGoogle Scholar
- 18.Medaglia E (2016) Autonomous on-orbit calibration of a star tracker. In: IEEE metrology for aerospaceGoogle Scholar
- 19.Mortari D, Samaan M, Bruccoleri C, Junkins JL (2004) The pyramid star identification technique. Navigation 51(3):171–184CrossRefGoogle Scholar