Download Attitude and Interlock Angle Estimation using Split-Field-of

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Lost Cosmonauts wikipedia , lookup

International Ultraviolet Explorer wikipedia , lookup

Hipparcos wikipedia , lookup

XMM-Newton wikipedia , lookup

Pioneer 10 wikipedia , lookup

Transcript
Attitude and Interlock Angle Estimation using Split-Field-of-View
Star Tracker∗
Puneet Singla† , D. Todd Griffith‡ , Anup Katake§ and John L. Junkins¶
An efficient Kalman filter based algorithm has been proposed for the
spacecraft attitude estimation problem using a novel split-field-ofview star-camera and 3-axis rate gyros. The conventional spacecraft
attitude algorithm has been modified for on-orbit estimation of interlock angles between the two fields of view of star-camera, gyro
axis and the spacecraft body frame. Real time estimation of the interlock angles makes the attitude estimates more robust to thermal
and environmental effects than in ground estimation, and makes the
overall system more tolerant of off-nominal structural, mechanical
and optical assembly anomalies.
1
Introduction
Spacecraft attitude determination is the process of estimating the orientation of a space-
craft from on-board observations of line-of-sight vectors to other reference points such as
celestial bodies, the direction of the Earth’s magnetic field gradient, etc. [1]. Generally,
a redundant set of these observations is used to generate more accurate estimates of the
spacecraft attitude. If these observations are error-free, then the spacecraft attitude can be
determined with small errors limited only by errors in the catalog directions of the reference
vectors. But, in practical problems, these vector observations are not error-free, as some
kind of sensor noise is always associated with these measurements. Typically star catalog
position errors are a fraction of a micro-radian, whereas random measurement errors are
one to two orders of magnitude larger.
Several attitude sensors are discussed in the literature, including three axis magnetometers, Sun sensors, Earth-horizon sensors, global positioning sensors, rate integrating sensors
∗
Presented at 14th AAS/AIAA Space Flight Mechanics Meeting, Maui, Hawaii, February 2004
Assistant Professor, Department of Mechanical & Aerospace Engineering, University at Buffalo, NY14260, Member AAS and AIAA.
‡
Analytical Structural Dynamics Department, Sandia National Laboratories, Albuquerque, NM-87185.
§
StarVision Technologies sponsored Graduate Student, Ph. D. Candidate, Department of Aerospace
Engineering, Texas A&M University, College Station, TX-77843.
¶
Distinguished Professor, holder of George J. Eppright Chair, Department of Aerospace Engineering,
Texas A&M University, College Station, TX-77843, Fellow AAS.
†
1
and star-cameras [1]. The accuracy of the attitude estimation depends on the quality of the
attitude sensor used. For example, the attitude estimate accuracy that can be achieved with
the Sun sensors is approximately 0.015 degrees for two-axis attitude estimation (direction of
the Sun in body and inertial frame) with the best available instruments; however, for starcamera this number for three-axis attitude can be estimated to within 0.0005 degrees. For
higher accuracies, star measurements are used as the key inputs for the attitude estimation
as their position with respect to the inertial frame is fixed and centroiding de-focused light
from these small point sources enables high precision. The spacecraft attitude is determined
by taking digital images of the stars by using Charge Coupled Device (CCD) or Complementary Metal Oxide Semiconductor (CMOS) sensor based star-cameras. Pixel formats
on the order of 512 × 512 or larger are commonly used to provide good resolution images
wherein the stars can be identified using one of several robust algorithms which have been
developed [2, 3]. Attitude estimation accuracies in the sub-arc second range are possible
using star data and gyro data, but the drawbacks are cost of the star-camera, computation
complexity, and extensive software and calibration requirements. Two star-cameras are usually required to reduce the star dropout probability and especially to improve the geometry
that enables precise three-axis attitude estimation. Most of the expense is associated with
the camera head (focal plane electronics, processor, temperature control and interfacing).
A novel split-field-of-view star-camera is being developed to reduce the overall cost of attitude estimation without compromising with the attitude accuracy. This star tracker was
adopted for the recently canceled EO-3 Geostationary Imaging Fourier Transform Spectrometer (GIFTS) mission. However, the split-field-of-view design has been licensed by
Broadreach Engineering
k
and various algorithms designed for the GIFTS mission (the star
identification, camera calibration and attitude estimation algorithms) have been licensed
by StarVision Technologies
∗∗
to develop a commercial star tracker technology for future
missions. The basic idea of split-field-of-view star-camera is shown in Fig. 1(i).
k
∗∗
http://www.broad-reach.net
http://www.starvisiontech.com
2
(i) Two Orthogonal FOV.
(ii) Star-Camera Reference Axis.
Figure 1 Dual Field of View (FOV) Camera Concept.
The split-field-of-view star-camera has the capability to simultaneously image two nominally orthogonal portions of the sky using a single camera head with only one CMOS
detector. Since a single focal plane, electronic sub-system, power sub-system and processor
are required, the split-field-of-view star-camera design offers significant advantages in mass,
power, and cost in comparison to using two conventional trackers to achieve comparable
accuracy. However, doing so makes the attitude estimation problem more complicated as
the accuracy of the attitude estimates implicitly depends on the knowledge of the interlock
angle between two fields of view (F OV 0 s) of the star-camera. A significant penalty is associated with the split-field-of-view optics, however, is the loss of about 50% of the light. This
can be accommodated with an appropriate integration time. To further complicate attitude
estimation, we may not know precisely the orientation of the gyro axis with respect to the
star-camera reference axis.
In order to achieve high precision attitude determination, comparably precise estimates
of these interlock angles are required. Generally, ground-based testing is used to calibrate
the space systems, but this process requires the systematic testing in expansive high precision laboratories. In addition, the environmental changes over the life of the mission may
result in calibration changes that are difficult to predict. Therefore, the precise knowledge
of these interlock angles are best-determined from on-orbit measurements in the actual
3
operational environment. In addition, an on-orbit calibration approach has the advantage
that the algorithms can be invoked at any time when a sensor health-monitoring algorithm
determines that sensor calibration accuracy has been diminished to an unacceptable degree.
In this paper, a new approach is presented that allows us to estimate all interlock angles
on-orbit along with the spacecraft attitude. The structure of the paper is as follows: First,
various reference frames required to solve the attitude estimation problem using a split-fieldof-view star-camera are introduced followed by a brief review of the star-camera and gyro
models. Next, a new algorithm is presented to compute the spacecraft attitude along with
various interlock angles on-orbit. Finally, the proposed algorithm is validated by simulating
various space mission scenarios.
2
Reference Frames
Generally, at least two coordinate systems are defined for the attitude determination
process: an inertial frame, and a body-fixed frame. For most problems, the inertial reference
frame is a non-rotating frame fixed associated with an equatorial plane and equinox axis of
a prescribed date (e.g. J2000) . The projection of the orthogonal image frame axes onto the
inertial frame axes is given by an orthogonal matrix, C, called the attitude matrix. Now, the
attitude determination problem requires us to determine a set of attitude coordinates that
uniquely parameterize the orthogonal attitude matrix, C. The various attitude sensors
provide the measurement data in their own independent frame, generally known as, the
sensor frame. For academic purposes, the body frame of the spacecraft and the sensor frame,
are frequently assumed to be the same. Unfortunately this assumption is not generally
true, and a precise knowledge of the interlock angle between body frame and sensor frame
is necessary for high precision attitude determination problem. This is due to the fact
that the body frame is usually associated with an optical bench on which critical science
instruments are mounted.
To solve the attitude determination problem using split-field-of-view star-camera and a
4
rate gyro, the following five reference frames are used:
1. The inertial frame fixed to the center of the Earth denoted by N .
2. A frame with z-axis parallel to the boresight axis of the front F OV denoted by BF .
3. A frame with z-axis parallel to the boresight axis of the side F OV denoted by BS .
4. The gyro axis frame (the frame in which gyro data is available) denoted by G.
5. The star-camera reference frame denoted by BK (same as the spacecraft (body) frame)
defined as follows:
Definition of star-camera Reference Frame. If {i, j, k} set denotes three directions of
the star-camera (BK ) reference frame and bF & bS denote the boresight directions (unit
vectors) for the front and side F OV respectively as shown in Fig. 1(ii), then
1. The x-direction of the BK frame is along the unit vector that bisects the boresight unit
vectors; i.e. i =
(bF +bS )
|bF +bS | .
2. The z-direction is along the unit vector normal to the plane of boresight vectors; i.e.
k=
(bF ×bS )
|bF ×bS | .
3. The y-direction is along the unit vector that completes the right hand set; i.e. j = k×i.
We mention that the derived BK frame has been defined in such a way that the output
attitude from BK is least affected by sensor noise, residual calibration errors in interlock,
and errors in rotation about the front and side boresights. Given measurements in a single
F OV , it should be noticed that the boresight rotations typically are one order of magnitude
less precisely determined than the direction of the boresight vector. Thus, the BK frame is
based upon the truth that the two boresight vectors, (bF , bS ) are the two best determined
body fixed vectors, and deriving the body frame from them seems logically well-justified.
Of course, final interlock rotation to various other science sensor frames remains to be
estimated. However, this must be addressed in a mission specific fashion.
5
ij
Θ
Boresight Axis
of Camera
x
bi
z
bj
f
y
(i) Inertial Star Pair.
(ii) Image Plane Star Pair.
Figure 2 Star Pairs in Inertial and Image Plane.
3
Sensor Model
Development of the mathematical models for the attitude sensor is an important task
in determining the spacecraft attitude solution. Generally, these mathematical models are
parameterized by some poorly known parameters, which are estimated by using the sensor
measurements and an estimation algorithm. In this section, a brief review of the star-camera
and the gyro measurement models are presented which will be used later in the estimation
algorithm.
3.1
Star Tracker Model
The spacecraft attitude is determined by processing the digital images of the stars by a
star-camera. Image plane coordinates of the stars are modeled by using a pinhole camera
model for the star-camera. Photograph image plane coordinates of the j th star are given
by the following ideal co-linearity equations:
xj = f
C11 rxj + C12 ryj + C13 rzj
+ x0
C13 rxj + C32 ryj + C33 rzj
6
(1)
yj = f
C21 rxj + C22 ryj + C23 rzj
+ y0
C13 rxj + C32 ryj + C33 rzj
(2)
where f is the effective focal length of the star-camera and (x0 , y0 ) are the principal point
offset, determined by the ground or on-orbit calibration [4]. Cij are the attitude matrix
elements (orienting the sensor frame relative to the inertial axes), and the inertial star vector
rj , as shown in Fig. 2(i), is given by



rx


 j
rj =
r yj




 rz
j









cos δj cos αj



=
cos δj sin αj






 


sin δj






(3)





Further, choosing the z-axis of the image coordinate system towards the boresight of the
star-camera as shown in Fig. 2(ii), the measurement unit vector bj is given by the following
expression:



−(xj − x0 )



1
bj = q
−(yj − y0 )

x2j + yj2 + f 2 



f






(4)





The relationship between the measured star direction vector bj in image space and its
projection rj on the inertial frame is given by
bj = Crj + ν j
(5)
where C is the attitude matrix, which denotes the orthogonal projection between the image
and the inertial frame, and ν j is a zero mean Gaussian white noise process with covariance
matrix Rj . Small systematic departures from the ideal co-linearity projection of Eqs. (1-2)
or (5) occur in practice; these systematic errors can be calibrated and corrected as discussed
in Ref. [4]. The attitude determination problem reduces to the estimation of the elements
of the attitude matrix C. The spacecraft attitude can be represented by many coordinate
choices [5,6], but the quaternion representation is an ideal choice for the attitude estimation
as it is free of geometrical singularities and has linear kinematic differential equations. In
7
this paper, quaternions (denoted by q) are used to parameterize the attitude matrix, C and
various sensor interlock matrices which are defined as follows:
Definition of Interlock Angles. If quaternions qF and qS are used to represent the
attitude of frames BF and BS with respect to an inertial frame, N , respectively. Then
the quaternion, qF S = qF ⊗ q−1
S , represents the attitude of the frame BF with respect
to the frame BS ; i.e. interlock angle between frames BF and BS . Further, quaternions
−1
qF K = qF ⊗ q−1
K and qSK = qS ⊗ qK represent the attitude of frames BF and BS with
respect to the star-camera reference frame, BK , respectively.
Here, the operator “⊗” denotes the quaternion composition as defined in Ref. [5].


 q24 I3×3 + [q̃213 ] −q213 
q1 ⊗ q2−1 = 
 q1
q2T13
q 24
(6)
where q213 and q24 denote the vector and scalar part of a quaternion, q2 and [q̃213 ] represents
the cross-product matrix for the vector q213 . The cross-product matrix [ã] for the general
vector a is given by

−a3
0


[ã] = 
 a3

−a2
3.2
0
a1

a2 

−a1 


0
(7)
Gyro Model
The spacecraft attitude is normally estimated by a combination of the attitude sensor
(e.g. Star Tracker) measurements along with a model of spacecraft dynamics. The use of
densely available angular rate data can omit the need of the spacecraft dynamic model.
Rate gyros are used to measure the angular rates of the spacecraft without regard to the
attitude of spacecraft. While modern gyros have very small random errors, they do typically
have unknown biases that must be calibrated to achieve high accuracy. The noise level
of the gyro and bias (constant drift) are the two main non-ideal characteristics of the
rate gyro measurements. Generally, rate gyro measurements are modeled by the following
8
expression [1, 7]:
ωg = ω̃g − b − η1
(8)
where ωg is the unknown true angular velocity of the spacecraft in the gyro frame, ω̃g is
the gyro measured angular rate of the spacecraft in the gyro frame, and b is the gyro bias
drift vector, which is further modeled by the following first-order stochastic process:
ḃ = η2
(9)
where η1 and η2 are assumed to be modeled by two independent Gaussian white noise
processes with variance σu2 and σv2 , respectively.
4
Attitude Kinematics
The kinematic equations for the spacecraft motion using the quaternion as attitude
parameters can be written as:
1
1
q̇ = Ξ(q)ω = Ω(ω)q
2
2
(10)
where Ξ(q) and Ω(ω) are defined as




 q4 I3×3 − [q˜13 ] 
 −[ω̃] ω 
Ξ(q) = 
 , Ω(ω) = 

−qT13
−ω T 0
(11)
In general, Eq. (10) represents a linear time varying system and it is usually not possible to
find a closed-form solution. If we assume that the angular velocity vector of the spacecraft
is constant in the body frame, i.e., the image frame coordinate system, then the spacecraft
kinematic Eq. (10) between two sampled data points can be re-written as:
dq
1
= Ω(n̂)q
dθ
2
9
(12)
where
ω = θ̇n̂
(13)
Now, Eq. (12) represent a linear time-invariant system and the closed-form solution for
which can be found by using the procedure listed in Ref. [9]:
1
θ
θ
q(t) = e 2 Ω(n̂)θ q0 = cos
I4×4 + sin
Ω(n̂) q0
2
2
(14)
θ = θ̇(t − t0 )
(15)
where
The above written expression holds only if the angular velocity of the spacecraft is constant
for the time period of interest. If the direction is constant but the angular speed ω(t) is
Rtf
variable, then a slightly more general version can be written with θ(t) = ω(t)dt, and
t0
the other Eqs. (12)-(14) being the same. Generally, the angular velocity of spacecraft is
usually not constant for large fraction of an orbit, but it is reasonable to assume that it
is approximately constant between two adjacent sampling time intervals of the gyro data.
Therefore, the discrete counter part of the Eq. (14) can be written as:
qk+1
θk
θk
= cos( )I4×4 + sin( )Ω(n̂k ) qk
2
2
(16)
where the rotation angle θk between time interval tk and tk+1 is given by the following
expression:
θk = ωn (tk+1 − tk )
(17)
and ωn is defined as:
ωn = kωk k =
q
ωk21 + ωk22 + ωk23
10
(18)
5
Attitude Determination Process
Mathematical models for attitude sensors are generally based upon the “usefulness”
rather than the “truth” and do not provide all the information that one would like to
know. So, an estimation algorithm is required to extract the useful information from the
available sensor measurements, which are corrupted by sensor noise, biases and sensor
inaccuracies. In addition, the spacecraft attitude estimates must be calculated quickly and
continuously during the entire operational life of the mission. On the other hand, to achieve
ultimate accuracy, the measurement model together with the calibration and correlation,
must be capable of representing the measurements to within the random measurement
noise levels. During normal operations, the estimation problem is solved recursively; i.e.,
the attitude filter makes new updates and predictions based on present and prior sensor
information. Many recursive attitude estimation algorithms are presented in the literature
but the Kalman filter [8] is one of the most widely used and powerful tools for real-time
estimation problems. In Refs. [4, 9], a Kalman filter algorithm is developed to estimate the
spacecraft attitude along with gyro bias, based upon body fixed covariance approach [7]
to maintain the unit norm constraint of quaternions. However, to use the split-field-ofview star-camera as an attitude sensor, both the star data and gyro data are required
to be projected in one common frame BK . Therefore, the knowledge of various interlock
angles defined in the previous section is very important before using the Extended Kalman
Filter (EKF) algorithm for the attitude and gyro bias estimation. So here, a novel attitude
estimation scheme is presented which not only estimates the spacecraft attitude along with
gyro bias but also estimates various required interlock angles.
Fig. 3 shows the basic architecture for the attitude determination algorithm using
a split-field-of-view star-camera and rate gyro as attitude senors. First, from the star
image taken by the split-field-of-view star-camera, the stars are assigned to front or side
F OV depending upon the shape of the pixel response [10]. After completing the star
identification process, the line-of-sight vectors are formed using Eqs. (1), (2), (3), and (4).
From these line-of-sight measurements, the geometric best attitude estimate corresponding
11
Star Vectors
From Front Field
of View
Star Vectors
From Side Field
of View
ESOQ2
Compute Interlock Angles
For FOV-S and FOV-F
Project Star Vectors from FOV-S and
FOV-F to the Star-Camera Reference
Frame
Compute Spacecraft Angular Rates and
Attitude in the Star-Camera Reference Frame
Compute Gyro
Interlock
Gyro Data
Has Gyro Interlock
Converged?
Project Gyro Data to the
Star-Camera Reference
Frame
Use EKF to Estimate more
accurate attitude of the
spacecraft and Gyro Bias
Output Attitude and
Angular Rates at 10Hz
Output Attitude and
Angular Rates at 100Hz
Figure 3 Software Architecture for the Attitude Determination Process
12
to each field of view is computed using the quaternion based attitude estimation algorithm,
ESOQ2 [11]. From the geometric attitude estimates, the corresponding estimates of the
interlock quaternions qF S , qF K and qSK are computed using the quaternion composition
rule as discussed in the previous section. To determine the interlock rotation between the
gyro axis and the star-camera reference axis, the spacecraft angular rates are estimated
in the BK frame using line-of-sight measurements projected to the BK frame. Once good
estimates for all interlock quaternions are obtained, an EKF based estimator is used to
update the estimates of attitude in the star-camera reference frame, BK , using the gyro
rate data and the geometric attitude of the star-camera reference frame. In this paper, all
these algorithms are discussed briefly and more details about these algorithms can be found
in Refs. [4, 11, 18, 19].
5.1
Interlock Angle Estimation using Geometric Attitude
The first step in the attitude determination process is to assign the measured stars to
the front or side FOV. Here, we make use of the fact [12] that astigmatism is introduced in
the optical train of each field of view to make star images elliptical rather than circular. The
orientation of the major axis indicates which of the two fields of view the star belongs to.
The shape of the pixel response distribution for each star can be easily determined during
image processing. The standard deviations σx and σy of the pixel response distribution are
computed for each star in the x and y directions. Then, depending upon the values of the
standard deviation in the x and y directions, each star is assigned either to the front or side
FOV. Now, the key problem is to identify the imaged stars corresponding to each FOV with
reference to the on-board star catalog. The star catalog contains the spherical coordinate
angles of the stars, (α is the right ascension and δ is the declination; see Fig. 2(i)), to a high
accuracy. Many algorithms have been developed for star identification [1] and can be divided
into three main categories: 1) Direct template match, 2) Angular separation match, and 3)
Phase match. However, star identification algorithms based upon the angular separation
approach are very popular. With reference to Fig. 2, the angle between two star vectors is an
invariant with respect to orthogonal rotational coordinate transformations. Therefore, the
13
perfectly measured inter-star angle Θij would match exactly the corresponding cataloged
vectors inter-star angle. Of course, the measured inter-star angles will be corrupted by
measurement errors and this must be taken into account. Nonetheless, very robust star
identification algorithms have been developed [2, 3] that utilize inter-star angles and are
therefore independent of spacecraft orientation. The pyramid algorithm matches the imaged
plane star pairs with cataloged star pairs by finding a unique triangle characterized by interstar angles. This approach can reliably solve the “lost in space” star identification problem
in a fraction of second.
After the star identification process, the line-of-sight measurement vectors are computed
for each star in the image and catalog planes using Eqs. (3) and (4). Now, the geometric
attitude corresponding to each FOV is computed using Eq. (5). Many attitude estimation
algorithms [7, 13–16] are discussed in the literature. These algorithms usually fully comply
with Wahba’s optimality criterion [17] and thus are in principle equivalent in accuracy.
However, they all differ from one another in terms of computational speed, which is an
important factor to achieve attitude information at a higher frame rate. To our knowledge,
the ESOQ-2 [11] is the fastest attitude estimation algorithm and is used to compute the
geometric attitude corresponding to each FOV, although several of the available algorithms
are comparably efficient. ESOQ-2 uses the q-Method solution equation [16] to compute the
optimal quaternion, qopt .
Kqopt = λmax qopt
(19)
Here, K is a 4 × 4 symmetric matrix given by the following expression:

 B+
K=
where B =
n
P
i=1
BT

− tr(B)I3×3
zT
z
tr(B)
αi bi rTi is the attitude profile matrix and z =
n
P


(20)
αi (bi × ri ) is a 3 × 1 vector.
i=1
The main difference between ESOQ-2 and other q-methods is the way ESOQ-2 computes
the optimal quaternion. ESOQ-2 provides an analytic solution for the optimal quaternion
14
through the evaluation of the optimal principal axis, e, using the following expression:
(tr(B) − λmax ) S − zzT e = 0
(21)
where S = B+BT −(tr(B) + λmax ) I3×3 . A closed-form solution for the optimal quaternion
can be obtained for the case of just two vector observations; otherwise, a NewtonRaphson
iteration process is applied to compute the optimal attitude. This algorithm usually converges in fewer than four iterations.
Once the geometric attitude quaternion, denoted by qF and qS for front and side FOV
respectively, is obtained, then Eq. (6) is used to compute the interlock quaternion estimate
qF S = qF ⊗ q−1
S between two fields of view. Further, the estimated boresight directions bF
and bS are computed using:
bF
= C(qF )e3
bS = C(qS )e3
(22)
where e3 = {0, 0, 1}T denotes the boresight direction in the inertial frame. Now, the starcamera frame BK is defined using the definition given in section 2 and the interlock angle
between the front and star-camera frame is computed using the following expression:
qF K = qF ⊗ q−1
K
(23)
After computing interlock angles qF S and qF K , the next step is to estimate the gyro
interlock rotation so that gyro rate data can be used to propagate the attitude corresponding
to the star-camera reference frame between two sets of vector observations. To estimate
the gyro interlock rotation, a reference rate vector estimated from star motion in the starcamera frame is required, which corresponds physically to the measured gyro rate vector.
In the next section, an angular rate estimation algorithm is presented which makes use of
the projected star vectors in the BK frame to estimate the spacecraft rate vector in the BK
15
frame.
5.2
Spacecraft Angular Rate Estimation Algorithm
Sufficient information about the body angular rates can be obtained from the attitude
sensor measurements, if attitude sensor data update frequency is high enough and of sufficiently high accuracy to capture the spacecraft motion. The best star-cameras are very
accurate (< 2arc-second [12]) and, in view of recent active pixel sensor cameras, star-camera
frame rates are increasingly high (10Hz for the GIFTS mission star-camera); it is anticipated that higher frame rates will soon be feasible. This suggests the possibility of deriving
angular velocity estimates from “star motion” on the focal plane. In Refs. [9, 18, 19], two
different sequential algorithms were presented for spacecraft body angular rates estimation
in the absence of the gyro rate data for a star tracker mission.
1. In the first approach, body angular rates of spacecraft are estimated with the spacecraft attitude using the Kalman filter. This method uses a dynamical model in which
external torques acting on spacecraft are modeled by a random process. The performance of this algorithm depends on the validity of the assumed dynamical model for
the given case, together with the star update frequency.
2. The second approach makes direct use of the rapid update rate of the star-camera to
approximate the body angular velocity vector. Filtered time derivatives of star tracker
body measurements are used to establish “measurement equations” to estimate the
spacecraft angular rates. First-order and second-order finite difference approaches
are used to approximate the time derivative of body measurements. A sequential
Least Squares algorithm is used to filter these noisy measurements and estimate the
spacecraft angular rates. This algorithm has the obvious drawback of amplifying the
noise in measurements by taking the time derivative of line-of-sight measurements.
For high precision star centroid measurements (< 20µ radians), both the algorithms work
well, if the sampling interval of star data is well within Nyquist’s limit for the actual motion
16
of the spacecraft. The first approach is found to be more attractive because it does not use
approximation of derivatives from noisy measurements.
In this approach, the spacecraft body angular rates are estimated with spacecraft attitude using the Kalman filter. Actually, this algorithm has been derived from the attitude
determination algorithm presented in Ref. [4]. The 6 × 1 state vector of the Kalman filter consists of 3 components of spacecraft angular rate and the vector part of the error
quaternion.
x=



 δq13 



ω
(24)


An error quaternion is defined as the composition of the true quaternion and the inverse estimated quaternion; i.e., an incremental rotation which must be composed with the estimated
quaternion to get the true quaternion:
δq = qK ⊗ q̂ −1
K


˜
 q̂K4 I3×3 + [q̂ K13 ] −q̂ K13 
, 
 qK
q̂ TK13
q̂K4
(25)
(26)
The angular acceleration of the spacecraft is modeled by a first-order random process.
τ = ω̇ = η 3
(27)
where η 3 represents a Gaussian random variable with the following known statistical properties:
2
E(η 3 ) = 0, E(η 3 η T3 ) = σw
I
(28)
Eq. (27) along with Eq (16) constitute the assumed dynamic model for the propagation of
the spacecraft attitude and angular velocity between two sets of star measurements.
17
Therefore, the state differential equation is given by following expression:
ẋ = Fx + Gw
(29)
where w = {η1 , η3 } is a process noise vector and the matrices F and G are given by the
following expressions [9]:

˜
 −[ω̂(t)]
F = 
O3×3
− 12 I3×3
O3×3




, G = 
1
2 I3×3
O3×3

O3×3 

I3×3
(30)
Adopting the procedure described in Refs. [4,9], the state propagation and update equations
for the Kalman filter can be written as:
Propagation Equations
q̂ Kk+1
θk
θk
= cos
I4×4 + sin
Ω(n̂k ) q̂ Kk
2
2
(31)
where


˜ k ] n̂k
−[
n̂
ω̂ k


Ω(n̂k ) = 
 and n̂k =
ωn
−n̂Tk
0
θk = ωn (tk+1 − tk ) and ωn = kω̂ k k =
q
ω̂k21 + ω̂k22 + ω̂k23
Pk+1 = Φk Pk Φk + GQk G
(32)
with


 Φ1k Φ2k 
Φk = 

O3×3 I3×3
Φ1k
Φ2k
(33)
!2
˜T
˜T
[ω̂]
[ω̂]
= I3×3 +
sin θk +
(1 − cos θk )
ωn
ωn
"
#
˜ T (1 − cos θk )) [ω̂][
˜ ω̂](θ
˜ k − sin θk )
1
([ω̂]
=
I3×3 ∆t +
+
2
ωn2
ωn3
Qk = E[wwT ]
(34)
(35)
(36)
18
Update Equations (to update best estimates given a new measurement)
−
x̂+
= x̂−
k
k + Kk (ỹk − Hk x̂k )
(37)
P+
= (I − Kk H)P−
k
k
(38)
− T
T
−1
K k = P−
k Hk (Hk Pk Hk + Rk )
(39)
ỹk = b̃k
Hk =
L O3×3
(40)
where
˜
L = 2[b̂]
(41)
(42)
We mention that the rate estimation algorithm discussed in this section not only help us to
determine the gyro interlock matrix but also increases the domain of practical applicability
of the attitude determination algorithm in case of sudden gyro failure.
5.3
Gyro Interlock Estimation
To use the gyro measurements to propagate the spacecraft attitude between two sets of
vector observations, they must be projected from the gyro frame, BG , to the star-camera
reference frame, BK . In this section, a real time estimation algorithm is presented to
estimate the gyro interlock matrix, Gg using the gyro rate measurements and spacecraft
angular rate estimates in the BK frame.
Let ω̃g represent the gyro measurements in the gyro frame, BG and ω represent the rate
vector in the BK frame; then the interlock matrix, Gg rotates the rates in the BK frame to
gyro measurements according to the following equation:
ωg − bg = Gg ω
(43)
where bg represents the unknown gyro bias. It should be noticed that gyro interlock es19
timation depends upon the knowledge of the unknown gyro bias vector, bg . So basically
spacecraft attitude and gyro bias estimates depends upon the knowledge of gyro interlock
and gyro interlock depends upon the knowledge of gyro bias. Further, it should be noticed
that if spacecraft angular velocity is constant then any errors in the gyro interlock matrix,
Gg , can be compensated by the bias estimation according to following equation:
Gg ω + b = Gg0 ω + b0
(44)
where Gg and b represent the true gyro interlock matrix and bias vector, respectively
whereas matrix Gg0 and b0 represent the erroneous gyro interlock matrix and bias vector,
respectively. This means, the attitude accuracy of the KF is not affected by the gyro
interlock errors if spacecraft rates are constant. However, when the spacecraft rates are not
constant then gyro interlock calibration improves the attitude accuracy particularly, when
star measurements are not available.
The underlying assumption for the gyro interlock estimation algorithm presented in this
paper is that the gyro bias is constant over a period of hours whereas the gyro interlock
matrix, Gg , is constant for perhaps months and finally, the spacecraft angular velocity itself
is varying with time constants in seconds or even shorter time intervals. Therefore, we can
define the differential angular velocity vector, δωg (tk ) as the difference between the current
time gyro data, ωg (tk ) and some reference time gyro data, ωg (t0 ):
δωg (tk ) = ωg (tk ) − ωg (t0 )
(45)
Substituting for ωg (tk ) and ωg (t0 ) from Eq. (43) in Eq. (45), we get:
δωg (tk ) = Gg (ω(tk ) − ω(t0 )) − (b(tk ) − b(t0 ))
(46)
Now, we can choose reference time t0 sufficiently close to tk such that the bias has not
20
significantly changes, e.g. b(tk ) ≈ b(t0 ) and therefore, Eq. (46) reduces to
δωg (tk ) = Gg (ω(tk ) − ω(t0 )) = Gg δω(tk )
(47)
Now, considering the δωg (tk ) and δω(tk ) as two reference vectors, we can estimate the gyro
interlock matrix recursively using the sequential least squares algorithm or a static Kalman
filter.
As our measurement model defined by Eq. (47) is non-linear in nature, we use the static
EKF for the estimation of the quaternion, qg , corresponding to the gyro interlock matrix,
Gg . The update equation for the estimated state vector, x̂g , is given by:
x̂gk = x̂gk−1 + Kk (ỹk − Hgk x̂gk−1 )
(48)
where x̂gk is the estimated state vector consists of error quaternion defined as follows:
δqg = qg ⊗ q̂−1
g
(49)
Further, ỹk = δωg (tk ) is a synthetic measurement vector for gyro interlock angle estimation
algorithm, and Hgk denotes the sensitivity matrix, given by the following expression:
Hgk =
d
(Gg (qg )δω(tk )) |x̂gk−1
dx
(50)
According to the definition of the error quaternion and quaternion multiplication:
Gg (qg ) = Gg (δqg )Gg (q̂g )
(51)
Substitution of Eq. (51) in Eq. (50) gives the following expression for Hg :
Hg =
d
(Gg (δqg )δωg (tk )) |qg
d(δqg )
21
(52)
Now, the gyro interlock matrix, Gg , can be expressed in terms of the error quaternion as:
˜g ]
Gg (δqg ) = (δqg24 − δq Tg13 δq g13 )I3×3 + 2δq g13 δq Tg13 − 2δqG4 [δq
13
˜g ]
≈ I3×3 − 2[δq
13
(53)
Substitution of Eq. (53) in Eq. (52) yields the following expression for Hgk :
˜ g (tk )]
Hgk = 2[δω
(54)
We mention that since the true spacecraft rates in the star-camera frame, BK are unknown
therefore we use the estimated spacecraft angular rates (as described in section 5.2) instead
of true ones. Further, if e and η denote the estimation error for spacecraft angular rates
and gyro noise vector, respectively then the measurement model for the gyro interlock
estimation is given by the following equation:
δωg (tk ) = Gg δω(tk ) + ν(tk )
(55)
where ν is the noise vector given by following equation:
ν(tk ) = Gg (e(tk ) − e(t0 )) − (η(tk ) − η(t0 ))
(56)
Now, assuming η and e to be independent Gaussian white noise processes with covariance
matrices Rη and Re , respectively, the expression for measurement noise vector, R = E(νν T )
can be derived as:
R = 2(Rη + Gg Re GTg )
(57)
Now, from Eq. (55), it is clear that interlock matrix, Gg , is not observable if spacecraft
angular rates are constant; further, to get the initial estimates of gyro interlock, it is essential
that δω(tk ) and δωg (tk ) are at least an order of magnitude greater than the noise vector,
ν(tk ). This suggests that the spacecraft should undergo small angular maneuvers, early in
its life to make the motion sufficiently rich so that the interlock estimation can converge
22
quickly.
Finally, we mention that the procedure listed in this section can also be used to update
the interlock angles between two F OV s or a F OV and the BK reference frame, as defined
in the Section 3.1. The initial guesses for these interlock angles are obtained by using the
“Geometric Attitude” approach for both F OV s.
5.4
Spacecraft Attitude and Gyro Bias Estimation Algorithm
In this section, an EKF algorithm is developed for the spacecraft attitude estimation in
the star-camera reference frame using the three axis gyro rate data projected in the BK frame
and quaternion estimates, derived geometrically from line-of-sight vector measurements.
The algorithm presented in this section is based upon body-fixed covariance approach [7]
to maintain the unit norm constraint of quaternions.
The state vector of this Kalman filter consists of 3 components of the gyro bias, b and
the vector part of error quaternion, δqK13 :
xK =



 δqK 

13


b
(58)


Using the gyro rate data projected to the star-camera reference frame, BK , and well known
kinematic model, we can propagate the spacecraft attitude estimates between two sets of
star measurements.
We mention that in this case, Eq. (16) along with Eqs. (8) and (9) constitute the
assumed dynamic model for the propagation of the spacecraft attitude between two sets of
star measurements.
Further, using the procedure listed in Refs. [4, 7, 9] the state equations for the Kalman
filter are given as:
ẋK = FK xK + GK wK
23
(59)
where wK = {η1 , η2 }T is a process noise vector and matrices FK and GK are given by
following expressions [9].

FK
 −[ω̃(t)]
= 
O3×3
− 21 I3×3
O3×3




 , GK = 
− 12 I3×3
O3×3

O3×3 

I3×3
(60)
For the update part of the Kalman filter the quaternion estimates from the spacecraft
angular rate estimation algorithm are used as quaternion measurements. If, q̃K , denotes
the quaternion estimates obtained from the spacecraft angular rate estimation algorithm
and qK denotes the true quaternion corresponding to star-camera reference frame then the
measurement model is given by the following equation:
q̃K = qK ⊗ δqK
(61)
where δqK denotes the estimation error for quaternion obtained by the spacecraft rate estimation algorithm. Now, using the definition of error quaternion, we can find the following
expression for the sensitivity matrix, H:


˜
 q̂K4 I3×3 − [q̂ K13 ] 
H=

−q̂ TK13
(62)
The summary of equations for this Kalman filter is presented in Table 1.
6
Simulation and Results
In this section, we demonstrate the effectiveness of the attitude determination process,
developed in this paper, by simulating star-camera images. An 8◦ × 8◦ FOV star-camera is
simulated by using the pinhole camera model dictated by Eqs. (1) and (2) with principal
point offset of x0 = 0.75mm and y0 = 0.25mm. The effective focal length of the star-camera
is assumed to be 64.2964mm for both F OV s.
For simulation purposes, the spacecraft is assumed to be in a low Earth orbit tumbling
24
Table 1 Quaternion Based Extended Kalman Filter Summary
q̂ Kk+1
Pk+1
θk
θk
I4×4 + sin
Ω(n̂k ) q̂ Kk
= cos
2
2
= Φk Pk Φk + GQk G
where
Propagation
Φk =
Φ1k
Φ2k
Φ1k Φ2k
O3×3 I3×3
T 2
[ω̃]T
[ω̃]
= I3×3 +
(1 − cos θk ), ω = ω̃g − b̂
sin θk +
ωn
ωn
[ω̃]T (1 − cos θk ) [ω̃][ω̃](θk − sin θk )
1
+
= − I3×3 ∆t +
2
ωn2
ωn3
x̂+
Kk
−
= x̂−
Kk + Kk (ỹk − Hk x̂Kk )
= (I − Kk H)P−
P+
k
k
− T
−1
T
K k = P−
k Hk (Hk Pk Hk + Rk )
Update
where
Hk =
q̂K4 I3×3 − [q̂˜K13 ]
−q̂ TK13
with following “for example” angular velocity about the BK reference frame axis:
ω=
ω0 sin(ω0 t) ω0 cos(ω0 t) ω0
, ω0 = 10−3 rad/sec
(63)
Assuming the star-camera update frequency to be 10Hz, the star data is generated for
2.5hr motion of the spacecraft. Further, the true line-of-sight vectors for both the F OV are
corrupted by Gaussian white noise of standard deviation 17µ-rad [10]. This corresponds to
the random centroiding error for each star.
The gyro data is simulated by assuming gyro data frequency to be 100Hz and projecting
the true spacecraft angular rates in BK reference frame to gyro frame. The true gyro
25
interlock matrix, G, is given by following 3-2-1 Euler angle sequence:
π π π
θ = {θ1 , θ2 , θ3 }T = { , , }T
2 4 6
(64)
Further, the true gyro data is corrupted by gyro bias of 0.1deg/hr and Gaussian white noise
according to Eqs. (8) and (9) with following values for noise properties [10]:
σu = 1.6 × 10−6 rad/sec1/2
σv = 1.55 × 10−10 rad/sec3/2
First, according to Fig. 3, the estimates for interlock angle between two F OV and the
BK reference frame are obtained using the geometric attitude for both F OV . Initially, It
is assumed that we have no knowledge of these interlock angles. However, due to good
accuracy of star data the interlock angles are obtained with an accuracy of 20µ-rad. Once,
we had a good estimates of interlock angles qF K and qSK , the line-of-sight vectors obtained
in frames BF and BS are projected to the star-camera reference frame, BK , using these
interlock values. Now, the projected line-of-sight vectors in BK frame are used to estimate
the spacecraft angular rates along with quaternion, qK , using the procedure outlined in
section 5.2.
Figs. 4(i) and 4(ii) show the plots of the angular rate estimation error and the attitude
estimation error along with corresponding 3-σ bounds, respectively. From these figures, it
is clear that we are able to estimate the spacecraft angular rates and attitude with good
accuracy in the absence of gyro data.
Further, these angular rates estimates are used to estimate the gyro interlock matrix,
Gg , using the procedure listed in section 5.3. The initial guess for gyro interlock angle is
obtained by perturbing the true gyro interlock matrix by the “large” Gaussian white noise
of standard deviation 2 × 10−2 rad. Fig. 5(i) shows the plot of the convergence of gyro
interlock error†† with time. From this figure, it is clear that we are able to estimate the
††
Gyro interlock error is defined as the Frobenius norm of the difference between true interlock matrix
26
−5
−1
−5
x 10
1
0
0.5
1
0
−5
x 10
1
20
40
60
80
100
120
140
−1
0
−5
x 10
1
160
Pitch
Pitch
0
40
60
80
100
120
140
160
20
40
60
80
100
120
140
160
20
40
60
100
120
140
160
0
−0.5
20
40
60
80
100
120
140
−1
0
−5
x 10
1
160
0.5
Yaw
0.5
Yaw
20
0.5
−0.5
0
−0.5
−1
0
0
−0.5
0.5
−1
0
−5
x 10
1
x 10
0.5
Roll
Roll
−0.5
0
−0.5
20
40
60
80
Time (Min.)
100
120
140
−1
0
160
(i) Spacecraft Angular Rate Estimation Error (in
rad/sec).
80
Time (Min.)
(ii) Spacecraft Attitude Error (in rad).
Figure 4 Spacecraft Angular Rate Estimation algorithm Results.
gyro interlock angle with very good accuracy but the convergence time is possibly an issue.
To reduce the gyro interlock errors by two order of magnitude (from 10−2 to 10−4 ) we need
spacecraft angular rate data for at least half an hour. But we should mention that the
gyro interlock error convergence time depends upon the kind of maneuver the spacecraft
is doing. This is due to the fact that gyro interlock angle is more observable if spacecraft
angular are changing frequently with time. Just to show the effect of spacecraft motion
on the convergence time of gyro interlock error, we assume the following more aggressive
motion for the spacecraft and repeat the whole process of gyro interlock estimation.
ω=
ω0 sin(ω0
t2 )
ω0 cos(ω0
t2 )
2
ω0 sin (ω0
t2 )
, ω0 = 10−3 rad/sec
(65)
Fig. 5(ii) shows the plot of the convergence of gyro interlock error for this case. From this
figure, it is clear that, to reduce the gyro interlock errors by two order of magnitude, now,
we need spacecraft rate data only for few minutes. We mention that better convergence of
gyro interlock error can be obtained by designing more aggressive calibration maneuvers at
least in initial stage of the spacecraft mission.
Finally, we study the affect of gyro interlock errors on the spacecraft attitude and gyro
bias estimation. The spacecraft attitude and gyro bias is estimated by using the quaternion
estimates from the spacecraft angular rate estimation algorithm as measurements, and by
and estimated interlock matrix.
27
0.04
0.1
0.09
0.035
0.08
0.03
Gyro Interlock Error
Gyro Interlock Error
0.07
0.025
0.02
0.015
0.06
0.05
0.04
0.03
0.01
0.02
0.005
0.01
0
0
20
40
60
80
Time (Min)
100
120
140
0
0
160
2
4
6
8
Time (Min)
10
12
14
16
(i) Gyro Interlock Error For Slow Spacecraft Ma- (ii) Gyro Interlock Error For Aggressive Spaceneuver (in rad).
craft Maneuver (in rad).
Figure 5 Gyro Interlock Estimation Algorithm Results
−5
1
x 10
35
b1
Roll
0.5
b2
30
0
b3
−0.5
25
1
2
3
4
5
6
7
Estimated Gyro Bias (deg/hr)
−1
0
−5
x 10
1
8
Pitch
0.5
0
−0.5
−1
0
−5
x 10
1
1
2
3
4
5
6
7
8
20
15
10
5
Yaw
0.5
0
0
−0.5
−1
0
1
2
3
4
Time (Min)
5
6
7
−5
0
8
(i) Spacecraft Attitude Error (in rad).
1
2
3
4
Time (Min)
5
6
7
8
(ii) Gyro Bias Estimates (in deg/hr).
Figure 6 Spacecraft Attitude and Gyro Bias Estimation using Initial guess of gyro Interlock.
projecting the gyro data to the star-camera reference frame, using estimated gyro interlock
angle. First, we use the initial guess for gyro interlock matrix to project the gyro data to the
star-camera reference frame. Figs. 6(i) and 6(ii) show the plots of the estimated attitude
error with corresponding 3-σ bounds and gyro bias estimates with time, respectively. As
expected the error in gyro matrix does not effect the attitude accuracy much, but the gyro
bias estimates do not converge to their true value (0.1deg/hr), but rather to effective values
that compensate for the bias as well as the effective bias due to interlock errors.
Figs. 7(i) and 7(ii) show the plots of the estimated attitude error and estimated gyro
bias when the estimated gyro interlock matrix is used to project the angular rates from
gyro frame to star-camera reference frame. From these figures, it is clear that we are able
to estimate the gyro bias and the spacecraft attitude with a very good accuracy, if gyro
28
−5
1
x 10
0.8
b1
Roll
0.5
0
b2
0.6
b3
−1
0
−5
x 10
1
1
2
3
4
5
6
7
Estimated Gyro Bias (deg/hr)
−0.5
8
Pitch
0.5
0
−0.5
−1
0
−5
x 10
1
1
2
3
4
5
6
7
8
0.4
0.2
0
−0.2
Yaw
0.5
−0.4
0
−0.5
−1
0
1
2
3
4
Time (Min.)
5
6
7
−0.6
0
8
(i) Spacecraft Attitude Error (in rad).
1
2
3
4
Time (Min)
5
6
7
8
(ii) Gyro Bias Estimates (in deg/hr).
Figure 7 Spacecraft Attitude and Gyro Bias Estimation using Estimated Value of gyro
Interlock.
interlock matrix is also estimated along with the spacecraft attitude and gyro bias.
Finally, we mention that the simulation results presented in this section do not cover
the thorough studies necessary to qualify these algorithms for flight tests; however, they do
form a basis for optimism.
7
Conclusions
The important issue in this paper is to address the problem of estimation of the space-
craft attitude along with gyro bias and various sensor interlock angles in real-time. To
address these issues, an efficient procedure is presented and tested by numerical simulation,
to estimate the spacecraft attitude along with gyro bias and interlock angle between various sensor frames in real-time. The convergence of the various Kalman Filters depends
jointly upon: 1) the accuracy of the dynamical model and process noise representation,
2) the frequency and accuracy of the attitude measurements, 3) the observability of state
vector. For the gyro interlock estimation algorithm approach, the KF requires some artistic tuning as gyro interlock matrix is poorly observable. However, for the extreme case of
uniform angular velocity, or near zero angular velocity, estimating effective gyro bias will
compensate for errors in the gyro interlock angles. The on-orbit estimation algorithm of
various interlock angles not only help in reducing the total cost of the mission but also
makes the interlock angle estimates robust to thermal and environmental effects unlike in
29
ground. Finally, although the algorithm presented in this paper were developed keeping in
mind the specifications for the GIFTS mission, these results have practical applications for
many future spacecraft missions.
REFERENCES
1. J. M. SIDI, Spacecraft Dynamics and Control , Cambridge University Press, Cambridge,
UK, 1997.
2. D. MORTARI, J. L. JUNKINS, and M. SAMAAN, “Lost-In-Space Pyramid Algorithm
for Robust Star Pattern Recognition,” Guidance and Control Conference, No. 01-004,
AAS, Breckenridge, Colorado, 31 Jan- 4Feb 2001.
3. M. SAMMAN, D. MORTARI, and J. L. JUNKINS, “Recursive Mode Star Identification
Algorithms,” AAS/AIAA Space Flight Mechanics Meeting, No. 01-149, AAS, Santa
Barbra, California, 11 Jan- 15 Jan 2001.
4. P. SINGLA, T. D. GRIFFITH, and J. L. JUNKINS, “Attitude Determination and OnOrbit Autonomous Calibration of Star Tracker For GIFTS Mission,” AAS/AIAA Space
Flight Mechanics Meeting, edited by K. T. Alfriend, B. Neta, K. Luu, and C. A. H.
Walker, Vol. 112 of Advances in Aerospace Sciences, 2002, pp. 19–38.
5. M. D. SHUSTER, “A Survey of Attitude Representations,” Journal of the Astronautical
Sciences, Vol. 41, No. 4, October–December 1993, pp. 439–517.
6. J. L. JUNKINS and P. SINGLA, “How Nonlinear Is It? A Tutorial on Nonlinearity
of Orbit and Attitude Dynamics,” Journal of Astronautical Sciences, Vol. 52, No. 1-2,
2004, pp. 7–60, keynote paper.
7. E. J. LEFFERTS, F. L. MARKLEY, and M. D. SHUSTER, “Kalman Filtering For
Spacecraft Attitude Estimation,” Journal of Guidance, Control and Dynamics, Vol. 5,
No. 5, Sept.-Oct. 1982, pp. 417–492.
30
8. R. E. KALMAN, “A New Approach to Linear Filtering and Prediction Problems,”
Transactions of the ASME–Journal of Basic Engineering, Vol. 82, No. Series D, 1960,
pp. 35–45.
9. P. SINGLA, “A New Attitude Determination Approach using Split Field of View Star
Camera,” Masters Thesis report, Aerospace Engineering, Texas A&M University, College Station, TX, USA.
10. M. SAMAAN, D. MORTARI, T. C. POLLOCK, and J. L. JUNKINS, “Predictive
Centroiding for Single and Multiple FOVs Star Trackers,” AAS/AIAA Space Flight
Mechanics Meeting, edited by K. T. Alfriend, B. Neta, K. Luu, and C. A. H. Walker,
Vol. 112 of Advances In The Astronautical Sciences Series, 2002, pp. 59–72.
11. D. MORTARI, “Second Estimator of The Optimal Quaternion,” Journal of Guidance,
Control and Dynamics, Vol. 23, No. 5, September–October 2000, pp. 885–888.
12. J. L. JUNKINS, T. C. POLLOCK, and D. MORTARI, “Multiple Field of View Optical
Imaging System and Method,” U.S. Patent Pending No. 60/239-559 , January 2001.
13. J. L. FARREL and J. C. STUELPNAGEL, “A Least Squares Estimate of Spacecrat
Attitude,” SIAM Review , Vol. 8, No. 3, July 1966, pp. 384–386.
14. L. M. GERALD, “Three-Axis Attitude Determination,” Journal of the Astronautical
Sciences, Vol. 45, No. 2, April-June 1997, pp. 817–826, 195-204.
15. D. MORTARI, “ESOQ: A Closed-Form Solution to the Wahba Problem,” Journal of
the Astronautical Sciences, Vol. 45, No. 2, April-June 1997, pp. 817–826, 195-204.
16. M. D. SHUSTER and S. D. OH, “Three Axis Attitude Determination From Vector
Observations,” Journal of Guidance and Control , Vol. 4, No. 1, 1981, pp. 70–77.
17. G. WAHBA, “Problem 65-1: A Least Square Estimate of Spacecraft Attitude,” SIAM
Review , Vol. 7, No. 3, July 1965, pp. 409.
31
18. P. SINGLA, J. L. CRASSIDIS, and J. L. JUNKINS, “Spacecraft Angular Rate Estimation Algorithms for Star Tracker-Based Attitude Determination,” AAS/AIAA Space
Flight Mechanics Meeting, edited by D. J. Scheeres, M. E. Pittelkau, R. J. Proulx, and
L. A. Cangahuala, Vol. 114 of Advances In The Astronautical Sciences Series, 2003,
pp. 1303–1316.
19. J. L. CRASSIDIS, “Angular Velocity Determination Directly from Star Tracker Measurements,” AIAA Journal of Guidance, Control, and Dynamics, Vol. 25, No. 6, Nov.Dec. 2002, pp. 1165–1168.
32