Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Analysis of State Estimation Drift on a MAV

Using PX4 Autopilot and MEMS IMU


During Dead-reckoning
Jong Tai Jang Angel Santamaria-Navarro, Brett T. Lopez,
Korea Aerospace Research Institute Ali-akbar Agha-mohammadi
169-84, Gwahak-ro, Yuseong-Gu NASA-Jet Propulsion Laboratory,
Daejeon, 34133, Korea California Institute of Technology
jjt@kari.re.kr 4800 Oak Grove Dr.
Pasadena, CA 91109
{ angel.santamaria.navarro, brett.t.lopez,
aliakbar.aghamohammadi }
@jpl.nasa.gov

Abstract—In perceptually degraded situations, state estimation not impacted by environmental features is an important
drift is a major source of failure for autonomous operations of capability. When it comes to robot navigation, the use of
Micro Aerial Vehicles (MAV). This paper serves as a guide for micro-electro-mechanical inertial measurement units
understanding and characterizing estimation drift during
(MEMS IMUs) is a prominent choice for its low power
dead-reckoning navigation with systems using onboard MEMS
inertial measurement units. The analysis is conducted with the consumption, low cost, and ease of use. One of the main
commercial-off-the-shelf Pixhawk flight controller, running the questions when choosing the right IMU and a state
commonly-used PX4 autopilot. The performance of the estimation algorithm is how long/far can the system
Extended Kalman Filter (EKF2) and Local Position Estimator navigate in the absence of exteroceptive sensors. In such
(LPE+Q) were characterized through a two-step experiment. dead-reckoning situations, position and velocity drifts
First, the onboard IMU is manually excited while the become of importance as they highly impact the flight
estimators receive state updates from a motion capture system.
success.
In a second step, a dead-reckoning scenario is created
removing the state updates in the estimators. Heat control was Inertial navigation is a well established field of research
also added to analyze temperature effects on the IMU biases and extends even before the appearance of MEMS
and hence estimation drift. Our analysis shows how the technology. The first inertial sensors were developed and
estimation drift depends on the quality of the IMU, excitation tested by rocket designers in early 20th century [1]. Later
of the IMU, the estimation algorithm, and temperature control.
on, inertial sensor technology was perfected by different
institutions, creating the first Inertial Navigation Systems,
TABLE OF CONTENTS which made possible major mankind achievements such as
the landing of the first man on the Moon (NASA Apollo
1. INTRODUCTION ………………………………….. 1 program). Inertial sensors consisted of precision mechanical
2. NOISE OF MEMS IMU MEASUREMENTS ……… 2 gyros and accelerometers up until the appearance of MEMS
3. STATE ESTIMATORS OF PX4 ……………………. 4 technology. Although MEMS based sensors offered lower
4. EXPERIMENTS ………………………………….... 4 overall performance than their mechanical counterparts,
MEMS inertial sensors have matured over the years, e.g.
5. CONCLUSION …………………………………….. 9
low-cost solid state chip level inertial sensors, offering
ACKNOWLEDGEMENTS ………………………….... 10 drastically reduced sizes, power consumption and costs.
REFERENCES ……………………………………… 10 Dead-reckoning navigation with IMUs is still a topic of
BIOGRAPHY ……………………………………….. 11 research in the robotics community [2][3] as it offers the
possibility of not relying on any exteroceptive sensor
measurement. Nowadays, the integration of IMU
1. INTRODUCTION measurements in a ground robot system is a common
practice [4][5][6].
In perceptually-degraded environments (e.g., in dark or
with dust, fog or smoke) exteroceptive sensors such as In such type of robots, the position drift can be easily
cameras and LiDARs are prone to intermittent failures. In bounded considering the non-holonomic characteristics of
such cases, the ability to use proprioceptive sensors that are the platform (e.g., an ackerman model). This is even more
explicit with the velocity drift, which can be reduced by
978-1-7821-2734-7/20/$31.00 ©2020 IEEE

Authorized licensed use limited to: ITA - Instituto Tecnológico de Aeronáutica. Downloaded on September 08,2020 at 12:59:33 UTC from IEEE Xplore. Restrictions apply.
taking advantage of zero velocity updates in the directions
of contact [7][8]. Contrarily, dead-reckoning IMU
E [(xc(t +τ ) − xc(t)) ] ,   (1)
σ 2x (τ ) = 21
2

t
navigation for Micro Aerial Vehicles (MAVs) is more
xc(t) = ∫t x(λ)dλ,

1
challenging due to the free-flying nature of the platforms, τ (2)
i.e. the velocity and position estimations easily suffer from
single and double integration errors, respectively. where E stands for the “expectation” operation; xc (t) is the
In this paper, we analyze the state estimation drift on average of a cluster (a part) for the whole signal x(t) ,
MAVs while navigating in a dead-reckoning situation. We where the cluster starts at the time t and ends at the time
take advantage of an open source Pixhawk flight controller t +τ . Since the averaged value xc of a cluster is
with a PX4 autopilot and analyze the accumulated drift considered as an averaged sample, this Allan variance is
while using two separated state estimators, EKF2 or also called two-sample variance. Therefore, Allan variance
LPE+Q, based on Extended Kalman Filter. The main σ 2x (τ ) can represent how much variance between two
objective of this paper is to provide some knowledge and neighboring clusters is expected according to the period τ
clarity to the reader when using such settings since the of a cluster. Notice how the definitions in Eq. (1) and (2) are
hardware and software are among the most commonly used continuous time forms. As the actual signal is usually in
modules existing in the market. The remainder of this article discrete time, the respective formula to compute the Allan
is structured as follows. In the next section we define the variance is
concept of noise in IMU measurements. Specifically we
N −1
provide the definitions and descriptions of the Allan
variance to quantify the amount of noise in the
m N →∞ ∑i=0 (xc [k +m] − xc [k]) ,
σ 2x [ ] = 21 lim N
1 2
(3)
measurements. Moreover, we define the noise types and
explain the effects of integrating white noise, which is of with
importance in dead-reckoning navigation phases. Section 3
introduces the state estimation methods analyzed in this xc[k] = m (y[k +m] − y[k]) ,  
1 (4)
study, EKF2 and LPE+Q running in a PX4 flight controller.
Experiments are shown in Section 4. Finally, conclusions y[k] = i∑k x[i].
=0
(5)
are drawn in Section 5.
The Allan variance is usually plotted by its square root
2. NOISE OF MEMS IMU MEASUREMENTS rather than the variance itself. So, it is called, more
specifically, Allan deviation plot. In plotting Allan
Noise is considered the unnecessary component of the deviation, log-log scale is used where the vertical and
IMU readings, e.g. the existing noise in 3-axis horizontal axes are taken from the common logarithms of
accelerometer and 3-axis gyroscope measurements. In order base 10 of their original values. The typical shape of the
to focus on the cause of state estimation drift, it is Allan deviation curve for a signal of the gyroscope and
important to quantify the amount of noise existing in the accelerometer in a MEMS IMU resembles V shape as
IMU readings. This quantification can be done computing shown in Figure 1 and can be divided into three parts: the
the Allan variance analysis, which can be performed on a left side is white noise dominant area and the asymptotic
dataset collected with the IMU kept in a static pose for a slope of the curve is -1/2. The right side is random walk
long time (i.e., several hours). The concepts and definitions dominant area and its slope is +1/2. In the middle where the
of the Allan variance analysis are defined in the following both areas meet and the deviation is minimized, bias
subsection. instability value exists and its slope is 0. The noise
parameters of the IMU signals can easily be obtained from
A. ALLAN VARIANCE ANALYSIS this curve, as described in the following paragraphs.
The Allan variance analysis is a mathematical tool
originally developed for analyzing the drift of frequency for
electronic and atomic clocks. In this subsection, we briefly
describe the main concepts of Allan variance analysis as it is
one of the most powerful tools to decide on the usage of
specific IMUs during robot design phases. There exist
several types of Allan variance analysis [9]. In this paper,
we focus on the extensively used overlapping Allan
variance, named just Allan variance in the rest of the article
for the sake of simplicity.
The Allan variance σ 2x (τ ) can be defined as
Figure 1. Typical shape of Allan deviation curve

Authorized licensed use limited to: ITA - Instituto Tecnológico de Aeronáutica. Downloaded on September 08,2020 at 12:59:33 UTC from IEEE Xplore. Restrictions apply.
There are three kinds of noise parameters for MEMS IMU: impulses randomly occurring in time around the value of
white noise, random walk, and bias instability. The theory zero. The amplitude value of the impulse obeys the normal
and code to get noise parameters from Allan variance distribution in statistics. Its probability density function has
analysis are well explained in [10], and briefly described zero mean and a given value of standard deviation. Since its
hereafter. value always happens near zero, it is relatively confined in
the range of ±3σ value which corresponds to 99.73 % of the
Interpretation of the Allan deviation curve total occurrences of the signal. Therefore, white noise
Let’s assume that the original signal inside the sensor, signals do not diverge over time.
which is usually generated at a higher rate than that of τ , is
Characteristics of random walk
averaged during τ creating the best output at the rate of τ .
Therefore, we can consider τ in the Allan variance formula In state estimation, a random walk is usually the integral
simply as the sampling time of the sensor. Notice how in of white noise. If there exists an energy storing element, like
Figure 1, as the assumed sampling time τ increases from a capacitor or an inductor, it can be assumed that white
the left side, the expected deviation between two noise can be accumulated to become a random walk. The
neighboring samples decreases, since the white noise is next sample value of random walk is deviated from the past
filtered out more by the averaging of samples during the sample by the integration of the white noise. Therefore, a
longer time of τ . However, this decrease is saturated at a random walk is not uncorrelated like white noise. A random
minimum point, which is called Bias Instability. In the case walk diverges indefinitely as the time goes to infinite. But,
of increasing more τ , the two-sample deviation increases in the scale of current time, its range of value is confined
contrarily (the random walk noise diverges by time and the comparatively in probability, i.e. the standard deviation of a
difference between two samples increases). random walk is known to be predictable [11] as explained in
the next subsection.
From the Allan deviation curve, the white noise
parameter N can be obtained as N
= σ x (1) , located on the White noise is more dominant than random walk in
MEMS IMU signals. To eliminate white noise, the signal
line of -1/2 slope, which is fitted on the left side of the Allan
should be low-pass filtered or averaged. But, in the actual
deviation plot. The random walk parameter K can be
obtained as K
= σ x (3) , on the line of +1/2 slope, which is
situation where the signal value changes, the value cannot
be averaged since it is not a constant. Therefore, in dynamic
fitted on the right side of the Allan deviation plot. The bias
conditions (in motion), the signal samples used exist in the
instability can be found in the IMU datasheets, meaning the
left side area of the Allan deviation plot (see Figure 1),
minimum value σ x,min of the Allan deviation plot. Bias
which is the part where white noise is more dominant factor
instability parameter B can be theoretically obtained with than random walk. For this reason, we prefer to focus on
white noise rather than random walk in the signals of IMU.
B = σx min/√( ln2) = σx min/0.664,  
,
2
π ,
(6)
C. INTEGRATION OF WHITE NOISE
where σ x,min is the vertical axis value of the horizontal line
(zero slope), fitted on the middle of the Allan deviation plot. It is known that the drift of position and velocity of INS
The basis for the above noise interpretations will be (Inertial Navigation System) is caused by the integration of
discussed in detail in the next subsection. white noise in the accelerometer and gyroscope signals of an
IMU if the biases are well estimated. Therefore, to know the
B. TYPES OF NOISE IN MEMS IMU characteristics of position and velocity drift, we have to
investigate the characteristics of the single and double
MEASUREMENTS
integration of white noise.
There exist several types of signal noises depending on A single integral of white noise, called random walk, is
their physical causes. For MEMS IMU, there are two major
types, white noise and random walk.
expected to have its standard deviation at time [11] as t
Characteristics of white noise
t t 0.5 1
√f s 0
σ1 ( ) = σ ,  (7)

We refer to white noise to mean additive white gaussian where σ 0 is the standard deviation of the original white
noise (AWGN). In this case, the physical cause of white noise. Although the exponent 0.5 of the time in Eq. (7) is t
noise is thermal vibration of the electrons and molecules smaller than 1, σ 1 increases monotonically in time
colliding with each other in the material of a sensor, such as indefinitely.
conductors and transducers. Since such thermal vibrations A double integral of white noise is expected to have its
happen randomly, a previous sample value of white noise is standard deviation [11] as
not correlated to the next sample value. Therefore, white
noise is modeled as a time series of uncorrelated random
variables. White noise can be thought of as a series of
t
σ2 ( ) = 1
√3
t 1.5 1
√f s
σ0 .   (8)

Authorized licensed use limited to: ITA - Instituto Tecnológico de Aeronáutica. Downloaded on September 08,2020 at 12:59:33 UTC from IEEE Xplore. Restrictions apply.
Comparing Eq. (8) with Eq. (7), the exponent of the time and vision camera.
t is increased to 1.5 and a constant coefficient 1  is
√3
The Q attitude estimator uses a quaternion for attitude
introduced. By the increased exponent, the standard representation, which is accumulated from its derivative.
deviation of a double integrator increases more than that of The derivative is calculated from the angular velocity
the random walk. vector. This angular velocity is obtained from the bias
Given the presented characteristics of noise, we still compensated value of gyroscope. The angular velocities in
have to consider the type of state estimator being used, since the x and y axes are corrected by comparing the gravity
their estimations might differ from each other by the same vectors of the previous and current states. The angular
amount of noise. velocity in the z axis is corrected by the difference of
headings between the previous and the current state from
3. STATE ESTIMATORS OF PX4 magnetometer or vision sensor. The bias of the gyroscope is
obtained by integrating the correction value and by filtering
In this section, we briefly describe the two estimator sets it with a low pass filter [12].
considered, which work with the commercial-off-the-shelf
autopilot PX4 used in the experiments section. There are 4. EXPERIMENTS
currently two types of implementations for state estimation
in PX4. One is EKF2 (an improved version of an Extended Allan variance analysis
Kalman filter) in default for translational and rotational
Before presenting the experiments and analyses of the
motion estimation. The other is a pair of Local Position
estimation drift, we discuss open-source software packages
Estimator, for translational motion estimation, and
that compute the Allan variance and may be useful for the
Quaternion attitude estimator, for rotational motion
rest of the research community. This analysis can be done
estimation (LPE + Q).
with software tools, such as the M-code in Matlab [10],
AlaVar [13] executable in Windows OS and kalibr_allan
A. EKF2 [14] for Linux running ROS. As an example, we analyzed
The state estimator module EKF2 in PX4 uses EKF identical IMU data using the above mentioned algorithms.
(Extended Kalman Filter) algorithm. The state variables in The results are shown in Figure 2, with very similar Allan
EKF2 are position; attitude (quaternion); velocity; variance curves and respective noise parameters. Using the
geomagnetic field and wind velocity in NED PX4 to collect IMU data, Figure 2 shows a skewness in the
(North-East-Down) frame; accelerometer biases; gyroscope data. The skewness phenomenon was confirmed to be a
biases; and geomagnetic field bias in body frame. The result of the aperiodicity in sampling time of IMU data since
nominal update period of the filter is 8 ms. During the PX4 is not fixed-rate process scheduling system. Therefore,
period, IMU data of 1 ms period are integrated into down to get a smooth curve of Allan variance, it is recommended
sampled delta angle and delta velocity of 8 ms period in to collect IMU data through ROS (using Linux) which can
body frame. EKF2 uses IMU data in state prediction phase run periodically or to use the dedicated software provided
and it uses other sensory data like GPS, vision and by the manufacturer of the IMU.
barometer in state correction phase. In state prediction A. SETUP
phase, the down sampled data are added to previous angle
and velocity values after transformed to the correct frame to The experiment setup is composed of a quadcopter, a
predict states, instead of propagating states using state motion capture system (mocap), and a PC. The quadcopter
transition matrix. In state correction phase, various sensor is connected to the PC by serial connection (USB cable).
data like barometer, magnetometer, GPS, vision sensor, The PC is connected to the mocap by LAN. The quadcopter
altitude sensor, optical flow sensor and air speed sensor are was prepared as shown in Figure 3 and is equipped with a
used selectively to correct states. In this filter, as the F330 frame, a Pixhawk v2.1 autopilot hardware, containing
estimated states have a past time stamp, an extrapolation to a primary MEMS IMU MPU-9250 and PX4 v1.8.2 autopilot
current time is done by a complementary filter. software. A VN-100 IMU sensor was attached on it as an
external IMU. The reflective ball markers are attached so
B. LPE AND QUATERNION ATTITUDE ESTIMATOR the object can be tracked by the mocap system. The laptop
(LPE+Q) runs Ubuntu 16.04 Linux and ROS (Robot Operating
System) Kinetic version. A setup was made to connect
Local Position Estimator (LPE) for translational states Vicon mocap, ROS, PX4 and QGroundControl (open source
and Quaternion attitude estimator (Q) for rotational states ground control software). On ROS, vicon_bridge package is
work as a pair and it may be called shortly for convenience used to get pose data stream from the mocap. The mavros
‘LPE+Q’ estimator. LPE is a translational state estimator package is used to connect the PX4 and ROS by MAVLink
module in PX4, which uses a traditional EKF algorithm. It protocol. To send Vicon pose stream data to LPE via
can fuse various sensors for translational state estimation, mavros, mocap_pose_estimate plugin in mavros_extras
such as GPS, accelerometer, barometer, optical flow, mocap

Authorized licensed use limited to: ITA - Instituto Tecnológico de Aeronáutica. Downloaded on September 08,2020 at 12:59:33 UTC from IEEE Xplore. Restrictions apply.
Figure 3. The quadcopter Fercah-1 for experiment

Table 1. The list of changed parameters for EKF2 in


a) M-code - x axis [s], y axis [rad/s]
experiments

Parameters Values

Vision (horizontal) position


EKF2_AID_MASK fusion (bit 3) + vision yaw
fusion (bit 4) = 24

EKF2_HGT_MODE Vision (3)

EKF2_MAG_TYPE None (5)

EKF2_NOAID_TOUT 30,000,000 [μS]

EKF2_EV_DELAY 0 [ms]
b) AlaVar - x axis [s], y axis [rad/s]

Table 2. The list of changed parameters for LPE+Q in


experiments

Parameters Values

Fuse vision position (bit 2)


LPE_FUSION
=4

ATT_EXT_HDG_M Motion Capture (2)

package was also used. QGroundControl (QGC) is


connected to PX4 through mavros and it provides telemetry
functions including parameter setting and signal graph
plotting.
In the setting of EKF2, fusion mode was set to use only
the horizontal position, height and yaw from mocap without
c) Kalibr_allan - x axis [s], y axis [rad/s] fusing magnetometer and barometer. Since mocap data was
transferred to Pixhawk through USB cable which is more
Figure 2. Allan variance plots for the same IMU data prompt than usual wireless connections, the delay time of
using three softwares vision was set to 0 ms. To experiment a 30 seconds of drift
in a dead-reckoning situation, the time limit parameter was
set and a little change of code in the PX4 was made as
5

Authorized licensed use limited to: ITA - Instituto Tecnológico de Aeronáutica. Downloaded on September 08,2020 at 12:59:33 UTC from IEEE Xplore. Restrictions apply.
explained in the next section. Table 1 is the list of the calculated as 0.0103 m/s2. This value is used as σ 0 for the
parameters which were changed from the default values of expectation of velocity and position drift in later sections
EKF2. using Eq. (7) and (8).

In the setting of LPE, fusion mode was set to use only Drift of bias due to temperature—The bias in the signal of
horizontal position, height and yaw from mocap without the accelerometer or gyroscope of an IMU means a
fusing magnetometer and barometer. External heading usage virtually-constant value which is expected to have a fixed
mode should be ‘Motion Capture’ for no delay in heading value. But, the bias changes over time by phenomena such
response. Table 2 is the list of the parameters which were as temperature change and attitude change. It was confirmed
changed from the default values of LPE+Q. experimentally that the temperature is the major factor for
bias drift when using EKF2. After implementing the heat
Modification of PX4 software codes control program in PX4, the heater was turned on for the
The PX4 source code was modified to perform the target temperature of 55oC. The plots in Figure 4 are the
following experiments. This modifications are summarized biases of accelerometer and gyroscope when using EKF2.
hereafter. We can see that the biases change from the beginning but
eventually converge to constant values. The time when they
Dead-reckoning limit time extension in EKF2—By default, converge coincides with the settling of the temperature to
the PX4 time limit of dead-reckoning is 5 sec. If the time the target temperature. From about 320 seconds when the
limit passes, the position and velocity estimations are all temperature is regulated, the bias estimates converge. The
bounded close to zero and PX4 tries to land the drone on the biases converge faster when the heater was controlled (on).
ground in fail-safe mode. Although the parameter
EKF2_NOAID_TOUT is changed to increase the time limit, Relationship between the bias and the signal offset of
it was saturated up to 7 seconds maximumly. By analyzing gyroscope—It was confirmed that the estimates of gyro
the code of PX4, it was found that the variable biases and the gyro offsets in stationary pose match well
no_gps_timeout_max was limiting the dead-reckoning with each other. The gyro offsets calculated during the
possible time. So, its value has been increased. stationary pose can be treated as the true values to evaluate
the performance of EKF. The plots in Figure 5 correspond to
Heat control code inside Pixhawk—Inside of Pixhawk2.1 the biases and the angular velocities for MPU-9250 in
there is a heater for the IMU, but the used version of PX4 stationary pose, showing they have converged by
v1.8.2 does not have heat control program. So, we wrote the temperature regulation. The obtained bias and offset values
necessary code its control. The steady state error in are shown in Table 4. The unit of gyro bias log on PX4 is
temperature control was below than about 0.1 degree not rad/s but rad which is integrated during one sample
celsius. period of about 8 ms (in this case, its units have been
converted for the sake of comparison).
Device driver for VN-100 in PX4—In order to use an
external IMU, we created a device driver inside PX4 Observation of position drift for EKF2—To clearly observe
autopilot to process the readings from a VN-100 IMU. the behavior of the position drift for EKF2, the bias
estimation for accelerometer was inhibited.
Excitation motions for proper bias estimation
Table 3. The sequence of actions for excitational motion
It is reported in [15][16][17] that some excitation
to diminish bias estimation error
motions can be performed to estimate better the IMU biases
(i.e., maneuvers to improve the bias observability). In this
research, we performed such motions, described in Table 3, Seq. Actions
as an initial phase to improve the IMU bias estimates while
using the mocap system. Rotate the vehicle with IMU about +45 degree
1
in pitch axis and hold it for 5 seconds.
B. EXPERIMENTAL RESULTS
Rotate it again about -45 degrees in pitch axis
2
Preliminary experiments and hold it for 5 seconds.

White noise in accelerometer—To know the standard 3 Repeat 1) and 2) above for roll axis.
deviation corresponding to the white noise, the sensor
values of MPU-9250 were measured for about 10 minutes. Repeat all of the above once more (totally two
Since the amounts of white noise for three axes of the 4
times).
acceleration were similar to each other, the standard
deviation for x axis was used in the study as a representative Wait about 30 seconds for the state estimator to
value σ acc for the white noise of accelerometer. σ acc was 5
be stabilized in bias estimation.

Authorized licensed use limited to: ITA - Instituto Tecnológico de Aeronáutica. Downloaded on September 08,2020 at 12:59:33 UTC from IEEE Xplore. Restrictions apply.
a) Accelerometer bias plot - x axis [s], y axis [m/s]
a) Position waveforms and mocap true values
x axis [s], y axis [m]

b) Gyroscope bias plot - x axis [s], y axis [rad]


Figure 4. The bias plots of accelerometer and gyroscope
of MPU-9250, estimated by EKF2 during heating from
initial temperature

a) Bias estimate graph of EKF2 for gyroscope of MPU-9250 b) Zoomed for a) with the explanation for drift behavior
x axis [s], y axis [rad] x axis [s], y axis [m]

Figure 6. Position drift plot and its explanation in the


condition of bias estimation inhibited for EKF2 and 1 Hz
of mocap pose fusion

In Figure 6b, we zoom the previous plot and explain on it


the behavior of the drifts. If a vision pose is given, it attracts
the estimate inward to it. But, soon IMU bias seems to make
b) Angular velocity graph for the gyroscope of MPU-9250
the estimate to diverge. This process is repeated.
x axis [s], y axis [rad/s]
Figure 5. Gyro bias and angular velocity of MPU-9250 Covariance decrease by excitation motion—We confirmed
that the state estimation error covariance for the biases of
Table 4. Comparison of the biases and offsets of accelerometers decreases, as shown in Figure 7, using the
gyroscope excitational motion described in Table 3. The horizontal x
and y axis bias error covariances are decreased by the
Values x y z Unit change of the roll and pitch while also the acceleration
changes (gravity vector mapping into other axes than the
Bias +0.0022 +0.0050 -0.0056 rad/s vertical one). However, it was confirmed in this
experimental setup that, although the error covariances
Offset +0.0020 +0.0055 -0.0060 rad/s
decreased, there was no effect on the decrease of the
velocity drift using the EKF2 with the excitational motion.
Using the internal IMU, the estimated local position of In Figure 8, it is shown the results of 10 times repeated
EKF2 was recorded for about 10 min. in still pose of the velocity drift experiments with two conditions: when the
quadcopter while fusing the constant mocap pose at 1 Hz excitational motion was given and when it was not. As
rate. In this case, ripple-like waveforms appeared, as shown shown by the plots, there is no statistical evidence that
in Figure 6a. Its offset from the true value is somehow shows the decrease in velocity drift by using the excitational
maintained except the Z position. The amplitude of the motion. Its reason is guessed that the velocity drift effects
ripple is changed and it is decreased when it becomes closer by bias mis-estimation and white noise are overwhelmed by
to the true value. The more the offset of the estimated value the excessive drift characteristics inherent in the algorithm
becomes zero, the more the amplitude of ripple decreases. of EKF2.

Authorized licensed use limited to: ITA - Instituto Tecnológico de Aeronáutica. Downloaded on September 08,2020 at 12:59:33 UTC from IEEE Xplore. Restrictions apply.
a) Acceleration showing excitational motion a) Without excitational motion
x axis [s], y axis [m/s2] x axis [s], y axis [m/s]

b) State estimation error covariance for accelerometer bias b) With excitational motion
showing they are decreased by the excitational motion x axis [s], y axis [m/s]
x axis [s], y axis [m2/s2]
Figure 8. Horizontal velocity drift graphs of 10 times
Figure 7. Acceleration and the covariance of state repeated dead-reckoning experiments using EKF2 with
estimation error for accelerometer bias in EKF2 with MPU-9250
MPU-9250

Observing drift for state estimators in dead-reckoning


situation
To experimentally evaluate the amount of drift in a
dead-reckoning situation, we followed this experiment
procedure:

1) To diminish the effect of temperature on the drift,


the temperature inside of IMU in Pixhawk is
maintained at 55 °C by heat control during all the
experiment.
2) The true pose data at more than 10 Hz is given by
the mocap system for static pose of the quadcopter
in level place. And it is also given to the estimator
for around 30 seconds to stabilize it. Figure 9. The velocity graph of EKF2 with MPU-9250 in
3) Mocap streaming is stopped suddenly to enter in a dead-reckoning situation during 30 seconds, overlapped
dead-reckoning situation. 10 times repeated experiments
4) At this point, we leave the velocity estimate to drift
in the dead-reckoning situation during 30 seconds.
Velocity drift for EKF2 in dead-reckoning
situation—Velocity drifts for EKF2 were observed in 10
experiments following the above procedure as Figure 9. If
we use a simple integrator to estimate velocity from the
IMU acceleration, the standard deviation at 30 seconds of
integration can be expected as Figure 10. Velocity drift graph of 10 times repeated
dead-reckoning experiments using LPE+Q with
σ vel (30) = 30
0.5
× 1
√1000
×0.0103 = 0.00178 [ m/s],  (9) MPU-9250 x axis [s], y axis [m/s]

using Eq. (7) and the standard deviation of the of white noise. This excessive drift might be attributed to
accelerometer σ 0 . Although the expected σ vel is in the the miss-estimation of IMU biases. But, as seen in Figure 9,
order of 10-3 m/s, the standard deviation at the end of the if the bias is the cause of the drift, the direction of the
plot in Figure 9 is in the order of 10-1 m/s. Therefore, the divergence should be the same. So, as it is not,
actual velocity drift of the estimator EKF2 is too big (102 miss-estimation is not here the main cause of the excessive
times) compared to the expected value from the integration

Authorized licensed use limited to: ITA - Instituto Tecnológico de Aeronáutica. Downloaded on September 08,2020 at 12:59:33 UTC from IEEE Xplore. Restrictions apply.
Table 5. Standard deviation of drifts after 7 seconds for sources of noise in IMU MEMS and show practical
10 experiments using LPE+Q with MPU-9250 examples on measuring the noise and quantifying the
estimation quality. As an obvious but verified conclusion,
Values X Y Units the velocity drift of INS with MEMS IMU in
dead-reckoning situation is not dependent just on the
σvel 0.012 0.012 m/s accuracy of IMU, but it is rather a complex relationship
between the IMU and the state estimation algorithm used.
σpos 0.091 0.053 m The main causes of the drifts are the state estimator
algorithm itself, temperature change, the marginal
observability of motion state and the accumulation of white
velocity drift. To decrease the drifts, several noise noise. This paper provides a guide to check those causes and
parameters of EKF2 were tuned. But, its drift was not shows the results of a real case using an open source
improved. Therefore, it was needed to compare this result to platform of PX4 and Pixhawk. As a final suggestion, and
that of the other estimator LPE+Q in the next paragraphs. considering that the setup implemented in this paper is
Hence, from these experiments we guess that the major commonly used and commercially available, we recommend
factor of the velocity drift for EKF2 is not the white noise of that before buying an IMU for accuracy reasons, there is a
IMU and also not the bias miss-estimation but rather another required analysis on the causes of drift, as the main causes
unknown factor inherent in state estimation algorithm itself. could be external to the sensor itself. We consider four
major factors, with their suggested solutions for velocity
Velocity drift for LPE+Q in dead-reckoning situation—With drift, all shown in Table 6 (in the order of high-to-low
similar conditions as for the previous experiments using priority). These suggestions are extracted from the
EKF2, velocity drift for LPE+Q was observed, as shown in experimental analysis of this research work.
Figure 10, using the parameters in Table 2. Because of the
characteristics of LPE, the dead-reckoning status cannot be Table 6. The causes and recommendations for decreasing
sustained more than around 7 seconds. After this 7 seconds velocity drift in motion estimator with MEMS IMU
in dead-reckoning, the horizontal x and y velocity estimates
are held at constant values. Therefore, the standard Priority Causes Recommendations
deviations for the position and velocity drifts during 7
seconds were calculated (shown in Table 5). Experiment velocity drift for
To compare the results to those of EKF2, we chose s multiple motion estimators
similar experiment as that for the EKF2, and its standard and select the best one
The state
deviations were calculated for the 7 seconds drifts. The which guarantees that
1 estimation
σ vel in x and y axis for EKF2 was about 0.024 m/s, though velocity drift is smaller than
algorithm
the σ vel for LPE+Q is about 0.012 m/s in Table 5. the expected value by the
Therefore, although these are the results for a few cases, the integration of the white
horizontal velocity drift of LPE+Q was twice better than noise of the IMU
that of EKF2 in these experimental cases. The theoretical
Use a heater to maintain the
standard deviations expected by white noise integrations for The drift of
temperature of the IMU
velocity and position are calculated with Eq. (7) and (8) at bias estimation,
and/or compensate it using a
the end of the time 7 sec as 2 caused by
pre-calculated correction
s
σ vel (7 ) = 7
0.5 1
√1000
0.0103 = 0.00086 [ m/s],   (10) temperature
change of IMU
formula for temperature
change
σ pos (7s) = 7 1 1.5 1
0.0103 = 0.0035 [ m].   (11)
√ 3√1000
The bias
Notice how the experimental values (shown in Table 5) are mis-estimation
much bigger than the theoretical ones. The real σvel is about of the motion Do excitational motion
14 times and the real σpos is about 15 to 26 times bigger than estimator, before flying as written in
those theoretical values. This difference suggest further 3
caused by the Table 3 and/or do it during
investigations. marginal flight (motion planner)
observability
5. CONCLUSIONS of IMU biases
In this paper we analyzed the drift on position and
velocity estimation using a PX4 commercial-off-the-shelf The Use more accurate IMU
autopilot and a MEMS IMU. We provide fundamental 4 accumulation with lower value of bias
descriptions and definitions to understand the most common of white noise instability

Authorized licensed use limited to: ITA - Instituto Tecnológico de Aeronáutica. Downloaded on September 08,2020 at 12:59:33 UTC from IEEE Xplore. Restrictions apply.
ACKNOWLEDGEMENTS [10] [online]https://www.mathworks.com/help/fusion/exam
ples/inertial-sensor-noise-analysis-using-allan-variance
We would like to especially thank Fernando Chavez, .html. Visited on Oct. 14th, 2019.
Micah Feras and Dr. Matthew J. Anderson for the [11] Nichols, Timothy A., "Propagation of Sensor Noise in
construction of the quadcopter (Fercah-1) used in the Navigation Equations and High Accuracy Dynamic
experiments. We also want to thank Thomas Lew and Calibration of Sensors", 2016, Thesis. Rochester
Abhishek Cauligi for helping in experiment method and Dr. Institute of Technology
Benjamin J. Morrel, Arash Kalantari, Andrea T. Tagliabue, [12] Jang, J., Han, S., “Analysis for Quaternion Attitude
Kamak Ebadi, David D. Fan, Giulio Autelitano, Sandro Estimation Program of PX4 (in Korean)”, 2018 ICROS
Buscicchio and Sunggoo Jung for helping in the Annual Conference, pp. 190-191, Korea, 2018.
implementation and the experiments. [13] [online] http://www.alamath.com/alavar. Visited on
This research was carried out at the Jet Propulsion Oct. 14th, 2019.
Laboratory, California Institute of Technology, under a [14] [online] https://github.com/rpng/kalibr_allan. Visited
contract with the National Aeronautics and Space on Oct. 14th, 2019.
Administration (NASA, USA). Financial support from [15] Du, S., Sun, W. and Gao, Y., 2017. Improving
KARI of Korea was given to the first author during his observability of an inertial system by rotary motions of
research stay at NASA-JPL in USA. an IMU. Sensors, 17(4), p.698.
[16] Santamaria-Navarro, A., Solà, J. and Andrade-Cetto,
REFERENCES J., “High-frequency MAV state estimation using
low-cost inertial and optical flow measurement units”,
[1] Biddle, W., “Dark side of the moon: Wernher Von
IEEE/RSJ International Conference on Intelligent
Braun, the third reich, and the space race”. W. W.
Robots and Systems, pp. 1864-1871, Hamburg,
Norton & Company, 2009.
Germany, 2015.
[2] M. Mousa, K. Sharma, and C. G. Claudel, “Inertial
[17] Santamaria-Navarro, A., Loianno, G., Solà, J., Kumar,
measurement units-based probe vehicles: automatic
V., and Andrade-Cetto, J., “Autonomous navigation of
calibration, trajectory estimation, and context
micro aerial vehicles using high-rate and low-cost
detection”, IEEE Transactions on Intelligent
sensors”, Autonomous Robots, 42(6): 1263-1280,
Transportation Systems, vol. 19, no. 10, pp.
2018.
3133–3143, 2018.
[3] M. Kok, J. D. Hol, and T. B. Schön, “Using
inertial sensors for position and orientation
estimation”, Foundations and Trends in Signal
Processing, vol. 11, no. 1-2, pp. 1–153, 2017.
[4] Brossard M., Barrau A., and Bonnabel, S., “RINS-W:
Robust inertial navigation system on wheels”, arXiv,
2019.
[5] Lobo, J. et al., “Inertial navigation system for mobile
land vehicles.” Proceedings of the IEEE International
Symposium on Industrial Electronics 2, vol 2., pp.
843-848, 1995.
[6] Dissanayake, G., Sukkarieh, S., Nebot, E., et al., “The
Aiding of a low-cost strapdown inertial measurement
unit using vehicle model constraints for land vehicle
applications,” IEEE Transactions on Robotics and
Automation, vol. 17, no. 5, pp. 731-747, 2001.
[7] Wahlstrom, J., Skog, I, Rodrigues, J. G. P., et al.,
“Map-aided dead-reckoning using only measurements
of speed”, IEEE Transactions on Intelligent Vehicles,
vol. 1, no. 3, pp. 244-253, 2016.
[8] Lew, T., Emmei, T., Fan, D. D., Bartlett, T.,
Santamaria-Navarro, A., Thakker, R.,
Agha-mohammadi, A., “Contact Inertial Odometry:
Collisions are your Friends”, arXiv, 2019.
[9] Allan, D., “Statistics of atomic frequency standards”,
Proceedings of the IEEE, vol. 54, pp. 221–230, 1966.

10

Authorized licensed use limited to: ITA - Instituto Tecnológico de Aeronáutica. Downloaded on September 08,2020 at 12:59:33 UTC from IEEE Xplore. Restrictions apply.
BIOGRAPHY
Jong Tai Jang is a senior researcher in Brett T. Lopez is a Postdoctoral
Artificial Intelligence Research Researcher in the Robotic Aerial
Division, at Korea Aerospace Research Mobility Group at NASA Jet Propulsion
Institute (KARI) in South Korea. He Laboratory, Caltech. He received his
received his BSc in Electronics, MSc in B.S. degree from UCLA and his S.M.
Communication and Control and PhD and Ph.D. from MIT in Controls and
in Control and Navigation from Autonomous systems. He was a member
Chungnam National University, of the MIT-Draper team for DARPA’s
Daejeon in Korea in 1997, 1999 and Fast Lightweight Autonomy program
2017 respectively. He researched on SubT project of DARPA where he developed low-latency collision avoidance
at NASA-JPL as a visiting researcher for one year in 2019. algorithms for autonomous flight through unknown
His research interests include physics, robotic autonomy, environments. His research interests include nonlinear
drone control, artificial intelligence. control theory, aerial robotics, and mobility for autonomous
systems.
Angel Santamaria-Navarro is a
Robotics Research Technologist in the Ali-akbar Agha-mohammadi is a
Robotic Aerial Mobility Group, at Robotics Research Technologist with
NASA-JPL. He received the BSc degrees NASA's Jet Propulsion Laboratory
in T.Telecommunications and Industrial (JPL), Caltech. Previously, he held a
Management, and MSc and PhD in position of an Autonomy Research
Automatic Control, Robotics and Engineer with Qualcomm Research and
Computer Vision from the "Universitat a Postdoctoral Researcher with the
Politècnica de Catalunya" (UPC), Laboratory for Information and
Barcelona, in 2004, 2012 and 2017 Decision Systems at MIT. He received
respectively. He was finalist of the Georges Giralt PhD his Ph.D. from Texas A&M University.
award for the best European thesis in robotics (2018) and His research interests include robotic autonomy, mobility
he has published a book, several other book chapters and and perception, stochastic control systems, and filtering
top international journals and conferences. Dr. theory. Dr. Agha leads several projects at JPL on robotic
Santamaria-Navarro has also experience in the private autonomy, including JPL's CoSTAR team participating at
sector for more than 6 years. Prior to his current position, the DARPA SubTerranean Challenge. In 2018, Dr. Agha
he was a postdoctoral researcher at NASA-JPL and at selected as a NASA NIAC Fellow.
"Institut de Robòtica i Informàtica Industrial", CSIC-UPC,
Barcelona. Dr. Santamaria-Navarro expertise thrives at the
intersection between control and perception of mobile
robots and his current research interests include state
estimation, computer vision and controls, with special focus
on unmanned aerial vehicles (UAVs).

11

Authorized licensed use limited to: ITA - Instituto Tecnológico de Aeronáutica. Downloaded on September 08,2020 at 12:59:33 UTC from IEEE Xplore. Restrictions apply.

You might also like