Vaz, Brendon
Vaz, Brendon
Vaz, Brendon
STAR TRACKERS
by
I
Abstract
Star trackers are perhaps the most accurate means of measuring a space-
craft’s orientation in space and are becoming a popular sensing instrument
for attitude determination systems amongst conventional larger satellites as
well as micro satellites. In order to produce and maintain high fidelity mea-
surements, the systematic effects of lens distortion and possible sensor al-
terations due to environmental changes and instrument aging must all be
accounted for through calibration, both on the ground and on orbit. In this
study, a calibration method is presented to account for errors in star camera
parameters, namely the focal length, bore sight offset, higher order radial dis-
tortion terms and the tip and tilt of the detector array in relation to the lens
arrangement. This method does not depend on a costly high-precision lab
setup; instead it simply employs the star camera images and a star catalogue
to calibrate the instrument given reasonable initial estimates. This allows
for a reduction in pre-mission calibration requirements and is feasible for an
online implementation, allowing the star tracker to calibrate itself through
out its life-cycle.
II
Acknowledgements
I would also like to thank the guys in the lab for all their assistance
and for reminding me that windows are not everything. Sometimes all you
need is a coffee, a pack of cards and a few Nerf guns to make your thesis work.
I would especially like to thank Marce Soto for her assistance with my
courses, my work and for being a close and reliable friend. Without your
companionship and your help, this thesis would certainly have been written
in Notepad (if written at all).
III
Table of Contents
Author’s Declaration I
Abstract II
Acknowledgements III
Table of Contents IV
List of Tables VI
1 Introduction 1
1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Prior Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Scope of Project . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1 Principles of Star Tracking . . . . . . . . . . . . . . . . 8
1.4.2 Basic Components . . . . . . . . . . . . . . . . . . . . 9
1.4.3 Principle of Operation . . . . . . . . . . . . . . . . . . 10
1.4.4 Sources of Error . . . . . . . . . . . . . . . . . . . . . . 11
1.4.5 Typical Calibration Approaches . . . . . . . . . . . . . 12
1.5 Online Calibration Overview . . . . . . . . . . . . . . . . . . . 13
1.5.1 Attitude Dependent vs Attitude Independent Calibration 14
1.5.2 Unconstrained Nonlinear Optimization . . . . . . . . . 15
1.5.3 Batch Estimation & Recursive Estimation . . . . . . . 17
IV
TABLE OF CONTENTS V
2 Mathematical Framework 18
2.1 Basic Sensor Geometry . . . . . . . . . . . . . . . . . . . . . . 18
2.1.1 Frames of Reference . . . . . . . . . . . . . . . . . . . 18
2.1.2 Star Camera Inverse Model . . . . . . . . . . . . . . . 20
2.1.3 Systematic Errors . . . . . . . . . . . . . . . . . . . . . 22
2.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.1 Optimization Parameters . . . . . . . . . . . . . . . . . 24
2.2.2 Cost Function . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.3 Forming the Jacobian . . . . . . . . . . . . . . . . . . . 26
2.3 Unconstrained Optimization . . . . . . . . . . . . . . . . . . . 31
2.3.1 Gradient Descent Method: . . . . . . . . . . . . . . . . 31
2.3.2 Gauss Newton Method: . . . . . . . . . . . . . . . . . . 32
2.3.3 Levenberg Marquardt Method: . . . . . . . . . . . . . 33
2.3.4 BFGS Method: . . . . . . . . . . . . . . . . . . . . . . 34
2.3.5 Recursive Least Squares: . . . . . . . . . . . . . . . . . 35
4 Conclusion 79
4.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.1.1 Simulated Data . . . . . . . . . . . . . . . . . . . . . . 80
4.1.2 Ground Data Tests . . . . . . . . . . . . . . . . . . . . 80
4.1.3 Orbital Data Tests . . . . . . . . . . . . . . . . . . . . 82
4.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.3 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . 84
Bibliography 86
List of Tables
VI
List of Figures
VII
LIST OF FIGURES VIII
S
pacecraft have matured a great deal since their inception in the
mid twentieth century. The spacecraft of today are moving towards
increasing autonomy, and working towards the capability of autonomously
transporting payloads, acquiring mission data and even navigating them-
selves, with the attempt to eliminate any human interaction or ground
support. Among the many problems encountered in space, the issue of
spacecraft navigation and attitude determination is especially interesting
and has been a constantly expanding field of study. Attitude control systems
are an integral part of any spacecraft and have encouraged the development
of a wide spectrum of orientation sensing devices that operate based on
a host of different observations or physical phenomena. Common attitude
sensing instruments include sun sensors, star sensors, horizon sensors,
magnetometers, gyroscopes, or even Global Positioning System receivers for
near earth space missions.
1
Chapter 1. Introduction 2
the camera focal length, decentering distortions, radial distortions and de-
tector pose with respect to the lens arrangement. Without any dependence
on lab equipment, this method is suitable not only for a ground based im-
plementation, but may also be implemented to autonomously calibrate star
cameras while in orbit.
Online calibration methods have been applied in the past to a wide range
of sensors. Typically, ground based methods utilize large amounts of data
to minimize the residual in a least squares sense between sensor output
and a known truth attained from lab equipment. Although this is an
effective method on the ground, the dependence of this method on a
lab setup and storage and processing of large volumes of data render it
unfeasible for an online setting. To combat this, a recursive based esti-
mation method is usually adopted to optimize sensor performance. There
are several excellent sources on the subject [Crassidis & Junkins 2011]
outlining reliable algorithms that may be adopted to solve the sensor
optimization problem. In the past, researchers have used these recursive
methods for sensor alignment [Kok-Lam Lai 2003], magnetometer calibra-
tion [Kim et al. 2004], thruster calibration [Wiktor 1996], gyro calibration
[OShaughnessy & Pittelkau 2007], control systems [Chen et al. 2006] and a
wide variety of different sensing elements.
Perhaps the most influential and possibly the foremost research projects on
online star tracker calibration were conducted by Junkins and his research
team. In his first paper [Samaan et al. 2001] on the subject, Samaan
proposed using the discrepancy between imaged star vectors attained
from the star camera, and the matched star vectors from an on-board
catalogue to determine the changes in internal camera parameters. This
gave rise to the two basic types of calibration the attitude dependent and
attitude independent methods. The former utilizes the errors in imaged and
catalogued vectors themselves, and the latter using the discrepancy in angles
between pairs of vectors from the camera and catalogue. Following up on this
research, the team conducted simulations, as well as ground tests to evaluate
the performance of each method. Since the attitude dependent method relies
on potentially poor attitude information, it is no surprise that the attitude
independent method was determined to be superior [Griffith et al. 2002].
Singla’s evaluation of each methods performance was based on the estimates
of the variance that can be encountered in the residuals between star tracker
and catalogued data and the attitude estimates attained from the star
tracker [Singla et al. 2002]. It is a well-known fact that recursive estimators
can behave smugly after large volumes of data have been analyzed. To
combat this, Griffith proposed using a modified recursive least squares
algorithm, with additive process noise, and a forget factor in order to
prevent co-variance wind-up, and to give preference to the most recent
available data. This is especially useful when the parameters are expected
to slowly drift over time [Griffith & Junkins 2009].
Figure 1.1 ST-16 star tracker (used in this project) [Enright, 2010].
1.3 Contributions
In this project, the Junkins idea of attitude independent calibration is utilized
in conjunction with a detailed camera model instead of the basic pinhole
model to estimate focal length, principal point, detector pose and higher
order distortions in one single step. The camera model chosen is an inverse
formulation of the model proposed by Wang [Wang et al. 2008] required to
estimate star vectors from illuminated pixels on the camera detector. Wangs
model expresses lens distortion as radial distortion plus a transform from
ideal image plane to real sensor array plane which effectively captures the net
These factors include the number of images required per batch to com-
pute a accurate parameter estimate, as well as the required diversity
of scenes necessary to ensure the observability of all parameters. The
independence of parameters is also explored. The results from the tests
are presented and analyzed, and some notes on implementation are discussed.
1.3.2 Outline
The remainder of Chapter 1 presents a basic summary of star tracking, in-
cluding the working principle, sources of error and typical calibration ap-
1.4 Background
1.4.1 Principles of Star Tracking
Stellar navigation is one of the oldest methods used for navigation and head-
ing determination since stars provide a reliable and independent source of
information about the observer’s pointing direction. Although stellar navi-
gation has been replaced by modern infrastructure like Global Positioning
Systems here on earth, the fact that stars can provide valuable and accurate
information for navigation regardless of the observer’s position has remained
unchanged. This fact has been especially exploited in the aerospace indus-
try for navigating spacecrafts that operate beyond the comforts of earth.
With the advent of modern computing technology, the manual star naviga-
tion methods of old have been completely replaced with fully autonomous
star trackers that do not require external computing means for image pro-
cessing and attitude determination. Star trackers are capable of imaging the
night sky, identifying matching stars in an on-board catalog and determining
the orientation of the observer with respect to an inertial frame. In essence,
they are fully autonomous devices providing three axis attitude information
for spacecraft navigation. Star trackers are capable of operating with prior
attitude information available (tracking mode) and when no prior attitude
information is available (Lost-in-Space mode). Modern star trackers are the
only available stand alone devices that provide high resolution attitude mea-
surements in all three axes. It is no surprise that autonomous star trackers
are rapidly becoming the preferred attitude determination instruments on
board most spacecraft. [Liebe 1995]
The lens array is designed based on the availability of stars being captured
in the field of view, and the sensitivity of the detector to image poorly lit
stars. At least three stars must be captured in the field of view in order to
identify the stars with a high degree of probability and to produce a high
fidelity attitude solution. Star sensors typically employ a range of detectors
such as CMOS or CCD arrays.
The on-board processor facilitates the readout of images from the image de-
tector, contains enough memory to store the sensor firmware and the star
catalogue, and is used to process the images and perform the necessary cal-
culations required in order to produce an attitude solution from the acquired
data.
• Geometry Calculations
Once the centroid locations of each star are determined on the detector
plane, it is necessary to compute a three dimensional unit-vector cor-
responding to the location of each star in relation to the star sensor.
This process of determining the three-dimensional vectors from illumi-
nated centroids requires an inverse model of the star sensor and is a
function of the internal camera geometry. Essentially, this calculation
employs the focal length and array dimensions to relate detector ar-
ray co-ordinates to directional vectors. However, due to imperfections,
other distortion corrections are also taken into account. Determining
these parameters is key to calibrating the camera since the accuracy
of the resulting attitude is closely related to the accuracy in relating
a star image on the focal plane to a star vector in space. The inverse
model will be re-visited in greater detail in the Chapter 2.
• Star Matching
Star matching is perhaps the most critical step in the attitude acqui-
sition procedure. Imaging a variety of stars cannot produce an atti-
tude solution without the ability to determine which stars are cap-
tured in the image, and where each of these stars lie in an inertial
frame. The star matching routine takes the observed star vectors and
identifies the corresponding stars from an on-board catalogue based on
the spherical triangles formed by triplets of stars detected in the field
of view. Several robust algorithms have been developed for this process
[Samaan et al. 2003].
• Attitude Determination
The final step conducted by the star tracker firmware is the attitude de-
termination. Using the centroids captured by the star camera, their cor-
responding vectors mapped through the inverse model, and the match-
ing vectors acquired from the star catalogue, an attitude solution can
be determined. This is achieved by employing several robust algorithms
that determine the appropriate rotation matrix from two sets of vectors
in two frames. Some algorithms that achieve this include the Q-method,
FOAM or ESOQ [Crassidis & Junkins 2011].
High intensity vibrations during launch can disrupt the alignment delicate
components. Star trackers in particular can be greatly affected by these
large vibrations since they rely on a set of precisely aligned optics. Like
vibration, impulsive loading during satellite separation or maneuvers also
has the potential to disturb instrument focus and camera geometry.
Other factors that may influence the accuracy and performance of star track-
ers include radiation, instrument aging, refraction in the lens, and star mo-
tion. Although the errors caused from radiation and aging are considerable in
high precision star trackers, it is highly unlikely that these sources can cause
any dimensional alterations within the camera itself; instead these errors are
likely to influence the noise patterns seen in the star camera. Refraction and
star motion can both be modeled, however, an online calibration procedure
may not be the best approach here.
• Lab Calibration:
In the lab calibration the use of a single star light simulator and a
high precision motion platform is employed. Moving the star sensor
through several known orientations will illuminate different pixels on
the detector. Scenes of actual star constellations may be simulated.
Using the spatial knowledge of the light source and the corresponding
lit pixels, a set of best fit camera parameters values can be determined
based on a large set of data.
• Night Sky Test:
In night sky tests, the stars imaged by the star sensor must either
be manually identified, or identified by some highly robust star ID
algorithm that is tolerant of calibration errors. Using a large number of
acquired images, and the corresponding inertial star vectors from the
catalogue matched to the data, a set of best fit parameter values can be
determined to verify the results attained through the lab calibration.
Ideally, the lab calibration is sufficient to produce matches and night
sky-tests serve only as a validations step.
The discrepancy in these values attained from each source is either a product
of measurement noise or the inadequate knowledge of the current state of
the calibration parameters.
Multiple star vectors or vector pairs from either a single or multiple im-
ages can be utilized to generate an over-determined system of equations that
can be solved using well established non-linear numerical methods in or-
der to provide revised estimates of calibration parameters. This method of
calibration has significant potential for tuning star cameras on-board space-
crafts if its original set of calibration parameters has drifted beyond tolerance
due to hardware re-configurations experienced during launch and to com-
pensate for deformations caused due to thermal cycles or material fatigue.
Such online star tracker calibration methods have recently become the focal
point of many research projects, most notably the work done by Junkins
[Samaan et al. 2001] and his research team.
Measurements are seldom perfect, since there will always be some inherent
noise and bias associated with the measurement. This imperfection in
measurements becomes increasingly important in high precision sensors and
applications. In the interest of attaining high fidelity measurements, the
measurement error must be minimized through calibration. The optimization
problem here is to find the appropriate sensor model parameter values that
minimize the error between the measured value and what is known to be
true. In the case of the star tracker, the goal is to estimate the optimal
values of the parameters defining the camera’s internal geometry such that
the difference in the angles between vectors imaged by the star tracker and
those defined in the star catalog is minimized. This can be achieved using
the concept of least squares for parameter identification.
• Batch Estimation
The batch method is employed when a large number of datasets have
been accumulated over time. On the one hand, batch methods are easy
to understand and implement, and lay the foundation for recursive al-
gorithms. Although the batch least squares methods work remarkably
well, the drawback is the need for a large memory capacity to store
acquired data and the large amount computation required to attain a
solution from large datasets. This is unfeasible for an online implemen-
tation.
• Recursive Estimation
The recursive least squares algorithm is just as capable of estimating
calibration parameters as the batch method. This approach has the
advantage that a large amount of data need not be stored and that it is
computationally feasible even for real time applications. The calibration
parameters are updated with each dataset, and the degree to which
these parameters are known, their covariance, is stored. At each update,
the dataset is discarded. The well-known drawback to the recursive
method is that once a large number of updates have been performed,
the covariance may become small enough to cause smugness in the
estimator leading to a divergence in the parameter estimates from their
optimal values [Griffith & Junkins 2009].
18
Chapter 2. Mathematical Framework 19
the true values of the measurements are known. The internal geometry of the
star tracker and its measurements are defined in the star tracker (D) frame,
while the cataloged inertial vectors that describe star locations in space are
expressed in the Earth Centered Inertial (I) frame. Additionally the attitude
of the star sensor is determined by finding the best fit rotation from the star
tracker frame (D) to the inertial frame (I). Fig. 2.1 illustrates the two frames
of reference.
• star tracker Frame (’D’) The star tracker frame is defined by the de-
tector array; its x and y axes correspond to the x and y axes of the
detector, while the z axis is the normal to the detector plane coming
out the lens of the camera. The tip and tilt of the detector with the
lens array are also defined in this frame.
• Inertial Frame (’I’) The x-axis of the inertial frame is defined by the
vernal equinox, and the z-axis is defined by the north rotational pole
of the earth. The y-axis chosen to maintain the right hand rule.
Given the centroid location on the detector array, mc and nc , the uncorrected
physical distances between the centroid and the optical axis, u and v, can be
determined in terms of the x and y axes of the detector frame.
u = δx (mc − mo ) (2.1)
v = gy δy (nc − no ) (2.2)
The variables δx and δy represent the pixel dimensions. To account for the
discrepancy in pixel dimensions in each axis, a scale factor gy is applied.
Next, the tip, tilt and radial distortion corrections a1 , a2 & b1 , b2 are
considered. Note that the terms a1 and a2 are terms representing not simply
the physical tip and tilt of the detector plane with the lens system, but
also other highly coupled distortions such as tangential and small prism
distortion.
Let, U , V be the corrected distances from the boresight axis to the illumi-
nated centroid. They are defined by the expressions:
uf
U = (2.3)
a1 v + a2 u + f
vf
V = (2.4)
a1 v + a2 u + f
To apply the radial correction, the radial distance from the boresight axis to
the illuminated pixel ρ, must be defined:
√
ρ = U2 + V 2 (2.5)
The radial correction can be modeled in terms of ρ using the basis polynomial
below.
B = 1 + b1 ρ4 + b2 ρ2 (2.6)
Once the correction terms have been applied, the vector r defining the lo-
cation of the star in the sensor frame can be attained using the following
expression.
BU
r = BV (2.7)
f
r
s = (2.8)
||r||
Calibrating the star camera is simply a matter of finding the optimal val-
ues for the focal length, principal point and distortion parameters as imple-
mented in the inverse model. This camera calibration model of lens distortion
expresses the lens distortion as radial distortion plus a transformation from
the ideal image plane to the real sensor array plane, and the small number
of parameters can simplify the calibration process and reduce the possibility
of the optimization algorithm being hindered by local minima.
• Focal Length f
Focal Length Errors distort the scale of the image. Pixels illuminated
by the same source of light will be pushed radially inward or outward.
See Fig. 2.3
• Principal Point mo , no
• Radial Distortion b1 , b2
Radial Distortions appear much like focal length errors but are higher-
order aberrations and a function of the distance from the principle
point. See Fig. 2.3
Description Symbol
Focal Length f
Principal axis x-offset mo
Principal axis y-offset no
Radial correction b1
Radial correction b2
Tip correction a1
Tilt correction a2
x = [f mo no b1 b2 a1 a2 ] (2.9)
Given two star unit vectors si and sj , the cosine of the angle between them
can be determined using the inner product of the two vectors.
Suppose the initial parameter estimates are sufficient to identify the stars
captured in the image, and each observed star vector determined through the
1 T
J= e e (2.14)
2
The next step required to minimize the scalar function J, by appropriately
selecting values for the optimization parameters given by x, is to determine
the Jacobian matrix of e with respect to x.
T T T
∂sj T
T
∂ψij ∂si ∂si ∂sj T
= sj + si − sj + si (2.16)
∂x ∂x ∂x img ∂x ∂x cat
The subscripts 0 img 0 and 0 cat0 denote vectors measured by the camera, and
acquired from the catalog respectively. Since the angles between the catalogue
vectors, are clearly independent of the optimization parameters x, all partial
derivatives are 0. Eliminating the 0 terms, gives
T T
∂ψij ∂si ∂sj T
= sj + si (2.17)
∂x ∂x ∂x img
The first step required to form the Jacobian matrix is to determine the partial
derivatives of each unit vector with respect to the optimization parameters:
∂s ∂s ∂s ∂s ∂s ∂s ∂s ∂s
= (2.18)
∂x ∂f ∂mo ∂no ∂b1 ∂b2 ∂a1 ∂a2
r(x) ∂s
In general, if s = kr(x)k , then the partial derivative of the unit vector ∂x can
∂r
be expressed in terms of ∂x as.
∂s ∂ r
= √ (2.19)
∂x ∂x rT r
It can be shown that this reduces to:
∂s 1 ∂r r T ∂r
= − 3 r (2.20)
∂x ||r|| ∂x ||r || ∂x
∂r
Hence the next step is to determine ∂x . The partial derivatives are de-
rived analytically since a finite difference approach is both inaccurate and
computationally unfeasible. The required partials are:
∂r ∂r ∂r ∂r ∂r ∂r ∂r ∂r
= (2.21)
∂x ∂f ∂mo ∂no ∂b1 ∂b2 ∂a1 ∂a2
Finding these from the inverse model are fairly straight forward. The partial
derivatives of a star vector with respect to each optimization parameter are
derived analytically below.
Focal Length f
∂U u (a1 v + a2 u)
= (2.22)
∂f (a1 v + a2 u + f )2
∂V v (a1 v + a2 u)
= (2.23)
∂f (a1 v + a2 u + f )2
∂U ∂V
∂ρ U ∂f
+V ∂f
= (2.24)
∂f ρ
∂B ∂ρ ∂ρ
= 4 b1 ρ 3 + 2 b2 ρ (2.25)
∂f ∂f ∂f
∂B
+ ∂U
∂f
U ∂f
B
∂r ∂B
= ∂f V + ∂V B (2.26)
∂f
∂f
1
Principal Point mo
∂u
= −δx (2.27)
∂mo
∂u
∂U f ∂m o
(a1 v + f )
= (2.28)
∂mo (a1 v + a2 u + f )2
∂u
∂V −a2 ∂m o
vf
= (2.29)
∂mo (a1 v + a2 u + f )2
∂U ∂V
∂ρ U ∂mo
+V ∂mo
= (2.30)
∂mo ρ
∂B ∂ρ ∂ρ
= 4 b1 ρ 3 + 2 b2 ρ (2.31)
∂mo ∂mo ∂mo
∂B ∂U
∂mo
U + ∂m o
B
∂r ∂B ∂V
= ∂m V + ∂m B (2.32)
∂mo o o
Principal Point no
∂v
= −gy δx (2.33)
∂no
∂v
∂U −a1 ∂n o
uf
= (2.34)
∂no (a1 v + a2 u + f )2
∂v
∂V f ∂n o
(a2 u + f )
= (2.35)
∂no (a1 v + a2 u + f )2
∂U ∂V
∂ρ U ∂no
+V ∂no
= (2.36)
∂no ρ
∂B ∂ρ ∂ρ
= 4 b1 ρ 3 + 2 b2 ρ (2.37)
∂no ∂no ∂no
∂B ∂U
∂no
U + ∂n o
B
∂r ∂B ∂V
= ∂no V + ∂n B (2.38)
∂no o
Radial Correction b1
∂B
= ρ4 (2.39)
∂b1
∂B
∂b1
U
∂r ∂B
= V (2.40)
∂b1
∂b1
0
Radial Correction b2
∂B
= ρ2 (2.41)
∂b2
∂B
∂b2
U
∂r ∂B
= V (2.42)
∂b2
∂b2
0
Distortion Correction a1
∂U −v u f
= (2.43)
∂a1 (a1 v + a2 u + f )2
∂U −v v f
= (2.44)
∂a1 (a1 v + a2 u + f )2
∂U ∂V
∂ρ U ∂a1
+V ∂a1
= (2.45)
∂a1 ρ
∂B ∂ρ ∂ρ
= 4 b1 ρ 3 + 2 b2 ρ (2.46)
∂a1 ∂a1 ∂a1
∂B ∂U
∂a1
U + ∂a 1
B
∂r ∂B ∂V
= ∂a1 V + ∂a B (2.47)
∂a1 1
Distortion Correction a2
∂U −u u f
= (2.48)
∂a2 (a1 v + a2 u + f )2
∂U −u v f
= (2.49)
∂a2 (a1 v + a2 u + f )2
∂U ∂V
∂ρ U ∂a2
+V ∂a2
= (2.50)
∂a2 ρ
∂B ∂ρ ∂ρ
= 4 b1 ρ 3 + 2 b2 ρ (2.51)
∂a2 ∂a2 ∂a2
∂B ∂U
∂a2
U + ∂a 2
B
∂r ∂B ∂V
= ∂a V + ∂a B (2.52)
∂a2 2 2
minimize
m
: J(x) : Rm → R (2.53)
x∈R
∇J(x∗ ) = 0 (2.54)
xk+1 = xk + δx (2.55)
with, J(xk+1 ) < J(xk ) (2.56)
δx = −α∇J = HT e (2.57)
Naturally the stopping criterion for this method is when the norm of the
gradient is sufficiently close to 0. Although this method is easy to implement
and contains a minimal number of computations, it is not suitable and may
not optimize quickly with ill-conditioned problems.
−1
δx = − ∇2 f (x) ∇f (x) (2.59)
Since analytically deriving the second order term, the Hessian matrix, is
tedious, and attaining it numerically is inefficient, several approximations
may be made to deal with this matter.
ỹ = h(x) + v (2.60)
1 T 1
J= e e = (ỹ − h(x))T (ỹ − h(x)) (2.61)
2 2
∂e T ∂e T
1 ∂e
∇J = e+ e = e = −HT e (2.62)
2 ∂x ∂x ∂x
In the Gauss Newton (GN) Method [Crassidis & Junkins 2011], the Hessian
of the function J is approximated as
∇2 f (x) = HT H (2.63)
Thus, for a Gauss Newton solver, Eq. 2.59 becomes:
In some cases, the identity matrix is replaced with a scaling matrix that can
adjust the scale of each parameter according to its curvature. The resulting
update equation is:
sk = −α ∇Jk (2.67)
−1)
(sTk yk + ykT B−1 T
k yk ) (sk sk ) (B−1 T T
k yk sk + sk yk Bk
B−1 −1
k+1 = Bk + − (2.69)
(sTk yk )2 (sTk yk )
The initial Hessian estimate can be set as the identity matrix to force an
initial gradient descent step, or may be appropriately set to force an initial
Gauss-Newton Step.
The subscript 0 k 0 denotes the current step, and Kk is the gain matrix. The
matrix R and P are the estimated measurement covariance, and state co-
variance respectively.
Covariance Estimation
The initial co-variance of the parameters Po is typically assumed to be
an identity matrix multiplied by a large number. In the case of this
problem, the different parameters are several orders of magnitude apart and
have different co-variances. A reasonable and conservative initialization of
parameter co-variance can be a diagonal matrix of the current estimate of
the parameters themselves. The measurement co-variance can be estimated
differently. Based on prior knowledge of the star tracker used in this work,
the typical standard deviation in the centroid positions σc experienced in
the detector due to noise is about 0.2 pixels. Based on camera geometry,
this variance must be translated to a variance in vector angles, and then
the difference in the cosines between two vectors that are mapped using the
noisy centroids attained from an image. See figure below.
Based on the camera geometry, the angular variance in each a vector can be
determined using a small angle approximation:
2γ 2
σθ2 = σ (2.77)
f c
where, σc2 is the estimated centroid variance
σθ2 is the angular variance in each a vector
f is the nominal focal length
γ is the nominal pixel dimension
Next, based the estimated angular variance, the variance in the measurement
residual can be determined. Consider the following:
ˆ = cos(θˆij )
ŷ = sˆi T sj (2.78)
However, a perturbation can be expected in vectors si and sj ,
ỹ = cos(θ˜ij ) (2.81)
y + δy = cos(θij + δθij ) (2.82)
= cos(θij ) cos(δθij ) − sin(θij ) sin(δθij ) (2.83)
= cos(θij ) − sin(θij ) δθij (2.84)
The error caused by noisy vectors can therefore be expressed as
2
= var(δy) = E δy 2 − E {δy}2
σm (2.86)
(2.87)
Given that the noise is 0 mean,
2
2
σm ij
= var(δy) = E δy (2.88)
= sin2 (θij )E δθij 2
(2.89)
= sin (θij ) σθ2
2
(2.90)
= (1 − (sTi sj )2 ) σθ2ij (2.91)
Ignoring the effects of centroid coupling between two pairs for simplicity, the
co-variance matrix R, can be estimated as:
2
R = Diag(σm ij
) (2.92)
where, Diag is a diagonal matrix in the span of the error vector, and subscripts
ij denote angle measurements between imaged vectors i and j respectively.
In the case of a batch estimation, where the co-variance update equation (Eq.
2.74) is not used, the measurement co-variance matrix P can be estimated
using the matrix R and the Jacobian H
39
Chapter 3. Testing and Results 40
Synthetic
Centroid
Positions
Truth
Measurements Make Update
Observations
Estimator
Calculate Calculate
Jacobian Error Vector
Calculate
Update
Check no Maximum no
Convergence Iterations
yes
yes
Stop
Estimator
Next, a ”true” sensor model was generated to simulate true star vectors,
and a perturbed sensor model was generated in the same fashion to simulate
measurements made by an uncalibrated star tracker. The aim of this experi-
ment was to verify whether the estimation routine was able to use the initial
guesses of the parameters from the perturbed model and generate updates
to the parameters which converge to the true model under ideal conditions.
The Gauss Newton Algorithm was implemented for the simulation. A code
schematic is illustrated in the flow diagram above (See Fig. 3.2). The results
from the simulation are outlined in Figures 3.3 through 3.10 below.
From the results above, it is evident that the calibration routine was able to
estimate the true sensor parameters using the simulated star measurements
and the known true star vectors with a relatively small numerical error. In
each of the above plots it can be seen that the parameters converged to their
true values within a few iterations. With reasonable results attained from the
noise free simulation, an angular white noise with a conservative standard
deviation of 1 × 10−6 was introduced to the simulated measurements to check
estimator performance in the presence of noisy star vector measurements.
The simulation test was carried out for 1000 runs to check whether the
true parameters can be recovered, and the variance that can be expected
in these estimates. The spread in the parameter estimates from these noisy
measurements attained from 25000 test runs are illustrated in the plots
below and summarized in Table 3.2.
The results in Table 3.2 indicate that the parameters can be effectively recov-
ered from noisy measurements. In each case, the cost function was minimized
to approximately 10−10 (See Fig. 3.18. The focal length and principal point
offsets were estimated with a low variance while the distortion terms were
estimated to a considerably higher variance. This can be expected since dis-
tortion parameters have considerably lower sensitivities to the cost function.
Nonetheless, the results attained with a low mean error from the noisy sim-
ulated data suggest that the approach is feasible for testing using actual
hardware. Similar tests were then conducted using images downloaded from
an ST16 star tracker and corresponding matched star vectors from the Yale
Bright Star Catalog. Both batch and recursive estimation techniques were
tested using ground and orbit data.
The number of stars matched in these images are illustrated in Fig. 3.19
below. At least three stars are required to identify a match, although a four
star match significantly reduces the probability of a false matching and large
datasets reduce the effects of measurement noise. It can be seen that there
are a significant number of useful images that may be utilized for calibration.
In addition to the length of the data set, the variety of scenes captured in
the star images may also affect the quality of parameter estimates. It is
important to verify that images with a wide variety of centroid positions,
possibly covering the entire frame of the detector are available. Images
capturing significantly different star patterns are likely to increase the
capability to observe each parameter.
Large batches of data will reduce the effects of noise, and large variety of
scenes in captured images will increase the observability (See Fig. 3.20 and
3.21. Therefore, a good balance between batch size and batch diversity must
be selected such that parameters may be determined with as high a fidelity
It is also important to ensure that the measurements are not noisy enough to
cause objective function to be noisy as well (See Example in Fig. 3.22). This
will significantly reduce the ability of the optimization methods outlined in
Chap. 2
To ensure that the objective function has been adequately formulated and
the gradient methods outlined in Chapter 2 may optimize the function
A similar check was performed for each parameter, and expected results
were attained.
To demonstrate the proper working of the estimator and to verify its im-
plementation, an optimization routine was conducted using two parameters
In both cases, the residual between true and measured star vectors was
reduced by over an order of magnitude. In addition, since the mean value
of the single image estimates was very much the same as the batch value,
and slightly different from the lab calibration estimates. This suggests
that the parameters underwent a slight shift from their lab calibration
values, either due to shifted components or due to drawbacks of using lab
equipment as opposed to actual star images. In addition, the single-image
estimates overlap the estimates attained using the entire batch, with no
visible motion in single image tests. This suggests that the parameters did
not shift during the period of the test. This is expected since parameters
are unlikely to change on earth without any drastic temperature variations.
The significantly higher variance in the single image results are hence less
likely due to be physical changes in the parameters, and can be attributed
either to a significant magnitude of noise in the measurements, or the lack
of observability of the parameters given a single image. The approximated
variance in the focal length estimate acquired using the entire batch of data
is 6 × 10−10 , whereas the variance in focal length estimates attained using
single images is 6 × 10−7 . Using the more feasible single image approach
provides estimates with an unacceptable variance, and including the entire
batch in the computation to achieve a low variance result is unfeasible
online. Hence, a batch selection strategy is required to make appropriate
choices of images to include in a smaller, more feasible subset of the entire
batch, that will allow for estimates with an acceptable variance without
being computationally intensive.
Given that the ground test data was acquired on earth, the parameters
are not expected to change or if so with a small magnitude and with
a small rate of change. A large variance in a set of estimates provide
evidence that the estimate from a given subset of data is largely driven
by measurement noise and not and actual physical change.
Parameters with high variance are likely un-observable given the cur-
rent set of data. The trace of the covariance matrix or the ’Cramer-Rao
Lower-Bound’ serves as an approximate minimum achievable variance
in each parameter estimate.
Parameters like mo and a2 are highly coupled and have very similar
effects on the cost function. Selecting a large enough batch size is key
The aim of this test was to determine a batch size at which adding more im-
ages to reduce the effect of measurement noise does not provide a substantial
drop in estimate variance. Although only focal length was considered since
similar trends are expected in all parameters. For consistency, images with
same number of matched stars (10 star match) were used in these tests.
Estimates are less likely to be driven by measurement noise as the number
of images included in batches increase. The result is plotted in Fig. 3.47.
The results indicate that a significant drop in variance is not achieved after
a set of 25 images is utilized.
By analyzing the plotted results from the tests above, an acceptable subset
of the batch was chosen. This batch must contain atleast 25 images to
eliminate the effects of measurement noise. A greater separation between
images increases observability and separability of parameters. Using an
optimal subset of images from the entire batch allows for the estimation of
camera parameters with almost as high a fidelity as with the entire batch
by ensuring observability and separability of parameters, and determining
estimates that are less influenced by measurement noise. The added benefit
is a lower computational expense. The table below lists the focal length
estimate variance attained using using a single image, an optimal set of
images and all images. From table 3.3 it can be seen that although the
variance in the focal length estimate using all images isn’t quite reached, a
significant drop in variance is achieved using a diverse subset of images and
a batch size of one fifth of the total data.
Description Variance
The recursive least squares method is a feasible approach for online pa-
rameter estimation, but must be implemented with caution. In the case of
the ground test, where parameters don’t change, the batch and recursive
methods provide very similar revised estimates (See Table 3.4). The recursive
estimate has the added benefit that only a single image may be used in one
update as opposed to involving all images as done with the batch solver.
However, in an orbital setting, recursive least squares estimation methods
are very likely to encounter a ”co-variance windup” after several updates
whereby the estimator becomes too confident in its own estimates causing
updates to be ignored and the estimator to behave smugly leading estimates
to diverge from their true state.
Although all parameters approached the batch estimate and smugness may
not necessarily be evident in a ground based calibration since parameters are
likely to remain constant, it may certainly pose an issue for online calibration
The images captured by the star trackers contain divserse scenes of star pat-
terns. Since the dataset attained from the satellite was fairly small, (approxi-
mately 150 images), and the processing was done offline, the entire batch was
included in the calibration and the new parameters that best fit the entire
dataset was attained using a batch calibration procedure. The results from
the re-calibration are illustrated in figures 3.62 through 3.75 and summarized
in Table 3.5 and 3.6 below.
Figure 3.72 Detector Tip Angle (a1 ) Figure 3.73 Detector Tip Angle (a1 )
Sensor A. Sensor B.
Figure 3.74 Detector Tilt Angle (a2 ) Figure 3.75 Detector Tilt Angle (a2 )
Sensor A. Sensor B.
Figure 3.76 Cost Function Norm(J) Figure 3.77 Cost Function Norm(J)
Sensor A. Sensor B.
From the result plots, it is evident that the star tracker parameters had
undergone a significant change post launch. The calibration procedure was
able to determine the magnitude of this change. The revised parameters
reduced the residual between imaged and catalogued star vectors in both
star trackers by almost an order of magnitude (See Fig. 3.77). The reduction
in the residual will allow the star trackers to match an increased number of
stars reducing drop outs in attitude data. In addition, a reduction in the
residual between imaged and catalogued vectors suggests an increase in the
accuracy of attitude readings.
The significant gaps in the ’Before Calibration’ plots indicate that are several
instances of invalid attitude readings that result from a false star match.
False star matches occur when a large residual exists between imaged, and
catalogued star vectors. The revised parameters attained from the batch
calibration procedure were used to re-determine the imaged star vectors
and the matching process was performed again. This test serves as a ver-
ification as to whether the updated parameters increased matching efficiency.
The results from the recursive estimation routine were very similar to the
batch estimates in the case of f , no and a1 . Parameters b1 and b2 are poorly
observable, and hence require several more images to be estimated with a
low variance. Nonetheless, both b1 and b2 can be seen approaching batch
estimates. Parameters mo and a2 are prone to have local minima, and hence
were poorly resolved. Recursive estimates should ideally approach batch
values as all images are processed. The discrepancy in the values can be
attributed to an insufficient number of iterations at each update in the
recursive formulation, or an insufficient drop in the covariance matrix with
each update. It may also suggest that the parameters may not be constant
and subject to change.
Figure 3.78 Attitude Data Before and After Calibration (Sensor A).
Figure 3.79 Attitude Data Before and After Calibration (Sensor B).
The results from the on-orbit data tests indicate that online calibration may
be used to continually re-calibrate parameters online should they drift beyond
tolerance. However, some further study is required. The batch method used
here may be an unfeasible means to update camera parameters online if
parameters undergo further changes and the recursive method is effective
only in cases with constant parameters. A simple Extended Kalman Filter
driven by process noise must be implemented on the star tracker to not only
adapt to post launch changes in parameters, but track the motion of the
parameters through out the orbital period.
Star trackers have become the most accurate and most popular instruments
for measuring spacecraft attitude. A single device providing three axis atti-
tude information is invaluable. However star-trackers rely on a set of precisely
aligned optics that are likely to drift over the course of the star-trackers mis-
sion life. Without adequate knowledge of camera parameters, imaged star-
vectors will be inaccurately defined, reducing the star cameras ability to
accurately identify stars in its field of view. This causes an increase in the
number of false matches and therefore reduction in the quality of attitude in-
formation. To combat this issue, a method of online calibration was presented
in this project. The method outlines a routine that utilizes images captured
by the star tracker and the on-board star catalogue to determine the con-
stantly drifting star tracker parameters. The approach aims to minimize the
residual between the angular distance between pairs of imaged and cataloged
stars. This method was tested using simulated data, ground test data gath-
ered over the traverse of a rover as well as on-orbit telemetry gathered from
an in-service star tracker.
4.1 Summary
The results outlined in this thesis demonstrate that an online calibration
procedure has the potential to minimize the residuals in star tracker mea-
surements allowing for a greater matching efficiency and a a higher rate and
accuracy of attitude data. The project outlined two different approaches for
online calibration calibration: a batch algorithm using a Gauss Newton solver
and and a sequential algorithm utilizing a recursive least squares solver. Both
78
Chapter 4. Conclusion 79
algorithms were tested using ground data gathered from a star tracker imple-
mented on a rover. In addition, further testing was done using orbital data
gathered from an in-service star tracker.
Two different tests were performed with the batch calibration procedure.
In the first test, all available images were utilized in the calibration. In the
second test, each image was used individually to attain revised parameter
estimates. In both cases, the residual was significantly minimized and revised
estimates were attained. The Batch calibration works best in cases where a
large amount of data is available. This is certainly a preferred calibration
method for ground tests especially since the parameters are unlikely to
change, and the large sets of data may be processed offline. Unexpectedly,
using this method with a single image provides little information about
parameter motion, instead the estimates attained are highly influenced by
noise and hence have an unacceptable variance. To combat this issue, two
different directions were taken. The first, was to develop a batch selection
strategy that allows for the calculation of revised parameter estimates using
a well selected feasible set of data that minimizes the effect of noise and
ensures paramter observability. The second was to implement a recursive
algorithm.
The results confirm that longer sets will allow for a reduction in the influence
of noise, whereas a higher separation between images guarantee a variety of
a diversity scenes in the dataset increasing both observability and separa-
bility. The tests conducted in this thesis suggest that beyond 25 images the
effects of noise is minimal. In addition, having atleast two different scenes
will ensure observability of parameters but the higher the number of scenes
the better the observability.
false matches that were experienced in flight allowing for an increased rate of
attitude data provided by the star tracker. In addition, the residual between
imaged vectors and catalogued vectors reduced by approximately an order of
magnitude in both cases directly increasing attitude accuracy.
The batch selection strategy outlined in this project is efficient but only
in retrospect. It provides information about the data by analyzing the
expected variance in the parameters once they have been estimated.
Ideally, batches should be selected by observing the data itself, before
any computationally intensive calculations are conducted. This process
may involve evaluating the quality of the data by examining the mea-
surement co-variance, or the variance in the centroids per image or over
the course of all images in the batch to understand the diversity of star
vectors the scene. Determining the quality of the data before estimat-
ing the parameters can significantly increase the performance of the
estimator.
tests using ground data, and its performance was evaluated using on-orbit
telemetry. The calibration procedure considerably increased star matching
efficiency and minimized measurement residual as demonstrated in results.
The minimized residual increases the accuracy of the attitude data gathered
from the star tracker, where as the increased matching efficiency will signifi-
cantly reduce the number of false matches, thereby decreasing the frequency
of drop outs in attitude data. The technical benefit of on-orbit calibration
includes a more precise calibration, ability to track parameter changes, less
telemetry data, minimal interruption of science observations, greater auton-
omy, and less ground testing and support.
[Chen et al. 2006] Chen, Xueqin, Wang, Feng, Geng, Yunhai, & Zhang,
Yingchun, “An on-orbit calibration system for satellite attitude con-
trol,” Systems and Control in Aerospace and Astronautics, 2006. ISS-
CAA 2006. 1st International Symposium on, 2006, Pages: 6 pp.–435.
[Crassidis & Junkins 2011] Crassidis, John L, & Junkins, John L, Optimal
estimation of dynamic systems, Vol. 24, CRC press, 2011.
[Enright John 2010] Enright John, Tom Dzamba, Geoff Mcvittie, “Commis-
sioning the S3S Nanosatellite Star Tracker,” International Astronau-
tical Congress, 2010.
[Enright 2012] Enright, John, Doug Sinclair Tom Dzamba, “The Things You
Can’t Ignore: Evolving a Sub-Arcsecond Star Tracker,” Small Statel-
lite, 26th Annual AIAA/USU Conference, 2012.
[Griffith & Junkins 2009] Griffith, D Todd, & Junkins, John L. “Recursive
on-orbit calibration of star sensors,” , 2009.
[Griffith et al. 2002] Griffith, D Todd, Singla, Puneet, & Junkins, John L,
“Autonomous on-orbit calibration approaches for star tracker cam-
eras,” Advances in the Astronautical Sciences, Vol. 112, 2002, Pages:
39–57.
85
Bibliography 86
[Kelley 1999] Kelley, Carl T, Iterative methods for optimization, Vol. 18,
Siam, 1999.
[Kim et al. 2004] Kim, YV, Di Filippo, KJ, & Ng, A, “On the autonomous
in orbit calibration of satellite attitude sensors,” AIAA Guidance,
Navigation, and Control Conference and Exhibit (AIAA 2004-5125),
Providence, Rhode Island, 2004.
[Liu et al. 2011] Liu, Hai-bo, Wang, Jiong-qi, Tan, Ji-chun, Yang, Jian-kun,
Jia, Hui, & Li, Xiu-jian, “Autonomous on-orbit calibration of a star
tracker camera,” Optical Engineering, Vol. 50, No. 2, 2011, Pages:
023604–023604.
[Pal & Bhat 2009] Pal, Madhumita, & Bhat, M Seetharama, “Star camera
calibration combined with independent spacecraft attitude determi-
nation,” American Control Conference, 2009. ACC’09. IEEE, 2009,
Pages: 4836–4841.
[Samaan et al. 2001] Samaan, Malak A, Griffith, Todd, Singla, Puneet, &
Junkins, John L, “Autonomous on-orbit calibration of star track-
ers,” Core Technologies for Space Systems Conference (Communica-
tion and Navigation Session), 2001.
[Sedlak & Hashmall 2004] Sedlak, Joseph, & Hashmall, Joseph, “Automated
Attitude Sensor Calibration: Progress and Plans,” Paper No. AIAA-
2004-4854, AIAA/AAS Astrodynamics Specialist Conference, Provi-
dence, RI, Vol. 2, 2004, Page: 5.
[Sedlak et al. 2003] Sedlak, Joseph, Welter, Gary, & Ottenstein, Neil, “To-
wards Automating Spacecraft Attitude Sensor Calibration,” 54th In-
ternational Astronautical Congress of the International Astronautical
Federation, Bremen, Germany, 2003, Pages: 29–30.
[Shen et al. 2010] Shen, Juan, Zhang, Guangjun, & Wei, Xinguo, “Star sen-
sor on-orbit calibration using Extended Kalman Filter,” Systems and
Control in Aeronautics and Astronautics (ISSCAA), 2010 3rd Inter-
national Symposium on. IEEE, 2010, Pages: 958–962.
[Singla et al. 2002] Singla, Puneet, Griffith, D Todd, Crassidis, JL, & Junk-
ins, JL, “Attitude determination and autonomous on-orbit calibration
of star tracker for the gifts mission.,” Advances in the Astronautical
Sciences, Vol. 112, 2002, Pages: 19–38.
[Sun et al. 2013] Sun, Ting, Xing, Fei, & You, Zheng, “Optical System Error
Analysis and Calibration Method of High-Accuracy Star Trackers,”
Sensors, Vol. 13, No. 4, 2013, Pages: 4598–4623.
[Wang et al. 2008] Wang, Jianhua, Shi, Fanhuai, Zhang, Jing, & Liu, Yun-
cai, “A new calibration model of camera lens distortion,” Pattern
Recognition, Vol. 41, No. 2, 2008, Pages: 607–615.
[Wang et al. 2010] Wang, HT, Luo, CZ, Wang, Yu, & Zhao, SF, “Star sensor
model parametric analysis and calibration method study,” Journal of
University of Electronic Science and Technology of China, Vol. 39,
No. 6, 2010, Pages: 880–885.
[Xing et al. 2005] Xing, Fei, Dong, Ying, Wu, Yanpeng, & You, Zheng, “Star
tracker parametric analysis for autonomous calibration [J],” Journal
of Tsinghua University (Science and Technology), Vol. 11, 2005, Page:
011.