
A Complementary Filter for Attitude Estimation of a Fixed-Wing UAV
Mark Euston, Paul Coote, Robert Mahony, Jonghyuk Kim and Tarek Hamel
Abstract— This paper considers the question of using a non-
linear complementary filter for attitude estimation of fixed-wing
unmanned aerial vehicle (UAV) given only measurements from a
low-cost inertial measurement unit. A nonlinear complementary
filter is proposed that combines accelerometer output for low
frequency attitude estimation with integrated gyrometer output
for high frequency estimation. The raw accelerometer output
includes a component for the airframe acceleration, that occurs
primarily as the aircraft turns, as well as the gravitational
acceleration that is required for the filter. The airframe ac-
celeration is estimated using a simple centripetal force model
(based on additional airspeed measurements), augmented by
a first order dynamic model for angle-of-attack, and used to
obtain estimates of the gravitational direction independent of
the airplane manoeuvres. Experimental results are provided
on a real-world data set and the performance of the filter is
evaluated against the output from a full GPS/INS that was
available for the data set.
I. INTRODUCTION
Attitude determination is an essential task for an Un-
manned Aerial Vehicle (UAV). With the growing range of
applications in UAV’s, and the push to make vehicles cheaper
and more reliable, it is of interest to develop robust and
simple algorithms for attitude estimation [1], [9]. There is
a large literature on attitude filtering techniques, see for
example the recent review article by Crassidis et al. [6].
Most of the advanced filter techniques (particle filtering, etc.)
are computationally demanding and unsuitable for the small
scale embedded processors in UAV avionic systems. The two
methods that are commonly used are extended Kalman filter-
ing (EKF) or some form of constant gain state observer, often
termed a complimentary filter due to its frequency filtering
properties for linear systems [12]. Extended Kalman Filtering
has been studied for a range of aerospace applications [7],
[9], [6], [16]. Such filters, however, have proved difficult to
apply robustly [14], [4], [16]. In practice, many applications
use simple linear single-input single-output complementary
filters [16], [5]. In recent work, a number of authors have
developed nonlinear analogous of single-input single-output
(SISO) filters for attitude estimation [15], [19], [18], [13],
[11], [2]. To implement these schemes on a UAV using
inertial measurement unit (IMU) data the accelerometer
output is used to estimate the gravitational direction. The
recent work by the authors [8], [12] allows the full estimation
of vehicle attitude (up to a constant heading error) as well as
gyro biases based just on the accelerometer and gyrometer
M. Euston, P. Coote, J. Kim and R. Mahony are with Department of
Engineering, Australian National University, ACT, 0200, Australia. e-mail:
firstname.surname@anu.edu.au.
T. Hamel is with I3S-CNRS, Nice-Sophia Antipolis, France. e-mail:
thamel@i3s.unice.fr.
data. The filter fails, however, when the vehicle dynamics
are sufficiently large that accelerometer output no longer
provides a good estimate of the gravitational direction. This
is particularly the case for a fixed wing UAV manoeuvering
in a limited space and making repeated rapid turns.
In this paper, we develop a nonlinear complementary filter,
augmented by a simple first order model of vehicle dynamics
that provides excellent attitude estimates for a fixed wing
UAV. The key contribution is to develop a model of the
non-inertial acceleration of the airframe that can be used
to compensate the accelerometer output to obtain a zero
bias estimate of the gravitational direction. The model is
based on a simple centripetal force model derived from the
airspeed and the rate of turn of the vehicle. However, the
angle-of-attack of the airplane is significantly higher during
a sharp turn, and this must be modelled to correctly align
the compensation terms for the accelerometer output. We
address this problem by incorporating a simple first order
model of the angle-of-attack dynamics of the airframe driven
by the pitch rate measurement obtained from the gyrometer
output. The combined system is simple to implement and
achieves excellent performance, given the minimal data that
is available. The algorithm is verified on experimental data
from a fixed wing aerial robotic vehicle. The performance of
the algorithm is confirmed by comparison with an attitude
estimate obtained from a full INS/GPS stochastic filter that
has been run on the experimental data.
II. EXPLICIT COMPLEMENTARY FILTER
A complementary filter for attitude estimation performs
low-pass filtering on a low-frequency attitude estimate, ob-
tained from accelerometer data, and high-pass filtering on a
biased high-frequency attitude estimate, obtained by direct
integration of gyrometer output, and fuses these estimates
together to obtain an all-pass estimate of attitude. When
the pitch and roll of a airplane are modelled as decoupled
processes, a SISO filter can designed for each signal that
uses the the angle between the accelerometer output and
the body-fixed-frame as attitude reference and the separate
gyrometer axis output as velocity reference in a classical
linear complementary filter [3]. When a low pass estimate
of the full attitude can be reconstructed from the IMU
measurements, for example if magnetometer data is also
available and the full coupled rotation matrix for attitude
can be computed as an algebraic function of the gravitational
and magnetic fields measured in the body-fixed-frame, then
nonlinear extensions of the complementary filters have been
available for fifteen years [15], [18]. Magnetometers are
rarely useful on small scale UAVs due to the perturbation of