• No results found

The matching algorithm is responsible for determining which catalogue star produced each detected centroid. It must make use of the available information present in the distribution of the centroids to match each centroid to a star in the catalogue, or reject it as a false star. It takes a list of centroids in the form of cartesian unit vectors in sensor coordinates and outputs a list of corresponding inertial unit vectors from the star catalogue. These lists of vectors can then be used to determine the sensor's bore sight pointing using the algorithm described in Section 4.4

4.2.1 Brief Description of Important Matching Algorithms

Many suitable star matching algorithms have been developed since the 1970's when the rst primitive CCD based star tracker was developed [36]. The algorithms dier in how they select features to match, how the star catalogue is structured and searched and whether there are any validation steps. While the algorithms use dierent strategies for matching, they all compare star catalogue information to stars detected in the image. The majority of matching algorithms can be classied as implementations of either subgraph matching or pattern matching. Three of the most fundamental and important algorithms are:

ˆ Triangle Algorithm ˆ Match Group Algorithm ˆ Grid Algorithm

4.2.1.1 Triangle Algorithm

The Triangle Algorithm is a variant of the earliest star matching algorithms and is likely the most implemented technique to date [37]. It is a member of the subgraph matching family. It attempts to match an observed triangle feature to an isomorphic triangle from an onboard catalogue. A triangle feature is created by taking any three observed stars as the vertices of the triangle. Isomorphic catalogue triangles can then be found in one of two methods: side-angle-side (SAS) or side-side-side (SSS). Using SAS, the angular distances of two of the triangle's sides are measured, together with the angle between them, and compared to the catalogue entries. SSS uses just the three angular distances. The onboard catalogue needs to contain an entry for every observable triangular feature over the whole night sky. The number of catalogue entries

is proportional to the sensitivity of the camera and the camera's FOV. The catalogue can become very large for sensitive sensors, requiring long search times. For this reason, several methods to minimise and optimise the catalogue have been developed.

One such modication is to always pick the brightest three stars for matching, instead of randomly picking any three stars. However, to increase accuracy, it is often desirable to try to match all the triangular features in an image, instead of just one. Bright- ness information can also be stored in the star catalogue to speed up the catalogue search. Noise and measurement error require a tolerance to be selected when search- ing for matching triangles. However, the tolerance may cause several triangles to be matched to each observed triangle. To prevent this, some method of match verication is required. Verication can be achieved by comparing star brightness to catalogue brightness, or by attempting to match a fourth star in the vicinity of each matched triangle.

4.2.1.2 Match Group Algorithm

The Match Group Algorithm is also a member of the subgraph matching family [37]. It attempts to identify a star by checking the distances to each of its neighbouring stars. The star catalogue consists of entries containing a pair of stars and the angular distance between them. Every pair of stars which can be viewed simultaneously within the sensor's FOV is included in the catalogue.

The algorithm begins by randomly selecting a single star in the image. This star is called the "pole star". The distance between the pole star and each of the other stars in the FOV is measured. For each of these distances a lookup is performed in the cata- logue. Brightness information can be used to minimize the number of catalogue "hits". Hopefully only one pair of stars will be returned for each distance lookup. However, it is possible that more than one match is returned due to noise and measurement error. After all the distances have been looked-up the resulting matched star pairs are examined. Since the pole star is one of the stars in each pair whose distance was looked up, the catalogue star identity (ID) that appears most often in the matched pairs is most likely the pole star. The pole star and its neighbours are called a match group. This process is repeated by giving each star in the FOV a chance to be the pole star. During the previous step only the distances between the pole star and its neighbours are calculated. To verify each match group, the inter-neighbour distances can now be checked. The match group with the most veried matches is considered the most reliable and is used to calculate the sensor's pointing.

4.2.1.3 Grid Algorithm

The Grid Algorithm was published by Padgett in 1997 and was the rst algorithm that relied on pattern matching [38]. Instead of measuring inter-star angles or distances, the Grid algorithm tries to associate a unique pattern or "ngerprint" with each star. This ngerprint is generated by placing a loose grid over the star and checking which of the grid's cells contain neighbouring stars. The ngerprint is stored as a bit string. In order to perform star matching using this algorithm, a ngerprint of each star must rst be generated and stored in an onboard catalogue. This catalogue then contains one bit string per star, making it much smaller than the catalogues required by the other matching algorithms. When a new star image is taken the ngerprint of each star in the image is generated and compared to the ngerprint of each star in the catalogue. A linear search through the catalogue must be performed as there is no way to order the ngerprints. Despite this, the largest advantage of the Grid Algorithm is that it does not require any multiplications or trigonometric operations, signicantly reducing the load on the processor.

4.2.2 Comparison of Matching Algorithms

Over the years, many derivations and modications of these algorithms have been developed, each with marginal improvements over the previous ones. Doing a complete comparison between the dierent matching algorithms would be a very time consuming undertaking and is therefore beyond the scope of this thesis. Instead, the choice of matching algorithm was based on the results of several other comparison studies and the specications and limitations of the CubeStar project specically.

The CubeStar hardware puts limitations on the requirements of the matching algo- rithm. The processor's 1 MB of internal ash memory is the only ash memory present on CubeStar. Thus, the entire star catalogue, star list and program code need to t within 1 MB. This restricts the algorithm choices to those with small catalogue re- quirements. Star trackers with small elds of view and high sensitivity can produce dense stellar images. However, due to CubeStar's wide FOV and low stellar magnitude cut-o, many of its stellar images include only a few widely spaced stars. Therefore algorithms which can use all the stars in the FOV, as opposed to those which focus on a small constellation of stars somewhere in the FOV, are preferred.

Table 4.1 shows a summary of a comparison study done by the Jet Propulsion Labo- ratory (JPL) in 1996 [37]. Although the study is old, three of the most important and commonly used algorithms had already been developed and are compared. These in-

clude a version of the Triangle Algorithm, van Bezooijen's version of the Match Group Algorithm, and the Grid Algorithm. The algorithms were compared by looking at the required catalogue size, RAM usage, execution speed and robustness to inaccurate measurements and false stars. The comparison concluded that the Grid Algorithm was the most ecient in all categories, and that the Triangle Algorithm was the worst1

Property Algorithm

Triangle Match Group Grid

Catalogue Size Large Medium Small

RAM Usage Low High Low

Speed Slow Faster Fastest

Robustness Lowest Medium Highest

Table 4.1: Summary of a 1996 JPL Comparison of Matching Algorithms

A newer comparison paper by Spratling and Mortari was published in 2009 [36]. It examines the evolution of the matching algorithms. The paper notes the advantages of the Grid Algorithm. However, it goes on to explain that advances in database search techniques have resulted in even faster algorithms. These include the Search-Less- Algorithm (SLA), the Pyramid Algorithm and the Geometric Voting Algorithm, all of which make use of Mortari's k-vector database search technique. The paper concludes that the two fastest and most robust algorithm families to date are versions of the Grid Algorithm, and versions of the Search-Less Algorithm.

The Flash storage limitations of CubeStar rule out the Triangle Algorithm, as it re- quires the largest star catalogue. The Triangle Algorithm is also the slowest algorithm of those compared, making it the least desirable. The Grid algorithm requires dense stellar images as it uses each star's close neighbours to generate a unique ngerprint. Sparse or spread out stellar images, like those produced by CubeStar, will not pro- duce good ngerprints. Unfortunately, while versions of the Grid Algorithm are very fast and memory ecient, they are not suitable for the CubeStar project. This leaves versions of the Search-Less-Algorithm.

The Geometric Voting Algorithm, a modication of the Search-Less-Algorithm, was chosen as CubeStar's matching algorithm. The algorithm is explained in detail in Section 4.3.

4.3 Geometric Voting Algorithm

Related documents