Fast-LIO: Efficient LiDAR-Inertial Odometry
Fast-LIO: Efficient LiDAR-Inertial Odometry
100k-500kHz 100-250Hz
Sub-Map IMU inputs: IMU
Inputs:
... ...
Pre-Processing
Points Accumulation Forward Propagation
(Section III-C-1)
Residual Computation
(Section III-C-3)
Iterated Kalman Filter
Feature
Feature
points:Points: × ×
...
Backward Propagation:
× × ×
...
= −𝐟(𝐱, 𝐮,0)
× × × ×
N
Feature Extraction 10-50Hz
Backward Propagation State Update Converged? Odometry
Planar
&Motion Compensation
(Section III-C-4) Y
Edge (Section III-C-2) Projection of points
State Estimation (10-50Hz)
(a) (b)
Fig. 2. System overview of FAST-LIO. (a): the overall pipeline; (b): the forward and backward propagation.
TABLE I G
g is the unknown gravity vector in the global frame, am
S OME I MPORTANT N OTATIONS
and ωm are IMU measurements, na and nω are the white
Symbols Meaning noise of IMU measurements, ba and bω are the IMU bias
modelled as the random walk process with Gaussian noises
tk The scan-end time of the k-th LiDAR scan.
τi The i-th IMU sample time in a LiDAR scan. nba and nbω , and the notation bac∧ denotes the skew-
ρj The j-th feature point’s sample time in a LiDAR scan. symmetric matrix of vector a ∈ R3 that maps the cross
Ii , Ij , Ik The IMU body frame at the time τi , ρj and tk . product operation.
Lj , Lk The LiDAR body frame at the time ρj and tk .
x, xb, x̄ The ground-true, propagated, and updated value of x. 3) Discrete model:
x
e The error between ground-true x and its estimation x̄. Based on the operation defined above, we can discretize
bκ
x The κ-th update of x in the iterated Kalman filter. the continuous model in (1) at the IMU sampling period ∆t
xi , xj , xk The vector (e.g.,state) x at time τi , ρj and tk .
x̌j Estimate of xj relative to xk in the back propagation. using a zero-order holder. The resultant discrete model is
xi+1 = xi (∆tf (xi , ui , wi )) (2)
Let M be the manifold of dimension n in consideration where i is the index of IMU measurements, the function f ,
(e.g., M = SO(3)). Since manifolds are locally homeomor- state x, input u and noise w are defined as below:
phic to Rn , we can establish a bijective mapping from a
M = SO(3) × R15 , dim(M) = 18
local neighborhood on M to its tangent space Rn via two
. T
encapsulation operators and [23]: x = G RTI G pTI G vIT bTω bTa G gT ∈ M
. T T . T
: M×Rn→M; : M×M → Rn u = ωm aTm , w = nTω nTa nTbω nTba
R1 R2 = Log(RT
M= SO(3) : Rr = RExp(r); 2 R1) ωmi − bωi − nωi
G
vIi (3)
M= Rn : ab = a+b; a b = a−b
G
RI (am − ba − na ) + G gi
r r 2 f (xi , ui , wi ) = i i i i
where Exp (r) = I+ krk sin (krk)+ krk 2 (1−cos (krk)) is the
nbωi
exponential map [23] and Log(·) is its inverse map. For a nbai
compound manifold M = SO(3) × Rn we have: 03×1
measurements, each sampled at time τi ∈ [tk−1 , tk ] with Denoting the covariance of white noises w as Q, then
the respective state xi as in (2). Notice that the last LiDAR the propagated covariance Pb i can be computed iteratively
feature point is the end of a scan, i.e., ρm = tk , while the following the below equation.
IMU measurements may not necessarily be aligned with the
start or end of the scan. P b i FT + Fw QFT ; P
b i+1 = Fxe P b 0 = P̄k−1 . (8)
x
e w
C. State Estimation The propagation continues until reaching the end time of
To estimate the states in the state formulation (2), we use a new scan at tk where the propagated state and covariance
an iterated extended Kalman filter. Moreover, we characterize are denoted as x bk , P
b k . Then Pb k represents the covariance
the estimation covariance in the tangent space of the state of the error between the ground-truth state xk and the state
estimate as in [23, 24]. Assume the optimal state estimate of propagation x bk (i.e., xk x bk ).
the last LiDAR scan at tk−1 is x̄k−1 with covariance matrix 2) Backward Propagation and Motion Compensation:
P̄k−1 . Then P̄k−1 represents the covariance of the random When the points accumulation time interval is reached at
error state vector defined below: time tk , the new scan of feature points should be fused with
iT the propagated state x bk and covariance P b k to produce an
.
h
ek−1 = xk−1 x̄k−1 = δθ T G p
x e TI G veIT b
eT b
ω
eT Gg
a e T
optimal state update. However, although the new scan is at
time tk , the feature points are measured at their respective
where δθ = Log(G R̄TI G RI ) is the attitude error and the rests sampling time ρj ≤ tk (see Section. III-B.4 and Fig. 2 (b)),
are standard additive errors (i.e., the error in the estimate x̄ causing a mismatch in the body frame of reference.
of a quantity x is x e = x − x̄). Intuitively, the attitude error To compensate the relative motion (i.e., motion distortion)
δθ describes the (small) deviation between the true and the between time ρj and time tk , we propagate (2) backward as
estimated attitude. The main advantage of this error definition x̌j−1 = x̌j (−∆tf (x̌j , uj , 0)), starting from zero pose and
is that it allows us to represent
the attitude uncertainty by the rests states (e.g., velocity and bias) from x bk . The backward
3 × 3 covariance matrix E δθδθ T . Since the attitude has 3 propagation is performed at the frequency of feature point,
degree of freedom (DOF), this is a minimal representation. which is usually much higher than the IMU rate. For all
1) Forward Propagation: the feature points sampled between two IMU measurements,
The forward propagation is performed once receiving we use the left IMU measurement as the input in the back
an IMU input (see Fig. 2). More specifically, the state is propagation. Furthermore, noticing that the last three block
propagated following (2) by setting the process noise wi to elements (corresponding to the gyro bias, accelerometer bias,
zero: and extrinsic) of f (xj , uj , 0) (see (3)) are zeros, the back
propagation can be reduced to:
x
bi+1 = x
bi (∆tf (b
xi , ui , 0)) ; x
b0 = x̄k−1 . (4)
D. Outdoor Experiments
Here we show the performance of FAST-LIO in outdoor
environments. Fig. 6 shows the mapping results (displaying
all raw points) of the Main Building in the University of
Hong Kong. The sensor suite is handheld during the data
collection and returned to the starting position after traveling Fig. 6. Mapping results of the Main Building, University of Hong Kong.
The LiDAR platform, the same one in Fig. 1, is handheld randomly walking
around 140m. The drift in this experiment is smaller than to scan the building. In order to show the drift, the experiment are started
0.05% (0.07 m drift over 140 m trajectory). The scan rate is and ended at the same place.
set to 10 Hz in this experiment, and the average processing
time of a scan is 25 ms with average 1497 effective feature
V. C ONCLUSION
points.
Further, we compare FAST-LIO with LINS7 [21]. To make This paper proposed FAST-LIO, a computationally effi-
a fair comparison, we use the dataset from LINS [21], which cient and robust LiDAR-inertial odometry framework by a
is a seaport area data collected by a Velodyne VLP-16 and tightly-coupled iterated Kalman filter. We used the forward
an Xsens MTiG-710 IMU7 . The results show that the FAST- and backward propagation to predict the states and compen-
LIO can achieve better mapping accuracy (see Fig. 7) and sate for the motion in a LiDAR scan. Besides, we proved and
only consumes 7.3 ms processing time in average while implemented an equivalent formula that can achieve much
LINS takes 34.5 ms in average, both running at 10Hz. It lower complexity for the Kalman gain computation. FAST-
should be noted that since the EKF formula in LINS package LIO was tested in the UAV flight experiment, challenging
has high computational complexity (see Section. III-C.4)), it indoor environment with large rotation speed and outdoor
down samples the feature points to average 147 points in environment. In all tests, our method produced precise, real-
a scan (while 784 in a scan for FAST-LIO). This leads to time, and reliable navigation results.
degraded mapping accuracy for LINS. The result in Fig. 7
shows all the feature points (before down-sample) of FAST-
A PPENDIX
LIO and LINS. All the experiments are conducted on the
DJI Manifold2 onboard computer. A. Computation of Fxe and Fw
7
[Link] Recall xi = x bi x ei , denote g (e x i , wi ) =
LINS---LiDAR-inertial-SLAM f (xi , ui , wi )∆t = f (b
xi x
ei , ui , wi )∆t. Then the error state
[6] P. J. Besl and N. D. McKay, “Method for registration of 3-d shapes,”
in Sensor fusion IV: control paradigms and data structures, vol. 1611.
International Society for Optics and Photonics, 1992, pp. 586–606.
[7] A. Segal, D. Haehnel, and S. Thrun, “Generalized-icp.” in Robotics:
science and systems, vol. 2, no. 4. Seattle, WA, 2009, p. 435.
[8] J. Zhang and S. Singh, “Loam: Lidar odometry and mapping in real-
time.” in Robotics: Science and Systems, vol. 2, no. 9, 2014.
[9] T. Shan and B. Englot, “Lego-loam: Lightweight and ground-
optimized lidar odometry and mapping on variable terrain,” in 2018
IEEE/RSJ International Conference on Intelligent Robots and Systems
(IROS). IEEE, 2018, pp. 4758–4765.
[10] J. Lin and F. Zhang, “Loam livox: A fast, robust, high-precision lidar
odometry and mapping package for lidars of small fov,” in 2020 IEEE
International Conference on Robotics and Automation (ICRA). IEEE,
2020, pp. 3126–3131.
[11] W. Zhen, S. Zeng, and S. Soberer, “Robust localization and local-
izability estimation with a rotating laser scanner,” in 2017 IEEE
International Conference on Robotics and Automation (ICRA). IEEE,
2017, pp. 6240–6245.
Fig. 7. Comparison between LINS [21] and FAST-LIO. The data is from [12] Y. Balazadegan Sarvrood, S. Hosseinyalamdary, and Y. Gao, “Visual-
[21] and is collected by a Velodyne VLP-16 LiDAR and an Xsens MTiG- lidar odometry aided by reduced imu,” ISPRS international journal of
710 IMU, the green straight line in the center is the odometry output. geo-information, vol. 5, no. 1, p. 3, 2016.
[13] X. Zuo, P. Geneva, W. Lee, Y. Liu, and G. Huang, “Lic-fusion: Lidar-
model (5) is rewriten as: inertial-camera odometry,” in 2019 IEEE/RSJ International Confer-
ence on Intelligent Robots and Systems (IROS), 2019, pp. 5848–5854.
x
ei+1 = ((b
xi e
xi )g (e
xi , wi )) (b
xi g (0, 0)) [14] P. Geneva, K. Eckenhoff, Y. Yang, and G. Huang, “Lips: Lidar-
| {z } (22) inertial 3d plane slam,” in 2018 IEEE/RSJ International Conference
G(e
xi ,g(e
xi ,wi )) on Intelligent Robots and Systems (IROS). IEEE, 2018, pp. 123–130.
[15] C. Forster, L. Carlone, F. Dellaert, and D. Scaramuzza, “On-manifold
Following the chain rule of partial differention, the matrix preintegration for real-time visual–inertial odometry,” IEEE Transac-
Fxe and Fw in (5) are computed as below. tions on Robotics, vol. 33, no. 1, pp. 1–21, 2016.
[16] M. Hsiao, E. Westman, and M. Kaess, “Dense planar-inertial slam
Fxe = ∂G(ex∂e
i ,g(0,0))
xi + ∂G(0,g(e
∂g(e
xi ,0)) ∂g(e
xi ,0)
xi ,0)
∂e
xi
with structural constraints,” in 2018 IEEE International Conference
x
ei =0 on Robotics and Automation (ICRA). IEEE, 2018, pp. 6521–6528.
(23) [17] H. Ye, Y. Chen, and M. Liu, “Tightly coupled 3d lidar inertial
∂G(0,g(0,wi )) ∂g(0,wi )
Fw = ∂g(0,wi ) ∂wi odometry and mapping,” in 2019 International Conference on Robotics
wi =0 and Automation (ICRA). IEEE, 2019, pp. 3144–3150.
B. Equivalent Kalman Gain formula [18] A. Bry, A. Bachrach, and N. Roy, “State estimation for aggressive
flight in gps-denied environments using onboard sensing,” in 2012
Based on the matrix inverse lemma [27], we can get: IEEE International Conference on Robotics and Automation. IEEE,
2012, pp. 1–8.
−1 −1 [19] J. A. Hesch, F. M. Mirzaei, G. L. Mariottini, and S. I. Roumeliotis, “A
P−1 +HT R−1 H = P − PHT HPHT + R HP laser-aided inertial navigation system (l-ins) for human localization in
unknown indoor environments,” in 2010 IEEE International Confer-
Substituting above into (20), we can get: ence on Robotics and Automation. IEEE, 2010, pp. 5376–5382.
−1 T −1 [20] Z. Cheng, D. Liu, Y. Yang, T. Ling, X. Chen, L. Zhang, J. Bai,
K = HT R−1 H+P−1 H R Y. Shen, L. Miao, and W. Huang, “Practical phase unwrapping of
−1 interferometric fringes based on unscented kalman filter technique,”
T −1
= PH R −PH HPHT +R T
HPHT R−1 Optics express, vol. 23, no. 25, pp. 32 337–32 349, 2015.
[21] C. Qin, H. Ye, C. E. Pranata, J. Han, S. Zhang, and M. Liu, “Lins:
Now note that HPHT R−1 = HPHT + R R−1 − I.
A lidar-inertial state estimator for robust and efficient navigation,”
in 2020 IEEE International Conference on Robotics and Automation
Substituting it into above, we can get the standard Kalman (ICRA). IEEE, 2020, pp. 8899–8906.
gain formula in (18), as shown below. [22] M. Raitoharju and R. Piché, “On computational complexity reduction
−1 methods for kalman filter extensions,” IEEE Aerospace and Electronic
K = PHT R−1 − PHT R−1 + PHT HPHT + R Systems Magazine, vol. 34, no. 10, pp. 2–19, 2019.
−1 [23] C. Hertzberg, R. Wagner, U. Frese, and L. Schröder, “Integrating
= PHT HPHT + R . generic sensor fusion algorithms with sound state representations
through encapsulation of manifolds,” Information Fusion, vol. 14,
R EFERENCES no. 1, pp. 57–77, 2013.
[24] W. Xu, D. He, Y. Cai, and F. Zhang, “Robots state estimation and
[1] K. Sun, K. Mohta, B. Pfrommer, M. Watterson, S. Liu, Y. Mulgaonkar, observability analysis based on statistical motion models,” 2020.
C. J. Taylor, and V. Kumar, “Robust stereo visual inertial odometry [25] F. Bullo and R. M. Murray, “Proportional derivative (pd) control on
for fast autonomous flight,” IEEE Robotics and Automation Letters, the euclidean group,” in European control conference, vol. 2, 1995,
vol. 3, no. 2, pp. 965–972, 2018. pp. 1091–1097.
[2] T. Qin, P. Li, and S. Shen, “Vins-mono: A robust and versatile monoc- [26] M. Bloesch, M. Burri, S. Omari, M. Hutter, and R. Siegwart, “Iterated
ular visual-inertial state estimator,” IEEE Transactions on Robotics, extended kalman filter based visual-inertial odometry using direct pho-
vol. 34, no. 4, pp. 1004–1020, 2018. tometric feedback,” The International Journal of Robotics Research,
[3] C. Forster, M. Pizzoli, and D. Scaramuzza, “Svo: Fast semi-direct vol. 36, no. 10, pp. 1053–1072, 2017.
monocular visual odometry,” in 2014 IEEE international conference [27] N. J. Higham, Accuracy and stability of numerical algorithms. SIAM,
on robotics and automation (ICRA). IEEE, 2014, pp. 15–22. 2002.
[4] D. Wang, C. Watkins, and H. Xie, “Mems mirrors for lidar: A review,”
Micromachines, vol. 11, no. 5, p. 456, 2020.
[5] Z. Liu, F. Zhang, and X. Hong, “Low-cost retina-like robotic lidars
based on incommensurable scanning,” IEEE/ASME Transactions on
Mechatronics, pp. 1–1, 2021.