new star pattern identification with vector pattern matching for attitude determination

11
New Star Pattern Identification with Vector Pattern Matching for Attitude Determination HYOSANG YOON Satrec Initiative Co. Ltd. Korea SUNG WOOK PAEK Massachusetts Institute of Technology YEERANG LIM Korea Advanced Institute of Science and Technology (KAIST) BYUNG-HOON LEE HUNGU LEE Satrec Initiative Co. Ltd. Korea We propose a new star pattern identification algorithm using the vector pattern matching technique on the celestial sphere. The proposed algorithm provides more robust identification performance in cases where the captured star images are biased from the onboard catalog star image positions. The technique is based on the approach of maximizing the target score function, which is formed by the correlation between the original and the reference star patterns on the celestial sphere. Manuscript received June 1, 2011; revised July 10, 2011 and June 6, 2012; released for publication September 19, 2012. IEEE Log No. T-AES/49/2/944524. Refereeing of this contribution was handled by P. Willett. Authors’ addresses: H. Yoon and B. Lee, Satrec Initiative Co. Ltd., Attitude & Orbit Control System Team, 461-26 Jeonmin-dong, Yuseong-Gu, Daejeon, 305-811, Korea, E-mail: ([email protected]); S. W. Paek, Strategic Engineering Research Group (SERG), Massachusetts Institute of Technology, Cambridge, MA 02139-4204; Y. Lim, Aerospace Systems and Control Laboratory (ASCL), Korea Advanced Institute of Science and Technology (KAIST), Daejeon, Korea; H. Lee, Satrec Initiative Co. Ltd., Satellite Development Division, Daejeon, Korea. 0018-9251/13/$26.00 c ° 2013 IEEE NOMENCLATURE A Amplitude of the Gaussian function h(x, y) Two-dimensional cross-correlation H(! x , ! y ) Fourier transform of the 2D cross-correlation S, S 0 , S 00 Score function RR i Distance between R and R i _ RR i Arc length on the celestial sphere between R and R i R i Center position of ith star P(x, y) Star pattern model on the X-Y plane p i (x, y) ith star model on the X-Y plane x i , y i , z i X, Y, and Z coordinates of the center position of the ith star ¾ 2 Variance of the Gaussian function ! x , ! y Frequency in the X and Y directions (¢¢¢ ) Complex conjugate of (¢¢¢ ). I. INTRODUCTION Attitude determination is one of the most critical data elements required by almost all flying vehicles. Attitude is a core factor that affects the performance of all spacecraft, from Earth-orbiting satellites to interplanetary probes. Attitude is also indispensible for aerial flying objects, like unmanned aerial vehicles (UAVs) or rockets. In past decades many types of attitude sensors have been developed, including sun sensors, geomagnetometers, gyroscopes, and star sensors. Of these star sensors are regarded as one of the most accurate, with accuracy down to a few arcminutes (arcmin, 1/60 deg) or arcseconds (arcsec, 1/3600 deg), with no cumulative error buildup over time. Star sensors estimate the attitude by comparing the star patterns captured by a star camera with the reference star catalog (onboard star catalog). This is similar to the navigation method used by shepherds and handed down from ancient times. Because the star pattern information is supplied as an image from a star camera, a sequence of processes must then be performed to ultimately obtain attitude information. First, the star positions on the image are extracted from the image, along with their corresponding vectors with respect to the sensor frame. Then, some stars in the image are identified as stars present in the reference star catalog. Finally, the attitude is estimated by comparing the star vectors from the image with the reference star catalog. Usually, the processes are called centroiding, star identification, and attitude determination, respectively. Of those star identification is the most complicated and time- consuming process. There have been many studies of star identification over the past few decades. The final goal is usually the same (to identify stars as quickly and robustly as 1108 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 49, NO. 2 APRIL 2013

Upload: hungu

Post on 08-Dec-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New Star Pattern Identification with Vector Pattern Matching for Attitude Determination

New Star Pattern Identification

with Vector Pattern Matching

for Attitude Determination

HYOSANG YOON

Satrec Initiative Co. Ltd.

Korea

SUNG WOOK PAEK

Massachusetts Institute of Technology

YEERANG LIM

Korea Advanced Institute of Science and Technology (KAIST)

BYUNG-HOON LEE

HUNGU LEE

Satrec Initiative Co. Ltd.

Korea

We propose a new star pattern identification algorithm using

the vector pattern matching technique on the celestial sphere.

The proposed algorithm provides more robust identification

performance in cases where the captured star images are biased

from the onboard catalog star image positions. The technique is

based on the approach of maximizing the target score function,

which is formed by the correlation between the original and the

reference star patterns on the celestial sphere.

Manuscript received June 1, 2011; revised July 10, 2011 and June

6, 2012; released for publication September 19, 2012.

IEEE Log No. T-AES/49/2/944524.

Refereeing of this contribution was handled by P. Willett.

Authors’ addresses: H. Yoon and B. Lee, Satrec Initiative

Co. Ltd., Attitude & Orbit Control System Team, 461-26

Jeonmin-dong, Yuseong-Gu, Daejeon, 305-811, Korea, E-mail:

([email protected]); S. W. Paek, Strategic Engineering Research

Group (SERG), Massachusetts Institute of Technology, Cambridge,

MA 02139-4204; Y. Lim, Aerospace Systems and Control

Laboratory (ASCL), Korea Advanced Institute of Science and

Technology (KAIST), Daejeon, Korea; H. Lee, Satrec Initiative Co.

Ltd., Satellite Development Division, Daejeon, Korea.

0018-9251/13/$26.00 c° 2013 IEEE

NOMENCLATURE

A Amplitude of the Gaussian function

h(x,y) Two-dimensional cross-correlation

H(!x,!y) Fourier transform of the 2D

cross-correlation

S, S0, S00 Score function

RRi Distance between R and Ri_RRi Arc length on the celestial sphere between

R and RiRi Center position of ith star

P(x,y) Star pattern model on the X-Y plane

pi(x,y) ith star model on the X-Y plane

xi, yi, zi X, Y, and Z coordinates of the center

position of the ith star¾2 Variance of the Gaussian function

!x, !y Frequency in the X and Y directions

(¢ ¢ ¢ ) Complex conjugate of (¢ ¢ ¢ ).

I. INTRODUCTION

Attitude determination is one of the most critical

data elements required by almost all flying vehicles.

Attitude is a core factor that affects the performance

of all spacecraft, from Earth-orbiting satellites to

interplanetary probes. Attitude is also indispensible

for aerial flying objects, like unmanned aerial vehicles

(UAVs) or rockets. In past decades many types of

attitude sensors have been developed, including sun

sensors, geomagnetometers, gyroscopes, and star

sensors. Of these star sensors are regarded as one

of the most accurate, with accuracy down to a few

arcminutes (arcmin, 1/60 deg) or arcseconds (arcsec,

1/3600 deg), with no cumulative error buildup over

time.

Star sensors estimate the attitude by comparing

the star patterns captured by a star camera with the

reference star catalog (onboard star catalog). This is

similar to the navigation method used by shepherds

and handed down from ancient times. Because the star

pattern information is supplied as an image from a

star camera, a sequence of processes must then be

performed to ultimately obtain attitude information.

First, the star positions on the image are extracted

from the image, along with their corresponding

vectors with respect to the sensor frame. Then, some

stars in the image are identified as stars present in the

reference star catalog. Finally, the attitude is estimated

by comparing the star vectors from the image with

the reference star catalog. Usually, the processes

are called centroiding, star identification, and

attitude determination, respectively. Of those star

identification is the most complicated and time-

consuming process.

There have been many studies of star identification

over the past few decades. The final goal is usually

the same (to identify stars as quickly and robustly as

1108 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 49, NO. 2 APRIL 2013

Page 2: New Star Pattern Identification with Vector Pattern Matching for Attitude Determination

possible), but the methods can be roughly categorized

into two principal groups: subgraph isomorphism and

pattern recognition. The first approach compares the

angular distance and the length between stars, or the

geometric figures. The polygon-based algorithm and

match group algorithms follow this strategy; among

these is the triangle algorithm, which is the oldest of

them and also the most intuitive. The brightest stars

in the image are chosen, forming a triangle. The three

sides of the triangle and the brightness of each star

are then compared with those in the database. The

other algorithms in this category, including the match

group algorithm and pyramid algorithm, were then

developed from these foundations [8—14] and feature

improved robustness and speed compared with the

triangle algorithm.

Pattern recognition is a strategy that locates

the most similar image by comparing the entire

image pattern with an onboard database pattern. The

grid algorithm, a neural network algorithm, and a

genetic algorithm are all classified into this category

[15—23].The algorithms in this category identify

stars by matching the patterns thus obtained to the

reference pattern generated by other methods. The

grid algorithm is one of the most famous algorithms

in this category because it is intuitive, simple, and fast.

Neural network algorithms and genetic algorithms are

optimized pattern recognition methods. Recently, a

singular value decomposition method was proposed by

NASA.

The two categories each have their own properties.

The first category, subgraph isomorphism, is faster

when used with high-performance optics, and it is

also most robust to false stars because it uses only

some of the captured stars. The other category of

pattern recognition is more robust to star position

errors and has lower memory requirements. Because

it uses the whole star pattern, rather than a part of it,

it can tolerate more errors in the position of individual

stars.

In this study we propose a new star identification

algorithm that is developed for use on spacecraft as

well as high-altitude flying vehicles in the atmosphere,

such as unmanned aerial vehicles (UAVs). Starlight

is scattered by the air in the atmosphere, depending

on the altitude. Moreover, the scattered light of the

sun could affect the star image in the atmosphere.

Therefore, it is difficult to predict the intensity with

which a star will appear on the image. For usage

in space it is also relatively difficult to predict and

guarantee the actual star intensity on the image before

actually taking a star image using a star camera in

space. In this situation disagreement between the

onboard star catalog and the stars that appear on the

image can easily occur. Moreover, the star position

error is often large in this situation. Therefore, a star

identification algorithm is needed that can be used in

the case of disagreement with the star catalog and that

is also robust to the star position error.

II. STAR PATTERN MODEL AND CORRELATION

The new algorithm proposed in this study finds the

star vector pattern on the celestial sphere in the star

catalog that is most similar to the star pattern obtained

from a camera. The information obtained from the star

image consists of a set of star centroid positions on

the image plane and their signal magnitudes. From the

centroid positions a set of star vectors is calculated

with respect to the optical axis of the star camera. The

set of star vectors is the final star pattern information

obtained from the star camera. The new algorithm

uses the star vectors directly to identify stars. A

star vector that is normalized to a magnitude of 1 is

equivalent to a star position located on the surface of a

celestial sphere with a radius of 1. By modeling each

star as a Gaussian function with a normal probability

distribution, the star pattern image on the celestial

sphere is reconstructed. The new algorithm identifies

stars by maximizing the cross-correlation between

the image on the celestial sphere from the star

camera and that from a portion of the reference star

catalog.

A. Star Pattern Model in Cartesian X-Y Coordinates

Before modeling star patterns on the celestial

sphere from star vectors, we model the star image

in Cartesian X-Y coordinates as it is a good

approximation of the image on the celestial sphere.

The star vectors obtained from a star image inevitably

have a certain error that cannot be calibrated away.

The error that cannot be modeled exactly is usually

modeled as white noise with normal probability

distribution. Therefore, it is reasonable to model a

star vector as a two-dimensional Gaussian function on

the celestial sphere’s surface. The Gaussian function

is described by two parameters: mean and variance.

In this case the mean value is the star position on

the celestial sphere, and the variance depends on the

performance of the star camera because the model

represents the probability of the star position. If the

camera has good performance, the variance will be

small.

The two-dimensional Gaussian function is as

follows [2].

f(x,y) = A exp

"¡((x¡ xi)22¾2x

+(y¡ yi)22¾2y

)#: (1)

Under the assumption that the error is not directional,

the variance is the same in the x and y directions.The amplitude A is considered to be 1 because theweight for each star is the same in this algorithm.

YOON, ET AL.: NEW STAR PATTERN IDENTIFICATION WITH VECTOR PATTERN MATCHING 1109

Page 3: New Star Pattern Identification with Vector Pattern Matching for Attitude Determination

Fig. 1. Center positions of stars on X-Y plane.

Fig. 2. Reconstructed star model on X-Y plane–top view.

With these conditions the model for the ith star is asfollows.

pi(x,y) = exp

·¡½(x¡ xi)2 + (y¡ yi)2

2¾2

¾¸: (2)

The star pattern model for several stars is just a

superposition of the models of individual stars.

P(x,y) =Xi

pi(x,y)

=Xi

exp

·¡½(x¡ xi)2 + (y¡ yi)2

2¾2

¾¸: (3)

Figures 1, 2, and 3 show the star center positions

and the models related to the center positions.

B. Correlation of the Star Pattern Models in CartesianX-Y Coordinates

The correlation is one of the most popular

mathematical quantities for representing the degree of

similarity between two functions. A higher correlation

between two functions indicates that the two functions

are more similar to each other. In particular it is

an important metric for image recognition in the

computer science field [1]. In this stud, the correlation

is used as a score function to be maximized. In two

Fig. 3. Reconstructed star model on X-Y plane–side view.

dimensions the score function is defined as

S =

Z Za(x,y) ¢ b(x,y)dxdy (4)

where

a(x,y) =Xk

exp

·¡½(x¡ xk)2 + (y¡ yk)2

2¾2

¾¸

b(x,y) =Xl

exp

·¡½(x¡ xl)2 + (y¡ yl)2

2¾2

¾¸:

(5)

According to the cross-correlation theorem, the

cross-correlation of the two functions in (4) satisfies

the following properties, as expressed by (6) and (7).

h(n,m) =

Z Za(x,y) ¢ b(n+ x,m+ y)dxdy (6)

H(!x,!y) = A(!x,!y) ¢B(!x,!y): (7)

In these equations the capital letters denote

Fourier-transformed functions, and the overbar

denotes the complex conjugate.

Because the two functions in (5) are real-valued

functions, the score function can be written as

J =

Z Za(x,y) ¢ b(x,y)dxdy

=

Z Za(x,y) ¢ b(0+ x,0+ y)dxdy = h(0,0): (8)

The Fourier-transformed functions of the

two-dimensional images are given by (9).

A(!x,!y) =Xk

e¡j!xxk ¢ e¡j!yyk ¢p2¼¾e¡!

2x ¾

2=2

¢p2¼¾e¡!

2y ¾

2=2

B(!x,!y) =Xl

e¡j!xxl ¢ e¡j!yyl ¢p2¼¾e¡!

2x ¾

2=2

¢p2¼¾e¡!

2y ¾

2=2:

(9)

1110 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 49, NO. 2 APRIL 2013

Page 4: New Star Pattern Identification with Vector Pattern Matching for Attitude Determination

Using (9), (7) becomes

H(!x,!y) = A(!x,!y) ¢B(!x,!y)=Xk

Xl

ej!x(xk¡xl) ¢ ej!y(yk¡yl)

¢ 2¼¾2e¡!2x ¾2 ¢ 2¼¾2e¡!2y ¾2 : (10)

Using the inverse Fourier transform, thecross-correlation function is derived as follows:

h(x,y) =Xk

Xl

¾p¼ ¢ efx¡(xk¡xl)g2=4¾2

¢¾p¼ ¢ efy¡(yk¡yl)g2=4¾2 : (11)

Finally, the score function can be expressed as

S = h(0,0) =Xk

Xl

¾2¼ ¢ e((xk¡xl)2+(yk¡yl)2)=4¾2 :

(12)

The cross-correlation of two images can be computedusing only the center coordinates of stars and thevariance.Equations (5) and (12) can be expressed by the

distance between two points rather than by theircoordinates. Equation (5) is expressed by the distancefrom a star centroid position.

a(x,y) =Xk

eRRk2=2¾2g

b(x,y) =Xl

e¡fRRl2=2¾2g

(13)

where

RRk =q(x¡ xk)2 + (y¡ yk)2

RRl =q(x¡ xl)2 + (y¡ yl)2:

(14)

Equation (12) is expressed by the distance betweentwo center positions of stars as follows.

S =Xk

Xl

¾2¼ ¢ e¡((xk¡xl)2+(yk¡yl)2)=4¾2

=Xk

Xl

¾2¼ ¢ e¡RkRl2=4¾2 (15)

where

RkRl =q(xk ¡ xl)2 + (yk ¡ yl)2: (16)

C. Star Pattern Model and Correlation on CelestialSphere

As in (13) it is possible to construct a star patternmodel as a sum of Gaussian functions over the arclength (Fig. 4) because the stars are located on thesurface of the celestial sphere.

A(R) =Xk

e¡(_RR2k =2¾

2)

B(R) =Xl

e¡(_RR2l =2¾

2):

(17)

Fig. 4. Arc length_RR 2 on celestial sphere.

It is possible to define the score function as

follows.

S =

Z ZA(R) ¢B(R)dArea

=

Z Z Xk

Xl

e¡(_RR2k =2¾

2)e¡(_RR2l =2¾

2)dArea: (18)

It is difficult to integrate the score function (18)

through the celestial sphere analytically. However,

it is possible to obtain a good approximate value

for it. Equation (18) consists of two exponential

functions of ¡( _RR2i =2¾2). Because the value rapidlydecreases when ¡( _RR2i =2¾2) becomes larger (e¡10 ¼0:0000454), it is possible to neglect the score whenit is very distant from the centroid of stars. Star

cameras generally have an accuracy of at worst 100

arcsec, so the standard deviation (¾) is less than4:8481£10¡4. In this case the maximum arc length

of_RRi is 2:1682£ 10¡3, the score function has a

meaningful score value greater than e¡10, and theratio of

_RRi to RRi is 1.000000195870. Therefore,

the arc length between the point of evaluation and

the center of the star image is small enough to

be approximated as a straight-line distance under

meaningful score values. Also, the surface of the

celestial sphere can be regarded as a Cartesian X-Y

plane over this portion. Therefore, we can define a

new score function, which is an approximation of the

exact score function.

S ' S0 =Xk

Xl

Z ZArea near Rk ,Rl

e¡(RRk2=2¾2)e¡(RRl

2=2¾2)dudv:

(19)

Equation (19) is the integration over U-V

coordinates, a rectangular coordinate system on the

celestial sphere surface for each centroid of the stars.

Using (15) we can solve (19). The final formula for

YOON, ET AL.: NEW STAR PATTERN IDENTIFICATION WITH VECTOR PATTERN MATCHING 1111

Page 5: New Star Pattern Identification with Vector Pattern Matching for Attitude Determination

the new score function is obtained as

S0 =Xk

Xl

¾2¼ ¢ e¡(RkRl2=4¾2)

=Xk

Xl

¾2¼ ¢ expf¡[f(xk ¡ xl)2 + (yk ¡ yl)2

+ (zk ¡ zl)2g=4¾2]g: (20)

Equation (20) is the approximated correlation

function, which represents the similarity of two star

patterns on the celestial sphere.

For convenience in calculation it is possible to

neglect the common part for each star (¾2¼).

S00 =Xk

Xl

expf¡[f(xk ¡ xl)2 + (yk ¡ yl)2

+ (zk ¡ zl)2g=4¾2]g: (21)

III. THE NEW STAR IDENTIFICATION ALGORITHM

A. Required Data Tables

The new algorithm identifies the stars using the

score function in (21). The basic idea of identification

is to find a star pattern that maximizes the score

function. There are reference stars in the star catalog

all over the celestial sphere. It is almost impossible

to compare the star pattern obtained from the star

camera with every part of the celestial sphere in every

direction. A method is needed to fit the star pattern

to a part of the celestial sphere. In this study a pair of

stars is used as a reference for fitting. It is possible

to make a sorted star-pair table, called the “pair

table,” including star ID numbers and interangles.

By searching the pair table using existing algorithms

such as the search-less algorithm [9] or binary search

tree [10], candidate star pairs are chosen with that

certain angle. With the pairs as a reference mark,

the star pattern is then fitted to the celestial sphere.

After the fitting the calculation of the score function,

(21), should be done using the stars that are near

the reference pair stars. It is very time-consuming

work to select the near stars from the star catalog.

Therefore, another table, called the “nearby star table,”

which contains the stars close to each star in the star

catalog, is needed. Given the nearby star table, we

can calculate the score function without searching

the entire star catalog every time. To summarize two

precomputed and sorted tables are needed: the pair

table and the nearby star table. To save on memory

usage, it is necessary to limit the number of nearby

stars stored for each star in the nearby table. In this

simulation the maximum number of nearby stars

for each reference star is 30. The criteria to collect

nearby stars in the field of view (FOV) is that 1) for

stars brighter than magnitude 5 Mv, choose stars

in brightness order and 2) choose residual stars by

distance from the reference star, close one first. This

is because the possibility to be appeared increases as

brighter and as closer to the reference star. The criteria

can be changed, depending on systems.

B. Star Identification Algorithm

Given the two tables and a star catalog containing

reference star vectors, the star identification is

conducted based on maximizing the score function

(21). First, a star pair has to be selected from the

star vectors from the star image. By searching the

star-pair table, candidate star pairs are chosen. Based

on the two reference star pairs, the direction cosine

matrix (DCM) from the star camera frame to part

of the inertial frame is calculated using an attitude

determination algorithm like TRIAD, q-method, or

QUEST [4]. Using the DCM the star vectors obtained

from the star camera are fitted to the celestial sphere.

Using the nearby star table, the score function is

then calculated. After calculating the score for each

candidate star pair, the maximum score and the

corresponding star ID numbers closest to each star

in the image are saved (or added if the ID number

is already present). By repeating the identification

sequence several times (depending on the reliability

and the identification time), the star ID number that

has the maximum score is chosen as the ID number

for each star.

To reduce the identification time and memory, it

is necessary to limit the number of stars used in the

algorithm. Although it is more reliable to use all the

stars in the image, using just 20 bright stars is good

enough to identify stars, as shown in the simulation

study and the actual star image identification. The

criteria to select stars were the order of brightness.

C. Filtering of Identification Results

Because our identification algorithm uses a score

function, it is possible to filter the results based on the

score value. After the identification process each star

has a certain ID score, which is summed up through

the whole identification process. A higher ID score

corresponds to a greater probability of being a correct

answer. Because of this we can filter the results based

on the absolute score values as well as the relative

score values among the identified stars. The score

function (21) consists of the sum of exponential

functions. Each exponential function in (20) has a

maximum value of 1, which occurs when two stars are

exactly matched. Using this fact it is possible to filter

by a minimum score value or a minimum proportion

of the highest score value found among all of the IDs.

Comparing the angular distances from the maximum

score star with the other stars also provides for good

filtering. If the angular distance of the star image is

not close to the one of the star catalog, then one of the

star IDs must be wrong.

The filtering process makes it possible to use only

reliable results, thus increasing the performance of

attitude determination.

1112 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 49, NO. 2 APRIL 2013

Page 6: New Star Pattern Identification with Vector Pattern Matching for Attitude Determination

IV. SIMULATION STUDY

Simulations are conducted to confirm the

performance of the new proposed identification

algorithm. The target star sensor systems are based on

the actual star tracker SST20S, which was developed

by the Satrec Initiative. The system specifications are

as follows: CCD size of 1024£1024 (pixels), with apixel length of 0.013 mm/pixel; an aperture diameter

of 50 mm; and an FOV of 15 deg for the stand-alone

star sensor.

For the simulation we use a star catalog extracted

from SKYMAP 2000 Version 5, which is published

by the NASA Goddard Space Flight Center. The

catalog is assumed to be an onboard star catalog. A

total of 4975 stars in the catalog are brighter than

5.5 Mv. Our images have an average of 21.23 stars

(with a minimum of 0 stars and a maximum of 85

stars). Multiple stars are excluded from the onboard

star catalog.

The simulations are conducted under three

different conditions. In case I the stars in the image

are brighter than 5.5 Mv, and all of them except the

false stars are included in the onboard star catalog.

The minimum star magnitude is 5.0 Mv for case II

and 6.0 Mv for case III. These levels allow for

discrepancies between the onboard catalog stars

and the stars in the image. In case II some of the

stars that should have been captured are absent. In

case III the stars in the image outnumber the stars

in the onboard catalog. In case II and case III, the

robustness of the new algorithm can be verified when

there is a discrepancy between the stars in the onboard

star catalog and the actual stars captured by the star

camera.

For each simulation condition we intentionally

add some star position errors, star magnitude errors,

and false stars to the star images to highlight the

identification system’s tolerance to measurement

errors and false stars. White noise with a 1¾ valuethat varies from 0 arcsec to 60 arcsec (1 arcmin) is

added to the measured star vectors, and white noise

with a 1¾ value of 0.5 Mv is added to the measuredstar magnitude. On the CCD image we also scatter up

to 3 false stars, each with a random brightness ranging

from 0 Mv to 5.0 Mv.

The results of the new algorithm are compared

with the results of an algorithm from the pattern

recognition group and an algorithm from the subgraph

isomorphism group. For the former we choose

the modified grid algorithm (or elastic binary grid

algorithm) [16]. The original grid algorithm is the

most famous algorithm of the pattern recognition

group on account of its efficiency and robustness [15];

however, it is unsuitable for our simulation because

of the number of stars in the reference star catalog

and the average number of stars in the FOV. The

modified grid algorithm, which is an improved version

Fig. 5. Identification rates for case I.

of the original grid algorithm, is more suitable for the

conditions of our simulation. We use a 61£61 grid,where 16:78£ 16:78 (1024/61) pixels constitutes agrid. In order to make a fair comparison, the filtering

of identified results, introduced in Section III-C, is

applied to that of the modified grid algorithm. Since

the modified grid algorithm uses cost function, the

angular distances between the minimum cost star and

the other stars are compared with those of the star

catalog.

From the subgraph isomorphism group, we choose

the pyramid algorithm [12] because of its efficiency,

robustness, and verified performance in space. In

the frequency test of the pyramid algorithm, we use

a threshold frequency of 3.0 for the triangular star

patterns.

Ten thousand star identification simulations

are conducted for each case. In the three cases the

random attitudes are generated by a normal random

unit quaternion generator that generates uniformly

distributed random unit quaternions [27, 28], which

is used to simulate a star sensor. Because we assume

a random attitude, sometimes there are fewer than

three stars present in the image. This phenomenon

occurs in 0.80% of the case I simulations and 2.83%

of the case II simulations. Identifying the stars in this

situation is impossible. The criteria of success include

the correct identification of more than two stars and

no incorrect identification of any stars.

A. Case I: Minimum Star Magnitude of 5.5 Mv

Figure 5 shows the simulation results for case I.

When there are no false stars, the new algorithm

achieves an identification rate of 98% to 99%. In

contrast the modified grid algorithm achieves a rate

of 92% to 96%, and the pyramid algorithm achieves

a rate of 92% to 99%. For a small position error,

the pyramid algorithm works well; however, if the

YOON, ET AL.: NEW STAR PATTERN IDENTIFICATION WITH VECTOR PATTERN MATCHING 1113

Page 7: New Star Pattern Identification with Vector Pattern Matching for Attitude Determination

Fig. 6. Identification rates for case II.

position error increases, the performance of the

algorithm is degraded more than the other algorithms

because the pyramid algorithm basically uses only

four stars, whereas the others use more than four.

This degradation is inherent for star identification

algorithms based on the subgraph isomorphism

approach because they use fewer stars than do the

algorithms based on the pattern recognition approach.

As the number of false stars is increased, the

identification rates of the modified grid algorithm

decrease more than the rates of the other algorithms.

In many failed cases the modified grid algorithm

accurately identifies true stars but mistakenly identifies

false stars as true stars. The latter problem is attributed

to the comparatively large grid. The increment of the

number of grids for a more accurate detection of false

stars leads to performance degradation in position

errors in this condition.

When the number of false stars is increased, the

identification rates decrease more with the pyramid

algorithm than with the other algorithms. The pyramid

algorithm initially starts to identify false stars because

a false star is relatively brighter than a true star. It

can accurately detect false stars if the position error

is small but tends to mistakenly identify false stars as

true stars if the position error is large (because of the

resultant increase in the pair-search range).

B. Case II: Minimum Star Magnitude of 5.0 Mv

In case II some stars in the star catalog are missing

in the image. The number of stars brighter than

5.0 Mv is 2911, which accounts for only 60% of the

stars in the onboard star catalog. Figure 6 shows the

simulation results for this condition.

The degradation in the performance of the

modified grid algorithm is noticeably worse for

case II than for case I. The modified grid algorithm

Fig. 7. Identification rates for case III.

uses preconstructed reference grid patterns, and each

reference grid pattern is a two-dimensional pattern

based on the arrangement of two reference stars.

The absence or change of one of the reference stars

results in a mismatch with the reference grid pattern.

Accordingly, the modified grid algorithm has a lower

identification rate than the other algorithms.

For the new algorithm and the pyramid algorithm,

the case II performance degradation with respect to

position errors and false stars is similar to that of

case I.

C. Case III: Minimum Star Magnitude of 6.0 Mv

In case III the image contains some stars that

are not in the onboard star catalog. The number of

stars brighter than 6.0 Mv is 8559, which accounts

for more than 70% of the stars in the onboard star

catalog. The stars not in the onboard star catalog are

false stars produced by the star sensor. We limit the

number of bright stars in the modified grid algorithm

to 20 in order to improve the algorithm’s performance

and to ensure a fair comparison. Without this upper

boundary the algorithm performs very poorly because

it uses a multitude of false stars.

Figure 7 shows the simulation results for case III.

For case III the performance of the modified grid

algorithm is degraded more than that of the other

algorithms. The reasons for the degradation are the

same as those for case II. For small position errors

the pyramid algorithm outperforms the new algorithm

because the pyramid algorithm uses only four stars,

whereas the new algorithm uses all of the 20 stars,

many of which may be false stars. However, as the

position errors increase, the identification rates of the

pyramid algorithm decrease significantly, whereas the

new algorithm maintains a stable performance for the

same reasons as in case I.

1114 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 49, NO. 2 APRIL 2013

Page 8: New Star Pattern Identification with Vector Pattern Matching for Attitude Determination

To sum up the new algorithm produces more stable

identification rates than the modified grid algorithm

and the pyramid algorithm. Thus, we can conclude

that the new algorithm is more robust in the way

it handles position errors, false stars, and incorrect

predictions of the star magnitude.

D. Memory Usage and Identification Time

The memory usage and identification time are

important factors for actual implementation of the star

identification algorithm.

In terms of memory usage, the new algorithm

requires two tables: a pair table and a nearby star

table. Only a part of the pair table is required for the

fitting procedures. For this study we use 8 bytes for

one pair: a float (4 bytes) inter-angle and two short

(2 bytes) ID numbers. In the nearby star table, each

star in the onboard star catalog has a maximum of

30 ID numbers for nearby stars; each ID number

is saved as a short (2 bytes) type. The pair table

uses 478 KB for 61,263 pairs, and the nearby star

table uses 241 KB for 123,256 ID numbers. A total

memory of 874KB is required to store information on

4975 stars, including information on the stars of the

onboard star catalog.

The modified grid algorithm requires grid pattern

data for all the stars in the star catalog. The grid

pattern data uses 4 bytes for each grid that contains

a star. The size of the grid pattern data used in this

simulation is 512 KB with 130,952 items of grid

information. A total memory of 667 KB is required

to store the star information, including information on

the stars in the onboard star catalog.

The pyramid algorithm requires a k-vector table

and a whole pair table, which includes almost all

the inter-angle pairs in the FOV to guarantee the

full performance of the algorithm. In the k-vector

table each vector component uses 4 bytes. For this

simulation we use a 942 KB k-vector table and a

1883 KB pair table with 240,942 pairs. The total

memory usage is 2961 KB.

The modified grid algorithm requires the least

memory of all these algorithms for star identification.

However, a memory of 874 KB for the new algorithm

is reasonable in relation to typical star sensor systems.

There are several parameters that affect the

identification time of the new algorithm. The principal

factor is the number of candidate pairs. Because the

algorithm calculates the score function for every

candidate pair, the time is proportional to the number

of candidate pairs. The range depends largely on

the performance of the optics. The correct pair

should be included among the selected candidate

pairs. If the optics provide more accurate star

vectors, the range and identification time can be

reduced. In this simulation the range over which

the candidate stars are selected is §0:025 deg (90

arcsec) from the inter-angle of the target pair. Another

important parameter is the number of identifications

required. The calculation of the score function

is performed for each target pair of stars in the

image. Just one identification sequence for a target

pair is adequate if the stars of the pair are real

stars that are included in the onboard star catalog.

However, relying on a single sequence cannot give

the correct answer if one of the stars in a pair is

missing from the star catalog. Several identification

sequences are needed to increase the probability

of successful identification. In the simulations

the maximum number of identifications is limited

to 20.

The simulations are performed on a computer

with a 2.4 GHz Intel Core 2 Quad Q6600 processor,

using the Microsoft Visual Studio 2008 C compiler.

The identification time is measured for 10,000

simulations of case I. For a fair comparison we set

the maximum number of 20 identifications for both

the modified grid algorithm and the new algorithm.

The simulation processing takes 738 s for the new

algorithm and 365 s for the modified grid algorithm.

For the pyramid algorithm the identification varies

from 4 s to 279 s, depending on the position errors

applied.

The average identification time is 73.8 ms for the

new algorithm and 36.5 ms for the modified grid

algorithm. The parameters used in the simulations

are set to yield stable identification rates for star

positioning errors of up to 60 arcsec. If implemented

in a finely calibrated star sensor with optimized

parameters, the new algorithm can identify stars more

quickly.

V. IDENTIFICATION OF ACTUAL STAR IMAGE

The proposed algorithm is applied to identify stars

on an actual image from a star sensor, namely, the

SST20S, with 15 deg FOV and guaranteed single

star accuracy of 20 arcsec. Some of the images are

taken on the ground,, and others are taken on the

DubaiSat1 Earth-orbiting satellite. Figures 8 and 9

illustrate the images and present their identification

results. Figure 8 is the image taken on the ground,

and Fig. 9 is taken on the satellite. The numbers

next to the stars are the ID numbers in the star

catalog used. By comparing the attitudes obtained

from the star image and from the experimental

conditions, the identification is confirmed to be

correct for all of the images. The memory usage

is 874 KB, the same as in the simulations. The

average identification time is 13.5 ms on the desktop

computer. Because the performance of the optics

is good and measured accurately, the parameters

of the new algorithm are optimized. Therefore,

the identification time is much shorter than in the

simulations.

YOON, ET AL.: NEW STAR PATTERN IDENTIFICATION WITH VECTOR PATTERN MATCHING 1115

Page 9: New Star Pattern Identification with Vector Pattern Matching for Attitude Determination

Fig. 8. Star identification–image on ground.

Fig. 9. Star identification–image in space.

VI. CONCLUSION

In this paper we propose a new star identification

algorithm with a vector pattern matching technique.

It uses a score function, which is defined as an

approximation of the correlation between two

reconstructed star patterns in the celestial sphere.

With the help of the score function, the algorithm

uses star vectors directly to identify star patterns. The

simulation studies confirm that the new algorithm

is robust against star position errors and false stars.

Moreover, the new algorithm performs stably when

presented with discrepancies between the star catalog

and the stars captured by the star camera. The actual

star image identifications confirm that the new

algorithm is suitable for actual applications.

REFERENCES

[1] Kumar, B. V. K. V., Mahalanobis, A., and Juday, R. D.

Correlation Pattern Recognition.

Cambridge, UK: Cambridge University Press, 2005.

[2] Hayter, A. J.

Probability & Statistics for Engineers & Scientists (2nd

ed.).

Pacific Grove, CA: Duxbury Press, 2002.

[3] Wie, B.

Space Vehicle Dynamics and Control (AIAA Education

Series).

Reston, VA: AIAA, 1998.

[4] Shuster, M. D. and Oh, S. D.

Three-axis attitude determination from vector

observations.

AIAA Journal of Guidance, Control and Dynamics, 4, 1

(1981), 70—77.

[5] Padgett, C., Kreutz-Delgado, K., and Udomkesmalee, S.

Evaluation of star identification techniques.

AIAA Journal of Guidance, Control and Dynamics, 20, 2

(1997), 259—267.

[6] Spratling, B. B. and Mortari, D.

A survey on star identifications algorithms.

Algorithms, 2, 1 (2009), 93—107.

[7] Silani, E. and Lovera, E.

Star identification algorithms: Novel approach &

comparison study.

IEEE Transactions on Aerospace and Electronic Systems,

42, 4 (2006), 1275—1288.

[8] Junkins, J. L., White, C., and Turner, J.

Star pattern recognition for real-time attitude

determination.

AIAA Journal of the Astronautical Sciences, 25 (1977),

251—270.

[9] Mortari, D.

Search-less algorithm for star pattern recognition.

Journal of the Astronautical Sciences, 45, 2 (1997),

179—194.

[10] Quine, B. M. and Whyte, H. F. D.

A fast autonomous star-acquisition algorithm for

spacecraft.

Control Engineering Practices, 4, 12 (Dec. 1996),

1735—1740.

[11] Mortari, D. and Neta, B.

K-vector range searching techniques.

Proceedings of the 10th Annual AIAA/AAS Space Flight

Mechanics Meeting, Clearwater, FL, 2000, Paper AAS

00-128.

[12] Mortari, D., Junkins, J. L., and Samman, M. A.

Lost-in-space pyramid algorithm for robust star pattern

recognition.

Proceedings of the Guidance and Control Conference,

Breckenridge, CO, 2001, Paper AAS 01-004.

[13] Cole, C. and Crassidis, J.

Fast star-pattern recognition using planar triangles.

AIAA Journal of Guidance, Control & Dynamics, 29, 1

(2006), 64—71.

[14] Lamy Au Rousseau, G., Bostel, J., and Mazari, B.

Star recognition algorithm for APS star tracker: Oriented

triangles.

IEEE Aerospace and Electronic Systems Magazine, 20, 2

(2005), 27—31.

1116 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 49, NO. 2 APRIL 2013

Page 10: New Star Pattern Identification with Vector Pattern Matching for Attitude Determination

[15] Padgett, C. and Kreutz-Delgado, K.

A grid algorithm for star identification.

IEEE Transactions on Aerospace and Electronic Systems,

31, 1 (1997), 202—213.

[16] Na, M., Zheng, D., and Jia, P.

Modified grid algorithm for noisy all-sky autonomous

star identification.

IEEE Transactions on Aerospace and Electronic Systems,

45, 2 (Apr. 2009), 516—522.

[17] Kim, K. T. and Bang, H.

Reliable star pattern identification technique by using

neural networks.

Journal of the Astronautical Sciences, 52, 1—2 (Jan.—June

2004), 239—249.

[18] Hong, J. and Dickerson, J. A.

Neural-network-based autonomous star identification

algorithm.

AIAA Journal of Guidance, Control & Dynamics, 23, 4

(July 2000), 728—735.

[19] Nagendra Rao, G., Seethatama Bhat, M., and Alex, T. K.

Star pattern identification using attitude variation

technique.

AIAA Journal of Guidance, Control & Dynamics, 28, 6

(Nov. 2005), 1140—1149.

[20] Lindsey, C. S., Lindblad, T., and Eide, A. J.

Method for star identification using neural networks.

In S. K. Rogers (Ed.), Proceedings of SPIE, vol. 3077,

Applications and Science of Artificial Neural Networks III,

1997, pp. 471—478.

[21] Servidia, P. A. and Sanchez Pena, R. S.

New robust star identification algorithm.

IEEE Transactions on Aerospace and Electronic Systems,

42, 3 (July 2006), 1126—1131.

Hyosang Yoon received his B.S. and the M.S. in aerospace engineering fromKorea Advanced Institute of Science and Technology (KAIST), Daejeon,

Republic of Korea, in 2008 and 2010.

Since 2009 he has worked for the Attitude & Orbit Control System Team at

Satrec Initiative Co. Ltd.

Sung Wook Paek received his B.S. degrees in aerospace engineering andelectrical engineering from Korea Advanced Institute of Science and Technology

(KAIST), Daejeon, Republic of Korea in 2010 and his M.S. degree in aeronautics

and astronautics from the Massachusetts Institute of Technology (MIT),

Cambridge, MA, in 2012.

He works for the Strategic Engineering Research Group (SERG) at MIT and

is also affiliated with the Space Systems Laboratory (SSL).

[22] Paladugu, L., Williams, B. G., and Schoen, M. P.

Star pattern recognition for attitude determination using

genetic algorithm.

Presented at the 17th AIAA/USU Conference on Small

Satellites, Logan, UT, Aug. 2003.

[23] Wei, X., Zhang, G., and Jiang, J.

Star identification algorithm based on log-polar transform.

AIAA Journal of Aerospace Computing, Information &

Communication, 6, 8 (2009), 483—490.

[24] Samaan, M. A., Mortari, D., and Junkins, J. L.

Recursive mode star identification algorithms.

IEEE Transactions on Aerospace and Electronic Systems,

41, 4 (2005), 1246—1254.

[25] Xie, J., Jiang, W., and Gong, J.

A new star identification algorithm based on matching

probability.

Proceedings of the IEEE International Geoscience and

Remote Sensing Symposium (IGARSS 2008), vol. 3,

Boston, MA, July 7—11, 2008, pp. 1166—1169.

[26] Udomkesmalee, S., Alexander, J. W., and Tolivar, A. F.

Stochastic star identification.

AIAA Journal of Guidance, Control & Dynamics, 17, 6

(Nov. 1994), 1283—1286.

[27] Shuster, M. D.

Man, like these attitudes are totally random!–I.

Quaternions.

Advances in the Astronautical Sciences, 108 (2001),

383—396.

[28] Shuster, M. D.

Man, like these attitudes are totally random!–II. Other

representations.

Advances in the Astronautical Sciences, 108 (2001),

397—408.

YOON, ET AL.: NEW STAR PATTERN IDENTIFICATION WITH VECTOR PATTERN MATCHING 1117

Page 11: New Star Pattern Identification with Vector Pattern Matching for Attitude Determination

Yeerang Lim received her B.S. degree in aerospace engineering from Korea

Advanced Institute of Science and Technology (KAIST), Daejeon, Republic

of Korea in 2009 and her M.S. degree from the Space Exploration Program at

KAIST in 2011.

She works for the Aerospace Systems and Control Laboratory (ASCL) at

KAIST as a Ph.D. candidate student.

Byung-Hoon Lee received his B.S. and M.S. degrees in aerospace and mechanical

engineering from Korea Aviation University, respectively.

He is currently working as a senior research engineer for the Attitude & Orbit

Control System Team at Satrec Initiative Co. Ltd.

Hungu Lee received his B.S. in physics and his M.S. and Ph.D. degreesin aerospace engineering from Korea Advanced Institute of Science and

Technology (KAIST), Daejeon, Republic of Korea in 1992, in 1994, and in 1999,

respectively.

He was a visiting research scholar at Aerospace Engineering of Georgia

Institute of Technology from April, 1999 until March, 2000. Since 2000 he has

been working with Satrec Initiative Co. Ltd. in satellite system development. He

is now a project manager in the Satellite Development Division.

1118 IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 49, NO. 2 APRIL 2013