Next Article in Journal
The Development of a Monitoring System Using a Wireless and Powerless Sensing Node Deployed Inside a Spindle
Previous Article in Journal
Contamination of Runoff Water at Gdańsk Airport (Poland) by Polycyclic Aromatic Hydrocarbons (PAHs) and Polychlorinated Biphenyls (PCBs)
Open AccessArticle

Attitude Determination Using a MEMS-Based Flight Information Measurement Unit

Department of Aerospace Engineering, Tamkang University, Tamsui, New Taipei City 25137, Taiwan
*
Author to whom correspondence should be addressed.
Sensors 2012, 12(1), 1-23; https://doi.org/10.3390/s120100001
Received: 6 December 2011 / Revised: 19 December 2011 / Accepted: 19 December 2011 / Published: 22 December 2011
(This article belongs to the Section Physical Sensors)

Abstract

Obtaining precise attitude information is essential for aircraft navigation and control. This paper presents the results of the attitude determination using an in-house designed low-cost MEMS-based flight information measurement unit. This study proposes a quaternion-based extended Kalman filter to integrate the traditional quaternion and gravitational force decomposition methods for attitude determination algorithm. The proposed extended Kalman filter utilizes the evolution of the four elements in the quaternion method for attitude determination as the dynamic model, with the four elements as the states of the filter. The attitude angles obtained from the gravity computations and from the electronic magnetic sensors are regarded as the measurement of the filter. The immeasurable gravity accelerations are deduced from the outputs of the three axes accelerometers, the relative accelerations, and the accelerations due to body rotation. The constraint of the four elements of the quaternion method is treated as a perfect measurement and is integrated into the filter computation. Approximations of the time-varying noise variances of the measured signals are discussed and presented with details through Taylor series expansions. The algorithm is intuitive, easy to implement, and reliable for long-term high dynamic maneuvers. Moreover, a set of flight test data is utilized to demonstrate the success and practicality of the proposed algorithm and the filter design.
Keywords: attitude determination; quaternion; flight information measurement unit; extended Kalman filter attitude determination; quaternion; flight information measurement unit; extended Kalman filter

1. Introduction

Obtaining an accurate vehicle attitude is essential for airplane navigation and control applications. The effectiveness of navigation and control is determined by the degree of precision of the navigation and control systems, including inertial measurement units. Traditional units—such as gimbaled gyroscopes, laser gyroscopes, and fiber optic gyroscopes and accelerometers—provide high-precision information for navigational calculations [1]; they are, however, expensive and bulky. With the maturation and advancement of semiconductor manufacturing technology, MEMS sensors are increasingly used in flight attitude calculations [29].

The attitude of the aero-vehicle can be determined by integrating the angular rates (pitch, roll, and yaw rates) of the vehicle. Nevertheless, accuracy requirements usually cannot be satisfied by using the inexpensive MEMS sensors. Therefore, some forms of Kalman filtering or complementary fusion algorithms are normally employed to provide more accurate and reliable attitude angles in the MEMS attitude determination systems. The pitch and roll angles can be estimated by using the gravity components from the measurement of the accelerometers [2]. Gravity acceleration cannot be determined accurately from the accelerometer measurements, especially in long-term high dynamic maneuvers. To increase the accuracy and reliability of the attitude determination, a considerable number of advanced fusion technologies using MEMS sensors were proposed in the literature. Using a triad of rate gyros fused with an ultra-short baseline, the differential GPS attitude determination system was presented in [2]. In [4], a gyro-free attitude determination was discussed by using accelerometers, magnetic sensors, and GPS as the primary sensors. A fuzzy logic based closed-loop strapdown attitude system for UAV is presented in [5]. In [7], a constrained Kalman filter was developed to eliminate the effects of kinetic accelerations in the y and z axes in the body frame, while using a differential speed signal to correct the kinetic acceleration of the x axis. A gain-scheduled complementary filter augmented by an acceleration-based switching architecture was proposed in [9] to provide robust performance, even when the vehicle is subject to strong acceleration. A miniature MEMS-based attitude and heading reference system, which makes use of an extended Kalman filter with adaptive gain, and with accelerometers and magnetic sensor as the measurements, was presented in [10]. A precision attitude determination employing a multiple model adaptive estimation scheme was reported in [11]. A Linear Fusion Algorithm for Attitude Determination Using Low Cost MEMS-Based Sensors is considered in [12]. In [13], an integrated MEMS INS/GPS and intelligent artificial neural network with Rauch-Tung-Striebel smoother scheme was proposed for position and orientation determination.

This study considers the utilization of a low-cost MEMS-based flight information measurement unit to determine attitude. The main contribution of this paper is that an attitude estimation algorithm is proposed using MEMs sensors. In the proposed algorithm, an extended Kalman filter is used instead of the classical channel-wise complementary filters for attitude estimation. Specifically, the roll and pitch angles computed from the gravity force decomposition, and the heading angle determined from the electronic compass unit, are selected as the measurement of the Kalman filter. This is not commonly used in airplane attitude determination. The immeasurable gravity accelerations are deduced from the outputs of the three axes accelerometers, the relative accelerations, and the accelerations due to body rotation. The proposed attitude determination algorithm employed the evolution of the four elements of the quaternion method as the dynamical model for the Kalman filter. The constraint of the four elements of the quaternion method is thus treated as a perfect measurement and is integrated into the filter design. By adopting a coupled and time-varying approach, the proposed algorithm performs well under different dynamic maneuvers. The proposed attitude estimation algorithm is intuitive and easy to implement, and due to the vehicle dynamics has been considered in the gravity computation, the algorithm can handle the situation of the long-term high dynamic maneuvers. Detailed derivations establish the approximations of the time varying noise variances of the measured signals.

The proposed algorithm is demonstrated through a set of flight test data collected from the in-house designed MEMS-based attitude determination system. The duration of the flight covers a total of 3,620 s. Details of the evolutions of the attitude angles are examined and explored in the paper. The results show the long-term stability and practicality of the proposed attitude estimation algorithm.

2. Flight Information Measurement Unit

The determination of attitude considered in this study is based on a set of signals measured from an in house-designed Flight Information Measurement Unit (FIMU) [14] and a GPS receiver. The main function of the FIMU system is to measure the required signals for navigation computation and estimation; this includes the accelerations, angular rates, magnetic fields, differential pressures, static pressure, and temperature in a real-time and continuous manner. Hence, the receiver (an on-board computer) can use this information to calculate the vehicle’s attitude, heading, airspeed, altitude, angle of attack, and temperature information. The basic system structure is shown in Figure 1.

To avoid or reduce electromagnetic interference during the measurement process (because the magnetic sensor is extremely sensitive to its ambient disturbances), the FIMU is split into two separate units, namely, an inertial and air data measurement unit, and an electronic compass unit. On the one hand, the inertial and air data measurement unit provides the capability for three-axis accelerations, three-axis angular rates, airspeed, altitude, temperature, and angle of attack measurements. The compass system, on the other hand, measures the magnitude of the external magnetic fields. A Microchip PIC micro-controller is used in each measuring unit to perform data acquisition and signal processing, and to transfer the results to the host system for further analysis and processing. An image of the FIMU is shown in Figure 2.

3. Attitude Determination

Determination of flight attitude involves the computation of aircraft pitch angle, roll angle, and yaw angle. Pitch angle and roll angle can be computed through the measured aircraft accelerations and body rates from the accelerometers and rate gyros. The heading angle is determined by computing the magnetic heading: a magnetic sensor measures the magnetic field, and corrects for the magnetic declination. With the measured three axes acceleration signals and pitch, roll, and yaw rate information—the pitch and roll angles can be determined either by computing the gravitational acceleration components on the body axes, or by using the Euler quaternion method [15]. Computation of the gravitational acceleration components provides long-term accuracy, although it is accompanied by high noise contents. The quaternion method, however, provides low noise contents and fast response to changes in the input signals, but tends to drift with time due to gyro bias errors. The results of pitch and roll computations (derived from gravitational acceleration components and the quaternion method) are mixed by means of complementary filtering, which is performed by implementing sensor data fusion techniques. This sensor data fusion technique can also be incorporated for heading computation by mixing the heading information from both the compass system and from the Euler quaternion method.

For example, assume that at a certain instant, the pitch angle of the aircraft is θ, roll angle is ϕ, and the gravitational force components along the body axes (X-, Y-, and Z-axis) are gx, gy, and gz respectively, as shown in Figure 3 [1]. The relationship between the gravitational acceleration components and the attitude angle are:

[ g x g y g z ] = [ g   sin   θ g   sin   ϕ   cos   θ g   cos   ϕ   cos   θ ]

Knowing gx, gy, and gz, the roll angle ϕ and pitch angle θ can be computed from:

ϕ = tan 1 ( g y g y ) ,       θ = tan 1 ( g x   cos   ϕ g z )

There are alternative ways to obtain ϕ and θ from Equation (1). They are mathematically equivalent. Computation of the gravity vector g = g x 2 + g y 2 + g z 2 is avoided by using Equation (2). But gx, gy, and gz cannot be measured directly during flight. The accelerations measured from the accelerometers are the total accelerations along the X-, Y-, and Z-axis (ax,ay,az). The relationship between the measured accelerations (ax,ay,az) and the gravitational force components, as shown in Figure 4 [1], are:

a x = U ˙ + ( Wq Vr ) + g x a y = V ˙ + ( Ur Wp ) + g y a z = W ˙ + ( Vp Uq ) + g z
where (U,V,W) are the inertial velocities along the X-, Y-, and Z-axis, whereas (p,q,r) are the pitch rate, roll rate, and yaw rate, respectively. Note that the local level frame is taken as the inertial frame in the study. We may thus derive (gx,gy,gz) by measuring or computing (U,V,W), (, , ), (p,q,r), and (ax,ay,az); consequently, these results can be used to determine the aircraft pitch angle θ and roll angle ϕ. The advantage of this method is that no integral operation is involved in the computation. Thus, the measurement error and gyro biases are not accumulated, thus avoiding divergence in attitude computation. It therefore provides the results with long-term accuracy. However, due to the nature of the MEMS accelerometers and gyros and the computation of (U,V,W) and (, , ), the results usually lead to high noise contents.

For magnetic heading computation, assume that the components of the Earth’s magnetic field along the X-, Y-, and Z-axis are HX, HY, and HZ, respectively. Furthermore, the resolved components of HX, HY, and HZ in the horizontal plane along the heading axis H1 and at right angles to the heading axis H2 (as shown in Figure 5) are given by [1]:

H 1 = H X   cos   θ + H Y   sin   ϕ   sin   θ + H Z   cos   ϕ   sin   θ
H 2 = H Y   cos   ϕ H Z   sin   ϕ

Thus, the magnetic heading of the aircraft ψM is:

ψ M = tan 1   H 2 H 1

If the local magnetic declination is ψmd, the aircraft heading can be determined from ψ = ψM + ψmd.

A common method used to compute the attitude angle is the Euler quaternion method [15], which uses the four symmetrical Euler parameters to define the aircraft attitude. The relationship between the attitude angles and the four parameters are:

[ ϕ θ ψ ] = [ tan 1 ( 2 ( e 0 e 1 + e 2 e 3 ) e 0 2 e 1 2 e 2 2 + e 3 2 ) sin 1 2 ( e 0 e 3 e 1 e 2 ) tan 1 ( 2 ( e 0 e 3 + e 1 e 2 ) e 0 2 + e 1 2 e 2 2 + e 3 2 ) ]

The four parameters are subjected to the following constraint equation:

e 0 2 + e 1 2 + e 2 2 + e 3 2 = 1

The dynamics of the four parameters regarding the aircraft body rate (p,q,r) are characterized in the following form:

[ e ˙ 0 e ˙ 1 e ˙ 2 e ˙ 3 ] = 0.5 [ 0 p q r p 0 r q q r 0 p r q p 0 ]   [ e 0 e 1 e 2 e 3 ]

Therefore, the attitude angle in Equation (7) may be calculated by solving Equation (9). Only body information—(p,q,r) directly measured from rate gyros—is required to solve Equation (9). However, when MEMS gyros are used for body rate measurement, long-term drift is usually encountered due to gyro bias errors and integral operation for solving Equation (9).

4. Kalman Filter Design

As discussed in the previous section, the attitude computed from the gravitational force components provides long-term accuracy with high noise contents. The Euler quaternion method, however, provides less noisy results but suffers from a long-term drift problem. Either method alone may be inadequate for attitude computation. Hence, in this study, the extended Kalman filter [16] is implemented to integrate the attitude computation from the gravitational force components and from the Euler quaternion method.

The Kalman filter is a model-based estimation technique. The dynamics that characterize the relationship between the aircraft body rate (pitch, roll, and yaw rates) and the four parameters of the quaternion method described in Equation (9) comprises the dynamic model of the Kalman filter. The relationship between the attitude angle and the four parameters in Equation (7) is chosen as the output equation of the filter. Thus, the dynamic system can be expressed as:

x ˙ = Ax + w y = h ( x ) + v
where x = [e0 e1 e2 e3]T is the state of the system, y = [ϕ θ ψ 1]T is the output, and w and v are the precess and measurement noise, respectively. The system matrix A and output function h(x) are defined as:
A = [ 0 p 2 q 2 r 2 p 2 0 r 2 q 2 q 2 r 2 0 p 2 r 2 q 2 p 2 0 ]       ;       h ( x ) = [ tan 1 ( 2 ( e 0 e 1 + e 2 e 3 ) e 0 2 e 1 2 e 2 2 + e 3 2 ) sin 1 2 ( e 0 e 3 e 1 e 2 ) tan 1 ( 2 ( e 0 e 3 + e 1 e 2 ) e 0 2 + e 1 2 e 2 2 + e 3 2 ) e 0 2 + e 1 2 + e 2 2 + e 3 2 ]

The measurements of pitch angle θ and roll angle ϕ are determined from the gravitation force components Equation (1), while the heading angle ψ is determined from the measured magnetic heading Equation (6), and is corrected with local magnetic declination. The gravitation force components (gx,gy,gz) are determined from Equation (3), that is:

g x = a x [ U ˙ + ( Wq Vr ) ] g y = a y [ V ˙ + ( Ur Wp ) ] g z = a z [ W ˙ + ( Vp Uq ) ]

Except the measurement of accelerations (ax,ay,az) and body rates (p,q,r), the velocities (U,V,W) and velocities’ rates (, , ) along the body axes are also required. This information can be determined from:

U = V T   ( 1 + tan 2   α + tan 2   β ) 1 2 V = V T   ( 1 + tan 2   α + tan 2   β ) 1 2   tan   β W = V T   ( 1 + tan 2   α + tan 2   β ) 1 2   tan   α
where VT is the airspeed, α is the angle of attack, and α is the side slip angle. This approach requires an angle of attack sensor and a sideslip sensor to acquire the angle of attack and angle of sideslip information. Equation (13) is valid only for no wind is present. Therefore, in this study, the inertial velocity components (U,V,W) are determined from the ground speed information (VN, the north velocity, VE, the east velocity, and VD, the down velocity of the aircraft) from the GPS receiver through yaw, pitch, and roll rotation sequence. Equation (14) expresses the coordinate transformation for (VN, VE, VD) and (U,V,W):
[ U V W ] = [ 1 0 0 0 cos   ϕ sin   ϕ 0 sin   ϕ cos   ϕ ]   [ cos   θ 0 sin   θ 0 1 0 sin   θ 0 cos   θ ]   [ cos   ψ sin   ψ 0 sin   ψ cos   ψ 0 0 0 1 ]   [ V N V E V D ] = [ cos   ψ   cos   θ sin   ψ   cos   θ sin   θ sin   ψ   cos   ϕ + cos   ψ   sin   θ   sin   ϕ cos   ψ   cos   ϕ + sin   ψ   sin   θ   sin   ϕ cos   θ   sin   ϕ sin   ψ   sin   ϕ + cos   ψ   sin   θ   cos   ϕ cos   ψ   sin   ϕ + sin   ψ   sin   θ   cos   ϕ cos   θ   cos   ϕ ]   [ V N V E V D ]

The velocities’ rates (, , ) are computed from (N, E, D) through the coordinate transformation as in Equation (14) for (U,V,W). The velocities’ rates (N, E, D) are computed from (VN, VE, VD) by the linear approximation N = [VN(n) – VN(n – 1)] / Δt, E = [VE(n) – VE(n – 1)] / Δt, and D = [VD(n) – VD(n – 1)] / Δt. The angle of attack and sideslip sensors are not installed on the airplane when conducting the flight test for this research. Therefore, the results of using Equation (13) to compute the inertial velocity components are not investigated in this paper.

For real time computation, the dynamical system in Equation (10) is expressed in discrete time representation as:

x ( n + 1 ) = F ( n ) x ( n ) + w ( n ) y ( n ) = h [ x ( n ) ] + v ( n )
where F(n) = eAΔt, which can be represented by the following form [17]:
F ( n ) = [ cos ( ϑ 2 ) Δ P ( n ) ϑ   sin   ( ϑ 2 ) Δ Q ( n ) ϑ   sin   ( ϑ 2 ) Δ R ( n ) ϑ   sin   ( ϑ 2 ) Δ P ( n ) ϑ   sin   ( ϑ 2 ) cos   ( ϑ 2 ) Δ R ( n ) ϑ   sin   ( ϑ 2 ) Δ Q ( n ) ϑ   sin   ( ϑ 2 ) Δ Q ( n ) ϑ   sin   ( ϑ 2 ) Δ R ( n ) ϑ   sin   ( ϑ 2 ) cos   ( ϑ 2 ) Δ P ( n ) ϑ   sin   ( ϑ 2 ) Δ R ( n ) ϑ   sin   ( ϑ 2 ) Δ Q ( n ) ϑ   sin   ( ϑ 2 ) Δ P ( n ) ϑ   sin   ( ϑ 2 ) cos   ( ϑ 2 ) ] ϑ = [ Δ P Δ Q Δ R ]     ,      ϑ = ( Δ P ) 2 + ( Δ Q ) 2 + ( Δ R ) 2
with ΔP(n) = p(nt, ΔQ(n) = q(nt, ΔR(n) = r(nt, Δt is the sampling time (0.05 s in this study), p(n), q(n), r(n) are the pitch rate, roll rate, and yaw rate at time index n. The output function—h[x(n)]—is nonlinear. Therefore, the extended Kalman filter is chosen to perform the filtering for the attitude determination in this study. The computation process is depicted in Figure 6, and the Kalman filtering details are shown in Figure 7. In the estimation process, after initialization, the iteration loop starts with computing the process matrix F(n−1) and the process noise variance, after which the time updates of the state estimate x ^ n and estimation-error covariance P n are performed. Subsequently, the linearized measurement function Hn and the variances of the measurement noises are determined. The function Hn is obtained by taking the derivatives of the observation function h(x) with respect to the state of the filter. The state of the filter is the quaternion components. Therefore, the function Hn is given in the following form:
H n = h x | x ^ = [ ϕ e 0 ϕ e 1 ϕ e 2 ϕ e 3 θ e 0 θ e 1 θ e 2 θ e 3 ψ e 0 ψ e 1 ψ e 2 ψ e 3 2 e 0 2 e 1 2 e 2 2 e 3 ]

With all the necessary information available, the last step of the iteration loop is to perform the measurement update of the state estimate x ^ n + and estimation-error covariance P n +. Details of the process and measurement noises are presented in the following section.

5. Noise Characteristics

In the Kalman filter design, we use the covariances of the process noise and measurement noise as design parameters to achieve minimum variance of the estimation error. Hence, we must determine the variances of the process and measurement noises as precisely as possible. For the attitude determination considered in this study, the process noises are mainly derived from the outputs of the gyros (p,q,r). Assuming that that p = + , q = + , and r = + , with , , and the mean of p, q, and r respectively, and , , and are the deviations of p, q, and r, Equation (9) can be written as:

[ e ˙ 0 e ˙ 1 e ˙ 2 e ˙ 3 ] =   1 2 [ 0 ( p ¯ + p ˜ ) ( q ¯ + q ˜ ) ( r ¯ + r ˜ ) ( p ¯ + p ˜ ) 0 ( r ¯ + r ˜ ) ( q ¯ + q ˜ ) ( q ¯ + q ˜ ) ( r ¯ + r ˜ ) 0 ( p ¯ + p ˜ ) ( r ¯ + r ˜ ) ( q ¯ + q ˜ ) ( p ¯ + p ˜ ) 0 ]   [ e 0 e 1 e 2 e 3 ] = 1 2 [ 0 p ¯ q ¯ r ¯ p ¯ 0 r ¯ q ¯ q ¯ r ¯ 0 p ¯ r ¯ q ¯ p ¯ 0 ]   [ e 0 e 1 e 2 e 3 ] + 1 2   [ e 1 e 2 e 3 e 0 e 3 e 2 e 3 e 0 e 1 e 2 e 1 e 0 ]   [ p ˜ ( t ) q ˜ ( t ) r ˜ ( t ) ]

The second term on the right hand side is considered as the process noise w(t) in this study. In the sequel, φ̄ represents the expectation or mean of the signal φ, and φ̃ indicates the deviation from the mean value.

For a discrete time system, the process noise w(n) is:

w ( n ) = 1 2   [ e 1 e 2 e 3 e 0 e 3 e 2 e 3 e 0 e 1 e 2 e 1 e 0 ]   [ p ˜ ( n ) q ˜ ( n ) r ˜ ( n ) ]

It is simple to show that the variance of the process noise is L n 1   Q n 1   L n 1 T with:

L n 1 = 1 2   [ e 1 e 2 e 3 e 0 e 3 e 2 e 3 e 0 e 1 e 2 e 1 e 0 ]       ,       Q n 1 = [ σ p 2 0 0 0 σ q 2 0 0 0 σ r 2 ]
where σ p 2, σ q 2, and σ r 2 are the variances of p, q, and r, respectively. The characteristics of the sources of the measurement determine the variances of the measurement noises. In this study, the pitch angle θ and roll angle ϕ are computed from the measured gravity components in Equations (1) and (12), while the heading angle is determined from the electronic compass system in Equation (6). We can therefore represent the variance of the measurement noises in the following form:
R ˜ = [ σ θ ϕ 2 0 0 0 σ ψ 2 0 0 0 σ C 2 ]
where σ θ ϕ 2 represents the variance of pitch and roll angles (θ,ϕ); σ ψ 2 is the variance of heading angle; σ C 2 is the variance of the constraint in Equation (8), and is equal to zero. To avoid numerical problem, the variance σ C 2 can be set to a small constant instead of zero. Since the pitch and roll angles are computed from Equation (12), the deviations of gx, gy, and gz, denoted as g̃x, g̃y, and g̃z, can be decided by expanding Equation (12) in a Taylor series about the mean of the measured variables, (ax,ay,az), (U,V,W), (, , ), (p,q,r) and neglecting the second order terms to obtain:
[ g ˜ x g ˜ y g ˜ z ] = M xyz   ξ
where:
M xyz = [ 1 0 0 1 0 0 0 r q 0 W V 0 1 0 0 1 0 r 0 p W 0 U 0 0 1 0 0 1 q p 0 V U 0 ] ξ = [ a ˜ x a ˜ y a ˜ z U ˙ ˜ V ˙ ˜ W ˙ ˜ U ˜ V ˜ W ˜ p ˜ q ˜ r ˜ ] T

The roll angle ϕ and pitch angle θ are computed from:

ϕ = tan 1 ( g y g z )       ,       θ = tan 1 ( g x   cos   ϕ g z )

Expanding the function ( g y g z ) in the Taylor series about the mean values and neglecting the second and higher order terms, the deviation of ( g y g z ) can be approximated by:

( g y g z ) ˜ = [ 0 1 g z g y g z 2 ]   [ g ˜ x g ˜ y g ˜ z ]

To determine ϕ̃, the function ϕ = tan 1   ( g y g z ) is also expanded in a Taylor series, and the deviation ϕ̃ is approximated as:

ϕ ˜ = 1 1 + ( g y g z ) 2   ( g y g z ) ˜ = [ 0 g z g y 2 + g z 2 g y g y 2 + g z 2 ]   [ g ˜ x g ˜ y g ˜ z ]

Similarly, the deviation of ( g x   cos   ϕ g z ) can be approximated by:

( g x   cos ˜   ϕ g z ) = cos   ϕ g z   g ˜ x + g x   cos   ϕ g z 2   g ˜ z + g x   sin   ϕ g z   ϕ ˜ = cos   ϕ g z   g ˜ x + g x   cos   ϕ g z 2   g ˜ z + g x   sin   ϕ g z   [ 0 g z g y 2 + g z 2 g y g y 2 + g z 2 ]   [ g ˜ x g ˜ y g ˜ z ] = [ cos   ϕ g z g x   sin   ϕ g y 2 + g z 2 g x   cos   ϕ g z 2 g x g y   sin   ϕ g z   ( g y 2 + g z 2 ) ]   [ g ˜ x g ˜ y g ˜ z ]

Thus, the deviation of θ = tan 1 ( g x   cos   ϕ g z ), after a Taylor series expansion and neglecting the higher order terms, can be obtained as:

θ ˜ = 1 1 + ( g x   cos   ϕ g x ) 2   [ cos   ϕ g z g x   sin   ϕ g y 2 + g z 2 g x   cos   ϕ g z 2 g x g y   sin   ϕ g z ( g y 2 + g z 2 ) ]   [ g ˜ x g ˜ y g ˜ z ] = [ g z   cos   ϕ g x 2   cos 2   ϕ + g z 2 g x g z 2   sin   ϕ ( g y 2 + g z 2 ) ( g x 2   cos 2   ϕ + g z 2 ) ( g y 2 + g z 2 ) g x   cos   ϕ g x   g y   g z   sin   ϕ ( g y 2 + g z 2 ) ( g x 2   cos 2   ϕ + g z 2 ) ]   [ g ˜ x g ˜ y g ˜ z ]

Defining:

M ϕ θ = [ 0 g z g y 2 + g z 2 g y g y 2 + g z 2 g z   cos   ϕ g x 2   cos 2   ϕ + g z 2 g x   g z 2   sin   ϕ ( g y 2 + g z 2 ) ( g x 2   cos 2   ϕ + g z 2 ) ( g y 2 + g z 2 ) g x   cos   ϕ g x   g y   g z   sin   ϕ ( g y 2 + g z 2 ) ( g x 2   cos 2   ϕ + g z 2 ) ]

Then:

[ ϕ ˜ θ ˜ ] = M ϕ θ   [ g ˜ x g ˜ y g ˜ z ] = M ϕ θ   M xyz   ξ

Thus, the variance of pitch and roll angles, σ θ ϕ 2, is:

σ θ ϕ 2 = E   [ ( M ϕ θ   M xyz   ξ )   ( M ϕ θ   M xyz   ξ ) T ] = M ϕ θ   M xyz   E   [ ξ ξ T ]   M xyz T   M ϕ θ T = M ϕ θ   M xyz   R ϕ θ   M xyz T   M ϕ θ T
where:
R ϕ θ = diag   [ σ a X 2 σ a Y 2 σ a Z 2 σ U ˙ 2 σ V ˙ 2 σ W ˙ 2 σ U 2 σ V 2 σ W 2 σ p 2 σ q 2 σ r 2 ]
and σ ψ 2 represents the variance of the signal φ. Significantly, in Equation (32) all noise sources are assumed to be uncorrelated.

The variance of the heading angle σ ψ 2 can be obtained in a similar manner. To determine the heading angle, H1 and H2 are computed based on the filtered roll and pitch angles. Thus, the deviations of 1 and 2 can be expressed as:

[ H ˜ 1 H ˜ 2 ] = M H 12   [ H ˜ X H ˜ Y H ˜ Z ] M H 12 = [ cos   θ sin   θ   sin   ϕ cos   ϕ   sin   θ 0 cos   ϕ sin   ϕ ]

Hence the deviation of ( H 1 H 2 ) can be approximated by:

( H 2 H 1 ) ˜ = 1 H 1   H ˜ 2 H 2 H 1 2   H ˜ 1 = [ H 2 H 1 2 1 H 1 ]   [ H ˜ 1 H ˜ 2 ]

Therefore, the deviation of the magnetic heading ψ M = tan 1 ( H 2 H 1 ) after a Taylor series expansion can be approximated by:

ψ ˜ M = 1 1 + ( H 2 H 1 ) 2 ( H 2 H 1 ) ˜ = H 1 2 H 1 2 + H 2 2   [ H 2 H 1 2 1 H 1 ]   [ H ˜ 1 H ˜ 2 ] = M ψ   [ H ˜ 1 H ˜ 2 ] M ψ = [ H 2 H 1 2 + H 2 2 H 1 H 1 2 + H 2 2 ]

Thus, the variance of the heading angle σ ψ 2 is:

σ ψ M 2 = E   { ( M ψ   M H 12   [ H ˜ X H ˜ Y H ˜ Z ] )   ( M ψ   M H 12   [ H ˜ X H ˜ Y H ˜ Z ] ) T } = M ψ   M H 12   R ψ   M H 12 T   M ψ T
where R ψ = diag   [ σ H X 2   σ H Y 2   σ H Z 2 ], σ H X 2, σ H Y 2, and σ H Z 2 are the variances of HX, HY, and HZ, respectively. We also assume that X, Y, and Z are all uncorrelated. The variance of the heading angle σ ψ 2 is equal to σ ψ M 2 since the only difference between the heading angle ψ and the magnetic heading ψM is the magnetic declination angle.

6. Design Evaluation

To evaluate the design of the flight information measurement unit and the extended Kalman filtering for attitude determination, the system is tested on an ultralight aircraft. The test data—including the three axes body rates (p,q,r), accelerations (ax,ay,az), magnetic field (HX,HY,HZ), and information from GPS receiver—are recorded during flight test. The flight was performed in Central Taiwan at approximately 120.44 degrees East Longitude and 23.77 degrees North Latitude area. The flight trajectory is shown in Figure 8. The evolutions of the attitude, including pitch, roll, and heading angles are shown in Figure 9. The attitude angles (directly generated from the measured data and computed after the Kalman filtering) are both shown in Figure 9. The duration of the flight covers a total of 3,620 s. The results are further examined and discussed below. In particular, during certain time intervals, the aircraft performed specific flight trajectories: during the time interval 1,106–1,130 s, the aircraft was making a left turn; from 1,420–1,430 s, the aircraft ascended; the aircraft descended during the time interval 2,340–2,380 s; during the time interval 2,600–2,675 s, the aircraft was making a right turn; from 2,745–2,755 s, the aircraft was in level flight with wing wiggling; and from 2,810–2,900 s, the aircraft was in S-turn maneuver. Much of the noisy signals of the attitude angles in the followings figures are the results deduced from the measurement, whereas the less noisy signals are the results of the filtered signals.

The results for nearly level flight with wing wiggling (intentionally performed) are shown in Figure 10. In this phase, the altitude was sustained at approximately 392 to 393 meters height, as shown in Figure 10(a). The roll angle, as shown in Figure 10(c), responded as commanded. Figure 10(d) shows the tendency of turning to the left. The average of the roll angles in Figure 10(c) is negative, which confirms that the airplane is turning left slowly. The results also show that the time delay of the attitude estimation is approximately 0.5 s due to filter computation. Figure 11 indicates the results for the climbing up condition. During the time period of 1,420 to 1,430 s, the airplane climbed from 1,009 m to 1,019 m height. The results during the descent flight (time duration 2,340 to 2,380 s) are shown in Figure 12. In this descent flight phase, the altitude decreases from 290 to 190 m height. Evolutions of the pitch angle in Figure 12(b) are all positive, with an average of roughly 10 degrees (which is normal for aircraft descent flight). Figure 13 shows the results when the airplane made a left turn. The data from the GPS receiver, as shown in Figure 13(a), indicate that the airplane is turning left. When making a left turn, the airplane banks to the left before starting to turn. The results in Figure 13(c), negative roll angles, show that the airplane rolls to the left, which confirms that the airplane is turning to the left. The heading angle changes from approximately 200 degrees to 60 degrees in Figure 13(d), which verifies that the airplane is making a left turn. Figure 14 presents the results when the airplane made a right turn. In the right turning phase, the airplane has a positive roll angle, which is evident in Figure 14(c). During the time period from 2,810 to 2,900 s, the airplane made an S-turn. Evolutions of the attitude angles during this maneuver are shown in Figure 15. Figure 15(a) shows the trajectory of the S-turn maneuver from the GPS data. During this particular maneuver, the airplane makes a left turn before following with a right turn. Figure 15(c) shows that the roll angle turns to a negative value first, then returns to zero degrees for the left maneuver. Thereafter, it turns positive before returning to zero degrees for a right turning operation. The heading angle shown in Figure 15(d) starts from approximately 340 degrees and gradually decreases to roughly 25 degrees, then increases back to 335 degrees, which correctly corresponds to the S-turn operation.

From the above examinations, we demonstrated that the proposed attitude determination algorithm estimates the attitude angles successfully. The algorithm is also reliable for long-term and high-dynamic maneuvers.

To further investigate the performance of the proposed attitude estimation method, the innovation around ±3 standard deviations (extracted from the innovation covariance) and the quaternion norm constraint in Equation (8) are examined. Figure 16(a–c) represent the results of the innovation when the airplane made a left turn. Figure 16(d–f) are the results for nearly level flight with wing wiggling. At some points, the innovation exceeds the boundaries of the ±3 standard deviations. This is due to the fact that the extended Kalman filter is an approximate solution. It relies on the linearization to propagate the mean and covariance of the state. The norms of the quaternion computed from the extended Kalman filter for all over the duration of flight are displayed in Figure 17. The results show that the constraint optimization is well performed.

Because there is no primary standard, the proposed attitude estimation algorithm is also tested using a motion platform under a controlled environment. An image of the test arrangement is shown in Figure 18. A cantilever beam is mounted atop the motion platform. A specially designed movable mounting plate is constructed at the end of the beam. The IMU is placed on plate. The mounting plate is arranged in such a way that the IMU is mounted with 0 degree pitch angle and −20 degrees roll angles. An on-board computer is mounted on top of the center of the motion platform to record the outputs from the IMU during the test.

The motion platform is controlled to perform uniform circular motion with an angular velocity of 0.873 rad/s. Under this test condition, the velocities (U,V,W) and accelerations (, , ) along the body axes of the IMU are U = 0.4466 m/s, V = W = 0 m/s, and = = 0 m/s2. Using these velocity and acceleration information together with the accelerations measured from the accelerometers and the body rates from the gyro outputs, the pitch angle and roll angle are computed by using each of the gravity force components, the Euler quaternion method (which can be considered as a direct 6-DOF mechanization for attitude determination [18]), and the proposed extended Kalman filtering. The results are shown in Figure 19. The results in Figure 19 indicate that the gravity force decomposition will provide accurate results of 0 degree pitch angle and −20 degrees roll angle but suffer from noisy contents. The roll angle is correctly deduced from the quaternion computation with less noisy contents. However, the pitch angle tends to diverge. The results using the proposed extended Kalman filtering provide both accurate and less noisy results for the pitch and roll angles.

7. Conclusions

This study presented attitude determination using a low cost MEMS-based flight information measurement unit. The proposed attitude estimation algorithm is intuitive, easy to implement, and reliable for long-term high dynamic maneuvers. The algorithm utilized the evolution of the four elements of the quaternion method as the dynamical model for the Kalman filter. The roll and pitch angles (computed from the gravity force decomposition) and the heading angle (determined from the electronic compass unit) are selected as the measurements of the Kalman filter. The immeasurable gravity accelerations are deduced from the outputs of the three axes accelerometers, the relative accelerations, and the accelerations due to body rotation. The constraint of the four elements of the quaternion method is treated as perfect measurement and is integrated into the filter design. Approximations of the time varying noise variances of the measured signals are established with detailed derivations. The proposed algorithm is successfully demonstrated through a set of flight test data collected from the in house-designed MEMS based attitude determination system. To improve the performance of the attitude estimation, estimation of the gyro drift and velocity derivatives can be included into the Kalman filter formulation with the expense of computation demands.

Acknowledgments

This research is supported by the National Science Council, Taiwan, Republic of China, under Grant No. NSC99-2212-E-032-012.

References

  1. Collinson, R.P.G. Introduction to Avionics; Chapman & Hall: London, UK, 1996. [Google Scholar]
  2. Demoz, G.E. A Low-Cost GPS/Inertial Attitude Heading Reference System (AHRS) for General Aviation Applications. Proceedings of IEEE Position Location and Navigation Symposium, Palm Spring, CA, USA, 20–23 April 1998.
  3. Caruso, M.J. Application of Magnetic Sensors for Low Cost Compass Systems. Proceedings of IEEE Position Location and Navigation Symposium, San Diego, CA, USA, 13–16 March 2000.
  4. Demoz, G.E.; Abriel, G.; Elkaim, H.; Powell, J.D.; Parkison, B.W. A Gyro-Free Quaternion-Based Attitude Determination System Suitable for Implementation Using Low Cost Sensors. Proceedings of IEEE Position Location and Navigation Symposium, San Diego, CA, USA, 13–16 March 2000.
  5. Hong, S.K. Fuzzy Logic Based Closed-Loop Strapdown Attitude System for Unmanned Aerial Vehicle (UAV). Sens. Actuat. A Phys 2003, 107, 109–118. [Google Scholar]
  6. Demoz, G.E. Design of Multi-Sensor Attitude Determination Systems. IEEE Trans. Aerospace Electron. Syst 2004, 40, 627–649. [Google Scholar]
  7. Wang, L.; Xiong, S.; Zhou, Z.; Wei, Q.; Lan, J. Constrained Filtering Method for MAV Attitude Determination. Proceedings of IEEE Instrumentation and Measurement Technology Conference, Ottawa, ON, Canada, 17–19 May 2005.
  8. Euston, M.; Coote, P.; Mahony, R.; Kim, J.; Hamel, T. A Complementary Filter for Attitude Estimation of a Fixed-Wing UAV. Proceedings of IROS IEEE/RSJ International Conference on Intelligent Robots and Systems, Nice, France, 22–29 September 2008.
  9. Yoo, T.S.; Hong, S.K.; Yoon, H.M.; Pa, S. Gain-Scheduled Complementary Filter Design for a MEMS Based Attitude and Heading Reference System. Sensors 2011, 11, 3816–3830. [Google Scholar]
  10. Wang, M.; Yang, Y.; Ronald, R.H.; Zhang, Y. Adaptive Filter for a Miniature MEMS Based Attitude and Heading Reference System. Proceedings of IEEE Position Location and Navigation Symposium, Monterey, CA, USA, 26–29 April 2004.
  11. Lam, Q.M.; Crassidis, J.L. Precision Attitude Determination Using a Multiple Model Adaptive Estimation Scheme. Proceedings of IEEE Aerospace Conference, Big Sky, MT, USA, 3–10 March 2007.
  12. Zhu, R.; Sun, D.; Zhou, Z.; Wang, D. A Linear Fusion Algorithm for Attitude Determination Using Low Cost MEMS-Based Sensors. Measurement 2007, 40, 322–328. [Google Scholar]
  13. Chiang, K.-W.; Chang, H.-W.; Li, C.-Y.; Huang, Y.-W. An Artificial Neural Network Embedded Position and Orientation Determination Algorithm for Low Cost MEMS INS/GPS Integrated Sensors. Sensors 2009, 9, 2586–2610. [Google Scholar]
  14. Shiau, J.-K.; Ma, D.-M.; Wu, T.-H.; Huang, L.-H. Design of a MEMS-Based Flight Information Measurement Unit for UAV Application. J. Emerg. Trend. Eng. Appl. Sci 2011, 2, 190–197. [Google Scholar]
  15. Baruh, H. Analytical Dynamics; McGraw-Hill: Singapore, 1999. [Google Scholar]
  16. Simon, D. Optimal State Estimation; Wiley: Hoboken, NJ, USA, 2006. [Google Scholar]
  17. Farrell, J.; Barth, M. The Global Positioning System & Inertial Navigation System; McGraw Hill: Singapore, 1999. [Google Scholar]
  18. Phillips, W.F. Mechanics of Flight, 2nd ed; Wiley: Hoboken, NJ, USA, 2010. [Google Scholar]
Figure 1. System Structure of the Flight Information Measurement Unit.
Figure 1. System Structure of the Flight Information Measurement Unit.
Sensors 12 00001f1 1024
Figure 2. The Flight Information Measurement Unit.
Figure 2. The Flight Information Measurement Unit.
Sensors 12 00001f2 1024
Figure 3. Gravitational force decomposition.
Figure 3. Gravitational force decomposition.
Sensors 12 00001f3 1024
Figure 4. Vector change in velocity components due to angular rotation.
Figure 4. Vector change in velocity components due to angular rotation.
Sensors 12 00001f4 1024
Figure 5. Magnetic force decomposition.
Figure 5. Magnetic force decomposition.
Sensors 12 00001f5 1024
Figure 6. Computation process for attitude determination.
Figure 6. Computation process for attitude determination.
Sensors 12 00001f6 1024
Figure 7. Extended Kalman Filter.
Figure 7. Extended Kalman Filter.
Sensors 12 00001f7 1024
Figure 8. Trajectory of the complete flight.
Figure 8. Trajectory of the complete flight.
Sensors 12 00001f8 1024
Figure 9. Evolutions of the attitude angles.
Figure 9. Evolutions of the attitude angles.
Sensors 12 00001f9 1024
Figure 10. Nearly level flight with wing wiggling.
Figure 10. Nearly level flight with wing wiggling.
Sensors 12 00001f10 1024
Figure 11. Attitude for climbing-up condition.
Figure 11. Attitude for climbing-up condition.
Sensors 12 00001f11 1024
Figure 12. Attitude during the descent flight.
Figure 12. Attitude during the descent flight.
Sensors 12 00001f12 1024
Figure 13. Attitude evolutions during the time period 1,106–1,130 s (making a left turn). The arrow in (a) shows the direction of flight.
Figure 13. Attitude evolutions during the time period 1,106–1,130 s (making a left turn). The arrow in (a) shows the direction of flight.
Sensors 12 00001f13 1024
Figure 14. Attitude evolutions during the time period 2,600–2,675 s (making a right turn). The arrow in (a) shows the direction of flight.
Figure 14. Attitude evolutions during the time period 2,600–2,675 s (making a right turn). The arrow in (a) shows the direction of flight.
Sensors 12 00001f14 1024
Figure 15. Attitude evolutions during an S-turn maneuver. The arrow in (a) shows the direction of flight.
Figure 15. Attitude evolutions during an S-turn maneuver. The arrow in (a) shows the direction of flight.
Sensors 12 00001f15 1024
Figure 16. Innovation around ±3 standard deviations. Green and red lines are the boundaries of the ±3 standard deviations.
Figure 16. Innovation around ±3 standard deviations. Green and red lines are the boundaries of the ±3 standard deviations.
Sensors 12 00001f16 1024
Figure 17. Evolution of the norm of the quaternion vector.
Figure 17. Evolution of the norm of the quaternion vector.
Sensors 12 00001f17 1024
Figure 18. The motion platform and the test arrangement.
Figure 18. The motion platform and the test arrangement.
Sensors 12 00001f18 1024
Figure 19. Results from lab test.
Figure 19. Results from lab test.
Sensors 12 00001f19 1024
Back to TopTop