Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
A I AA820070 Kalman Filtering for Spacecraft Attitude Estimation
E.J. Lefferts, NASA Goddard Space Flight Center, Greenbelt, MD; and E L . Markley, Naval Research Lab, Washington, DC; and M .D. Shuster, Business and Technological Systems, Inc., Seabrook, MD
AlAA 20th Aerospace Sciences Meeting
I ~ ~ January ~ w 1114, ~ 1982/0rlando, ~ ~ I Florida
For permission to copy or republish, contact the American Institute of Aeronautics and Astronautics 1290 Avenue of the Americas, New York, NY 10104
KALMAN FILTERING FOR SPACECRAFT ATTITUDE ESTlMATION*
E . 3 . Lefferts** NASA Gaddard Space Flight Center. Greenbelt, MD. 20711
F. L. Markleyt Naval Research Laboratory, Washington, D. C. 20375 M. D. ShusterAA r l Business and Technological Systems, Inc., Seabrook, MD. 20706
Abstract Several schemes in current use for sequential estimation of spacecraft attitude using Kalman filters are examined. These differ according to their treatment of the attitude error, namely: using the complete fourcomponent quaternion; using a truncated quaternion in which one of the components has been eliminated; o r using a quaternion referred to approximate bodyfired axes. These schemes are examined for the case of B spacecraft carrying lineofsight attitude sensors and threeaxis gyros whose measurements are corrupted by noiae on both the drift rate end the driftrate ramp. The analysis of the covariance is carried out in detail. The historical development of Kalman filtering of attitude is reviewed.
1.
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
uncertainties in the modeling. Far autonomous spacecraft the use of inertial reference unit8 as a model replacement permits the circumvention of these problems. In this representation the angul a r velocity of the spacecraft is obtained from the gyro data. The kinematic equations are used to obtain the attitude state and this is augmented by means of additional statevector components for the gyro biases. Thus, gyro data are not treated 8s observations and the g y m noise appears as state noise rather than 8 s observation noise. The use of the quaternion as the attitude state presents some difficulty in the application of the filter equations. This difficulty is due to the lack of independence of the f o u r quaternion components, which are related by the constraint that the quaternion have unit n o m . This constraint results in the singularity of the covariance matrix of the quaternion state. The various ways to treat o r circumvent this difficulty make up the major part of this report. Each of the filters discussed predicts the quaternion state in the Same manner 8 s if each component were independent. Different approaches to the update equations and to the covariance representation and its propagation give rise to the different methods presented. Section 2 of this report reviews the relevant literature on Kalmsn filtering as applied to attitude estimation and on related topics. Since the attitude problem is nonlinear the vehicle for optimal estimation is the extended Kalman filter, which is reviewed in Section 3 without derivation. Attitude kinematics are reviewed in Section 4 , with emphasis on the quaternion representation. A discussion of gyms used in the model replacement mode and of lineofsight attitude sensors is preeented in Section 5. The state equation and the equation for attitude prediction are derived in Section 6 . The various approaches to the filtering equations are discussed in the succeeding five sections. Section 12 reviews the advantages of the different methods. Several results of interest have been gathered in two appendices. The intent of the present work is to provide a complete account of what now seem to be the relevant filtering algorithms rather than to present a new approach. An attempt has been made to present the current methods in a common framework in order to produce a useful reference for future applications.
Introduction
v
The present report reviews the methods of Kalman filtering in attitude estimation and their development o v e r the last two decades. This review is not intended to be complete but is limited to algorithms suitable for spacecraft equipped with threeaxis gyros and lineofsight attitude sensors. These are the systems to which we feel that Kalman filtering is mast applicable. Throughout this report the attitude is represented by the quaternion. The development of the Kalman filter for the quaternion representation was motivated by the requirement of realtime autonomous attitude determination far attitude control and the annotation of science data. The quaternion parameterization vas chosen for several practical reasons: ( 1 ) the prediction equations are treated linearly, ( 2 ) the representation is free from singularities (thus, the gimballock situation is avoided), and (3) the attitude matrix is algebraic in the quaternion components (thus, eliminating the need for transcendental functions).
The dynamic equations for the spacecraft attitude pose many difficulties in the filter modeling. In particular, the external torques and the distribution of momentum due to the use of rotating o r rasterins instrunents lead to significant
J
*Presented at the AIAA 20th Aerospace Sciences Meeting. Orlando, Florida, January 1 1  1 4 , 1982. **Head, Attitude Dynamics Section. +Physicist. Aerospace Systems Division, Member AIAA. ++Staff Scientist, Research and Development Division, Member AIAA.
1
2. Historical Survey
Early Applications of Kalman Filtering The Kalman filter [ l ; 21, which was originally developed 8s B tool in linear estimation theory, W B S soon applied to nonlinear orbital guidance and navigation problems in the Apollo program by Schmidt and his collaborators [ 3  5 ] . Almost simultaneously with Kalman's work, Swarling [ 6 , 71 developed a recursive theory for satellite navigation which differed from Kalrnen's in the treatment of the process noise and was not carried out as completely. Standard treatments of Kalman filtering can be found in the review of Sorenson 81 and the textbooks of Jszwinski [9] and Gelb [ l o
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
state prediction is discussed. A review article by Schmidtbauer, Samuelsson, and Carlsson [ Z S ] extends the history'to 1973 and contains a clessification and discussion of extended Kalmsn filter methods for attitude determination, with specific emphasis on algorithms suitable for onboard computation. Attitude Representations The nonlinear aspects of rotational kinematics Approaches which treat the spacecraft a x e s as uncoupled (thus ignoring commutation errors have been studied by Potter and Vender Velde i14], Ribarich Schmidtbauer et al. [ Z S ] , and Fsrrenkopf This approximation leads to independent linear estimation problems for the three spacecraft axes, and closedform expressions for the steadystate estimation errors can be obtained in some cases 114, 25, 311. Uncoupledaxis Kalman filters employing both gyro data and dynamics modeling have been used in onboard attitude control systems, in the NASA International Ultraviolet Explorer and Solar Maximum Mission [ 3 2 ] spacecraft, for example.
are discus8ed in many texts [26301.
u
i.
\:;"I:
An accurate and complete historical survey of Kalman filtering for attitude estimation is not possible aince the earliest applications were directed towards national defense and hence could not be published in the open literature. The earliest published reference is by Farrell [ll, 121, who studied the extent to which Kalman filtering of crude attitude measurements from sun senamps and magnetometers could provide attitude accuracy equivalent to that obtained without smoothing from more elaborate instrumentation. Farrell represented the attitude by Euler angles and assumed torquefree motion in the attitude prediction. Cherry and O'Connor [ 1 3 ] , in their design of the lunar excursion module autopilot, considered sequential estimation of the disturbance torques induced by the ascent or descent propulsion system. Potter and Vander Velde [ I 4 1 used Kelman filtering theory to determine the optimum mixing of gyroscope and star tracker data in an attitude determination s stem. Generally, a a remarked by Sabroff [ l S f , the application of Kalman filtering to attitude estimation had not shown impressive Aside from insufficient results up to 1967. study, the lack of real success in applying optimal estimation vas caused by the inability to model the system dynamics accurately.
Continued effort in this area was evidenced at symposium on spacecraft attitude determination in 1969, at which six papers were presented on the application of Kalman filtering to this problem. Foudriat 1161 and Arneson and Nelson [I71 considered spinstabilized satellites, while Ribarich [le] and Lesinski [ 1 9 ] were interested in the dualspin case. Psuling. Jackson. and Brown [ Z O ] and Tada, Heiss, and Schlee [ Z l ] studied the Space Precision Attitude Reference System (SPARS), which used g y m measurements in a model replacement mode with periodic starsensor updates. Psuling et 81. [ 2 0 ] used the attitude matrix for state prediction and E u l e r angles for updates, while Toda et al. [ Z l ] used the quaternion for prediction and incremental error angles in the update. Jackson [ Z Z ] also contributed a paper to the symposium on the application of nonlinear estimation theory to the attitude determination problem, an application that was also studied by Kau, Kumar, and Grsnley
8
Stuelpnagel [ 3 3 ] and Markley [ 3 4 ] discuss different parameterisations of the attitude that have been used when the decoupledaxis approximation is not applicable. Early strapdown navigation systems used the directioncosine matrix as the representation of the attitude [ Z O , 241. Due to roundoff. quantization, and truncation e r r o m in the attitude propagation, this procedure results in an attitude matrix that is not orthogonal [ 3 5 , 361. Various orthogonalization schemes for the attitude matrix were developed; but Giardina, Bronson, and Wallen [ 3 6 ] proved that an optimal orthogonalization (one that minimizes the sum of squares of the differences between the elements of the propagated matrix and those of the orthagonelized matrix) requires R computationally expensive matrix square root. Because of this problem and the redundancy of the nineparameter direction cosine representation, it has not been widely used recently. The three ammeter Eulerangle representation 33, 349 was used in several early applications of Kelmen filtering to attitude estimation [ l l . 16, 17, 19, 20, 231. However the kinematic equations for Eulerangles involve nonlinear and computationally expensive trigonometric functions, and the angles become undefined for some rotations (the gimballock situation), which cause problems in Kalman filtering applications. Despite these difficulties, the Euler angle representation continues to be used for the attitude estimation of spinning spacecraft. Stuelpnagel discusses two other threeparameter representations: the exponential of B 3x3 skewsymmetric matrix (rotation v e c t o r representation) and the Cayley parameterization (not to be confused with the CayleyKlein parameters). The latter is equivalent to the Gibbs vector psrsmeterieation [341. Neither of these representations has found a Kalman filtering application, to our knowledge. Stuelpnagel proves that no threeparameter representation can be both global and nonsingulsr.
[2630,
v
[231. I n a 1971 review of strapdown navigation by Edwards [24], Kelmen filtering is not treated but the use of the quaternion and error angles for
v
4
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
b 1 .
The global nonsingular fourparameter representation of the attitude in terms of Euler's symmetric parameters, or equivalently the four components of a quaternion, is discussed by many authors [ 2 6  3 0 , 3337]. Quaternions were invented by Hamilton [38] in 1843; their use in attitude dynamics simulations was promoted by Robinson [39] and by Mitchell and Rogers [ 4 0 ] . The attitude matrix computed from a quaternion ( 8 s a homogeneous quadratic function) is orthogonal if the sum of squares of the quaternion components is unity. If propagation errors result in B violation of this constraint, the quaternion can be renormalized by dividing its components by the (scalar) square root of the sum of their squares; and Giardina et al. [ 3 6 ] showed that the attitude matrix computed from the renormalized quaternion is identical to the one given by their optimal orthoganslieation. The application of quaternions to strapdown guidance, with e r r o r analyses, was discussed by Quaternion Wilcox 1351 and Mortenson [41]. kinematics has been the subject of several recent studies [42481. Of particular concern has been the best method for extracting a quaternion from an attitude matrix [49521. A recent review of uaternion relations has been given by Friedland
development [56, 571.
3.
The Kalman Filter
We review in this section the principal q u a tians for the extended Kalman filter [9, 103 in order to introduce the necessary notation for the sections which follow. The state equation may be written
8s
the state vector and r(t), the pronoise, is a Gaussian whitenoise process whose mean and covariance function are given by
cess
where
x(t) is
Elr(t)l
=
0
=
(2)
E{w(t)rT(t)} 
Q(t)s(tt')
(3)
"E" denotes the expectation and "T" the matrix transpose. The initial mean and covariance of the state vector are given by Eix(to)l E{(x(to) Prediction Given the initial conditions an the state vector and the state covariance matrix, the minimumvariance estimate of the state vector at a future time t is given in the absence of measurements by the conditional expeotation
i

The advantages of the quaternion parameterizstion have led to its frequent use in attitude determination systems. One example is an attempt by Lefferts and Markley [54] to model the attitude dynamics of the NIMBUS6 spacecraft, which indicated that dynamics modeling with elaborate torque models could still not give acceptable attitude determination accuracy. F o r this reason, most applications of quaternion attitude estimation have used gyros in the dynamic model replacement mode. These include the work by Toda et 81. [21] mentioned above, by the group at TRW for the Precisian Attitude Determination System (PADS) 1551, which was incorporated in the attitude determination system for the High Energy Astronomy Observatory (HEAO) mission [56581, by Yon& and Headley [59] for highly maneuverable spacecraft, by Murre11 [60] in 8 design far the NASA Multimission Modular Spacecraft, by Sorenson, Schmidt, and Goka 1611 in a squareroot filtering application, by Shuster and coworkers 162641 for 8 microprocessorbased onboard attitude determination system, and by Markley [65] for an autonomous navigation study. G y m Noise Models The first papers describin statistical models of gyro drifts were by Newton f661 and Hammon 1671 in 1960. Newton considered additive white noise in the gyro drifts, while Hammon assumed that the gyro drift rates were an exponentially correlated random process. Dushman [68] considered a drift rate model obtained by adding a random walk component to Hammon's autocorrelation function. Early implementations of gyro noise models in Kalman filters were generally incomplete. Thus, Potter and Vsnder Velde [14] include only the random walk term in the drift rate, while both Pauling et al. 1201 and Toda et al. 211 have only the white n o i s e term. Farrenkopf 31, 691 considered a gyro model including all the terms discussed above. This model was used in the subsequent KEA0 system
%(to)
~
40
(4)
 %)(5(to)
 %)T
P
P(to) = Po (5)
%t)
=
EIL(t)lf(to)
=%I
(6)
This predicted estimate satisfies the differential equation & ? ( t ) = E { f ( ? ( t ) , t ) } = x((x(t),t) A
(7)
which
we
write approximately
=
89
d dt ?(t)
f ( ? ( t ) , t )
(8)
Equation ( E ) may be integrated formally to give
3 t ) = e(tt?(to),to)
(9)
The Stateerror vector and covariance matrix are defined by
AX(t) = =
x(t)  a(t)
A L T ( t ) }
( 1 0 )
(11)
p(t)
E{AL(t)
__
i
Neglecting terms which are higher than first order in the stateerror vector and the process noise, the stateerror vector satisfies the differential equation
d
AA(t)
F(t) A x ( t )
+
G(t)
" ( t )
(12)
where The minimumvariance estimate of x immediatek ly following the measurement is given by G(t)
E
d
g(a(t),t)
(14)
zk(+)&)
=
+
Kkbk
 &(Zk())l
(25)
Equation (12) may be integrated formally to give
A ? (
t) = m ( t ,t , ) A L ( to)
m ( t,t' ) C ( t' )?( t' ) dt'
(1 5 )
where the Kalman gain matrix is given by T T Kk = Pk()Hk[HkPk()Hk Rkl 1
+
(26)
where o(t,t ) is the transition matrix, which satisfies 0
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
and the measurement sensitivity matrix is given by (27)
a a t m(t,to)
o(to,to)
=
F(t) m(t,to)
(16)
I
(17)
Note that for nonlinear s sterns O(t,to) also ( t which for notational depends implicitly on z
0
3,
The CovaPisnce matrix immediately following the measurement is given by
convenience will be suppressed. The predicted covariance matrix satisfies the Riccsti equation
&P(t)
=
Pk(+)
=
(IK H ) P (  ) k k k
(28)
=
(IKkHk) P k ()(IK,H~)~+K~R~K~
(29)
F(t)P(t)
+
P(t)FT(t)
+
G(t)Q(t)GT(t)
( 1 8 )
which may be integrated to give
Equation (29) is the starting point for many efficient and numerically stable factored forms of the Kalman filter. [ T O ]
In the Sections which follow, the implementetion of the above equations is examined f o r three different representations of the attitude estimation problem. In each case, explicit expressions are developed for the transition matrix @ end the sensitivity matrix H.
P(t)
=
dt,t0)P(tO)4
T
(t,t,)
' 3
In more compact notation. ^x (  ) and P () k k denote the predicted values of the state vector and state covariance matrix at time tk, and and Pk(+) denote the same quantities immediately following a measurement st time tk. Thus, in obvious notation
%+1() = Q(tk+,,
4. Attitude Kinematics
In the systems investigated in the present study the attitude is represented by the quaternion defined as
ik(+)
Zk(+), t , )
T
+
s
where
=
(20) (21)
[g
(30)
Pk+l() = 4kPk(+)mk Filtering
Nk
The measurement vector at time t is related k to the state vector by
e = h(x) k
+ + %
B
(22) discrete
(23) (24)
The unit vector R is the axis of rotation and e is the angle of rotation. Quaternions will always be denoted by an averbar. The quaternion possesses three degrees of freedom and satisfies the constraint
where 1 , the measurement noise. is Gaussiae whitenoise process
EIXkl
=
0
T E{xgk,I = R k bkk.
The attitude matrix is obtained from the quaternion according to the relation
4
A(;) where
v
=
+ 2 (ls41 2  Is/ 1
[41
=
[:; 2 if]
q2 91
+
2?iT
+
2q4[pl
(33)
I t w i l l be c o n v e n i e n t i n l a t e r s e c t i o n s t o d e f i n e t h e fourcomponent q u a n t i t y
(34)
whence d q(t)
=
(43)
T h i s n o t a t i o n w i l l be used g e n e r a l l y f o r any 3 x 3 skewsymmetric m a t r i x g e n e r a t e d from B t h r e e vector. The c o n v e n t i o n w i l l be followed t h a t A is t h e m a t r i x which t r a n f o r m s r e p r e s e n t a t i o n s o f vectors i n the reference (usually geocentric inert i a l ) c o o r d i n a t e system t o r e p r e s e n t a t i o n s i n t h e body f i x e d c o o r d i n a t e system.
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
& Z(t)
e
4(t)
(44)
I f the d i r e c t i o n of is c o n s t a n t over t h e time i n t e r v a l o f i n t e r e s t o r i f t h e " r o t a t i o n v e c t o r " d e f i n e d by
A8 =
I n c o n t r a s t t o t h e usual convention f o r ua e r n i o n composition e s t a b l i s h e d by Hamilton P381 , t h e product o f two q u a t e r n i o n s will be w r i t t e n i n t h e Same o r d e r as t h e c o r r e s p o n d i n g r o t a t i o n m a t r i c e s . Thus,
*
t+At + It w(t') d t '
(45)
i s small, then t h e s o l u t i o n of Eq. (41) i s
i ( t + A t ) = M(A8) q ( t )
(46)
A ( s ' ) A(;)
i.e.,
= A(<'ei)
(35)
where
The composition of q u a t e r n i o n s i s b i l i n e a r ,
M(AQ)
=
COS(~AQ~/Z)
+
s i n ( l A Z l / 2 ) n(A;)
lAZl
(47)
S'
with
B
s = 6'1s
s ; s;
(36)
5.
Sensor Models
[S'I
v
=
[.
n;
s ; s; s ; si s ;
9;
s; s;
;]
s ;
*
(37)
The s p a c e c r a f t b e i n g s t u d i e d i s assumed t o be equipped with t h r e e  a x i s g y r o s and l i n e  o f  s i g h t a t t i t u d e sensors. Gyro Models
W e use B s i m p l e b u t r e a l i s t i c model f o r g y r o o p e r a t i o n developed by F a r r e n k o p f [ T l ] and a p p l i e d t o t h e HEAO m i s s i o n by Hoffman and McElroy [57]. I n t h i s model t h e s p a c e c r a f t a n g u l a r v e l o c i t y i s
r e l a t e d t o t h e gyro o u t p u t v e c t o r : according t o
*
w = "
*
 61 ;
%
is t h e d r i f t  r a t e b i a s and 1 ;
(48)
The v e c t o r
The r a t e of change o f t h e a t t i t u d e m a t r i x w i t h
d r i f t  r a t e n o i s e . ill i s assumed t o be a G a u s s i a n whitenoise process
E i:,(t)i
=
*
is t h e
time d e f i n e s t h e angular v e l o c i t y v e c t o r , w
6
=
(49)
Q1(t)6(tt')
(50)
E {;,(t)GIT(ta)i
The c o r r e s p o n d i n g r a t e o f change of t h e q u a t e r n i o n is g i v e n by
The d r i f t  r a t e b i a s is i t s e l f n o t B s t a t i c q u a n t i t y b u t i s d r i v e n by a second Gaussian whiten o i s e p r o c e s s , t h e gyro d r i f t  r a t e ramp noise
with with
(42)
Y
The two n o i s e p r o c e s s e s are assumed t o be uncorrelated
5
In general, u, b,
+
*
ill,
*
and n2 will be linear con(57)
.
binations of the outputs of three o r more gyros, Which need not be aligned along the spacecraft
axes.
4
and thus has dimension seven.
An
alternative equation for the driftrate
bias
The quaternion and the bias vector have been shown to satisfy the coupled differential equations
d 6 dt
=
6/r
+ + “2
(55)
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
gives rise to an exponentially correlated noise term in the model considered by Hammon [ 6 7 ] . In order to reproduce realistic gyro data, 8 superposition of several drift terms, with different values of the time constant may be needed [68]. Since relatively persistent drifts are observed in actual gyro operation, at least one time constant must be very large. Letting T be infinite, which leads to Eq. (51), is adequate far most applicetions. In the propagation equations to be used in the Kelmen filter, Eq. (48) is assumed to be integrated continuously. The model thus asmmes that the gyros are used in a rate mode. In practice, howe v e r , rateintegrating gyros are used, which sen8e the spacecraft angular rates continuously but are sampled at discrete intervals. The spacecraft attitude is also propagated at discPete intervals, equal to either the g y r o sampling interval or Some multiple thereof. If the attitude update interval is much shorter than the Kalman filter update interval, as it always is in practice, the approximation of continuous gyro updates will be good. LineofSight Attitude Sensors
Noting that the matrix function n is linear and homogeneous in ita argument end defining the 4 x 3 matrix function i ( q ) by
Equations (59) and (61) are now in the same form as Eq. (1) above. The matrix
3(q)
has the explicit form
(62)
The properties of the matrix E ( 9 ) are discussed in Appendix A . Prediction
v
The lineofsight attitude sensor considered here is any sensor for which the measured quantity depends solely on the direction of some object in the sensor coordinate system. Typical of such s e h s o m are vector Sun sensors and fixedhead star treckers. The direction of nate system
B
The predicted state vector is defined 8 s in Sec. 2 Taking the expectation of Eqs. (59) and (61) leads, within the approximation of Eq. ( e ) , to
body in the enso or coordiaccording to
(56)
tPs
is related to the direction in the
R reference coordinate system ;
d A 6 dt where
=
6
~
tps
=
TA(C);~
where A ( i ) is the spacecraft attitude and T is the Sensor alignment matrix. Note that the measurement depends explicitly on the attitude but not on parameters such as gyro biases. It will be assumed throughout this report that the sensor measurements are scaler and uncorrelated. In general the correlation between the measurements is small. When this is not the csse a set of uncorrelated measurements can always be achieved by choosing B representation in which the measurement covariance matrix is diagonal.
6.
* * * w = u  b is the estimated angular velocity.
?
. .
(65)
From Eq. ( 6 4 ) we see immediately that b is constant over the prediction interval. Thus, $ w depends only on ; ( t ) and the initial value of the state vector. Therefore, Eq. ( 6 3 ) can be integrated directly to give
t(t)
with
=
e(t,tk) $(tk)
(66)
The State Equation
The spacecraft attitude state is given by the attitude quaternion and the gyro driftrate bias vector
a at e(t,tk)
dtk.tk)
6
=
=
$ n&t))
e(t,tk)
(61)
(68)
I
\J
When t h e d i r e c t i o n of u ( t ) i s c o n s t a n t throughout t h e time i n t e r v a l o r t h e a n g u l a r d i s placement o f t h e axes is s m a l l , t h e n Q ( t , t) can k be approximated by Eq. (47) above.
t
Filtering S i n c e t h e measurements are assumed t o be scalar and t o depend only on t h e a t t i t u d e and n o t t h e b i a s v e c t o r , as d i s c u s s e d i n Sec. 5, i t f o l l o w s t h a t t h e s e n s i t i v i t y m a t r i x is a .%yend i m e n s i o n a l row v e c t o r o f t h e form
The s i m p l e s t approach t o e x p r e s s t h e s t a t e e r r o r v e c t o r and t h e c o v a r i a n c e m a t r i x i s t o d e f i n e t h e s e i n terms o f t h e complete s t a t e v e c t o r
as i n Eqs.
H
where
=
[a,
aT]
(78)
(1011)
above.
Prediction The sevendimensional s t a t e  e r r o r v e c t o r s a t i s f i e s the d i f f e r e n t i a l equation
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
(79)
Define t h e v e c t o r
*r
by
with then i t can be shown t h a t
(70)
where
(72)
and t h e r e f o r e
8.
S i n g u l a r i t y of t h e Covariance M a t r i x
(73)
F ( t ) and C ( t ) are determined s t r a i g h t f o r w a r d l y from Eqs. (131, ( 1 4 ) , ( 5 9 ) , and (61) above. The t r a n s i t i o n m a t r i x has t h e g e n e r a l form
The c o v a r i a n c e m a t r i x f o r t h e sevendimens i o n a l s t a t e  v e c t o r is s i n g u l a r . T h i s f o l l o w s immediately from t h e c o n s t r a i n t on t h e q u a t e r n i o n norm so t h a t
and hence
is a n u l l v e c t o r o f p ( t ) .
where Q ( t , t) i s g i v e n by E q s . (6768) above and T h i s s i n g u l a r i t y is d i f f i c u l t t o m a i n t a i n n u m e r i c a l l y due to t h e accumulation of roundoff e r r o r . If f a c t , p ( t ) may even d e v e l o p a n e g a t i v e eigenvalue. The s i m p l e s t way t o m a i n t a i n t h e s i n g u l a r i t y i s t o r e p r e s e n t P ( t ) by B m a t r i x of s m a l l e r dimension. There are t h r e e p o s s i b l e a p p r o a c h e s t o accomplishing t h i s , two o f which l e a d t o t h e Same r e s u l t . The e x a m i n a t i o n of t h e s e t h r e e approaches forms t h e s u b j e c t m a t t e r f o r t h e remainder o f t h i s r e p o r t .
ay ( t , t o )
at
subject to
= 1 n(u 1( t , t , ) ) Y ( t . t , )
1 1 : " ( i ( t ) )
(75)
Y(t0,t,)
= 04x3
(76)
E q u a t i o n (75) may be i n t e g r a t e d d i r e c t l y t o y i e l d
7
where A 6 x 6 r e p r e s e n t a t i o n of t h e c o v a r i a n c e m a t r i x is induced by t h e form o f t h e t r a n s i t i o n m a t r i x p r e s c r i b e d above. Prediction
. C . (t)
z
sT ( C q(t)N(t)
=
I n obtaining E q . (93) r e p e a t e d use h a s been made ~. of the equation
I t can be shown ( s e e Appendix A) t h a t
A
e ( t , t ' ) s(C(t,t')) = s(C(t)) n ( t , t ' ) where h(t. t ' )
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
=
. .
(84)
A t any time t h e 7x7 c o v a r i a n c e m a t r i x P ( t ) can be r e c o n s t r u c t e d v i a
P(t) Filtering The Kalman f i l t e r may a l s o be mechanized u s i n g
=
A(i(t))AT(q(t'))
(85)
S ( n i ( t ) ) 3 t ) ST(ni(t))
(96)
is t h e 3 x 3 r o t a t i o n m a t r i x which t r a n s f o r m s t h e e s t i m a t e d a t t i t u d e m a t r i x from time t' t o time t. S u b s t i t u t i n g t h i s i n t o Eq. (77) l e a d s t o
Y(t,to) with
=
S(q(t))K(t,to)
. .
(86)
K
?(t).
Define t h e 1x6 m a t r i x H
I
k
according t o
k
and t h e 6x1 m a t r i x
I t is a l s o shown i n Appendix A t h a t
where Hk is 8s i n Sec. 8. that
Then i t is e a s y t o show
Substituting these expressions i n t o the expression f o r the t r a n s i t i o n matrix gives
Kk
=
S(Ck())
..
*
Kk
(100)
I n implementing t h i s method t h e 7x7 c o v a r i a n c e m a t r i x need n e v e r be computed, t h e 6x6 c o v a r i a n c e is r o p s g a t e d and updated u s i n g Eqs. (97) and (997, r e s p e c t i v e l y . _ The e x p r e s s i o n f o r t h e 1 x 6 s e n s i t i v i t y m a t r i x Hk can be s i m p l i f i e d ; b u t t h i s
v
where
e x p r e s s i o n w i l l be d e r i v e d i n Sec. 1 1 , s i n c e i t f a l l s o u t more d i r e c t l y i n t h a t approach. That s e c t i o n c o n t a i n s an independent d e r i v a t i o n o f t h e p r e d i c t i o n and f i l t e r i n g a l g o r i t h m s which t u r n o u t t o be i d e n t i c a l t o t h o s e p r e s e n t e d h e r e . 10. The T r u n c a t e d Covariance R e p r e s e n t a t i o n
(89) a n n i h i l a t e s P(t,)
The second term o f t h e r i g h t member o f E q . on t h e l e f t and P ( t ) on t h e
r i g h t . Thus, if t h e 6x6 c o v a r i a n c e m a t r i x % t ) is d e f i n e d by
The mast obvious approach t o r e d u c i n g t h e dimension of t h e c o v a r i a n c e m a t r i x is t o d e l e t e one o f t h e q u a t e r n i o n components from t h e s t a t e error v e c t o r . W e may l e t t h i s be t h e f o u r t h component, a l t h o u g h i n p r i n c i p a l any component c o u l d be d e l e t e d . The t r u n c a t e d s t a t e  e r r o r v e c t o r is then
t h i s satisfies t h e i n t e g r a t e d R i c c a t i e q u a t i o n o f t h e form T h i s s t a t e  e r r o r v e c t o r cannot b e t r e a t e d 8s simply as t h e 7dimensional s t a t e  e r r o r v e c t o r of S e c . 8. I n Sec. 8 , t h e f o u r components o f t h e quaternion were t r e a t e d 8 s independent v a r i a b l e s with t h e normalization c o n s t r a i n t being maintained by t h e form o f t h e e q u a t i o n of motion. In the p r e s e n t case t h e f o u r t h component of t h e q u s t e r "ion error must be determined from t h e c o n s t r a i n t
according to
The 7x7 covariance matrix can be recovered from P (t) by constructing the missing elements Y according to
Thus, partial differentiation must be treated differently in the two cases. Prediction The truncated covariance matrix is defined 8s Py(t) E {AL(t) A;rT(t)l
(103)
which satisfies
PY (t)
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
=
m Y (t,t,)
T PY(t0) my(t,to)
Filterin3 Analogously to Eqs. ( 7 8 ) and (79) in S e c . 7 the sensitivity matrix is given by
H Y
where
=
[a
Y'
aT]
Y
(113)
where the 3dimensional row vector 0
is given by
is the 6x6 transition matrix. below.
G (t) is defined Y
which reduces to The submatrices of m (t, to) are easily Y determined from the corresponding submatrices of
v
(L ) .
=
Y l
ti

^
^
(Si/S4)L4
This is simpler than attempting to @(t,to). determine P (t,t,) by direct integration of a Y 6dimensional state error equation. Note that
and . 9 is given by Eq. (81) above. In implementing the Kalman filter in this case also the 7x7 covariance matrix need never be computed. The statevector is updated by computing
A?(+)
=
[YY(t,t,)lij
E
( s ) y
where K
(107)
Ky(5

n
h ( q ( ) ) )
(116)
where the subscript "y" indicates that the partial derivatives are to be computed subject to the constraint. No similar constraint exists in the corresponding expression for e(t,to) and Y(t,to), the constraint being satisfied by the state equation. Noting this fact leads immediately to
is computed from P (  ) and H using Eq. Y Y is obtained from Eq. (102) end the (26). updated statevector is given b y Y
be4(+)
a(+)
%()
+
A % ( + )
(117)
Note from Eq. (102) that truncation can lead to large errors when is small. This can be 4 avoided by alwsys deleting the quaternion component which is largest in magnitude.
11.
The BodyFixed Covariance Representation
In this section we develop &n approximate bodyreferenced representation of the statevector and covariance matrix. The quaternion error in this representation is expressed not BS the arithmetic difference between the true and the estimated quaternion but as the quaternion which must be composed with the estimated quaternion in order to obtain the true quaternion. Since this incremental quaternion corresponds almost certainly to a small rotation, the fourth
9
component will be close to unity (to second order in the vector components) and hence all the attitude information of interest is contained in the three vector components. Therefore, the sixcomponent object defined by the vector components o f the incremental ouaternion and the drift bias vector will provide a "anredundant representation o f the state e r r o r . This representation will turn out to be identical to that developed in Sec. 9. If the infinitesimal attitude error angles are defined as twice the vector components of the incremental quaternion, then this treatment becomes very similar to that employed by several other authors. [21, 5965]. Define the e r r o r quaternion as
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
Prediction
From
it follows immediately that
where
and the sixdimension bodyreferenced state vector
as
Now
E
=
[$PI
6 ;
B
6< = 6 ;
+
0((6:(16;l)
(134)
Thus, neglecting secondorder terms
d  t 6q =
: w x
6q

1
db

:l
(135)
from which it follows that the stateerror equation may be written
where
=
s T ( : ) p
From Eq. (95) it then follows that
. ,is identical to Eq. (94)
G
of S e c . 9.
Note. however, that although
A x
=
S(q)
. .
The transition matrix may be written as
A 2
(140)
(128)
it happens that
The results of Sec. 9 may now be derived in short order.
at
(141)
10
a ( t , t , ) at Y
* = [LJt)IVt,t,)
n
1 & ?
(142)
Noting that
A(65) =
I
./
subject to ii(to.to)
=
3x3
+
2 [bqi
(156)
ITX3'
Uto,t,)
=
OTXT
(143)
the differentiation may be carried out immediately to give ..T
It now follows immediately that
8(t,to)
?(t,t,,)
so that
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
=
A ( t . t , )
(144)
dt'
H
=
2
(F x ilB)
(157)
=
 f/tTA(t.l')
0
=
K(t,to)
(145)
The implementation of these algorithms is identical t o those of Sec. 9. An apparent but not difference is given by the state vector update where
as
in Eq. (91) of S e c . 9. The covariance matrix is defined
8s
(159)
(147)
%(+) = %() + A%(+) with
P(t)
=
E{Az(t)
AgT(t)}
(160)
and from Eq. (127) it follows that
L
as in S e c .
W
'
J
^ A
9, and P(t) satisfies the Riccati
"
Noting from Eqs. (37) and (60) that
6s a
= =
equation
s
A
+
+
n(6;);
^ A
(162)
i
a(i)6's
(163)
& ?(t )
=
?(t ) ? (
t)+?(t)YT( t) +?( t )Q( t ) z T ( t)
(1 50)
we see
that this algorithm is identical to 1 0 0 ) above. implementing Eq. (
whose integral form is simply Eq. (93).
If instead of the incremental quaternion the incremental BPPOP angles given by
Filtering In analogy with the previous sections
* 1 6q = 7 6;
(151)
(164)
,
H
=
[z, 6T]
where the threedimensional row vector I is given by (152) From
A(i)
=
are used. the expressions simlifv .  somewhat in that the factors_of l/Z* 1/4, and 2 in tie expressions for F ( t ) , C ( t ) , K(t.tO) and a disappear. The implementation is otherwise unchenged. 12. Collclusions
A(671)
A(:())
(153)
it follows that (154)
In all the implementations of the Kalman filter presented above the propagation of the state vector is performed identically using Eqs. (63) and (64). In the propagation the four components of the quaternion are treated as independent variables. Within numerical errors the constraint on the quaternion normalization is maintained by the structure of Eq. ( 6 3 ) . This normalization can be destroyed by the accumulation of roundoff error end the linesrization approximation inherent in the update equation. This need not cause concern in the propagation of the quaternion since this operation is linear. Care must be taken, however, when the attitude matrix is to be calculated o r when an
11
update is to be performed. The renormalization of the quaternion can then be carried out using an algorithm such as the one in Appendix E. It is in the propagation of the state covariance matrix and the update o f the state vector and covariance matrix that differences in method appear. The three approaches presented above: the use of the full 7x7 covariance matrix; the truncated 6x6 representation; end the 6x6 body representation, will now be examined. The 7x7 representation presented in Sec. I is the most direct but also the most burdensome computationally, since the number of elements in the covariance matrix is largest. A more significant problem, however, is the need to maintain the singularity of the covariance matrix, which is of rank 6. As pointed out in S e c . 8 , roundoff errors can lead to terms which raise the rank of the matrix and evsn lead to negative eigenvalues. The truncated 6x6 representation o f the covariance matrix maintains the proper rank but does not result in a computational saving. This is true because the full 7x7 transition matrix must be computed at each time and the related 6x6 transition matrix e computed only at the time of Y an update. the burden of reducing the dimension of the transition matrix cancels the savings resulting from the implementation of the update equations in 8 space of smaller dimension. The 6 x 6 body representation of the covariance matrix presented in S e c s . 9 and 1 1 preserves the proper rank of the covariance matrix while simplifying the computation considerably. The transition matrix and the covariance matrix are computed as 6x6 matrices throughout. Of particular value in this representation is the fact that the elements of the covariance matrix have a simple interpretation in terms of gyro bias errors and angular errors in thebody frame. In addition, the matrices 5 and H have a particularly simple form. In any Kelman filter implementation the largest computational burden is imposed in general by the computation of the transition matrix and the contribution of the process noise to the state covariance matrix. These quantities are not needed at the same level of accuracy 8 s the state vector and hence may be computed a t much larger intervals than is required by the statevector propagation. For this same reason, approximate forms of these quantities can also be implemented. These are given in Appendix B. Appendix A
In the above equations the quaternion is assumed to be deterministic, that is
c(t) = Q ( t , t , ) h ( t , ) , . (A6) and, hence, truly corresponds to ?(t) elsewhere in this report. However, to simplify the notation
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
carets will not be written over and ; . Also, * although this is not written explicitly, w
may depend on the time.
To prove Eq. (A1) note that by definition for * any threevector c
E(&
=
n(&
(A7)
Differentiating Eq. (AI) leads to
Let the value o f F at time t be arbitrary and let the time development of t be given by
E
=
Substituting Eqs. (A5) and (A9) into Eq. (A8) leads to
[:I
E
=

+
w x c
*
(A9)
W
;(s)E

+
5(9)[;1:
+
nG)n(:)s
(A10)
n(;xz)c
It is a simple matter to prove that
n(;xE)
=

3n(h(G)nG)n(;)I
(A11)
Substituting this expression into Eq. ( A  l O ) + above, recalling Eq. (A7), Rnd noting that c(t) ia arbitrary leads directly to Eq. (A1).
To prove Eq. (A2) examine the quantity
C(t,t
0

The Matrix i(<)
)
B
e(t,t
0
)z(i(to)) 
9(9(t))h(t,to)
(A12)
The matrix E ( ; ) defined in Eq. ( 6 2 ) has same very useful properties which greatly simplify the computation of the covariance matrix and the transition matrices. In this appendix the following results will be proved.
Differentiating this expression and using Eq. (A1) leads to
a
c(t,to) = 1 n ( : ) c ( t . t , )
(A13)
which may be integrated directly to yield C(t,to) = o(t,to)C(to.to)
(A14)
But from Eq. (A12) C(t0,tO) = 04xs
\ I
(A15)
which gives
and Eq. (A2) follows. Equation ( A  3 ) follows directly by applying the relation iT(aE(s) to Eq. (A2) To obtain Eq. (A4) note that the conveme relation  T qq E(i)ET(i) = I (A17) 4x4 applied to Eq. (A2) leads to Q(t7to)(14x4
=
=
IjX3
(A16)
Realtime computation and integration of the rotation matrix is quite expensive and can be avoided if an approximate form of K is adequate. this is derived by assuming that is constant over the interval and that lzl(tto) is small. Then, ignoring cubic and higher terms A(t,t') Ijx3+ [i](tt*)
+
r(
$ [c] A 2 (tt')'
[ ; l ( t t , )

(E6)
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
Substituting into Eq. (B3) and integrating gives

K(t,to)=q(to) sT(to))
(A18)
T(tto){13x3
1
1
+
E ( i ( t ) ) A ( t , t , ) E T ( s ( t o ) )
+
1 [:I 6 
..2
2
(tto)
I
(B7)
Noting e(t,to)s(to)iT(to)
=
Comparing this with the symmetric and skewsymmetric parts of Eq. (B6) gives Z ( t ) G T ( t , )
(A19)
Equation (A4) fallows immediately. Appendix B

Numerical Considerations
1 to)AT(t, to)] (B8) K(t, to) (tto)[8IjX3+5A(t, 74 This is convenient for computation since the matrix A(t.to) has already been computed.
W
We will only consider quantities in the bodyfixed repreaentation since computations are easiest in this representation. If desired, these results can be transformed into the other representations. Transition Matrix The rotation matrix is given hy Eq. (85)
Process Noise The ContPihution of the Droceas noise to the state covariance matrix is given by the second tern of Eq. (93)
; A A(t, to) = (
t) ) A T ( ; ( t 0 ) )
(B1)
(E9)
which requires only 8 matrix multiplication, since the attitude matrix is required at the update times for observation processing. The second matrix factor on the right is the tranapose of
4
A ( ; ( + ) ) , while the matrix that is computed is 40 A ( q o ( ) ) . These a m related by
n
A n
A(qo(+))
0
=
A ( 6 & ) A ( q 0 ( ) )
(B2)
e where 69 is the incremental quaternion at time
to, and Eq. (156) can be used for A ( & : The K matrix is given by Eq. (87) K(t.to)
=
0
).

4 4
t
0
A(t,t') dt'
(B3) Equation (812) need not be simplified. Substituting Eqs. (B3) and (B4) into Eqs. (E10) and (B11) and changing orders of integration give
/
This integral cannot be computed in real time since the rotation matrix must be known for t>t'. This objection can be removed by writing
13
_______
References
1.
Kalman, R.E., "A New Approach to Linear Filtering and Prediction Problems," American Society of Mechanical Engineers Instruments and Regulators Conference, Paper 59IRD11 (March~29 April 2, 1959): aiso Transactions of ASME, Series D, Journal of Basic Engineering, Vol. 82, March 1960, pp. 3545. Kalman, R.E., and Bucy, R.S., "New Results in 1,inesr Filtering and Prediction Theory," Transaction of ASME, Series D, Journal of Basic Engineering, Vol. 83, March 1961, pp.
J
2.
When, in addition to the approximations of Eqs. (B6) through (B8) it is further assumed , ( t ) are time independent, the that Ql(t) and Q
above expressions simplify to
95108.
3.
Smith. G.L. and Schmidt. S.F.. "The Application of Statistical Filter Theory to Optimal Trajectory Determination Onbosrd a Circumlunar Vehicle," Reprint 6192, AAS Meeting, Aug. 13. 1961. McLean, J.D., and Schmidt, S.F., "Optimal Filtering and Linear Prediction Applied to an OnBoard Navigation System f o r the Circumlunar Mission," Reprint 6193, AAS Meeting, Aug. 13, 1961. Schmidt, S.F., "The Kalman Filter: Its Recognition and Development far Aerospace Applications," Journal of Guidance and ContPol, Vol. 4, Jan.  Feb. 1981, pp. 47. __ Swerling, P., "First Order Error Propagation in a Stagewise Smoothing Procedure for Satellite Observations," Rand Paper P1614, February 19, 1959; also Journal of the Astronautical Sciences, Val. 6, Autumn 1959, pp. 4652. SWerling, P., "Comment on ' A Statistical Optimizing Navigation Procedure for Space Flight'", AIAA Journal, Vol. 1 , 1963, p . 1968.
Sorenson, H.W., "Kalman Filtering Techniques," in Advances in Control Systems, Vo1. 3, C.T. Leondes, e d . , Academic Press, New York, 1966.
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
4.
5.
6. Normalization of the Quaternion In general, the unit normalization of the quaternion will not be maintained due to the accumulation of roundoff error and approximatione within the filter. The last can be eliminated most easily in Sec. 1 1 by replacing Eq. (161) by
8 .
W
7.
(E18)
9.
6q4(+)
=
1
 ~l6's(+)l
1

2
(819)
10.
Jaswinski, A.H., Stochastic Processes and Filtering Theory, Academic Press, New York,
1970.
Gelb. A,, ed., Applied Optimal Estimation, M.I.T. Press, Cambridge, Mass., 1974. Farrell, J.L., "Altitude Determination by Kalman Filtering, Volume 1 , " NASACR598, Sept. 1964. Farrell, J.L., "Attitude Determination by Kalman Filtering," Automatice, Vo1. 6 , 1970, pp. 419430. Cherry, G.W., and O'Connor, J . , "Design Principles of the Lunar Excursion Module Autopilot,'' MIT Report R499, July 1965. "Optimum Mixing of Gyroscope and Star Tracker
which has been used by other authors. The normalization is now preserved to order
I~~(+)I~.
The simplest method to eliminate roundoff error (or othervise restore the norm) is to multiply the quaternion periodically by the factor
11.
12.
If the e m o r in the norm before multiplication is E , it will be reduced after multiplication to order ~ ~ 1 3 2 .
13.
14. Potter, J.E., and Vander Velde, W.E.,
. 
14
Data," Journal of Spacecraft and Rockets, Vol. 5, May 1968, pp. 536540.
j .
29.
Goldstein, H., Classical Mechanics, 2nd ed., 9 8 0 . AddisonWesley, Reading, Mass., 1 Navigation, Academic Press, New York, 1976.
I
15.
Sabroff, A.E., "Advanced Spacecraft Stabilieation and Control Techniques," Journal of Spacecraft and Rockets, Vol. 5, December 1968, pp. 13771393. Determination System Using Simplified Equations of Motion," in Proceedings of the Symposium on Spacecraft Attitude Determination, Sept.Oct. 1969, El Segundo, Cal., Aerospace Corporation Report TRO066(5306)12, Vo1. 1, pp. 1521.
30. Fsrrell, J.L., Integrated Aircraft
31.
16. Foudriat, E.G., "A Limited Memory Attitude
Farrenkopf. R.L., "Analytic,SteadyState Accuracy Solutions for Two Common Spacecraft Attitude Estimators," Journal of Gui
32.
Markley, F.L., "Attitude Control Algorithms for the Solar Maximum Mission," AIAA Paper No. 181241, August 1978. the ThreeDimensional Rotation Group," 9 Review, Volume 6, October 1964, pp. 422430. Markles. F.L.. "Parameterizstions of the Attituhe," in Spacecraft Artitude Dcrerrninetion and Z'oontrol. J.R. Wcrtz, ed.. D. Reide?, Dordrecht, I!oIlnnd, 197R. Wilcox, J.C., "A New Algorithm for StrappedDown Inertial Navigation," 3 Transactions on Aerospace and Electronic Systems, Vol. AES3. Sept. 1961, pp. 196802. Gisrdina, C.R., Bronson, R . , and Wallen, L., "An Optimal Normslization Scheme," IEEE Transactions on Aerospace and Electronic Systems, Vol. AES11, July 1915, pp. 443446.
1 1 . Ameson, G.R. and Nelson, A.D., "The
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
33. Stuelpnagel, J., "On the Parametrization of
Development and Performance of an Attitude Determination Data Reduction and Analysis System," ibid., pp. 223233.
34.
1 8 . Ribsrich. J.J.. . "Gvrastat Precision Attitude " Determination and Control,'' ibid., pp.
387796.
1 9 . Lesinski, J.E., "Attitude Determination
Performance Potential for a YawSpin Satellite, Part One: Formulation of the Estimation Equations," ibid., pp. 391413. 20. Pauling, D.C., Jackson, D.B., and Brown, C.D.. "SPARS Algorithms and Simulation Results," ibid., pp, 293311. Toda, N.F., Heiss, J.L., and Schlee, F.H., "SPARS: The System, Algorithms, and Test Results," ibid., pp. 361310. Jackson, D.B., "Applications of Nonlinear Estimation Theory to Spacecraft Attitude Determination Systems," ibid., pp. 89111.
Kau, S . , Kumar, K.S.P., and Granley, G.B., "Attitude Determination via Nonlinear Filtering," IEEE Transaction on Aerospace and Electronic Systems, Vo1. AES5, No". 1969, pp. 906911.
35.
36.
21.
W
22.
31. Fallon, 1.. "Quaternions," in Spacecraft Attitude Determination and Control, J.R. Wertz, ed., D. Reidel, Dordrecht, Holland, 1918.
38. Hamilton, W.R., Elements of Quaternions,
Longmans, Green, and Co., London, 1 8 6 6 .
23.
39. Robinson, A.C., "One the Use of Quaternions
in the Simulation of RigidBody Motion," Wright Air Development Center Tech. Report 5817, Dec. 1958.
24.
Edwards, A., "The State of Strapdown Inertial Guidance and Navigation," Navigation, Vol. 18, Winter 191112, pp. 386401. Schmidtbauer, B., Samuelsson, H., and Carlsson, A . , "Satellite Attitude Control and Stabilisation Using OnBoard Computers," ESRO CR100, July 1913, Organization Europeenne de Recherches Spatiales. Klein, F., and Sommerfeld, A . , Uber die Thearie des Kreisels, Teubner, Leipeig 18971910 ( a l s o Johnson Reprint, New York, 1965). Whittaker, E.T., Analytical Dynamics, Cambridge University Press, 1931 (also Dover, New York, 1944). Hamel, G., Theoretiache Mechanik, SpringerVerlag, Berlin, 1949 (corrected reprint, 1 9 6 1 ) .
4 0 . Mitchell, E.E.L. and Rogers, A.E., "Quaternion Parameters in the Simulation of a Spinning Rigid Body," Simulation, June 1965, pp. 390396.
25.
41. Mortenson, R.E., "Strapdown Guidance Error
Analysis," IEEE Transactions on Aerospace and Electronic Systems, Vol. AES10, July 1974, pp. 451451.
26.
42. Ickes, B.P., "A New Method for Performing
Digital Control System Attitude Computations Using Quaternions, AIAA Journal, Vol. 8 , Jan. 1910, pp. 1311.
21.
43. Grubin, C., "Derivation of the Quaternion
Scheme via the Euler Axis and Angle," Journal of Spacecraft and Rockets, Vol. I. Oct. 1910, pp. 12611263. Space Vehicles," in Proceedings of the Institute of Navigation National Space
28.
44. Hendley, A.C., "Quaternions for Control of
Y
,
15
Meeting ofspsce S h ~ t z l e ,S ~ C C CC!Ctior. an? Nuclear Shuttle !Iavigafion, Ge3rge C. Marshall Space Flight Center, Huntsville, Alabama, Feb. 1971, pp. 335352
~~~ ~~~~
59.
Yong, K. and Headley. R.P., "RealTime Precision Attitude Determination System (RETPAD) for Highly Maneuverable Spacecrafts," AIAA Paper 781246, Aug. 1978.
45.
Altman, S.P., "A Unified State Model of Orbital Trajectory and Attitude Dynamics," Celestial Mechanics, Vol. 6, Dec. 1972, pp. 425446.
60. Murrell, J . W . , "Precision Attitude Determination for Multimission Spacecraft," AIAA Paper 781248, Aug. 1978.
d
61. Sorenson, J.A.,
46. Grubin, C., "Attitude Determination for a Strapdown Inertial System Using the Euler Axis/Angle and Quaternion Paremeters, AIAA Paper 73900, August 1973.
Schmidt, S.F., and Goka, T. "Application of SquareRoot Filtering for Spacecraft Attitude Control," J o u r n a l of Guidance and Control. Vol. 2, Sept.Oct. 1979, pp. 426433.
47. Msva.  . R.A..
Downloaded by BEIJING INSTITUTE OF TECHNOLOGY on February 27, 2014  http://arc.aiaa.org  DOI: 10.2514/6.198270
"Relative Quaternion State Transition Relation," Journal of Guidance and Control, Vo1. 2, Jan.Feb. 1979. pp. 4448.
62.
48. Yen, K., and Cook, G . , "Improved Local Linearization Algorithm for Solving the Quaternion Equations," Journal of Guidance and Control, Val. 3, Sept.Oct. 1980, pp.
Shuster, M.D., Ray, S.N., and Gunshol, L., "Autonomous Onboard Attitude Determination System Specifications and Requirements," Computer Sciences Corp. CSC/TM80/6237, 1980.
G.,
63.
468471.
Gambardella, P., Church, V., Liu, K., Rao, Ray, S., and Shuster, M., "MicroprocessarBased Autonomous Attitude Determination System Design," Computer Sciences Corp., CSC/TM81/6085, 1981. Shuster, M.D., "Attitude Error Analysis Program (ATTERP) Mathematical Description," Computer Sciences Corporation CSC/TM81/6012, Feb. 1 9 8 1 .
49. Klumpp, A.R., "SingularityFree Extraction of
a Quaternion from 8 Direction Cosine Matrix." Journal of Spacecraft and Rockets, Vo1. 13, Dec. 1976, PP. 754755.
64.
50.
Shepperd, S.W., "Quaternion from Rotation Matrix." Journal of Guidance and Control, Vol. 1, MayJune 1978, pp. 223224. Spurrier, R . A . . "Comment an 'SingularityFree Extraction of a Quaternion from B Direction Cosine Matrix,"' Journal of Spacecraft and Rockets, Vol. 15, JulyAug. 1978, pp. 255256. Revisited," J o u r n a l of Guidance and Control, Vol. 2, MayJune 1970, pp. 255256.
65.
Merkley, F.L., "Antonomous Satellite Navigation Using Landmarks," AAS Paper 81205, August 1981. Newton. G.C., "InertialGuidance Limitations Imnosed bv Fluctuation Phenomena in Gyroscopes," Proceedings of the IRE, Val. 48, April 1960, pp. 520527. Process Theory to Gyro Drift Analysis," RE Transactions on Aeronautical and Navigational Electronics, Volume ANE7, Sept. 1960, pp.
51.
66.
w
52. Grubin, C., "Quaternion Singularity
67. Hammon, R.L., "An Application of Random
53. Friedland, B. "Analysis Strepdown Navigation
Using Quaternions," IEEE Transactions on Aerospace and Electronic Systems, Vol. AES14, Sept 1978, pp. 764768. 54. Lefferts, E.J. and Markley, F.L., "Dynamics Modeling for Attitude Determination,'' AIAA Paper 761910, Aug. 1976. "Performance Evaluation of B Precision Attitude Determination Scheme," AIAA Paper 71964, August 1971.
68.
8491.
Dushman, A., "On Gyro Drift Models and Their
Eva!ia:ion,'' IRF 7 r r ~ n s s c f l o n son A r an? ! l n v i , p t i o c n l .?^!ectrot!ics, 'lolire DJC. 1962, . : p 730774.
c
o
~
ARE?,
69. Farrenkopf, R.L., "Generalized Results for
Precision Attitude Reference Systems Using Gyros," AIAA Paper 74903, Aug. 1974.
55. Iwens, R.P. and Farrenkopf. R.L.,
70. Bierman, G . J . ,
Factorization Methods for Discrete Sequential Estimation, Academic Press, New York. 1977.
56. Hoffman, D.P., "HEAO Attitude Control
Subsystem A Multimode/Multimissian Design," AIAA Paper 761925. Aug. 1976. 57. Hoffman. D.P. and McElrov. ~. T.T.. "HEAO Attitude Reference Design," AAS Paper 78120, 9 7 8 . March 1 Control System Performance of the HEAO2 Observatory,'' Journal of Guidance and Control, Val. 4, MarchApril 1981, pp.

58. Rose, E.F. and Berkery, E.A., "OnOrbit
148156.
16