spie proceedings [spie spie defense, security, and sensing - orlando, florida (monday 5 april 2010)]...

10
Low-cost inertial estimation unit based on extended Kalman filtering Martin ˇ Rez´aˇ c and Zdenˇ ekHur´ak Faculty of Electrical Engineering, Czech Technical University in Prague, Czech Republic ABSTRACT The paper describes some design and implementation aspects of a low-cost inertial estimation unit based on comercially available inertial sensors. The primary task for the unit described in this paper is to estimate the attitude (orientation, pose), but the extension to estimating the position and height is planned. The size of the unit is about the size of a handheld device. It includes a commercially available 3-axis rate gyro combined in a single package with a 3-axis accelerometer and a 3-axis magnetometer. In order to include position estimation capabilities a GPS receiver is attached and a barometric pressure sensor can be added. The primary limitation of the implementation described in this paper is that it assumes no long term acceleration of the carrier (neither along a linear nor along a curved path), which makes the result of less value in aerospace industry but may have some appeal to researcher engineers in other fields. The data measured by the three sensors are fused using the Extended Kalman filtering paradigm. No model of the dynamics of the carrier (aircraft, mobile robot or a patient) is relied upon, the only modeled dynamics is that of sensors, such as the bias and noise. The choice of extended Kalman filtering methodology was dictated by strong requirements on computational simplicity. Some experience with implementation of the proposed scheme on a digital hardware (ARM7 based microcontroller) is shared in the paper. Finally, functionality of the presented device is demonstrated in experiments. Besides simple indoor tests, fly experiments were conducted using a small UAV helicopter. Keywords: inertial estimation, inertial measurement unit, IMU, MEMS gyroscope, Coriolis angular rate sensor, accelerometer, extended Kalman filter. 1. INTRODUCTION 1.1 Motivation and goals Estimating the attitude (orientation, pose) and position of a flying vehicle is a common aerospace engineering task based on established mathematical formalism. Advances in MEMS technologies in the past decade make inertial sensors such as accelerometers and angular rate detectors affordable even for low-cost UAVs (but also applications as distant from aerospace as human limb pose detection in medicine or film industry). When ever decreasing cost of GPS receivers is taken into account, the boom in applications that can be witnessed recently is explained. This new technology brings about two challenging features into inertial estimation: the measurements are inherently very noisy and the computational resources are limited. This paper report on a design, implementation and testing of one particular inertial measurement and estima- tion unit developed at FEE CTU Prague within a joint project with Czech Air Force and Air Defense Technical Institute (in Czech abbreviated as VTLaPVO) aimed at development of a new low cost UAV equipped by an inertially stabilized camera platform. This paper presents one of the first achievements on the path towards a full inertial unit for attitude and position estimation based on off-the-shelf inertial sensors and GPS receivers. As such, its use is limited to situation when neither translational nor centripetal acceleration of the carrier can spoil the simple estimates of inclination (direction of the gravity) provided by the accelerometers. While this constitutes a preliminary step in aerospace applications, it can readily useful in other domains such as pose estimation for biomedical research or movie making industry. Further author information: (E-mail: [email protected], Telephone: +420-2-2435-7466) 1 Automatic Target Recognition XX; Acquisition, Tracking, Pointing, and Laser Systems Technologies XXIV; Optical Pattern Recognition XXI, edited by F. A. Sadjadi, A. Mahalanobis, S. L. Chodos, W. E. Thompson, D. P. Casasent, T.-H. Chao, Proc. of SPIE Vol. 7696, 76961F · © 2010 SPIE · CCC code: 0277-786X/10/$18 · doi: 10.1117/12.850030 Proc. of SPIE Vol. 7696 76961F-1 Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/16/2013 Terms of Use: http://spiedl.org/terms

Upload: tien-hsin

Post on 08-Dec-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Low-cost inertial estimation unit based onextended Kalman filtering

Martin Rezac and Zdenek Hurak

Faculty of Electrical Engineering, Czech Technical University in Prague, Czech Republic

ABSTRACT

The paper describes some design and implementation aspects of a low-cost inertial estimation unit based oncomercially available inertial sensors. The primary task for the unit described in this paper is to estimate theattitude (orientation, pose), but the extension to estimating the position and height is planned. The size of theunit is about the size of a handheld device. It includes a commercially available 3-axis rate gyro combined in asingle package with a 3-axis accelerometer and a 3-axis magnetometer. In order to include position estimationcapabilities a GPS receiver is attached and a barometric pressure sensor can be added. The primary limitationof the implementation described in this paper is that it assumes no long term acceleration of the carrier (neitheralong a linear nor along a curved path), which makes the result of less value in aerospace industry but may havesome appeal to researcher engineers in other fields. The data measured by the three sensors are fused usingthe Extended Kalman filtering paradigm. No model of the dynamics of the carrier (aircraft, mobile robot or apatient) is relied upon, the only modeled dynamics is that of sensors, such as the bias and noise. The choice ofextended Kalman filtering methodology was dictated by strong requirements on computational simplicity. Someexperience with implementation of the proposed scheme on a digital hardware (ARM7 based microcontroller)is shared in the paper. Finally, functionality of the presented device is demonstrated in experiments. Besidessimple indoor tests, fly experiments were conducted using a small UAV helicopter.

Keywords: inertial estimation, inertial measurement unit, IMU, MEMS gyroscope, Coriolis angular rate sensor,accelerometer, extended Kalman filter.

1. INTRODUCTION

1.1 Motivation and goals

Estimating the attitude (orientation, pose) and position of a flying vehicle is a common aerospace engineeringtask based on established mathematical formalism. Advances in MEMS technologies in the past decade makeinertial sensors such as accelerometers and angular rate detectors affordable even for low-cost UAVs (but alsoapplications as distant from aerospace as human limb pose detection in medicine or film industry). When everdecreasing cost of GPS receivers is taken into account, the boom in applications that can be witnessed recently isexplained. This new technology brings about two challenging features into inertial estimation: the measurementsare inherently very noisy and the computational resources are limited.

This paper report on a design, implementation and testing of one particular inertial measurement and estima-tion unit developed at FEE CTU Prague within a joint project with Czech Air Force and Air Defense TechnicalInstitute (in Czech abbreviated as VTLaPVO) aimed at development of a new low cost UAV equipped by aninertially stabilized camera platform.

This paper presents one of the first achievements on the path towards a full inertial unit for attitude andposition estimation based on off-the-shelf inertial sensors and GPS receivers. As such, its use is limited tosituation when neither translational nor centripetal acceleration of the carrier can spoil the simple estimates ofinclination (direction of the gravity) provided by the accelerometers. While this constitutes a preliminary stepin aerospace applications, it can readily useful in other domains such as pose estimation for biomedical researchor movie making industry.

Further author information: (E-mail: [email protected], Telephone: +420-2-2435-7466)

1Automatic Target Recognition XX; Acquisition, Tracking, Pointing, and Laser Systems Technologies XXIV; Optical PatternRecognition XXI, edited by F. A. Sadjadi, A. Mahalanobis, S. L. Chodos, W. E. Thompson, D. P. Casasent, T.-H. Chao,

Proc. of SPIE Vol. 7696, 76961F · © 2010 SPIE · CCC code: 0277-786X/10/$18 · doi: 10.1117/12.850030

Proc. of SPIE Vol. 7696 76961F-1

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/16/2013 Terms of Use: http://spiedl.org/terms

1.2 Short survey of attitude estimation literature

The literature on inertial estimation is vast. This paper uses the established methodology of Extended KalmanFiltering described in a numerous monographs on optimal filtering and estimation, such as.1,2 Some practicalhints relevant for navigation technologies can be found in book.3 The principles of most low-cost sensors forUAV applications and some basic ideas of state estimation using Kalman filtering for air vehicles are discussedin.4 The works in5,6 on complementary filters can be regarded as particularly noteworthy as they lead tosignificant simplification and lower computational burden. This paper, though, does not take advantage of thetricks described therein. Another work on complementary filtering was presented in7 and was followed by moreexact solution using optimal Kalman filtering.8 In that reference, two concepts are proposed. One approachwith a nonlinear model similar to the one used in this paper and the second approach with at first completingattitude from accelerometers and magnetometers measurement and then applying standard linear estimationmethods. The task of estimating attitude from 6 sensors (3 accelerometers and 3 magnetometers) requiressolving 6 nonlinear equations with 4 unknown which calls for numerical solution of a general nonlinear leastsquares problem.The presented work took inspiration in a few papers focused on low-cost MEMS-based solutions such as,9,10 whichdescribe inertial estimation units based on Extended Kalman Filter paradigm. The model used for estimation isin both of them is very similar, except for dealing with quaternion amplitude constrain. Yet another documenteddesign of a low-cost inertial measurement unit can be found in,11 which is based on Sigma Points Kalman Filter.

1.3 Outline of the paper

The immediately following, second section gives a brief overview of Extended Kalman Filter algorithm. Thethird section explains the structure of the proposed inertial estimator and the actual computational design. Thefourth section gives a technical information on the hardware platform on which the estimator was based. It alsodiscusses a few software implementation issues. The final, fifth section reports on both indoor and outdoor flytests.

2. SHORT OVERVIEW OF EXTENDED KALMAN FILTER (EKF)

A short summary for the popular estimation methodology for nonlinear systems known as Extended Kalman Fil-ter (EKF) is given in this section, just for completeness and better orientation of a reader in all the computationalsteps. For more details, see arbitrary book on optimal estimation.1,2

Assume a discrete dynamical system modeled as

xt = f(xt−1, ut−1) + wt−1

yt = h(xt, ut) + vt

wt ∼ (0,Q)vt ∼ (0,R),

where xt is the state vector, ut is the (known) input to the system, yt is the measured output, wt is a stochasticand unmeasured disturbance acting on the system and vt is a stochastic noise that corrupts the measurementsof the output. The two stochastic processes are assumed to be best approximated by a white noise with zeromean value and covariance matrices Q and R, respectively.

The essential principle of the Extended Kalman filter is to linearize the nonlinear system dynamics at everytime step around the the best estimate of the current state and apply the matrices defining the linear model(At−1, Ct) for both the time update and measurement update steps. These two steps, which are repetitivelyperformed (the whole procedure being initialized by a state estimate and and estimate of the covariance matrix)can be described as

2

Proc. of SPIE Vol. 7696 76961F-2

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/16/2013 Terms of Use: http://spiedl.org/terms

Time [s]

Figure 1. Angular rate signal measured by a MEMS inertial sensor ADIS 16400 placed on a desk. Its orientation on thedesk was changed manually every five seconds. Dependence of bias on the sensor orientation is clearly visible.

1. Compute partial derivative of the state equation and use it to perform time update of the state estimateand estimation-error covariance as follows:

At−1 =∂f(x,u)∂x

∣∣∣∣x=x+

t−1, u=ut−1

P −t = At−1P +

t−1ATt−1 + Q,

x−t = f(x+

t−1,ut−1)

2. Compute partial derivative of the output equation and use it to perform measurement update of the stateestimate and estimation-error covariance as follows:

Ct =∂h(x,u)∂x

∣∣∣∣x=x−

t , u=ut

Kt = P −t CT

t

(CtP

−t CT

t + R)−1

(1)

x+t = x−

t + Kt

(yt − h(x−

t ,ut))

P+t = P −

t − P −t CT

t KTt

where P is a state covariance matrix, K is known as Kalman gain, A is a state Jacobian, C is an output Jacobianand xt denotes a state estimate. Superscripts in P− and P + stand for a posteriori and a priori estimates.

3. APPLICATION OF EKF TO ATTITUDE ESTIMATION

A naive way to estimate the attitude is to integrate the angular rate signal provided by the gyro. However, thisis highly susceptible to bias in the sensor as illustrated in Fig.1. Not only does a small bias integrate into asignificant error but it also changes significantly with an attitude.

The insightful yet classical approach to overcome this classical problem is to fuse measurements from severalsensors. A particular solution is described by Fig. 2. An attitude estimate (denoted ϕ) is obtained by intergratingthe gyro outputs (after appropriate transformation relating the inertial angular rate vector and the vectorcomprising derivatives of Euler angles, see the discussion in the next paragraph) and then used to estimatethe vector of gravitation (directed towards the ground) and magnetic field (directed towards the north pole),a, m, respectively. The error between these estimates and the vectors actually measured by the accelerometerand magnetometer (a,m) are then multiplied by a correction gain K and fed into current attitude estimatederivative (ϕ). This is a standard scheme of an observer. The goal of the Kalman filter methodology is to choosethe gain K in some optimal way.

3

Proc. of SPIE Vol. 7696 76961F-3

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/16/2013 Terms of Use: http://spiedl.org/terms

[RϕM

RϕG

]∫ω ϕ[

ma

Rω(ϕ) [ma

]K

Figure 2. Schematics of filter model. All sensors are taken as outputs.

3.1 Sensor models

In order to proceed further, models of the sensors are needed. The model of an angular rate sensor (MEMSgyro) is

y = ω + η + b (2)

where y is the gyro rate output (vector), ω is the true angular rate, η is a gaussian sensor noise with zero meanand b is a vector of sensor bias. The sensor is assumed to be calibrated so that there is no need to consider otherthen unity gain. The time indices were omitted for brevity.

The accelerometer gives a measurement of the total acceleration of the sensor, which is composed of thecontributions by a gravity (gravity acceleration vector G rotated via sensor attitude Rϕ), centrifugal acceleration(ω × v, while moving along a curved/circular path) and finally the translational acceleration v. This is given in(3).

a = v + ω × v − RϕG + η (3)

Apparently, the major trouble in using the accelerometers is that left alone they cannot distinguish betweenthe three contributions. The algorithm implemented in the proposed unit assumes that the carrier does not ac-celerate (with the exception of short term variations which can be handled as disturbances), which is a significantlimitation for UAV applications. A simple solution may be to discard the accelerometer measurements once theyexcess the 9.81 value significantly, but this can only be used occasionally because magnetometers alone cannotspecify the orientation in space completely. A more systematic approach would be to perform the fusion of allthe sensors such that the measurements of the accelerometers are continuously confronted with the model of thesystem. Such model is, however, not available in the present situation. The proposed unit is planned to be usedfor various carriers without knowing their dynamics.

Finally, magnetometer measures the influence of the Earth magnetic field. More precisely, the projection ofthe Earth magnetic field vector M =

[Mx My Mz

]T into local sensor coordinates. This projection is describedby attitude rotation matrix Rϕ.

m = Rϕ · [Mx My Mz

]T + η (4)

The formats of outputs of a magnetometer and accelerometer are similar. Both of them measure the projectionof some external force field (gravity or magnetic field) into the local sensor coordinates. With the assumptionson acceleration discussed above, the measured acceleration is

a = Rϕ · [ 0 0 Gz

]T + η (5)

4

Proc. of SPIE Vol. 7696 76961F-4

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/16/2013 Terms of Use: http://spiedl.org/terms

3.2 Attitude representation – Euler angles vs. Quaternions

In order to obtain equations of the model from Fig. 2, proper representation of the orientation must be chosen.In other words, the symbol ϕ in the Fig. 2 must be specified. Traditionally, this Euler angles would be used.As an alternative, quaternions can be considered. The relationship between the quaternions and the vector ofinertial angular rate is

⎡⎢⎢⎣q0q1q2q3

⎤⎥⎥⎦ =

12

⎡⎢⎢⎣

0 −ωx −ωy −ωz

ωx 0 ωz −ωy

ωy −ωz 0 ωx

ωz ωy −ωx 0

⎤⎥⎥⎦

⎡⎢⎢⎣q0q1q2q3

⎤⎥⎥⎦ (6)

where the vector q = [q0, q1, q2, q3]T represents a quaternion vector and ωx, ωy, ωz are the three components ofinertial angular rate vector.

When Euler angles formalism is to be followed, the relationship between the inertial angular rate vector andthe derivatives of Euler angles φ, θ, ψ is

⎡⎣ φ

θ

ψ

⎤⎦ =

⎡⎣ 1 tan θ sinφ tan θ cosφ

0 cosφ − sinφ0 sinφ/ cos θ cosφ/ cos θ

⎤⎦

⎡⎣ ωx

ωy

ωz

⎤⎦ (7)

When comparing (6), which describes the integration through quaternions, and (7), which describes theintegration through Euler angles, the advantage of using quaternions is evident. Both equations are nonlin-ear although the former contains only multiplication of state variables and inputs, while the latter containstrigonometric functions of angles and even fractions which lead to singularities for certain angles values. Thecomplications with gimbal lock due to these singularities are a nightmare in inertial estimation and control. Forthis reason, quaternion representation was used in this project.

3.3 Kalman filter model equations

The core dynamics covered by the Kalman filter is in (6), which describes integration of measured angular rates.This was extended to account for bias estimation. 3 filter states were added to model biases as random walkprocess. A distinguished feature of this application is that no detailed model of flight dynamics of the carrier isavailable. Hence, it is only modeled as low-pass system with a crossover frequency 1

τ . Apparently, such modelis far from perfectly accurate but it is very simple and makes the proposed inertial estimation unit carrier-independent while performing relatively well. The situation with bias estimation is demonstrated in the Fig. 3on the left – gyroscopes signal is taken as an output sensor.

Full equations of Kalman filter are in (8). The filter has 10 state variables: 4 components of quaternion statevector q = [q0, q1, q2, q3]T , three gyro biases bx, by, bz, estimated gyro rates ωx, ωy, ωz and 9 measured outputs forall 3-axis sensors: ωmx

, ωmy, ωmz

for measured gyro rates in body frame, ax, ay, az for measured accelerations(gravity vector) in body frame and mx, my, mz for measured magnetic field also in body frame. Rotationalmatrix R(q) defines projection of vector in reference frame into the body frame. The two vectors defined inreference frame are: gravity vector G = [0 0Gz ]T , where Gz

.= 9.81 ms−2, which is supposed to be constant ina given place on the Earth, and the Earth magnetic field vector M = [Mx,My,Mz]T , which is also supposed tobe constant in a given time and place on the Earth.

5

Proc. of SPIE Vol. 7696 76961F-5

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/16/2013 Terms of Use: http://spiedl.org/terms

[RqM

RqG

ω + b

]∫[

ma

ωm

][q

]f(q, ω) [

ma

ωm

]K

[q

]

[RqM

RqG

]∫ω q [ma

]qRω(q)

[ma

]K

Figure 3. Top: Schematics of filter model where all sensors are taken as outputs. Bottom: Reduced filter model withoutbias estimation, where angular rates are taken as an input and accelerometers with magnetometers signals as an output.

State equations: Output equations:

q0q1q2q3bxbybzωx

ωy

ωz

==========

12 (−ωx · q1 − ωy · q2 − ωz · q3)12 (+ωx · q0 + ωz · q2 − ωy · q3)12 (+ωy · q0 − ωz · q1 + ωx · q3)12 (+ωz · q0 + ωy · q1 − ωx · q2)

000

− 1τ ωx

− 1τ ωy

− 1τ ωz

⎡⎣ ax

ay

az

⎤⎦ = R(q) · [ 0 0 Gz

]T

⎡⎣ mx

my

mz

⎤⎦ = R(q) · [Mx Mx Mx

]T

⎡⎣ ωmx

ωmy

ωmz

⎤⎦ =

⎡⎣ ωx

ωy

ωz

⎤⎦ +

⎡⎣ bpbqbr

⎤⎦

(8)

R(q) =

⎡⎣ q20 + q21 − q22 − q23 2 · (q0 · q3 + q1 · q2) 2 · (q1 · q3 − q0 · q2)

2 · (q1 · q2 − q0 · q3) q20 − q21 + q22 − q23 2 · (q0 · q1 + q2 · q3)2 · (q0 · q2 + q1 · q3) 2 · (q2 · q3 − q0 · q1) q20 − q21 − q22 + q23

⎤⎦ (9)

When there is no need to estimate gyros bias, the model can be further reduced. The gyro rate signal is takenas an input and no bias estimation and compensation is included. This model can be used for some newer andmore precise gyro rate sensors with in-sensor implemented compensation for linear acceleration. Such sensorsusually have bias quite low and it does not change so rapidly according to attitude change. The idea of thissecond variant is just to integrate the gyro rates and when there is some inconsistence between predicted andmeasured output (accelerometers measuring gravity vector and magnetometers measuring Earth magnetic field),only then update the estimated attitude via Kalman correction gain.

State equations: Output equations:

q0q1q2q3

====

12 (−ωx · q1 − ωy · q2 − ωz · q3)12 (+ωx · q0 + ωz · q2 − ωy · q3)12 (+ωy · q0 − ωz · q1 + ωx · q3)12 (+ωz · q0 + ωy · q1 − ωx · q2)

⎡⎣ ax

ay

az

⎤⎦ = R(q) · [ 0 0 Gz

]T

⎡⎣ mx

my

mz

⎤⎦ = R(q) · [Mx My Mz

]T

(10)

6

Proc. of SPIE Vol. 7696 76961F-6

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/16/2013 Terms of Use: http://spiedl.org/terms

Figure 4. Designed inertial unit hardware and its block diagram.

4. DESIGNED HARDWARE AND IMPLEMENTATION

Block diagram of designed hardware can be found on the Fig. 4. Main components are ADIS 16400 (replacingolder favourite ADIS 16350 model with no magnetometer in the package) inertial measurement unit (IMU) fromAnalog devices. This hardware was also equipped with Navilock NL-504ETTL GPS receiver. Even thoughnot used by the algorithm described in this paper, it will surely be useful for future extensions. The maincomputational core of this hardware is the popular LPC2119 microcontroller belonging to the ARM7 family,which can have the maximum 50 MHz clock speed and 16 kB RAM memory. The processor contains all thecommon peripherals like A/D converter, SPI, CAN and RS232 interfaces.

IMU ADIS 16400 contains a 14-bit 3-axis gyroscope with a range of ±300 deg/s, 14-bits 3-axis accelerometerwith a range of ±10 g and a 14-bits 3-axis magnetometer. Analog bandwidth of the accelerometers and gyros is350 Hz and the maximum sampling frequency is 1.2 kHz. Analog bandwidth of magnetometer is even higher –as high as 1.54 kHz.

An essential part of the development and use of the inertial unit is a graphical user interface (GUI). It wasdesigned for both realtime display of the measured inertial data and the estimated attitudes, but can also beused for off-line scrutinizing the data logged into an SD card. A screenshot of the GUI can be seen in the Fig. 5.GUI shows all three types of inertial sensors in graph, 2D map of route from GPS, and 3D model showing actualattitude estimate.

4.1 Implementation of extended Kalman filter algorithm

To make the description of the development of the Kalman filter based inertial estimation unit complete, afew words on software issues. The code was written in C and compilled with the popular and free GNU GCCcompiler suite (which supports ARM based processors). On the coding side, the key operations were matrixmultiplications and matrix inversion such as the inversion of the matrix A′ given as

(A′)−1 =(CPCT + R

)−1

,

which is the part of (1). To speed this routine up one can notice that there is no need to compute the inversion(A′)−1 but it suffices to solve the equation A′ · K = PCT . And even more, the fact that matrix A′ issymmetric and positive definite leads to use Cholesky decomposition.12 The fact that the covariance matricesare symmetric calls for algorithms that work with a lower or upper triangles of the matrices only. This bringsanother computational savings. Finally, the computational speed achieved with the extended Kalman filter (8)was 20 Hz.

7

Proc. of SPIE Vol. 7696 76961F-7

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/16/2013 Terms of Use: http://spiedl.org/terms

Figure 5. Graphical user interface for realtime and offline visualization of the measured data and estimated attitudes.

5. EXPERIMENTAL RESULTS - INDOOR AND OUTDOOR FLYING TESTS

This section reports on some experimental results achieved with the proposed inertial unit with a real-timeExtended Kalman Filter. In the right bottom corner of the Fig. 6 are the result of gyro bias estimation duringthe first tens seconds after the algorithm started. At that moment, the IMU was left on the table at rest, thusany un-zero rate ωx,y,z means significant gyro bias. In about 20 s all three biases are automatically estimatedand suppressed from further integration. The rest of the graphs in the Fig. 6 show another experiment. Atfirst, the inertial unit was held by a person at rest for 10 s and then rotated into another direction and backin sequence around all three body axes to about 70 ◦. The graph shows the data from all the three sensors,quaternion estimates and also the Euler angles computed offline for better visualization.

One step further towards a realistic experimentation, the unit was attached to a small UAV helicopter (as inthe Fig. 7). During this flight experiment it has shown up that linear and centrifugal acceleration disturbancesof gravity vector from (3) are not so long term to be able to distort attitude estimation essentially. So that theexperiment confirmed usability of the unit not only in the level steady flight but also in some more complicatedacrobatic flight regime.

6. CONCLUSION

The immediate extension of the proposed inertial estimation unit is, of course, its full integration with GPSreceiver (and also barometric height sensor). Even though the performance of the just implemented estimationunit is surprisingly good even in a wild flight of a small RC helicopter, the inability of the accelerometers aloneto tell appart the contribution of gravity and of a centripetal acceleration during a coordinated turn is a seriousconstraint which must be overcome.

Acknowledgements

This work was supported by the Ministry of Education of the Czech Republic within the project Centre forApplied Cybernetics (1M0567) and by Ministry of Industry and Trade of the Czech Republic within the projectTIP FR-TI1/265.

8

Proc. of SPIE Vol. 7696 76961F-8

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/16/2013 Terms of Use: http://spiedl.org/terms

0 10 20 30 40−0.04

−0.03

−0.02

−0.01

0

0.01

0.02

0.03

0.04

time [s]

angl

e ra

te ω

[rad

/s]

Estimation of gyro bias after system start.

ωx

ωy

ωz

Bx

By

Bz

0 5 10 15 20 25−10

−5

0

5

10

15

time [s]

acce

lera

tion

[ms−

2 ]

Measured accelerations

ax

ay

az

0 5 10 15 20 25−50

0

50

time [s]

mag

netic

fiel

d [μ

T]

Measured magnetometer data

mx

my

mz

0 5 10 15 20 25−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time [s]

angl

e ra

te [r

ad ⋅

s−1 ]

Measured angle rates = gyroscopes

ωx

ωy

ωz

0 5 10 15 20 25−0.2

0

0.2

0.4

0.6

0.8

1

1.2

time [s]

angl

e ra

te [r

ad ⋅

s−1 ]

Estimated quaternions

q0

q1

q2

q3

0 5 10 15 20 25−20

0

20

40

60

80

time [s]

angl

e [°

]Euler angles computed offline from estimated quaternions

yawpitchroll

Figure 6. Right bottom corner: Measured gyro angle rates and appropriate bias estimation during first 30 s after startup,unit is all time at rest. All other figures: Data of movement with inertial unit in laboratory conditions. The inertial unitwas held by a person at rest for 10 s and then it was rotated one way and then back in sequence around all three bodyaxes to about 70 ◦.

Figure 7. Left: In-field experiment. Inertial unit is mounted under the UAV helicopter model. Right: Video 1 of inertialunit in action on robotic arm. http://dx.doi.org/doi.number.goes.here

9

Proc. of SPIE Vol. 7696 76961F-9

http://dx.doi.org/10.1117/12.850030.1

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/16/2013 Terms of Use: http://spiedl.org/terms

REFERENCES[1] Lewis, F., Lihua, X., and Popa, D., [Optimal and robust estimation ], CRC Press (2007).[2] Simon, D., [Optimal state estimation ], John Wiley & Sons, Inc. (2006).[3] Farrell, J., [Aided Navigation: GPS with High Rate Sensors ], McGraw-Hill Professional (2008).[4] Beard, R., “State Estimation for Micro Air Vehicles,” Studies in Computational Intelligence 70, 173–199

(2007).[5] Hamel, T. and Mahony, R., “Attitude estimation on SO (3) based on direct inertial measurements,” in

[International Conference on Robotics and Automation, ICRA2006 ], (2006).[6] Mahony, R., Hamel, T., and Pflimlin, J., “Nonlinear complementary filters on the special orthogonal group,”

Automatic Control, IEEE Transactions on 53(5), 1203–1218 (2008).[7] Bachmann, E., Duman, I., Usta, U., McGhee, R., Yun, X., and Zyda, M., “Orientation tracking for humans

and robots using inertial sensors,” in [International Symposium on Computational Intelligence in Robotics& Automation (CIRA 99) ], 187–194 (1999).

[8] Marins, J., Yun, X., Bachmann, E., McGhee, R., and Zyda, M., “An extended Kalman filter for quaternion-based orientation estimation using MARG sensors,” in [Proceedings of the 2001 IEEE/RSJ, InternationalConference on Intelligent Robots and Systems, Maui, Hawaii ], (2001).

[9] Kim, A. and Golnaraghi, M., “A quaternion-based orientation estimation algorithm using an inertial mea-surement unit,” in [Position Location and Navigation Symposium ], (2004).

[10] Kumar, S. and Jann, T., “Estimation of attitudes from a low-cost miniaturized inertial platform usingkalman filter-based sensor fusion algorithm,” in [SADHANA - Academy Proceedings in Engineering Sci-ences ], 29, 217–235, Indian Academy of Sciences (2004).

[11] Harada, T., Mori, T., and Sato, T., “Development of a tiny orientation estimation device to operate undermotion and magnetic disturbance,” The International Journal of Robotics Research 26(6), 547–559 (2007).

[12] Press, W. et al., [Numerical Recipes in C++ ], Cambridge university Press, 2nd ed. (2002).

10

Proc. of SPIE Vol. 7696 76961F-10

Downloaded From: http://proceedings.spiedigitallibrary.org/ on 04/16/2013 Terms of Use: http://spiedl.org/terms