Optimal-REQUEST Algorithm For Attitude Determination
Optimal-REQUEST Algorithm For Attitude Determination
REQUEST is a recursive algorithm for least-squares estimation of the attitude quaternion of a rigid body using
vector measurements. It uses a constant, empirically chosen gain and is, therefore, suboptimal when filtering
propagation noises. The algorithm presented here is an optimized REQUEST procedure, which optimally filters
measurement as well as propagation noises. The special case of zero-mean white noises is considered. The solution
approach is based on state-space modeling of the K-matrix system and uses Kalman-filtering techniques to estimate
the optimal K matrix. Then, the attitude quaternion is extracted from the estimated K matrix. A simulation study
is used to demonstrate the performance of the algorithm.
Downloaded by UNIVERSITY OF TORONTO on February 1, 2015 | http://arc.aiaa.org | DOI: 10.2514/1.10337
It is known that the problem of determining the stationary values where m k and m k + 1 are scalar coefficients that keep the largest
of a quadratic form on the unit sphere leads to the solution of an eigenvalue of K k + 1/k + 1 close to one24 ; that is, m k + 1 = ρk m k +ak + 1 ,
eigenvalue problem.17 As a result, the optimal quaternion estimate for k = 0, 1, . . . , and m 0 = a0 . The coefficient ρk is a fading memory
is the eigenvector of K that belongs to its largest positive eigen- factor (Ref. 26, pp. 285–288), which is equal to 1 if k is error free,
value. The highlights of the q method are that it optimally filters and is otherwise set between 0 and 1 according to the propagation
the measurement noises and that it requires neither linearization of noise. (Although REQUEST can handle a batch of new measure-
some equation model nor an initial quaternion. This method has ments, for our purpose we consider only one new measurement.)
become a very popular AD technique and has inspired numerous Treating the propagation noise using the fading memory concept
algorithms. Keat (Ref. 16, pp. A.15–A.34) presented a modified ver- makes REQUEST suboptimal. The aim of the present paper is to
sion of the power method18 for computing the sought eigenvector. introduce an algorithm, called Optimal-REQUEST, which is based
Shuster and Oh19 developed the QUEST (quaternion estimator) for on REQUEST and is able to optimally filter the propagation noise.
this problem. QUEST is a very popular algorithm for a single-frame The remainder of this paper is organized as follows: The problem
(SF) estimation of attitude quaternion. Mortari proposed two new that is solved in the present work is stated in the next section. Then,
SF algorithms, ESOQ20 (estimator of the optimal quaternion) and we lay the foundation necessary for the development of an opti-
ESOQ2.21 However, these algorithms, as any SF attitude estimator, mized REQUEST algorithm. The Optimal-REQUEST algorithm is
are memory-less algorithms, that is, the information contained in presented in the following section. The filter performance is then
measurements of past attitudes is lost. illustrated through a numerical example. Finally, we present our
Methods have been devised in order to relax the requirement for conclusions.
the measurements to be acquired simultaneously. These methods re-
Downloaded by UNIVERSITY OF TORONTO on February 1, 2015 | http://arc.aiaa.org | DOI: 10.2514/1.10337
quire knowing the angular velocity of B with respect to R. Markley22 Problem Statement
developed a batch algorithm using the body kinematics equation in
terms of the attitude matrix A(t). The highlights of this algorithm The choice of ρk is heuristic, making the filter REQUEST sub-
are that it provides an optimal predictor of A(t) and that, in addition, optimal. Moreover ρk is determined by considering the accuracy of
it can estimate a set of constant disturbance parameters, such as gyro the propagation stage only, disregarding the accuracy of the mea-
biases. Recursive estimators, which are more convenient than batch surement.
algorithms, have been developed, that perform sequential estimation We wish to optimize REQUEST by computing an optimal value of
of time-varying attitude,23,24 as well as other parameters.25 the parameter ρk in the update stage of REQUEST. The optimal value
In 1996, a discrete recursive algorithm named REQUEST that of ρk is that which yields an optimal blending of the a priori estimate
propagates and updates the K matrix was introduced.24 This algo- of the K matrix K k + 1/k and its new observation δ K k + 1 . Optimality
rithm is summarized next. It is known (Ref. 1, p. 564) that the body is achieved by minimizing a proxy measure of the uncertainty in the
angular motion can be described in terms of the attitude quaternion a posteriori estimate of the K matrix. [An exact expression of the
by the following difference equation: cost function to be minimized is defined later in Eqs. (57) and (58).]
quaternion will be computed as the eigenvector that belongs to the Based on this model we expand the expression for Wko in a Taylor
largest eigenvalue of the updated K -matrix estimate. series about ω ok , and, assuming that k is small enough, retain
only the first-order term in k . Let B o k/k denote the true B matrix
Measurement Equation at time tk [see Eq. (6)], that is, B o k/k corresponds to the error-free
The measurement equation of the K matrix is derived as follows: vector observations up to tk . Defining B , S , κ , and z as
Consider the measurement equation for a single vector observation
at time tk + 1 , and assume that the reference unit vector rk + 1 is known
B = [k ×]Bk/k
o
, S = B + BT
exactly. Denoting by Ak + 1 the attitude matrix at tk + 1 and by δbk + 1
the noise vector that corrupts the measurement bk + 1 , we have
[z ×] = BT − B , κ = tr(B ) (24)
bk + 1 = Ak + 1 rk + 1 + δbk + 1 (15)
the first-order approximation in k for Wko is
Define the following quantities:
S − κ I3 z
Bb = ak + 1 δbk + 1 rkT + 1 , Sb = Bb T + Bb Wk = t (25)
zT κ
zb = ak + 1 δbk + 1 × rk + 1 , κb = tr(Bb ) (16)
where t = tk + 1 − tk . The proof of Eq. (25) is detailed in Ref. 27
Then, using these quantities, we can define a 4 × 4 symmetric ma- (pp. 233–235). To summarize, we have derived an approximate
Downloaded by UNIVERSITY OF TORONTO on February 1, 2015 | http://arc.aiaa.org | DOI: 10.2514/1.10337
The matrix Vk + 1 is the error in the δ K measurement [see Eqs. (12) where k corresponds to ω k and Wk is an additive matrix noise. The
o
and (13)] at tk + 1 because initial true K matrix is denoted by K 0/0 . The expression for Wk is
provided in Eqs. (24) and (25). From these equations it is realized
δ K k + 1 = δ K ko + 1 + Vk + 1 (18) that Wk contains the noise vector k as well as all of the noise-free
vector pairs (bo , r) up to tk . Note that Wk is random because k is
where, as mentioned before, δ K k + 1 and δ K ko + 1 are, respectively, random. Also note that Wk is linear in the error k . This property will
the noisy and the noise-free K matrices of the new vector avail- become useful when deriving a stochastic model for Wk . Extensive
able at tk + 1 . Thus, δ K k + 1 is computed using the noisy observa- simulations show that the propagation model described by Eq. (26)
tion, bk + 1 , rk + 1 [see Eqs. (12) and (13)], while δ K ko + 1 contains the is a good approximation to the exact propagation model described
imaginary noise-free vector measurements at tk + 1 ; that is, δ K ko + 1 is by Eq. (21) when Wk is used instead of Wko .
expressed using Eqs. (12) and (13) for the noise-free observations
(i.e., δb = 0). Note that Vk + 1 is a linear function of δbk + 1 and rk + 1 ,
Pseudoprocess Equation
and, because δbk + 1 is random, Vk + 1 is also random. The linearity
of Vk + 1 in δbk + 1 will be used to derive a stochastic model for Vk + 1 As mentioned earlier, a supplementary equation is added to the
from the stochastic model of δbk + 1 . K -matrix model given in Eqs. (18) and (26). Motivated by the
REQUEST algorithm [see Eq. (14)], we define a pseudoprocess
as follows:
Process Equation
Let us denote by Bk and R, respectively, the body frame at time
L ok+1 = (1 − αk + 1 )(m k /m k + 1 )K ko + 1/k
tk and the constant reference frame. Let the 3 × 1 vector ω ok denote
the body axes angular rate vector of Bk with respect to R expressed + αk + 1 (δm k + 1 /m k + 1 )δ K ko + 1 (27)
in Bk , and let K 0/0
o
denote the noise-free (true) K matrix at time t0 . If
o
K 0/0 and ω ok are known, the true K matrix can be propagated using where αk + 1 is any real number in the interval [0, 1), the scalars
m k + 1 are recursively computed by
K ko + 1/k = ok K k/k
o
ok T (19)
o m k + 1 = (1 − αk + 1 )m k + αk + 1 δm k + 1 , m 0 = δm 0 (28)
where K k/k is related to the true attitude at tk and contains all of the
noise-free observations up to tk , K ko + 1/k is related to the true attitude
at tk + 1 and contains all of the noise-free observations up to tk , and for k = 0, 1 . . . , and δm k + 1 is the positive weight assigned to δ K k + 1 ,
ok is the 4 × 4 transition matrix corresponding to ω ok [see Eqs. (9) the pseudo K measurement at time k + 1. Because the pseudo K
and (10)]. In practice ω ok is not known but is, rather, measured (or measurement is constructed from a single b measurement, we choose
estimated). The transition matrix k , which is computed from the δm k + 1 = ak + 1 . Note that Eq. (27), which we call pseudoprocess
measured angular rate ω k , contains an error term k , that is, equation, has a structure that is similar to that of the update stage of
REQUEST, given in Eq. (14). The pseudoprocess equation will be
ok = k − k (20) central in the development of Optimal-REQUEST. Next we show
that L ok + 1 , an element of the pseudoprocess defined in Eq. (27), is
Using Eq. (20) in Eq. (19) yields a legitimate K matrix.
Proposition: For any value of αk + 1 in the interval [0, 1), the matrix
K ko + 1/k = k K k/k
o
kT + Wko (21) L ok + 1 given in Eq. (27) is a K matrix related to the true attitude at
where time tk + 1 .
Proof: By assumption, the two matrices K ko + 1/k and δ K ko + 1 con-
tain error-free vector observations; therefore, one of their eigen-
Wko = −k K k/k
o
kT − kT K k/k
o
kT + k K k/k
o
kT (22)
vectors is the true attitude quaternion qk + 1 , and it belongs to their
The expression for Wko in Eq. (22) is exact but not useful because maximal eigenvalue, which can be made equal to one by proper
we cannot infer from it any statistical property of Wko . To determine scaling. Thus,
a useful approximation to Wko , we assume that the error in ω k is
additive. Denoting this error by k , we have K ko + 1/k qk + 1 = qk + 1 (29)
ω k = ω ok + k (23) δ K ko + 1 qk + 1 = qk + 1 (30)
CHOUKROUN, BAR-ITZHACK, AND OSHMAN 421
Using Eqs. (27–30), we find that As an example, consider the real 2 × 2 symmetric matrix of zero-
mean processes x11 , x12 , and x22 , given by
L ok + 1 qk + 1 = (1 − αk + 1 )(m k /m k + 1 )K ko + 1/k
x11 x12
+ αk + 1 (δm k + 1 /m k + 1 )δ K ko + 1 qk + 1 X= (38)
x12 x22
= (1 − αk + 1 )(m k /m k + 1 )qk + 1 + αk + 1 (δm k + 1 /m k + 1 )qk + 1
The corresponding PX X matrix has the following form:
= {[(1 − αk + 1 )m k + αk + 1 δm k + 1 ]/m k + 1 }qk + 1 = qk + 1 (31)
From Eq. (31) we conclude that qk + 1 is an eigenvector of L ok + 1
2
E x11 + E x12
2
E[x11 x12 ] + E[x12 x22 ]
PX X = (39)
associated with the eigenvalue 1. Consequently, the matrix L ok+1 is E[x11 x12 ] + E[x12 x22 ] 2
E x12 + E x22
2
a legitimate K matrix. 2
As stated in the proposition, the matrix L ok + 1 is related to the true
attitude at time tk + 1 ; this matrix is indeed a correct K matrix at Discussion
time tk + 1 containing all of the noise-free vector measurements up PX X is a symmetric positive semidefinite matrix. The variances
to time tk + 1 . Adopting a consistent notation, we denote this matrix of each element of X are on the main diagonal of PX X , whereas the
by K ko + 1/k + 1 . The pseudoprocess equation is thus rewritten as off-diagonal elements of PX X contain only cross-covariance terms.
Consider the 4 × 1 zero-mean vector vecX , defined as
K ko + 1/k + 1 = (1 − αk + 1 )(m k /m k + 1 )K ko + 1/k
Downloaded by UNIVERSITY OF TORONTO on February 1, 2015 | http://arc.aiaa.org | DOI: 10.2514/1.10337
vecX = [x11 x12 x12 x22 ]T (40)
+ αk + 1 (δm k + 1 /m k + 1 )δ K ko + 1 (32)
It should be emphasized that Eq. (32) was developed to match the and construct its 4 × 4 covariance matrix
structure of the update stage of REQUEST. As will be seen later, this
matching is crucial for defining the estimation errors, designing a
cov(vecX ) = E[vecX (vecX )T ] (41)
cost function and, finally, minimizing this cost function with respect
to the gain. The pseudoprocess of Eq. (32), and the process and
Then, the trace of the matrix PX X is identical to the trace of the
measurement equations [Eqs. (26) and (18)], which are
covariance matrix in Eq. (41), that is
K ko + 1/k = k K k/k
o
kT + Wk (33)
tr(PX X ) ≡ tr[cov(vecX )] (42)
δ K k + 1 = δ K ko + 1 + Vk + 1 (34)
We realize that although the matrix PX X is not a covariance matrix,
o
(with an initial condition K 0/0 ), form the model for the K -matrix it has a desired feature in a compact convenient form. Thus, it will
system. be used as a measure of uncertainty for the matrix error processes
that are considered in this paper.
Stochastic Models Using the expressions for Wk and Vk in Eqs. (25) and (17), re-
The purpose of this subsection is to describe the stochastic models spectively, it can be shown that these processes are zero-mean un-
of the system noise matrices Wk and Vk . To derive the stochastic correlated white-noise processes. Thus,
models for Wk and Vk , we need the stochastic models for k and
δbk . As mentioned earlier, only basic models are considered in this E Wk WkT+ i = O4 , E Vk VkT+ i = O4 , E Wk VkT+ i = O4
work; thus, the vector process k is modeled as a zero-mean white-
noise vector process whose components are identically distributed (43)
with variance ηk , that is,
for i = 0. Denote by Qk and Rk , respectively, the P matrices of Wk
E[k ] = 0, E k kT + i = ηk I3 δk,k + i (35) and Vk , that is,
for k = 1, 2, . . . , and δk,k + i is the Kronecker delta function. As-
Qk = E Wk WkT ,
Rk = E Vk VkT (44)
suming that the unit vector measurements bk are axisymmetrically
distributed about their true value, we employ a unit vector error then, explicit expressions for Qk and Rk can be derived using the
model19 that provides approximate but quite accurate expressions assumptions we made on k and δbk . In the computation of Qk ,
for the mean and the covariance of δbk . The first and second mo- one must address the issue of the dependence of the process noise
ments of this model are matrix Wk on the noise-free matrix B o k/k [Eqs. (24) and (25)], which
is unknown. To overcome this difficulty, B o k/k is replaced by its best
E[δbk ] = 0, E δbk δbkT + i = µk I3 − bk bkT + i δk,k + i (36)
available estimate Bk/k . The latter is computed from the estimated
for k = 1, 2, . . . , where µk is the variance of the component of bk K matrix K k/k using the definition of the K matrix given in Eqs. (6)
along a direction normal to E[bk ]. Furthermore, it is assumed that and (7). The detailed computation of Qk and Rk is provided in
δbk and k are mutually uncorrelated. The exact expressions for the Ref. 27 (pp. 235–240).
two moments can be found in the appendix of Ref. 11.
Optimal-REQUEST
Measure of Uncertainty The algorithm derivation in this section follows an approach that
The goal of the following analysis is to present a model for the was used in a direct derivation of the Kalman–Bucy filter for the case
uncertainty that Wk and Vk introduce into the K -matrix system of of vector processes.28 A similar derivation of the discrete Kalman
Eqs. (33) and (34), respectively. For scalar and vector processes, filter can be found in the literature (e.g., see Ref. 26, pp. 105–110).
the covariance is a measure of the uncertainty associated with the The approach consists of three steps:
process error. In the case of a matrix process, like the one presented 1) The update of the estimate is formulated as a linear combination
in Eqs. (33) and (34), we introduce a special measure of uncertainty of the predicted estimate and the new observation.
as follows. 2) The a posteriori and a priori estimates are forced to be unbiased.
Definition 1: For the zero-mean general matrix process X , a mea- 3) The optimal filter gain is computed by minimizing the variance
sure of uncertainty PX X is defined as of the a posteriori estimation error.
In the third step, instead of the variance, we will use the proxy
PX X = E[X X T ] (37) measure of uncertainty introduced in the preceding section.
422 CHOUKROUN, BAR-ITZHACK, AND OSHMAN
Measurement Update Stage Before computing the expectations of the expressions in Eq. (53),
The proposed update stage is a slightly modified version of we consider the following expectation, E[K k + 1/k VkT+ 1 ]. From
REQUEST, namely, unlike the REQUEST update formula of Eq. (36) δb is a zero-mean white-noise process; therefore [see
Eq. (14), here the updated estimate K k + 1/k + 1 is chosen to be a Eqs. (15–17)], V is a zero-mean white-noise process too. More-
convex combination of the predicted estimate K k + 1/k and the new over, the random variable K k + 1/k depends on the sequences {Wi }
observation δ K k + 1 , that is, and {Vi }, where i takes the integer values from 1 to k only. Therefore
K k + 1/k + 1 = (1 − ρk + 1 )(m k /m k + 1 )K k + 1/k K k + 1 /k and Vk + 1 are uncorrelated; thus,
+ ρk + 1 (δm k + 1 /m k + 1 )δ K k + 1 (45) E K k + 1/k VkT+ 1 = O4 (54)
where δm k + 1 is a positive scalar weight and m k + 1 is computed Taking the transpose of Eq. (54) yields a similar result. Taking the
recursively by expectation of both sides of Eq. (53), and only retaining the nonzero
m k + 1 = (1 − ρk + 1 )m k + ρk + 1 δm k + 1 (46) terms, yields
for k = 0, 1 . . . , and m 0 = δm 0 . The scalar ρk + 1 ∈ [0, 1) has the role Pk + 1/k + 1 = [(1 − ρk + 1 )(m k /m k + 1 )]2 E K k + 1/k K kT+ 1/k
of a gain in Eq. (45). (We exclude the case where ρk + 1 = 1 for
practical reasons because, in that case, the filter would be memory-
+ [ρk + 1 (δm k + 1 /m k + 1 )]2 E Vk + 1 VkT+ 1 (55)
less.) Because of the linearity of Eq. (45) and the fact that ρk + 1 is a
scalar, the properties of symmetry and of zero trace of the estimated One identifies the matrices Pk + 1/k and Rk + 1 in the first and second
K matrix are preserved. This is a matter of importance because the terms of the right-hand side of Eq. (55); thus, we can write
Downloaded by UNIVERSITY OF TORONTO on February 1, 2015 | http://arc.aiaa.org | DOI: 10.2514/1.10337
to the uncertainty in the measurement, the gain is close to 1 and where the matrix Rk + 1 is computed according to Eqs. (16), (17),
weighs more favorably the new measurement in the update stage and (44). The optimal quaternion q̂k + 1/k + 1 is the eigenvector of
described in Eq. (45). On the other hand, for a high uncertainty in K k + 1/k + 1 , which belongs to its maximal eigenvalue.
the measurement, relative to the uncertainty in the a priori estimate,
the gain is close to 0, and the filter assigns a low weight to the new Simulation Study
measurement.
An extensive Monte Carlo (MC) simulation study was performed
Prediction Stage in order to test the attitude estimator in the presence of process and
measurement noises. Different single vector observations were ac-
We require that the predicted K k + 1/k be linear in K k/k and that it
quired at each sampling time. The body coordinate system B was
produces an unbiased predicted estimate. These requirements yield
assumed to be fixed with respect to an inertial coordinate system R.
the prediction formula of the REQUEST algorithm [Eq. (11)]
The vector observation noise was a zero-mean Gaussian white noise
K k + 1/k = k K k/k kT (62) with an angular standard deviation of one degree, which is a typi-
cal accuracy obtained using magnetometers. Three body-mounted
Using the K -matrix process of Eq. (26), the prediction in Eq. (62), gyroscopes measured the angular velocity of B with respect to R.
and the definitions of the estimation errors given in Eqs. (47) yields Because the system B did not rotate with respect to system R, the
the error propagation equation nominal body rates were zero; hence, the gyro measurements con-
K k + 1/k = k K k/k kT + Wk (63) tained only gyro noises. The gyro noises were Gaussian zero-mean
white noises with a standard deviation of 0.2 deg/h in each axis.
It is easy to see that E[K k + 1/k ] = 0, which justifies our initial
Downloaded by UNIVERSITY OF TORONTO on February 1, 2015 | http://arc.aiaa.org | DOI: 10.2514/1.10337
The noise models in the system and in the filter were identical. The
assumption that the a priori estimate of K k + 1/k is unbiased. Using sample rate was 10 Hz, both in the measured directions and in the
the latter expression for K k + 1/k , the stochastic models of the noise, gyro measurements. Each simulation lasted 6000 s. We ran 100 runs
and the orthogonality property of the k matrix, the propagation with different seeds and averaged the results at each time point to
equation for the P matrix is obtained as follows: obtain the ensemble averages.
The results are summarized in Figs. 1 and 2 and Table 1. Figure 1a
Pk + 1/k = k Pk/k kT + Qk (64) presents the time history of δφ, the MC mean of δφ, the angular es-
timation error. The angle δφ is defined as the angle of the small rota-
Equation (64) is similar to the covariance propagation equation in
tion that brings the estimated body frame B̂ onto the true body frame
the Kalman-filter algorithm.
B. This angle is obtained as follows: First, the quaternion of the ro-
To conclude, similarly to the Kalman filter, the algorithm com-
tation from B̂ to B, denoted by δq, is evaluated, then the rotation
prises two parallel channels. One channel is for the computation
angle δφ is computed from δq, the scalar component of δq, using the
of the signal estimate, which here is the K -matrix estimate, and
known relation (Ref. 1, p. 414) δφ = 2 arccos(δq). The error reaches
the other one is for the uncertainty propagation of the estimation
a steady state of approximately 0.06 deg. Figure 1b shows the time
process, which in the Kalman filter is expressed by the covariance
history of the MC mean of ρ ∗ , the optimal filter gain. The average
matrix, and is needed for the computation of the optimal filter gain.
gain decreases exponentially from 0.5 down to 0.001. As expected,
the Optimal-REQUEST algorithm behaves like a Kalman filter; it
Algorithm Summary
initially weighs more the new observations in the estimate, and,
The Optimal-REQUEST algorithm presented in this section can as the number of processed measurements grows, it progressively
be summarized as follows: turns to be a pure predictor of the estimate, that is, it weighs less
Initialization: the incoming measurements. The attitude estimated by the Optimal-
K 0/0 = δ K 0 (65) REQUEST filter converges successfully to the true attitude.
Figure 2 shows the performance of Optimal-REQUEST com-
where δ K 0 is computed using the first vector measurement according pared to that of various cases of REQUEST where the gain ρ is
to Eqs. (12) and (13). chosen as a constant. We chose three different values for ρ, namely,
P0/0 = R0 (66) 0.1, 0.01, and 0.001, which, as seen in Fig. 1b are typical values
in the span of the optimal gain ρ ∗ . In this simulation the sampling
m 0 = δm 0 (67) frequency Fs was chosen equal to 0.5 Hz. Figure 2 depicts the vari-
ations of the MC mean of δφ for each case. For ρ = 0.1, the filter
where δm 0 is a positive weighting factor. weighs relatively much the measurements, so that after a quick tran-
Time update: sient the error remains on a relatively high steady state (0.45 deg)
and shows random variations. On the other hand, a very low gain
K k + 1/k = k K k/k kT (68) (ρ = 0.001) yields a smooth but very slow convergence of the error,
which reaches the value of 0.05 deg in steady state. As seen in Fig. 2,
Pk + 1/k = k Pk/k kT + Qk (69) the optimal gain ρ ∗ of Optimal-REQUEST yields a lower bound for
where the matrix Qk is computed according to Eqs. (24), (25), and the various MC means of δφ. This is true during the transient as well
(44). as in the steady state where Optimal-REQUEST yields an error of
Measurement update: 0.03 deg.
Optimal-REQUEST was also tested using various √ sampling rates
m 2k tr(Pk + 1/k ) Fs , standard deviations of the √vector observations µ, and standard
ρk∗ + 1 = (70) deviations of the gyro output η. Table 1 presents the Monte Carlo
m 2k tr(Pk + 1/k ) + δm 2k + 1 tr(Rk + 1 )
means of δφ at the final time δφ(t f ) for the various cases. For the sake
of comparison, the same number of observations—here, 2000—are
m k + 1 = 1 − ρk∗ + 1 m k + ρk∗ + 1 δm k + 1 (71)
mk δm k + 1 Table 1 Monte Carlo means of δφ at final time
K k + 1/k + 1 = 1 − ρk∗ + 1 K k + 1/k + ρk∗ + 1 δ Kk + 1
mk + 1 mk + 1
√ √ δφ at t f √ δφ at t f √ δφ at t f
(72) Fs , Hz µ, deg η = 0.01, deg/h η = 360, deg/h η = 3600, deg/h
2 2 10 1 0.03 0.15 0.78
mk δm k + 1
Pk + 1/k + 1 = 1 − ρk∗ + 1 Pk + 1/k + ρk∗ + 1 Rk + 1 10 5 0.15 0.55 1.99
mk + 1 mk + 1 0.5 1 0.04 0.39 3.25
0.5 5 0.24 1.18 7.79
(73)
424 CHOUKROUN, BAR-ITZHACK, AND OSHMAN
processed in each case. As seen in Table 1, the values of δφ(t f ) 5 Farrel, J. L., and Stuelpnagel, J. C., “A Least Squares Estimate of Space-
In this paper a new recursive optimal estimator for estimating Review, Vol. 8, No. 3, 1966, pp. 384–386.
9 Brock, J. E., “Optimal Matrices Describing Linear Systems,” AIAA Jour-
the quaternion of rotation from vector measurements is presented.
Named Optimal-REQUEST, this algorithm is an extension of the nal, Vol. 6, No. 7, 1968, pp. 1292–1296.
10 Markley, F. L., “Attitude Determination Using Vector Observations:
REQUEST algorithm, which is based on the q method.
a Fast Optimal Matrix Algorithm,” Journal of the Astronautical Sciences,
The proposed filter is derived using a unique variance-like Vol. 41, No. 2, 1993, pp. 261–280.
performance criterion, which gives a stochastic basis to the esti- 11 Markley, F. L., “Attitude Determination Using Vector Observations and
mation process. Like a Kalman filter, the proposed algorithm opti- the Singular Value Decomposition,” Journal of the Astronautical Sciences,
mally filters both measurement and process noises; thus, it covers Vol. 36, No. 3, 1988, pp. 245–258.
a deficiency of REQUEST, where the process noise is filtered in 12 Bar-Itzhack, I. Y., “Polar Decomposition for Attitude Determination
an empirical manner. The cost to achieve that performance is that from Vector Observations,” Flight Mechanics/Estimation Theory Sympo-
the computation of the optimal gain involves 4 × 4 matrix equa- sium, NASA Conf. Pub. 3186, NASA, 1992, pp. 243–257.
13 Bar-Itzhack, I. Y., and Markley, F. L., “Unconstrained Optimal Transfor-
tions, which increases the computational burden of the filter. The
mation Matrix,” IEEE Transactions on Aerospace and Electronic Systems,
special case of a zero-mean white-noise process is considered here.
Downloaded by UNIVERSITY OF TORONTO on February 1, 2015 | http://arc.aiaa.org | DOI: 10.2514/1.10337
Space Flight Center for this support. A part of this work was per- craft Attitude,” Journal of the Astronautical Sciences, Vol. 37, No. 1, 1989,
formed while the second author was holding a National Research pp. 89–106.
24 Bar-Itzhack, I. Y., “REQUEST: A Recursive QUEST Algorithm for
Council Research Associateship Award at NASA Goddard Space
Sequential Attitude Determination,” Journal of Guidance, Control, and Dy-
Flight Center.
namics, Vol. 19, No. 5, 1996, pp. 1034–1038.
25 Psiaki, M. L., “Attitude Determination Filtering via Extended Quater-
References nion Estimation,” Journal of Guidance, Control, and Dynamics, Vol. 23,
1 Wertz, J. R. (ed.), Spacecraft Attitude Determination and Control, No. 2, 2000, pp. 206–214.
D. Reidel, Dordrecht, The Netherlands, 1984. 26 Gelb, A. (ed.), Applied Optimal Estimation, MIT Press, Cambridge,
2 Black, H. D., “A Passive System for Determining the Attitude of a Satel- MA, 1988.
lite,” AIAA Journal, Vol. 2, No. 7, 1964, pp. 1350, 1351. 27 Choukroun, D., “Novel Methods for Attitude Estimation from Vec-
3 Davenport, P., “Attitude Determination and Sensor Alignment via tor Observations,” Ph.D. Dissertation, Faculty of Aerospace Engineering,
Weighted Least Squares Affine Transformations,” NASA, X-514-71-312, Technion—Israel Inst. of Technology, Haifa, Israel, May 2003.
Aug. 1971. 28 Athans, M., and Tse, E., “A Direct Derivation of the Optimal Linear
4 Wahba, G., “A Least Squares Estimate of Spacecraft Attitude,” SIAM Filter Using the Maximum Principle,” IEEE Transactions on Automatic Con-
Review, Vol. 7, No. 3, 1965, p. 409. trol, Vol. AC-12, No. 6, 1967, pp. 690–698.