
predicted and current measurement). In this kind of EKF
configuration, the system is essentially derived from the
system kinematics. One of the characteristics of the direct
configuration is its conceptual clarity and simplicity. The
differences between both kinds of configurations can
considerably impact the development process of
applications based on the EKF. A good review of EKF and
its configurations can be found in [14].
In addition, it is possible to find other methods which
rely on variations of Kalman filtering, such as the
Unscented Kalman filtering [15]. Another interesting
family of methods for attitude estimation is nonlinear
observers [6,8]. Nonlinear observers often exhibit global
convergence which means they can converge from any
initial guess. A good review of several filtering methods
for attitude estimation is given in [16]. Another kind of
method relies on estimation techniques coming from the
artificial intelligence (AI) research community. For
instance in [9], attitude estimation relies on a digital
neural network.
Although it is possible to find different methodologies in
the literature, EKF is still the standard estimation
technique for attitude estimation. Nevertheless, the use of
EKF in direct configuration has been much less explored
than its counterpart, the EKF in indirect configuration
(see Table I). This happens especially when system errors
(e.g., gyro bias) are to be included in the vector state. An
example of direct linear Kalman filtering for attitude and
position estimation (GPS + Inertial navigation system) can
be found in [17]. Nevertheless, since this method is also
intended for position estimation, it is highly dependent
on GPS measurements, and thus limits its usability for
applications which rely solely on attitude estimation.
Moreover, the LTI (linear time invariant) approach of this
method can affect the performance of the estimations due
to the non-linear nature of the problem.
On the other hand, the EKF in its direct configuration has
been widely used (for about two decades) by the research
community on autonomous robots, to implement
methods of localization, mapping or both: SLAM
(Simultaneous Localization and Mapping), see [18].
The method presented in this work is motivated by the
necessity of having a practical and reliable method for
attitude and heading estimation that can be tightly
integrated with filter-based SLAM methods in a
straightforward manner. In this sense, it is important to
note that most of the currently available algorithms for
SLAM use a loosely-coupled approach for incorporating
attitude measurements. In other words, in a loosely-
coupled approach, the SLAM algorithm takes the attitude
and orientation estimated by an AHRS unit as a high-
level input. On the other hand, since the proposed
method was derived using the indirect configuration of
the EKF, it can be easily plugged into a filter-based SLAM
algorithm using a tightly-coupled approach. Thus, low-level
measurements (i.e., from gyros, accelerometers,
magnetometers) can be incorporated directly into the SLAM
scheme to aid in attitude and heading determination.
This paper considerably extends the authors' previous
work [19] where the idea of an AHRS based on an EKF in
a direct configuration is introduced. Some of the most
important additions included in this work are:
• A new (discrete) kinematic nonlinear model is used in
the prediction equations of the filter, in order to
improve the performance of the method when
operating at a low sample rate.
•The actual rotational speed of the body is included in
the system state vector, in order to improve the
observability of the bias of gyros.
• In order to detect instants when the body is in a
non-accelerating mode, the Stance Hypothesis
Optimal Detector (SHOE) [20] is used.
• A novel method is developed for updating yaw
(heading) measurements, in order to improve the
modularity and scalability of the method.
• In order to validate the performance of the proposed
method, a comparative study with real data is
presented, where the proposed method is compared
(in different conditions) with a related method. In
experiments, the high-performance miniature unit
3DM-GX3®45 from MicroStrain® is used as ground
truth.
The paper is organized as follows: in Section 2, the
proposed method is described. It is important to note that
the paper is presented in a self-contained style, since all
the required equations for implementing the proposed
method are included. Section 3 presents the experimental
results. In Section 4, the final remarks are presented. An
appendix with the transformations required for
implementing the proposed method is also included.
2. Method description
2.1 Vector state and system specification
The goal of the proposed method is to estimate the
following system state x
:
ˆ
x x
nb b
g
q
ω
′
=
(1)
where q
nb
= [q
1
,q
2
,q
3
,q
4
] is a unit quaternion representing
the orientation (roll, pitch and yaw) of the body (device);
ω
b
= [ω
x
ω
y
ω
z
] is the bias-compensated velocity rotation of
the body expressed in the body frame; x
g
= [x
g_x
x
g_y
x
g_z
] is
the bias of gyros.
3
Rodrigo Munguía and Antoni Grau: A Practical Method for
Implementing an Attitude and Heading Reference System