64 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 1, FEBRUARY 2012
Fig. 2. Inertial integration in the body frame of the last pose of interest.
frame before integration. IMUs are sampled at very high rates
when compared with other sensors that are used in navigation,
on the order of hundreds of samples per second, even in low-cost
units.
This requires updates to be performed at high rates for a
marginalizing filter, such as the EKF, or a large number of pose
states being required for delayed state methods. Another prob-
lem this causes, specifically for batch initialized inertial meth-
ods, is that it requires a large number of inertial observations
that are to be stored and processed in the batch filter once the
initial conditions become observable.
If these observations could be integratedfirst without knowing
the initial conditions of the vehicle, then a number of inertial
observations could be treated as a single observation in the filter,
reducing the problems that are listed previously.
One possible way to do this is to integrate the inertial observa-
tions between required poses in the body frame of the previous
pose, as presented in [16]. An illustration of this concept is
shown in Fig. 2, where the frame that is used for integration
of the inertial observations moves along with the vehicle from
pose to pose.
Since in many navigation applications, poses are only re-
quired at the rate of the next fastest sensor other than the IMU,
for example, the frame rate of the camera, and this sensor usually
takes samples at a much lower rate, many inertial observations
can be integrated between poses this way.
If the inertial integration equations (1)–(3) are rewritten to
perform the integration in the body frame of the last pose, the
following equations are obtained:
p
n
t2
= p
n
t1
+(t2 − t1)v
n
t1
+
t2
t1
g
n
dt
2
+ C
n
bt1
t2
t1
C
bt1
bt
f
b
t
− bias
obs
f
dt
2
(4)
v
n
t2
= v
n
t1
+
t2
t1
g
n
dt + C
n
bt1
t2
t1
C
bt1
bt
f
b
t
− bias
obs
f
dt
(5)
φ
n
t2
= φ
n
t1
+ E
n
bt1
t2
t1
E
bt1
bt
ω
b
t
− bias
obs
ω
dt. (6)
The initial conditions for the rotation matrix C
bt1
bt
at the start
of the integration period time t1 is C
bt1
bt1
, which is the Identity
matrix.
These equations still provide the vehicle pose estimates in the
globally referenced navigation frame, but the integration of the
inertial observations between poses is performed in the body
frame of the last pose and then transformed into the navigation
frame after integration instead of before.
One thing to note from (4)–(6) is that the integrations are
performed in the vehicle body frame; the vehicle states with
respect to this frame can be perfectly known. As a result, the
inertial observations can actually be integrated with no initial
condition requirements, and even before the states themselves
are estimated.
If the integrals of the inertial observations from (4)–(6) are
extracted, the following equations are obtained:
Δp
+t1
t2
=
t2
t1
C
bt1
bt
f
b
t
− bias
obs
f
dt
2
(7)
Δv
t1
t2
=
t2
t1
C
bt1
bt
f
b
t
− bias
obs
f
dt (8)
Δφ
t1
t2
=
t2
t1
E
bt1
bt
ω
b
t
− bias
obs
ω
dt. (9)
These terms that can be preintegrated without initial condi-
tions represent the change in position, velocity, and attitude of
the vehicle from pose 1 to pose 2 in the (moving) body frame
of pose 1.
These preintegrated sets of observations can then be used
as a single delta state observation in place of all the IMU ob-
servations that occur between these two poses. Therefore these
integrated terms will be referred to as preintegrated inertial delta
observations.
Once calculated these delta components can then be substi-
tuted back into (4)–(6) as in (10)–(12), shown below. In these
equations the integration of the gravity term has also been sim-
plified, which can be done as the gravity vector integrand con-
tains no time-dependent terms (the
1
2
factor in (10) is a byproduct
of the double integration process)
p
n
t2
= p
n
t1
+(t2 − t1)v
n
t1
+
1
2
(t2 − t1)
2
g
n
+ C
n
bt1
Δp
+t1
t2
(10)
v
n
t2
= v
n
t1
+(t2 − t1)g
n
+ C
n
bt1
Δv
t1
t2
(11)
φ
n
t2
= EulerFromDCM
C
n
bt1
ΔC
bt1
bt2
. (12)
The delta attitude component ΔC
bt1
bt2
is multiplied by the
previous attitude rotation matrix and then converted back into
the Euler representation that is used for state estimation. This
is done to avoid the small-angle approximation that is used by
the Euler rotation rate matrix as this may no longer be valid
for the longer integration integrals used. Furthermore, the delta
attitude component refers to an actual change in attitude over