QUEST Aided EKF for Attitude and Rate Estimation
Using Modified Rodrigues Parameters
HASAN KINATAS1, CHINGIZ HAJIYEV2
1Aeronautics and Astronautics Faculty
Istanbul Technical University
34469 Maslak, Istanbul, TURKEY
2Aeronautics and Astronautics Faculty
Istanbul Technical University
34469 Maslak, Istanbul, TURKEY
Abstract: - A conventional attitude estimation system for a nanosatellite involves direct input of the attitude
sensor measurements to a Kalman filter. However, in case of using an extended Kalman filter (EKF) for the
attitude filtering, frequent calculations of the Jacobian matrices bring an excessive computational burden which
may not be practical for a nanosatellite on-board computer. In order to deal with this problem, in this study, a
QUEST aided EKF attitude and attitude rate estimation system is proposed. QUEST algorithm is used to obtain
an initial coarse attitude estimation and then, this estimation is filtered via an EKF. The proposed integrated
system reduces the computational burden that an EKF brings since the direct input of the attitude measurements
to the filter makes the measurement model linear. For the attitude representation, modified Rodrigues
parameters (MRPs) are used unlike widely used quaternions due to the advantages they provide. MRP
representation has a singularity at only at the multiples of , therefore, any rotation can be represented by
MRPs, except a complete  rotation. This singularity can be easily avoided switching between alternate
MRP sets which is also discussed in this study. The performance of the proposed system is tested with several
simulations and the results are presented together with the estimation errors and variances.
Key-Words: - Nanosatellite, attitude estimation, modified Rodrigues parameters, QUEST, magnetometer, sun
sensor
Received: June 9, 2021. Revised: April 14, 2022. Accepted: May 12, 2022. Published: June 16, 2022.
1 Introduction
The contribution of small satellites to advances in
space technologies is increasing day after day. Their
low costs and short development time have led more
people and private companies to do research and
produce products in this field. New mission
concepts have emerged and more elegant solutions
to existing problems have been developed.
However, these satellites, which have strict
constraints in terms of cost, mass, and size, have
also brought new challenges. Especially, due to the
cost constraint, the use of expensive high-capability
components may not be possible. Considering that
the selection of the on-board computer is also
affected by this constraint, the developed software
for the satellite must be computationally light.
The attitude determination and control (ADCS)
sub-system is one of the most important sub-
systems in a satellite. It is very important to meet
the desired pointing accuracy in order to perform the
control actions properly. An inaccurate attitude
estimation may cause wrong control actions to be
taken and lead dire consequences, up to loss of
mission. For nanosatellites which consist of 10 cm
10 cm 10 cm units and have masses ranging
from 1 to 10 kg [1], conventional attitude estimation
algorithms are usually not applicable due to the high
demand of computational power. Thus, it is crucial
to design an elegant attitude estimation system. The
designed system should be light, fast, and give good
enough estimations.
The attitude of a nanosatellite (or any spacecraft)
can be represented using different attitude
parameters such as quaternions, Euler angles, and
Rodrigues parameters [2]. Each representation has
advantages and disadvantages over each; however,
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
250
Volume 17, 2022
up to date, quaternions are one of the most
commonly used parameters [3-5]. Although
quaternions are non-singular attitude parameters
with attractive properties, the quaternion unit norm
constraint makes the attitude estimation process
complicated. In this regard, utilizing from other
attitude parameters can be beneficial, provided that
singularities are avoided. A good suggestion might
be the modified Rodrigues parameters (MRPs),
which have become increasingly popular in recent
years [6]. MRP representation has a singularity only
at the multiples of , therefore, any rotation can be
represented by the MRPs, except a complete 
rotation. This singularity can be easily avoided
switching between alternate MRP sets which will be
discussed in Section 2.
The attitude determination methods for a
nanosatellite, on the other hand, can be divided into
two main categories as “static attitude determination
methods” and “attitude filtering methods”. To the
author’s best knowledge, the algebraic method
developed by Harold Black in 1964 [7] is the first
published static attitude determination method. This
method was also presented as TRIAD which stands
for “Tri-Axial Attitude Determination” by Malcolm
Shuster in his 1981’s paper [8]. The TRIAD (or
algebraic) method aims to find the transformation
matrix between the spacecraft body frame and the
reference frame of interest using only two vector
observations and cannot accommodate more than
two vectors. One year after the Black’s method,
Grace Wahba published her famous problem [9] that
removes the two-vector constraint and can be used
for any number of vector observations. The
Wahba’s problem contains minimization of a loss
function and the first practical solution to the
problem was presented by Davenport known as the
q-method [10]. Q-method requires an
eigenvalue/eigenvector decomposition of a 
matrix in order to minimize the Wahba’s loss
function which inherently demands a considerable
amount of computational power. Following the q-
method, QUaternion ESTimator (QUEST) was
developed by Shuster [8] which does not require an
eigenvalue/eigenvector decomposition and is
computationally more efficient than the q-method.
Later in 1988, Markley presented a new method to
minimize the loss function [11]. This method is
based on the singular value decomposition (SVD) of
a  matrix and known as SVD method. All the
mentioned methods have advantages and
disadvantages compared to each other. Therefore, it
is important to choose the most appropriate method,
taking into account the purpose and requirements of
the mission. One can gain more insight by
examining the studies comparing these methods [5,
12].
One of the biggest disadvantages of static
attitude determination methods is that they are
highly dependent on the quality of attitude sensors.
Any malfunction in these sensors can make the
attitude estimation system unreliable or insomuch
that completely losing a sensor can make the
estimation impossible. To cope with this problem,
filtering techniques, especially the use of Kalman
filters, has become an important part of the
spacecraft attitude estimation problem [13]. Unlike
static methods, attitude estimation algorithms with
Kalman filtering take advantage of the satellite’s
mathematical model in addition to sensor
measurements. Thus, the estimation system
continues to give attitude estimates even if there is
no available attitude sensor measurement. Since the
satellite’s dynamics and kinematics equations are
nonlinear, attitude estimation algorithms require
nonlinear filtering, two of the most popular ones
being extended Kalman filter (EKF) [13] and
unscented Kalman filter (UKF) [14]. The survey
paper [3] presents a comprehensive study of
nonlinear attitude estimation methods for
spacecrafts including two-step estimator, particle
filters and orthogonal attitude filter.
For nanosatellites, attitude estimation algorithms
with Kalman filtering can also be divided into two
sub-categories as traditional and non-traditional (or
integrated) approaches. Traditional approaches are
approaches where attitude sensor measurements are
directly given as input to the filter [15, 16]. Since
the measurement models of some basic attitude
sensors are nonlinear (e.g., magnetometers), the
computational load is increased in this approach,
especially if EKF is used. On the other hand, in
integrated approaches, sensor measurements are first
pre-processed by one of the static attitude
determination methods to obtain an initial coarse
attitude estimation. Then, this attitude estimation is
given as input to the Kalman filter to filter the result
[17-21]. In these approaches, where the first phase
attitude estimation is given directly to the filter, the
measurement model becomes linear unlike the
traditional approaches. As a result, compared to
traditional approaches, integrated approaches reduce
the computational load relatively. However, overall
accuracy of the attitude estimation system in
integrated approaches depends also on the chosen
first phase static attitude determination method as
well as the accuracy of measurements and filter
properties. In [17, 18], authors integrate the TRIAD
method with an EKF to estimate the attitude angles
and the angular velocity vector. In [19], SVD
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
251
Volume 17, 2022
method is integrated with an EKF whereas in [20]
SVD is integrated with an UKF. And in [21], a
study integrating the q-method with an EKF is
presented by the authors.
In this study, an integrated QUEST/EKF attitude
and angular rate estimation system is presented. The
QUEST algorithm is chosen because of its accurate
and efficient algorithm. For the attitude
representation and the satellite mathematical model,
MRPs are used due to the advantages they provide.
The remainder of this paper is organized as
follows: MRPs are introduced in Section 2.
Mathematical model of satellite attitude motion is
given in Section 3, and the measurement models for
the attitude sensors are given in Section 4. In
Section 5, the QUEST algorithm and its covariance
analysis is presented. Kalman filter formulation
using the MRPs are given in Section 6, and
simulation results for the proposed system is
presented in Section 7. Lastly, in Section 8
conclusion is drawn and the study is summarized.
2 Modified Rodrigues Parameters for
Attitude Representation
The modified Rodrigues parameters (MRPs) are a
minimal set for attitude representation with useful
properties. The relationship between the MRP
vector and the quaternion vector is given by [6]
 󰇛󰇜
where the quaternion vector is defined in terms of
the principal rotation elements as
󰇛󰇜
󰇛󰇜
󰇛󰇜
󰇛󰇜
󰇛󰇜
The inverse transformation is given by
 󰇛󰇜

 󰇛󰇜
where. Using Eq. (1) and (2), principal
rotation elements can be directly related to the MRP
vector as

󰇛󰇜
The attitude matrix in terms of MRPs, on the
other hand, is given in compact form by
󰇟󰇠󰇛󰇜󰇟󰇠
󰇛󰇜󰇛󰇜
where is the skew-symmetric matrix of and
given by


󰇛󰇜
Looking at Eq. (5), one can easily see that the
MRP vector has a singularity at ,
meaning that any rotation can be represented, except
a complete  rotation, using the MRP vector
without encountering any singularity problem. Also,
it is obvious that
󰇛󰇜
󰇛󰇜
󰇛󰇜
Another important feature of MRPs is that,
similar to quaternions, there are two unique MRP
sets representing the same attitude. The alternate set
is known as the “shadow set” and defined as

 󰇛󰇜
The shadow set can also be given in terms of the
principal rotation elements by

󰇛󰇜
which is singular at , unlike the original MRP
set which is singular at . Since both sets
represent the same attitude and also satisfy the same
kinematic differential equation, the singularity
problem can be avoided by switching between these
two sets. The relationship between the original set
and the shadow set is given by

 󰇛󰇜
There are no strict restrictions about when to
switch between two sets; however, by looking at Eq.
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
252
Volume 17, 2022
(5), (12), and (13) one can notice that one set of
MRP always corresponds to a  principal
rotation and the other corresponds to a 
rotation. Therefore, choosing as the
switching surface is convenient for control purposes
because now, attitude will always be represented by
the short rotation. Also, at , Eq. (13)
simplifies to and length of the attitude
representation becomes bounded above by 1.
3 Mathematical Model of Satellite
Attitude Motion
The attitude dynamics for a satellite is derived using
the relationship between the time derivative of the
angular momentum vector  and the applied
torque vector as [22]


 󰇛󰇜
where is the satellite moment of inertia matrix and
 is the body angular velocity vector with respect
to the inertial frame. Since , Eq. (14) can
be rewritten as

 󰇟󰇛󰇜󰇠󰇛󰇜
The net torque applied to a satellite consists of
two parts as disturbance torques and control torques.
Disturbance torques can be caused by different
effects such as gravity gradient, aerodynamic drag,
and solar radiation pressure. For a nanosatellite
orbiting in a low Earth orbit (LEO), the most
dominant disturbance torque is known to be the
gravity gradient torque and other disturbances can
be neglected. Therefore, assuming zero control
torque input, the attitude dynamics for a
nanosatellite can be simplified as

 󰇛󰇜󰇛󰇜
where  is gravity gradient torque given by [23]

󰇯
󰇛󰇜
󰇰󰇛󰇜
along the orbit. Here, is the gravitational
parameter for the Earth and is the distance
between the center of mass of the Earth and the
satellite.
On the other hand, the kinematic equations of
motion of the satellite via MRP attitude
representation is given as follows [24]
󰇗
󰇛󰇜󰇟󰇠 󰇛󰇜
where  is the body angular velocity vector with
respect to the reference frame.
Here, one should note that Eq. (18) is highly
dependent on the chosen reference frame. If the
reference frame is chosen as Earth-centered inertial
(ECI) frame, then following equity can be written
 󰇛󰇜
However, if the chosen reference frame is not an
inertial frame, then  and  should be related
accordingly. In case it is chosen as the orbital frame,
they can be related as
󰇟 󰇠󰇛󰇜
where  is the body angular velocity vector with
respect to the orbital frame and is the angular
velocity of the orbit given by
󰇛󰇜
4 Attitude Sensors and Sensor
Measurement Models
The proposed QUEST aided EKF nanosatellite
attitude estimation system uses a three-axis
magnetometer and sun sensor as the attitude sensors.
Also, it has a gyroscope that provides body angular
velocity measurements. In this section,
measurement models related to these sensors are
given where all the sensors are assumed to be in-
flight calibrated.
4.1 Magnetometer Measurement Model
The magnetometer measurement model including
noise can be given as follows [23]
󰇛󰇜
where
is the measured magnetic field vector in
the body frame, is the magnetic field vector in
the reference frame, and is the magnetometer
noise vector which is assumed to be a zero-mean
Gaussian white noise with the characteristics of
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
253
Volume 17, 2022
󰇝
󰇞
 󰇛󰇜
where is the standard deviation of the
magnetometer error and  is the Kronecker delta
symbol. The Earth magnetic field vector can be
modeled in the orbital frame using the International
Geomagnetic Reference Field (IGRF) as [23]
󰇝󰇛󰇜󰇟󰇛󰇜󰇛󰇜󰇛󰇜󰇛󰇜󰇛󰇜󰇠
󰇛󰇜󰇛󰇜󰇛󰇜󰇞󰇛󰇜
󰇝󰇛󰇜󰇛󰇜󰇛󰇜󰇛󰇜󰇛󰇜󰇞󰇛󰇜

󰇛󰇜󰇟󰇛󰇜󰇛󰇜󰇛󰇜󰇛󰇜󰇛󰇜󰇠
󰇛󰇜󰇛󰇜󰇛󰇜 󰇛󰇜
where  Wb.m is the magnetic
dipole moment of the Earth,  is the
magnetic dipole tilt angle,  rad/s
is the spin rate of the Earth, and is the orbit
inclination. 󰇛󰇜 and 󰇛󰇜 are abbreviations for
cosine and sine, respectively.
4.2 Sun Sensor Measurement Model
The sun sensor measurement model including noise
can be given as follows [23]
󰇛󰇜
where  is the measured sun direction vector in the
body frame,  is the sun direction vector in the
reference frame, and is the sun sensor noise
vector which is assumed to be a zero-mean Gaussian
white noise with
󰇝
󰇞 󰇛󰇜
where is the standard deviation of the sun sensor
error. The sun direction vector  can be calculated
via well-known algorithms. One example of a
standard sun direction vector calculation algorithm
is well-documented in [25] and will not be repeated
here for the sake of brevity.
4.3 Gyroscope Measurement Model
The gyroscope measurement model including noise
can be given as follows [23]
󰇛󰇜
where
 is the measured body angular velocity,
 is the true body angular velocity vector, and
is the gyroscope noise vector which is assumed to
be a zero-mean Gaussian white noise with the
characteristics of
󰇝
󰇞
 󰇛󰇜
where is the standard deviation of the gyroscope
error.
5 Minimization of Wahba’s Problem
and the QUEST Algorithm
QUEST algorithm is one of the most popular and
efficient static attitude determination methods
developed to minimize Wahba’s loss function. This
section is devoted to explaining the QUEST
algorithm with details and follows the original work
[8] of Malcolm D. Shuster, creator of the QUEST.
The original loss function proposed by Wahba is
given as [9]
󰇛󰇜

 󰇛󰇜
where
,  are observation unit vectors,
are reference unit vectors, and are nonnegative
weights assigned to each particular observation.
The aim of the QUEST algorithm is to find the
optimal attitude matrix  that minimizes Eq. (31)
or that maximizes the corresponding gain function
󰇛󰇜 given by
󰇛󰇜󰇛󰇜

 󰇛󰇜
Considering that the attitude matrix is an
orthogonal matrix and using the cyclic invariance
property of the trace operation, gain function can be
rewritten as
󰇛󰇜󰇟󰇠󰇛󰇜
where 󰇟󰇠 denotes the trace operation and the
matrix is known as the “attitude profile matrix”
defined as
 󰇛󰇜
It can be seen easily from Eq. (33) that 󰇛󰇜 is
minimized when 󰇟󰇠 is maximized.
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
254
Volume 17, 2022
Since is a orthogonal matrix subject to
six constraints, it is expressed in terms of its related
quaternions in order to reduce the complexity during
the maximization of Eq. (33). The relationship
between the attitude matrix and its related
quaternion vector is given by
󰇛󰇜󰇛󰇜󰇛󰇜
where 󰇟󰇠 is the vector component
of the quaternion vector and is the skew-
symmetric matrix of given by


󰇛󰇜
Using Eq. (35), gain function can be written in
terms of quaternions as follows
󰇛󰇜󰇛󰇜󰇟󰇠󰇟󰇠
󰇟󰇠󰇛󰇜
In order to obtain the bilinear form of Eq. (37),
following quantities are introduced
󰇟󰇠󰇛󰇜
󰇛󰇜
 󰇛󰇜
These quantities are used to create the
matrix as
󰇣
󰇤󰇛󰇜
And using the matrix , gain function can be
written in the bilinear form as
󰇛󰇜 󰇛󰇜
The attitude determination problem can now be
thought of as finding the quaternion vector  that
maximizes the Eq. (42). However, it is known that
the quaternion vector must satisfy the unit-length
constraint given by
󰇛󰇜
Using the method of Lagrange multipliers, this
constraint can be taken into account and a new gain
function 󰆒󰇛󰇜 can be defined as
󰆒󰇛󰇜󰇛󰇜
where is chosen to satisfy the constraint.
Differentiating Eq. (44), one can see that 󰆒󰇛󰇜
is maximized when  󰇛󰇜
Therefore, it can be said that  must be an
eigenvector and must be an eigenvalue of . Gain
function 󰇛󰇜 is maximized when  is chosen to
be the eigenvector corresponding to the largest
eigenvalue of . This statement can be expressed
mathematically as
 󰇛󰇜
5.1 Finding the Optimal Quaternion Set
Finding the exact largest eigenvalue and its
corresponding eigenvector of the matrix, as
in Davenport’s q-method, was expensive to compute
for an on-board computer in the early of 1980s. The
QUEST algorithm is a numerical approximation of
the Davenport’s q-method which was developed to
ease this computational burden. Shuster derived an
analytic formula of the characteristic equation of the
matrix given as [8]
󰇛󰇜󰇛󰇜 󰇛󰇜
where the coefficients , , , and are defined as
󰇟󰇛󰇜󰇠󰇛󰇜
 󰇛󰇜
󰇛󰇜 󰇛󰇜
 󰇛󰇜
Here 󰇛󰇜 denotes the adjoint and 󰇛󰇜 denotes
the determinant operation. Any iterative technique
can be used to find the root of Eq. (47) and a
starting value of can be used for this process.
After finding the largest eigenvalue , following
quantities are introduced

󰇟󰇛󰇜󰇠󰇛󰇜
 󰇛󰇜
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
255
Volume 17, 2022
󰇛󰇜󰇛󰇜 󰇛󰇜
󰇛󰇜 󰇛󰇜
and the optimal quaternion vector is constructed as


󰇛󰇜
One should note that solution given by Eq. (56)
is an approximation and inherently less accurate
than the exact solution given by Davenport’s q-
method.
5.2 QUEST Algorithm Covariance Analysis
The variances of the attitude parameters are needed
to compose the measurement noise covariance
matrix for the Kalman filter. The quaternion
covariance matrix is given by [8]
󰇟󰇠󰇛󰇜
where 󰇟󰇠 denotes the expectation value. Assuming
that for a very small rotation, reference and
observation vectors are identical, that is

󰇛󰇜 󰇛󰇜
Then,  can be written as
 󰇛󰇜
where and  is given by


󰇛󰇜


 󰇛󰇜
The quaternion covariance matrix given in
Eq. (57) can now be rewritten as
󰇟󰇠 󰇛󰇜
where 󰇟󰇠 can be calculated as
󰇟󰇠
 󰇛󰇜
Finally, substituting Eq. (60) and (63) into Eq.
(62) yields



 󰇛󰇜
󰇛
󰇜


 󰇛󰇜
Eq. (64) gives the final form of the 
quaternion covariance matrix; however, it is more
convenient to define the quaternion covariance
matrix as a matrix by including also the
covariance of the scalar component . The
relationship between the quaternion
covariance matrix  and quaternion
covariance matrix  is given by

󰇛󰇜
where the matrix 󰇟󰇠 is defined as
󰇟󰇠


󰇛󰇜
5.2.1 Computation of the Covariance Matrix
for the Modified Rodrigues Parameters
The proposed QUEST aided EKF attitude
estimation system provides the attitude information
in terms of MRPs. The MRP covariance
matrix can be obtained from  using the well-
known covariance law [26] as
󰇛󰇜
where the matrix H is calculated as












󰇛󰇜
Since the relationship between MRPs and
quaternions change when the original MRP set is
switched to shadow set  as stated in Eq. (1) and
(11), one should be careful while creating the H
matrix and calculate the derivatives accordingly.
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
256
Volume 17, 2022
6 Kalman Filter Formulation Using
Modified Rodrigues Parameters
The  state vector for the proposed QUEST
aided EKF consists of MRPs and body angular
velocity vector components, given by
󰇣
󰇤󰇛󰇜
The state vector can be propagated using the
following discrete model [27]
󰇛󰇜󰇛󰇜
where the function 󰇛󰇜 is the nonlinear state
transition function and is the process noise. The
state transition function 󰇛󰇜 maps the previous
state to the current state and formed by integrating
Eq. (16) and (18). The measurement vector, on the
other hand, is modeled as
󰇛󰇜󰇛󰇜
where 󰇛󰇜 is the nonlinear measurement model
and is the measurement noise. The nonlinear
measurement model 󰇛󰇜 maps the current state
to measurements.
The process noise and measurement noise
are both assumed to be zero-mean white Gaussian
with the covariances
󰇛󰇜 󰇛󰇜
󰇛󰇜 󰇛󰇜
It is also assumed that both noises are
uncorrelated, that is
󰇛󰇜
The propagation of the state error covariance
matrix in discrete time is given by

󰇛󰇜
where is the state transition matrix and calculated
by using the first-order Taylor series expansion as
follows
󰇛󰇜 󰇛󰇜
where the matrix is given by

 󰇛󰇜
The discrete state transition matrix can be
found evaluating Eq. (77) at the sampling time as
󰇛󰇜
where the matrix is obtained evaluating the Eq.
(78) at . Eq. (71), and Eq. (76) constitutes the
prediction part of the EKF. Hereafter, the
uncorrected predictions obtained via Eq. (71) and
(76) will be denoted by symbol.
The correction or update part of the filter starts
with calculating the Kalman gain matrix  as




 󰇛󰇜
where  is known as the state observation matrix
calculated as
󰇛

󰇜
 󰈅

󰇛󰇜
At this point, the advantage of the proposed
QUEST aided EKF attitude estimation system
comes to the fore. In the system, the attitude and
angular velocity measurements are obtained from
the QUEST algorithm and gyroscopes, respectively.
Looking at Eq. (72), one can realized that for the
proposed system the states are directly observable,
that is
󰇛󰇜
Using the QUEST algorithm before the filtering
and obtaining an initial coarse attitude estimation
makes the nonlinear measurement model 󰇛󰇜
linear and reduces the computational load that an
EKF brings. The matrix  becomes just an
identity matrix independent of the sampling index
.
After the calculation of the Kalman gain matrix
, the update or correction is made for the
predicted state vector and state error covariance
matrix as

󰇛󰇜
 󰇛󰇜


 󰇛󰇜
where  is the measurement residual defined as
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
257
Volume 17, 2022


󰇛󰇜
Here one should note that for the matrix sampling
index is omitted since it is just an identity
matrix independent of the sampling index.
6.1 MRP Shadow Set Consideration for
Kalman Filtering
If after the state prediction with Eq. (71) or update
with Eq. (84), the MRP set exceeds the switching
surface, that is  or , it is switched
to the shadow set using Eq. (13). Then, the state
vector becomes

󰇛󰇜
Also, the state error covariance matrix shadow
set transformation is given by [28]
󰇩

󰇪󰇛󰇜
where  is the covariance matrix of ,  is the
cross-correlation matrix between and , and
matrix S is calculated as
 󰇛󰇜
One other important consideration is related to
the MRP part of the measurement residual 
which is given by


 󰇛󰇜
Near the switching surface where the original
MRP set measurement
 or estimate
 is
close to one, the calculation of the measurement
residual can be problematic. To illustrate, consider
the situation where
󰇟󰇠,

󰇟󰇠, and
󰇟󰇠. Calculating the
measurement residual using the original set yields
 󰇟󰇠󰇟󰇠󰇟󰇠󰇛󰇜
On the other hand, calculating the measurement
residual using the shadow set yields
 󰇟󰇠󰇟󰇠󰇟󰇠󰇛󰇜
As can be seen easily, Eq. (90) and (91) yields
different measurement residuals and Eq. (90) causes
a correction to be applied when it is not needed. In
order to deal with this problem, an elegant algorithm
is proposed by the authors in [29] which the
pseudocode for it is given as follows
Algorithm 1: Measurement residual algorithm
for MRP based EKF
1
2
3
4
5
6
7
7 Simulations and Results
In the proposed QUEST aided EKF attitude and
angular rate estimation system, the QUEST
algorithm estimates the MRP set at each time step
using magnetometer and sun sensor measurements.
Then, this estimate is given to the EKF as an input
together with the gyroscope measurement which is
simulated separately. The EKF filters the QUEST
solution and the gyroscope measurement with the
help of the mathematical model of the satellite
dynamics and kinematics. In order to verify the
performance of the proposed estimation system,
simulations are performed for  seconds with a
sampling time  second in a circular LEO,
assuming an environment where only the gravity
gradient torque exists as the disturbance torque.
Simulated orbit has an altitude of and its
inclination and longitude of the ascending node are
chosen to be  and , respectively. It is also
assumed that the satellite never enters eclipse
throughout the orbit so that measurements are
available from the sun sensor continuously.
Figure 1, 2, and 3 show the estimation results for
each individual MRP 󰇛󰇜 including the
absolute values of estimation errors and variances,
respectively. Sudden drops in the parameters
indicate the switching between alternate MRP sets.
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
258
Volume 17, 2022
Fig. 1 QUEST aided EKF estimation results for
Fig. 2 QUEST aided EKF estimation results for
Fig. 3 QUEST aided EKF estimation results for
In addition to the figures, Table 1 shows the
average root mean square error (RMSE) value for
each individual MRP after 500 simulation runs are
executed and Table 2 shows the overall attitude
estimation error in terms of the principal rotation
angle (PRA).
MRP
QUEST aided EKF estimation
error



Table 1 RMSE errors for each MRP
(500 simulation average)
PRA
QUEST aided EKF estimation
error

Table 2 RMSE error for PRA
(500 simulation average)
The proposed system also estimates the body
angular velocity . Figure 4, 5, and 6 show the
estimation results for each component of the body
angular velocity including the
estimation error and variance, respectively.
Fig. 4 QUEST aided EKF estimation results for
Fig. 5 QUEST aided EKF estimation results for
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
259
Volume 17, 2022
Fig. 6 QUEST aided EKF estimation results for
In addition to the figures, Table 3 shows the
average root mean square error (RMSE) value for
each angular velocity component after 500
simulation runs are executed.
MRP
QUEST aided EKF estimation
error
 rad/s
 rad/s
 rad/s
Table 3 RMSE errors for each angular velocity
component (500 simulation average)
8 Conclusion
In this study, an integrated QUEST/Extended
Kalman Filter (EKF) attitude and angular rate
estimation system is proposed for a nanosatellite.
QUEST algorithm is used to obtain an initial coarse
attitude estimation and then, this estimation is
filtered via an EKF. The proposed integrated system
reduces the computational burden that an EKF
brings since the direct input of the attitude to the
filter makes the measurement model linear. For the
attitude representation and the satellite mathematical
model, modified Rodrigues parameters (MRPs) are
used due to the advantages they provide.
In order to verify the performance of the
proposed system, several simulations are performed
and the attitude and angular rate estimations are
obtained. As a result of the simulations, the attitude
estimation errors for each individual MRP are
obtained on the order of  whereas for the
angular rate estimations, errors are obtained on the
order of . In addition, the overall attitude
estimation error in terms of the principal rotation
angle is obtained as  which is considered
to be sufficient for a nanosatellite estimation
accuracy requirement.
References:
[1] A. Poghosyan and A. Golkar, CubeSat
Evolution: Analyzing CubeSat Capabilities for
Conducting Science Missions, Progress in
Aerospace Sciences, Vol. 88, 2017, pp. 59-83.
[2] F. L. Markley and J. L. Crassidis,
Fundamentals of Spacecraft Attitude
Determination and Control, Springer New
York, New York, NY, 2014.
[3] J. L. Crassidis, F. L. Markley, and Y. Cheng,
Survey of Nonlinear Attitude Estimation
Methods, Journal of Guidance, Control, and
Dynamics, Vol. 30, No. 1, 2006, pp. 12-28.
[4] I. Y. Bar-Itzhack and Y. Oshman, “Attitude
Determination from Vector Observations:
Quaternion Estimation”, IEEE Transactions on
Aerospace and Electronic System, Vol. AES-
21, No. 1, 1985, pp. 128-135.
[5] F. L. Markley and D. Mortari, “Quaternion
Attitude Estimation Using Vector
Observations”, The Journal of the
Astronautical Sciences, Vol. 48, 2000, pp. 359-
380.
[6] H. Schaub and J. L. Junkins, Analytical
Mechanics of Space Systems 2nd Edition,
American Institute of Aeronautics and
Astronautics, AIAA Education Series, Reston,
VA, 2009
[7] H. D. Black, A passive system for determining
the attitude of a satellite”, AIAA Journal, Vol.
2, No. 7, 1964, pp. 1350-1351.
[8] M. D. Shuster and S. D. Oh, "Three-Axis
Attitude Determination from Vector
Observations," Journal of Guidance, Control,
and Dynamics, Vol. 4, No. 1, 1981, pp. 70-77.
[9] G. Wahba, "Problem 65-1: A Least Squares
Estimate of Satellite Attitude”, Society for
Industrial and Applied Mathematics Review,
Vol. 7, No. 3, 1965, pp. 409.
[10] P. B. Davenport, A Vector Approach to the
Algebra of Rotations with Applications”, NASA
Goddard Space Flight Center, Greenbelt, MD,
USA, Tech. Rep. NASA-TN-D-4696, 1968.
[11] F. L. Markley, “Attitude Determination Using
Vector Observations and the Singular Value
Decomposition”, Journal of the Astronautical
Sciences, Vol. 38, No. 3, 1988, pp. 245-258.
[12] D. Cilden and C. Hacizade, “Small Satellite
Attitude Determination Methods with Vector
Observations”, Journal of Aeronautics and
Space Technologies, Vol. 7, No. 2, 2014, pp.
3543.
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
260
Volume 17, 2022
[13] 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, 1982,
pp. 417-429.
[14] P. Sekhavat, Q. Gong, and I. Ross, “NPSAT1
Parameter Estimation Using Unscented Kalman
Filtering”, In: 2007 American Control
Conference, New York, NY, USA, July 9-13,
2007, IEEE, 2007, pp. 4445-4451.
[15] J. C. Springman and J. W. Cutler, “Flight
Results of a Low-Cost Attitude Determination
System”, Acta Astronautica, Vol. 99, 2014, pp.
201-214.
[16] M. L. Psiaki, F. Martel, and P. K. Pal, “Three-
Axis Attitude Determination via Kalman
Filtering of Magnetometer Data”, Journal of
Guidance, Control, and Dynamics, Vol. 13,
No. 3, 1990, pp. 506-514.
[17] C. Hajiyev and M. Bahar, “Attitude
Determination and Control System Design of
the ITU-UUBF LEO1 Satellite”, Acta
Astronautica, Vol. 52, 2003, pp. 493-499.
[18] M. A. Gokcay and C. Hajiyev, “Comparison of
TRIAD+EKF and TRIAD+UKF Algorithms
for Nanosatellite Attitude Estimation”, WSEAS
Transactions on Systems and Control, Vol. 17,
2022, pp. 201-206
[19] C. Hajiyev, D. Cilden, and Y. Somov,
“Integrated SVD/EKF for Small Satellite
Attitude Determination and Rate Gyro Bias
Estimation”, IFAC-PapersOnLine, Vol. 48, No.
9, 2015, pp. 233-238.
[20] D. Cilden-Guler, H. E. Soken, and C. Hajiyev,
“SVD-Aided UKF for Estimation of
Nanosatellite Rotational Motion Parameters”,
WSEAS Transactions on Signal Processing,
Vol. 14, 2018, pp. 27-35.
[21] T. Ainscough, R. Zanetti, J. Christian, and P.
D. Spanos, “Q-Method Extended Kalman
Filter”, Journal of Guidance, Control, and
Dynamics, Vol. 38, No. 4, 2015, pp. 752-760.
[22] J. R. Wertz (eds), Spacecraft Attitude
Determination and Control”, Kluwer
Academic, Dordrecht, The Netherlands, 1978.
[23] C. Hajiyev and H. E. Soken, Fault Tolerant
Attitude Estimation for Small Satellites, Crc
Press Taylor & Francis Group, Boca Raton, FL,
2021.
[24] J. L. Crassidis and F. L. Markley, “Attitude
Estimation Using Modified Rodrigues
Parameters”, Proceedings of the Flight
Mechanics/Estimation Theory Symposium,
1996, pp. 71-83.
[25] D. A. Vallado, Fundamentals of Astrodynamics
and Applications, Microcosm Press,
Hawthorne, CA, 2013
[26] P. Vanicek and E. J. Krakiwsky, Geodesy: The
Concepts 2nd Edition, Elsevier Science
Publishers, North-Holland, 1986.
[27] P. Zarchan and H. Musoff, Fundamentals of
Kalman Filtering: A Practical Approach 3rd
Edition, American Institute of Aeronautics and
Astronautics, Reston, VA, 2009.
[28] C. D. Karlgaard and H. Schaub, “Nonsingular
Attitude Filtering Using Modified Rodrigues
Parameters”, Journal of the Astronautical
Sciences, Vol. 57, No. 4, 2010, pp. 777-791.
[29] S. A. O’Keefe and H. Schaub, “Shadow Set
Considerations for Modified Rodrigues
Parameter Attitude Filtering”, Journal of
Guidance, Control, and Dynamics, Vol. 37,
No. 6, 2014, pp. 2030-2034
Creative Commons Attribution
License 4.0 (Attribution 4.0
International, CC BY 4.0)
This article is published under the terms of the
Creative Commons Attribution License 4.0
https://creativecommons.org/licenses/by/4.0/de
ed.en_US
WSEAS TRANSACTIONS on SYSTEMS and CONTROL
DOI: 10.37394/23203.2022.17.29
Hasan Kinatas, Chingiz Hajiyev
E-ISSN: 2224-2856
261
Volume 17, 2022