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

KISS-ICP: In Defense of Point-to-Point ICP –

Simple, Accurate, and Robust Registration If Done the Right Way


Ignacio Vizzo Tiziano Guadagnino Benedikt Mersch Louis Wiesmann Jens Behley Cyrill Stachniss
arXiv:2209.15397v1 [cs.RO] 30 Sep 2022

Fig. 1: Point cloud maps (blue) generated online by our proposed odometry pipeline on different datasets with the same set of parameters.
We depict the latest scan in yellow. The scans are recorded using different sensors with different point densities, different orientations,
and different shooting patterns. The automotive example stems from the MulRan dataset [13]. The drone of the Voxgraph dataset [21]
and the segway robot used in the NCLT dataset [4] show a high acceleration motion profile. The handheld solid-state LiDAR of LOAM
Livox [15] has a completely different shooting pattern than the commonly used rotating mechanical LiDAR.

Abstract— Robust and accurate pose estimation of a robotic using different platforms: automotive platforms, UAV-based
platform, so-called sensor-based odometry, is an essential part operation, vehicles like segways, or handheld LiDARs. We
of many robotic applications. While many sensor odometry do not require integrating IMU information and solely rely
systems made progress by adding more complexity to the ego- on 3D point cloud data obtained from a wide range of 3D
motion estimation process, we move in the opposite direction. LiDAR sensors, thus, enabling a broad spectrum of different
By removing a majority of parts and focusing on the core applications and operating conditions. Our open-source system
elements, we obtain a surprisingly effective system that is operates faster than the sensor frame rate in all presented
simple to realize and can operate under various environmental datasets and is designed for real-world scenarios.
conditions using different LiDAR sensors. Our odometry esti-
mation approach relies on point-to-point ICP combined with I. I NTRODUCTION
adaptive thresholding for correspondence matching, a robust
kernel, a simple but widely applicable motion compensation
Odometry estimation is an essential building block for
approach, and a point cloud subsampling strategy. This yields any mobile robot that needs to autonomously navigate in
a system with only a few parameters that in most cases unknown environments. In the LiDAR sensing domain, cur-
do not even have to be tuned to a specific LiDAR sensor. rent odometry pipelines typically use some form of iterative
Our system using the same parameters performs on par with closest point (ICP) to estimate poses incrementally [8], [29],
state-of-the-art methods under various operating conditions
[33]. Even though LiDAR odometry has been an active
area of research for the last three decades, the design of
All authors are with the University of Bonn, Germany. Cyrill Stachniss is current systems is usually coupled with assumptions about
additionally with the Department of Engineering Science at the University
of Oxford, UK, and with the Lamarr Institute for Machine Learning and the robot motion [8] and the structure of the environment [25]
Artificial Intelligence, Germany. This work has partially been funded by to achieve accurate and robust alignment results. To the
the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) best of our knowledge, no existing 3D LiDAR odometry
under Germany’s Excellence Strategy, EXC-2070 – 390732324 – PhenoRob
and by the European Union’s HORIZON research and innovation pro- approach is free of parameter tuning and works out of the
gramme under grant agreement No 101070405 (Digiforest). box in different scenarios, using arbitrary LiDAR sensors,
supporting different motion profiles, and consequently types common reference frame, and it is a special case of the ab-
of robots, such as ground and aerial robots. solute orientation problem in photogrammetry. ICP typically
This paper returns to the roots: classical point-to- consists of two parts. The first one is to find correspondences
point ICP, introduced more than 30 years ago by Besl between the point clouds. The second one computes the
and McKay [3]. We aim to tackle the inherent problems transformation that minimizes an objective function defined
of sequentially operating LiDAR odometry systems that on the correspondences from the first step. One repeats
prohibit current approaches from generalizing to different this process until a convergence criterion is met. Most ICP
environments, sensor resolutions, and motion profiles using variants [1], [8], [9], [19], [33] utilize a maximum distance
a single configuration. We present simple yet effective rea- threshold in the data association module and a maximum
soning about the robot kinematics and the sequential way number of iterations. In contrast, we propose a threshold
LiDAR data is recorded on a mobile platform, as well as an estimation method that adapts to changing scenarios by
effective downsampled point cloud representation that allows reasoning about the system kinematics and the nature of the
us to minimize the need for parameter tuning. data. We avoid controlling the number of iterations of the ICP
Our system challenges even extensively hand-tuned and to achieve better generalization.
optimized existing simultaneous localization and mapping ICP can be used to obtain an odometry estimation from
(SLAM) systems. Our design uses neither sophisticated streaming data from a sensor such as RGB-D cameras [17]
feature extraction techniques, learning methods, nor loop clo- or LiDARs [8]. In this work, we focus on the problem of
sures. The same parameter set works in various challenging LiDAR odometry estimation, although the ideas presented
scenarios such as highway drives of robot cars with many can be easily extended to other range-sensing technologies.
dynamic objects, drone flights, handheld devices, segways, Nearly all modern SLAM systems build on top of odom-
and more. Thus, we take a step back from mainstream re- etry algorithms. Zhang et al. [33] proposed a seminal work
search in LiDAR odometry estimation and focus on reducing on lidar odometry and mapping (LOAM) that computes the
the components to their essentials. This makes our system robot’s odometry by registering planar and edge features
perform extraordinarily well in various real-world scenarios, to a sparse feature map. LOAM inspired numerous other
see Fig. 1. works [24], [31], such as Lego-LOAM [25], which adds
The main contribution of this paper is a simple yet highly ground constraints to improve accuracy, and recently F-
effective approach for building LiDAR odometry systems LOAM [31], which revised the original method with a more
that can accurately compute a robot’s pose online while efficient optimization technique enabling faster operation.
navigating through an environment. We identify the core However, these methods rely on hand-tuned feature extrac-
components and properly evaluate the impact of different tion, which typically requires tedious parameter tuning that
modules on such systems. We show that with the proper use depends on sensor resolution, environment structure, etc. In
of ICP that builds on basic reasoning about the system’s contrast, we only rely on point coordinates removing this
physics and the sensor data’s nature, we obtain competitive data-dependent parameter adaptation.
odometry. Besides motion prediction, spatial scan downsam- Behley and Stachniss [1] propose the surfel-based method
pling, and a robust kernel, we introduce an adaptive threshold SuMa to achieve LiDAR odometry estimation and mapping.
approach for ICP in the context of robot motion estimation It has also been extended to account for semantics [6] and ex-
that makes our approach effective and, at the same time, plicitly handle dynamic objects [5]. In contrast to the surfel-
generalizes easily. based mapping, Deschaud [9] introduced IMLS-SLAM [9]
We make three key claims: Our “keep it small and simple” selecting an implicit moving least square surface [14] as map
approach exploiting point-to-point ICP is (i) on par with representation. Along these lines, Vizzo et al. [29] exploited
state-of-the-art odometry systems, (ii) can accurately com- a triangular mesh as the internal map representation. All
pute the robot’s odometry in a large variety of environments the above approaches rely on a point-to-plane [22] metric
and motion profiles with the same system configuration, to register consecutive scans. This requires normal estima-
and (iii) provides an effective solution to motion distortion tion, which introduces additional data-dependent parameters.
without relying on IMUs or wheel odometers. In sum, “good Furthermore, noisy 3D information can impact the normal
old point-to-point ICP” is a surprisingly powerful tool, and computation and subsequently the registration in a negative
there is little need to move to more sophisticated approaches way. We will show that by minimizing a simpler point-to-
if the basic components are done well. point metric, we obtain on-par or better odometry perfor-
We provide an open-source implementation at: https: mance. Moreover, this design choice enables us to represent
//github.com/PRBonn/kissicp that precisely fol- the internal map as a voxelized, downsampled point cloud,
lows the description of this paper. simplifying the implementation of our approach.
Recently, several new approaches [8], [19], [24] have
II. R ELATED W ORK been proposed to solve the odometry estimation problem.
Point cloud registration has been an active area of research Most of these works focus on the runtime operation of
for the last three decades [3], [7] and is still relevant nowa- the system as well as on the accuracy. Pan et al. [19]
days. The ICP algorithm can solve the problem of finding a propose a multi-metric system (MULLS) that obtains good
transformation that brings two different point clouds into a results in many challenging scenarios at the cost of tuning
many parameters for a particular run. Dellenbach et al. [8] wheel odometry obtained through encoders, and IMU-based
introduced a novel approach, called continuous time ICP motion estimation. The constant velocity [27] model assumes
(CT-ICP), which incorporates the motion un-distortion into that a robot moves with the same translational and rotational
the registration showing great results but also comes with 30 velocity as in the previous time step. It requires no additional
parameters. Additionally, the robots’ motion profile must be sensors (no wheel encoder, no IMU) and thus is the most
known a priori, as, for example, a car will have a different widely applicable option.
motion profile than a segway platform. We challenge the Our approach uses the constant velocity model for two
need for sophisticated optimization techniques to cope with reasons: First, it is generally applicable, requires no ad-
motion distortion requiring only the constant velocity model. ditional sensors, and avoids the need for time synchro-
Furthermore, our system only relies on a few parameters, and nization between sensors. Second, as we will show in our
we do not need to know the motion profile in advance. experimental evaluation, it works well enough to provide
Many state-of-the-art odometry systems [1], [8], [19], [24] a solid initial guess when searching for data associations
also rely on pose graph optimization [26] to achieve a better and deskewing 3D scans. This follows from the fact that
alignment. In contrast, we do not exploit such techniques robotic LiDAR sensors commonly record and stream point
and state that pose graph optimization is orthogonal to clouds at 10 Hz to 20 Hz, i.e., every 0.05 s to 0.1 s. In most
the presented approach and can be easily integrated. In cases, the acceleration or deceleration, i.e., the deviations
sum, we step back from the common mainstream work on from the constant velocity model that occurs within such
LiDAR odometry and propose a system that solely relies short time intervals, are fairly small. If the robot accelerates
on a point-to-point metric and does not employ pose graph or decelerates, the constant velocity estimation of the robot’s
optimization [1], [8], [19], [24]. Our system can run on pose will be slightly off, and therefore, we need to correct
different types of mobile robots, drones, handheld devices, this estimate through scan alignment. The possible de- and
and segways, without the need to fine-tune the system to a accelerations determine the possible displacements of the
specific application. (static) 3D points.
The constant velocity model approximates the trans-
III. KISS-ICP – K EEP I T S MALL AND S IMPLE lational and angular velocities, denoted as v t and ω t
This work aims to incrementally compute the trajectory of at time t respectively, by using the previous pose esti-
a moving LiDAR sensor by sequentially registering the point mates Tt−1 = (R t−1 , tt−1 ) and Tt−2 = (R t−2 , tt−2 ), repre-
clouds recorded by the scanner. We reduced the components sented by a rotation matrix R t ∈ SO(3) and a translation
to a minimal set needed to build an effective, accurate, robust, vector tt ∈ R3 for the time step t. We first compute the
and still reasonably simple LiDAR odometry system. relative pose Tpred,t that we will use as motion prediction
For each 3D scan in form of a local, egocentric point as:
cloud P = {pi | pi ∈ R3 }, we perform the following four
 >
R t−2 R t−1 R >

t−2 (tt−1 − tt−2 )
steps to obtain a global pose estimate Tt ∈ SE(3) at time t. Tpred,t = , (1)
0 1
First, we apply sensor motion prediction and motion com-
then derive the corresponding velocities as:
pensation, often called deskewing, to undo the distortions of
the 3D data caused by the sensor’s motion during scanning. R>t−2 (tt−1 − tt−2 )
vt = , (2)
Second, we subsample the current scan. Third, we estimate ∆t
correspondences between the input point cloud and a ref- Log(R >t−2 R t−1 )
erence point cloud, which we call the local map. We use ωt = , (3)
∆t
an adaptive thresholding scheme for correspondence estima- where ∆t is the acquisition time of one LiDAR sweep,
tion, restricting possible data associations and filtering out typically 0.05 s or 0.1 s, and Log: SO(3) → R3 extracts the
potential outliers. Fourth, we register the input point cloud axis-angle representation.
to the local map using a robust point-to-point ICP algorithm. Note that also wheel odometry or an IMU-based motion
Finally, we update the local map with a downsampled version prediction approach can be used instead to compute v t and
of the registered scan. In the following sections, we describe ω t for each time step. This will not change the remainder of
these components in detail. our approach. For example, if one has good wheel odometry
A. Step 1: Motion Prediction and Scan Deskewing available, this can also be used. However, we use constant
velocity as a generally applicable approach.
We advocate for rethinking the point cloud registration in Within the acquisition time ∆t of one LiDAR sweep,
the context of mobile robots, which continuously record data. multiple 3D points are measured by the scanner. The relative
One should not think of it as registering arbitrary pairs of 3D timestamp si ∈ [0, ∆t] for each point pi ∈ P describes the
point clouds. Instead, one should phrase it as estimating how recording time relative to the scan’s first measurement.
much the robot’s actual motion deviates from its expected This relative timestamp allows us to compute the motion
motion by registering consecutive scans. compensation resulting in a deskewed point p∗i ∈ P ∗ of the
Different approaches can be used to compute the robot’s corrected scan P ∗ reading by
expected motion before considering the LiDAR data. The
three most popular choices are the constant velocity model, p∗i = Exp(si ω t )pi + si v t , (4)
where Exp: R3 → SO(3) computes a rotation matrix from an alignment [1], [17]. To do that effectively, we must define a
axis-angle representation. Note that Exp(si ω t ) is equivalent data structure representing the previously registered scans.
to performing SLERP in the axis-angle domain. Modern approaches have used very different types of rep-
This form of scan deskewing, especially with the constant resentations for this local map. Popular approaches are voxel
velocity model, is easy to implement, generally applicable, grids [33], triangle meshes [29], surfel representations [1],
and does not require additional sensors, high-precision time or implicit representations [9]. As mentioned in Sec. III-
synchronization between sensors, or IMU biases to be esti- B, we utilize a voxel grid to store a subset of 3D points.
mated. As we show in Sec. IV, this approach often performs We use a grid with a voxel size of v × v × v and store up
even better than more complex compensation systems [8], to Nmax points per voxel. After registration, we update the
at least as long the motion between the start and end of the ∗
voxel grid by adding the points {Tt p | p ∈ Pmerge } from the
sweep is small as it is for most robotics applications. new scan using the global pose estimate Tt . Voxels that
already contain Nmax points are not updated. Additionally,
B. Step 2: Point Cloud Subsampling
given the current pose estimate, we remove voxels outside
Identifying a set of keypoints in the point cloud is a the maximum sensor range rmax . Thus, the size of the map
common approach for scan registration [12], [22], [33]. It is will stay limited.
typically done to achieve faster convergence and/or higher
Instead of a 3D array, we use a hash table to store
robustness in the data association. However, a complex
the voxels, allowing a memory-efficient representation and
filtering of the point cloud usually comes with an extra layer
fast nearest neighbor search [8], [18]. However, the used
of complexity and parameters that often need to be tuned.
data structure can be easily replaced with VDBs [16], [30],
Rather than extracting 3D keypoints, which often requires
Octrees [28], [32], or KD-Trees [2].
environment-dependent parameter tuning, we propose to
compute only a spatially downsampled version P̂ ∗ of the
deskewed scan P ∗ . Downsampling is done using a voxel D. Adaptive Threshold for Data Association
grid. As we will explain in Sec. III-C below in more detail,
we use a voxel grid as our local map, where each voxel ICP typically performs a nearest neighbor data association
call has a size of v × v × v and each cell only stores a to find corresponding points between two point clouds [3].
certain number of points. Every time we process an incoming When searching for associations, it is common to impose
scan, we first downsample the point cloud of the scan to a maximum distance between corresponding points, often
an intermediate point cloud Pmerge ∗
, which is later used to using a value of 1 m or 2 m [1], [29], [33]. This maximum
update the map when the relative motion of the robot has distance threshold can be seen as an outlier rejection scheme,
been determined with ICP. To obtain the points in Pmerge ∗
, as all correspondences with a distance larger than this
we use voxel size α v with α ∈ (0.0, 1.0] and keep only a threshold are considered outliers and are ignored.
single point per voxel. The required value for this threshold τ depends on the
For the ICP registration, an even lower resolution scan expected initial pose error, the number and type of dynamic
is beneficiary. Thus, we compute a further reduced point objects in the scene, and, to some degree, the sensor noise. It
cloud P̂ ∗ by downsampling Pmerge ∗
again using a voxel size of is typically selected heuristically. Based on the considerations
β v with β ∈ [1.0, 2.0] keeping only a single point per voxel. about the constant velocity motion prediction in Sec. III-
This further reduces the number of points processed during A, we can, however, estimate a likely limit from data by
the registration and allows for a fast and highly effective analyzing how much the odometry may deviate from the
alignment. The idea of this “double downsampling” stems motion prediction over time. This deviation ∆T in the pose
from CT-ICP [8], the so far best performing open-source corresponds exactly to the local ICP correction to be applied
LiDAR odometry system on KITTI. to the predicted pose (but it is obviously not known before-
Most voxelization approaches, however, select the center hand). Intuitively, we can observe the robot’s acceleration in
of each occupied voxel to downsample the point cloud [23], the magnitude of ∆T. If the robot is not accelerating, then
[34]. Instead, we found it advantageous to maintain original ∆T will have a small magnitude, often around zero, meaning
point coordinates, select only one point per voxel for a single that the constant velocity assumption holds and no correction
scan, and keep its coordinates to avoid discretization errors. has to be done by ICP.
This means the reduced cloud is a subset of the deskewed We integrate this information into our data association
one, i.e., P̂ ∗ ⊆ P ∗ . In our implementation, we keep only the search by exploiting the so-far successful ICP executions.
first point that was inserted into the voxel. We can estimate the possible point displacement between
corresponding points in successive scans in the presence of
C. Step 3: Local Map and Correspondence Estimation a potential acceleration expressed through ∆T as:
In line with prior work [1], [8], [17], [33], we register the
deskewed and subsampled scan P̂ ∗ to the point cloud built
δ(∆T) = δrot (∆R) + δtrans (∆t), (5)
so far, i.e., a local map, in order to compute an incremental
pose estimate ∆Ticp . We use frame-to-map registration as
it proves more reliable and robust than the frame-to-frame where ∆R ∈ SO(3) and ∆t ∈ R3 refer to the rotational and
translational component of the deviation, given by
∆Rp + ∆t
!

T)

1 tr(∆R) − 1 ∆t


δrot (∆R) = 2 rmax sin arccos (6)

δ(
2 2
| {z }
x
θ r ma
δtrans (∆t) = k∆tk2 . (7) ∆R

The term δrot (∆R) represents the displacement that occurs θ rmax p
for a range reading with maximum range rmax subject to the δtrans (∆t) δrot (∆R)
rotation ∆R, see also Fig. 2. Note that Eq. (5) constitutes Fig. 2: Exemplary computation of the maximum point displacement
an upper bound for the point displacement as δ(∆T) caused by a rotational and translational deviation (∆R, ∆t)
from the predicted motion.
k∆R p + ∆t − pk2 ≤ δrot (∆R) + δtrans (∆t), (8)
current pose correction ∆Test,j , we perform a robust opti-
which follows from the triangle inequality. mization minimizing the sum of point-to-point residuals
To compute the threshold τt at time t, we consider a X
Gaussian distribution over δ using the values of Eq. (5) over ∆Test,j = argmin ρ(kTs − qk2 ), (12)
the trajectory computed so far whenever the deviation was T (s,q)∈C(τt )
larger than a minimum distance δmin , i.e., situations where
the robot’s motion was deviating from the constant velocity where C(τt ) is the set of nearest neighbor correspondences
model. Its standard deviation is with a distance smaller than τt and ρ is the Geman-McClure
s robust kernel, i.e., an M-estimator with a strong outlier
1 X
σt = δ(∆Ti )2 , (9) rejection property, given by
|Mt |
i∈Mt
e2 /2
where the index set Mt of deviations up to t is given by ρ(e) = , (13)
σt /3 +e2
|{z}
Mt = {i | i < t ∧ δ(∆Ti ) > δmin }. (10) κt

This avoids reducing the value of σt too much when the where the scale parameter κt of the kernel is adapted online
robot is not moving or is moving at constant velocity for using σt . Lastly, we update the points si , i.e.,
a long time. In our experiments, we set this threshold δmin
to 0.1 m. We then compute the threshold τt as the three sigma {si ← ∆Test,j si | si ∈ S} , (14)
bound τt = 3 σt , which we use in the next section for the data
association search. and repeat the process until the convergence criterion is met.
As a result of this process, we obtain Q the transformation
E. Step 4: Alignment Through Robust Optimization Tt = ∆Ticp,t Tt−1 Tpred,t , where ∆Ticp,t = j ∆Test,j . While
We base our registration on classic point-to-point ICP [3]. we apply the prediction model Tpred,t (i.e., the constant
The advantage of this choice is that we do not need to velocity prediction) to the local coordinate frame of the scan,
compute data-dependent features such as normals, curvature, we perform the ICP correction ∆Ticp,t in the global reference
or other descriptors, which may depend on the scanner or frame of the robot. This is done for efficiency reasons as it
the environment. Furthermore, with noisy or sparse LiDAR allows us to transform the source points S only once per ICP
scanners, features such as normals are often not very reliable. iteration. With this, the local pose deviation ∆Tt at time t
Thus, neglecting quantities such as normals in the alignment used in the Eq. (5) can be expressed as
process is an explicit design decision that allows our system −1
to generalize well to different sensor resolutions. ∆Tt = (Tt−1 Tpred,t ) ∆Ticp,t Tt−1 Tpred,t . (15)
To obtain the global estimation of the pose Tt of the
robot, we start by applying our prediction model Tpred,t to A standard termination criterion for the ICP algorithm is
to control the maximum number of iterations. Additionally,
the scan P̂ ∗ in the local frame. Successively, we transform
most approaches also have a further termination criterion
it into the global coordinate frame using the previous pose
based on the minimum change in the solution. Conversely,
estimate Tt−1 , resulting in the source points
n o we found that controlling the maximum number of iterations
S = si = Tt−1 Tpred,t p | p ∈ P̂ ∗ . (11) does not allow the algorithm to always find a good solution;
hence the odometry estimation might drift over time. Thus,
For each iteration j of ICP, we obtain a set of cor- we only employ the termination criterion based on the
respondences between the point cloud S and the local applied correction being smaller than γ, without imposing
map Q = {q i | q i ∈ R3 } through nearest neighbor search over a maximum number of iterations.
the voxel grid (Sec. III-C) considering only correspondences Finally, the ICP correction is applied to the point

with a point-to-point distance below τt . To compute the cloud Pmerge and the points are integrated into the local map.
Parameter Value Method Seq. 00-10 Seq. 11-21
Initial threshold τ0 2m SuMa++ [1] 0.70 1.06

SLAM
Min. deviation threshold δmin 0.1 m MULLS [19] 0.52 -
Max. points per voxel Nmax 20 CT-ICP [8] 0.53 0.59
Voxel size map v 0.01 rmax
Factor voxel size map merge α 0.5 IMLS-SLAM [9] 0.55 0.69

Odometry
Factor voxel size registration β 1.5 MULLS [19] 0.55 0.65
ICP convergence criterion γ 10−4 F-LOAM [31] 0.84 1.87
SuMa [1] 0.80 1.39
TABLE I: All seven parameters of our approach. Ours 0.50 0.61

TABLE II: KITTI Benchmark results with motion compensated


F. Parameters
data. We report the average relative translational error in %. We
Our implementation depends on a small set of seven compare across SLAM methods employing pose-graph optimization
parameters. All are shown in Tab. I. We use the same for improved results (top) and odometry methods (bottom).
parameters for all experiments. Note that the maximum range
of the laser scanner is a value that depends on the sensor Sec. IV-D.1). Tab. II exhibits how our system challenges
technology, and therefore we do not consider it a parameter. most state-of-the-art systems, which are typically more so-
Most other approaches use a substantially larger set of phisticated than our point-to-point ICP. Based on the offi-
parameters: MULLS [19] has 107 parameters, SuMa [1] has cial KITTI Benchmark, we rank second among the open-
49 parameters, and CT-ICP [8] has 30 parameters in their source approaches (behind CT-ICP [8]) and ninth among
respective configuration files. In contrast, our approach only all submissions. This indicates that our comparably simple
has two parameters for the correspondence search, four for system still performs better than all the publicly available
the map representation and scan subsampling, and one for systems out there, except CT-ICP [8]. Note that CT-ICP is a
the ICP termination. complete SLAM system, and it uses loop closures to correct
for the accumulated drift of the odometry estimation. We in
IV. E XPERIMENTAL E VALUATION contrast obtain our results using only open-loop registration
This work provides a simple yet effective LiDAR odom- without any loop closing.
etry pipeline that comes with a small set of parameters.
We present our experiments to show the capabilities of C. Comparison to State-of-the-Art Registration Techniques
our method. The results of our experiments support our on Other Datasets
key claims, namely that our approach (i) is on par with We proceed to analyze the performance of our system on
more complex state-of-the-art odometry systems, (ii) can different datasets, scenarios, and types of robots. For that,
accurately compute the robot’s odometry in a large variety of we use the MulRan dataset [13], a handheld device [20],
environments and motion profiles with the same system con- and a segway dataset [4]. Odometry pipelines typically deal
figuration, and (iii) provides an effective solution to motion with those challenging scenarios but employ IMUs [24] or a
distortion without relying on IMUs or wheel odometers. different system configuration [8]. Our system performs on
par with state-of-the-art systems using the same parameter
A. Experimental Setup values for all experiments and datasets. For this experi-
We use numerous datasets and common evaluation meth- ment, we compare against state-of-the-art odometry systems,
ods. We start with the KITTI odometry dataset [10] to namely MULLS [19], SuMa [1], F-LOAM [31], and CT-
evaluate our system against state-of-the-art approaches to ICP [8]. Note that we do not provide an evaluation of CT-
LiDAR odometry. To investigate how we perform in other ICP for the MulRan dataset since CT-ICP does not provide
autonomous driving datasets employing a different sensor, support for this dataset.
we evaluate our approach on the MulRan dataset [13]. For the MulRan dataset [13], we test the systems under
Additionally, we show that our approach can be used in evaluation on all available public sequences. Since the dataset
different scenarios, such as the one present in the NCLT provides three similar runs for each sequence, we report the
dataset [4], a segway-based dataset, and the Newer College average number of each sequence in Tab. III. Our method
dataset [20], recorded using a handheld device. We also outperforms all state-of-the-art approaches by a large margin
analyze our method’s different components, such as the in both relative and absolute error.
motion-compensation scheme and the adaptive threshold. We use both available sequences to evaluate the Newer
College dataset and achieve similar results on the short
B. Performance on the KITTI-Odometry Benchmark experiment compared to CT-ICP. For the long experiment,
This experiment evaluates the performance of different the gap in performance can be explained by the additional
odometry pipelines on the popular KITTI benchmark dataset. loop closing module of CT-ICP, which is a complete SLAM
Since most systems do not do motion compensation, we use system. For the NCLT dataset experiment, we use the
the already compensated KITTI scans for a fair compari- sequence evaluated on the original work of CT-ICP. We
son and disable the motion compensation for our approach could not reproduce the results reported in CT-ICP [8] and
and CT-ICP [8] in this first analysis (the performance of therefore report the results given in the original paper [8]
the motion compensation module will be studied later in in Tab. IV. We achieve similar results than CT-ICP. However,
Avg. Avg. ATE ATE Method Avg. tra Avg. rot Avg. freq.
Sequence Method
tra. rot. tra. rot.
MULLS [19] 1.41 - 12 Hz
MULLS [19] 2.94 0.86 37.24 0.11 IMLS-SLAM [9] 0.71 - 1 Hz
SuMa [1] 5.59 1.73 43.61 0.14 CT-ICP [8] 0.55 - 15 Hz
KAIST
F-LOAM [31] 3.43 0.99 46.17 0.15 Ours without deskewing 0.91 0.27 51 Hz
Ours 2.28 0.68 17.40 0.06 Ours + Deskewing (IMU) 0.51 0.19 38 Hz
Ours + Deskewing (CV) 0.49 0.16 38 Hz
MULLS [19] 2.96 0.98 38.35 0.12
SuMa [1] 5.20 1.71 36.22 0.11
DCC TABLE V: We evaluate the motion compensation experiments on
F-LOAM [31] 3.83 1.14 42.70 0.13
Ours 2.34 0.64 15.16 0.05 KITTI-raw while the others use the motion compensated data. We
report the relative translational error in % and the relative rotational
MULLS [19] 5.42 2.21 91.16 0.16 error in degrees per 100 m.
SuMa [1] 13.86 2.13 227.24 0.38
Riverside
F-LOAM [31] 5.47 1.18 138.09 0.22 Data-Association Threshold τ
Dataset
Ours 2.89 0.64 49.02 0.08 0.5 m 1.0 m 2.0 m Adaptive
MULLS [19] 5.93 0.84 2151.00 0.49 KITTI Seq. 00 0.51 0.53 0.55 0.51
F-LOAM [31] 7.87 1.20 3448.97 0.82 KITTI Seq. 04 0.41 0.37 0.39 0.36
Sejong*
Ours 4.69 0.70 1369.54 0.33
KITTI Avg. Seq. 00-10 0.51 0.51 0.53 0.50
TABLE III: Quantitative results on the MulRan dataset [13]. We
report the relative translational error in % and the relative rotational TABLE VI: Comparison of using different fixed thresholds vs. our
error in degrees per 100 m. Additionally, we show the absolute proposed adaptive threshold on the KITTI dataset. We report the
trajectory error for translation in m and for rotation in rad. relative translational error in %.

NCD NCD NCLT the sequences that correspond to the ones on the motion-
Method
01-short 02-long 2012-01-8 compensated datasets [10]. As we can see in Tab. V, our
MULLS [19] 0.82 1.23 - motion compensation scheme can produce state-of-the-art
F-LOAM [31] 2.02 fails - results and is on par with substantially more sophisticated
CT-ICP [8] 0.48 0.58 1.17
Ours 0.51 0.96 1.27 and thus complex compensation techniques such as the one
introduced by CT-ICP [8]. Additionally, we study how our
TABLE IV: Quantitative results for Newer College and NCLT. We system performs without applying motion compensation, as
report the relative translational error in %. shown in Tab. V. We also evaluate the performance of our
constant velocity model for motion compensation. To assess
we observed errors in the GPS ground-truth poses and miss-
this, we compare the same compensation strategy but replace
ing frames. Therefore, the numbers on NCLT should be taken
the velocity estimation with sensor data taken by the IMU.
with a grain of salt and rather provide an estimate of how
As seen in the results, our velocity estimation is on par or
the systems perform. We actually discourage using NCLT
even slightly better with the IMU.
to evaluate odometry systems: misalignments in the ground
Besides the fact that CT-ICP’s elastic formulation yields
truth poses, missing frames, and inconsistencies in the data
good results, our much simpler approach produces even
make the evaluation of odometry systems on such a dataset
better results. This result shows that the constant velocity
not a good evaluation tool from our perspective. However,
model employed in our approach for compensating motion
we provide the results here for the sake of completeness.
distortion is sufficient to cope with the slight reduction in per-
We show qualitative point cloud maps in Fig. 1 generated
formance when no compensation is applied. Consequently,
using the poses from our odometry pipeline. Using a single
we think more sophisticated techniques are unnecessary for
system configuration, we can produce consistent maps on
robotic odometry estimation.
different sensor setups (rotating vs. solid-state) and motion
2) Adaptive Data-Association Threshold: We finally eval-
profiles (car, drone, segway, handheld).
uate how the adaptive threshold τt impacts the perfor-
mance of our system by comparing it to a different set
D. Ablation Studies
of fixed thresholds commonly used in open-source systems.
To understand how each component of our system im- To conduct this experiment, we identify the two KITTI
pacts the odometry performance, we conduct ablation studies sequences with the largest (00) and the smallest (04) average
on the different components of our approach, namely, the acceleration indicating different motion profiles. As we can
motion compensation scheme and the adaptive threshold. see in Tab. VI, the best fixed threshold for sequence 00
To carry out these studies, we use the KITTI odometry is 0.5 m and 1.0 m for sequence 04. This means that a
dataset [10] as it is probably the best known one. fixed threshold has to be tuned depending on the motion
1) Motion Compensation: To assess the impact of our profile and thus to the dataset to achieve top performance.
motion compensation scheme, we utilize the raw LiDAR In contrast, our adaptive algorithm exploits the motion profile
point clouds without any compensation applied. Note that to estimate the threshold online, which results in on-par or
the KITTI odometry benchmark point cloud data [10] is better performance without the need to find a new fixed
already compensated and, therefore, cannot be used for threshold for each sequence. Finally, our proposed adaptive
this study. Thus, we use the KITTI raw dataset [11]. We threshold strategy achieves the best average result on the
present the results in a familiar fashion, selecting only KITTI training sequences.
V. C ONCLUSION [10] A. Geiger, P. Lenz, and R. Urtasun. Are we ready for Autonomous
Driving? The KITTI Vision Benchmark Suite. In Proc. of the IEEE
This paper presents a simple yet highly effective approach Conf. on Computer Vision and Pattern Recognition (CVPR), 2012.
to LiDAR odometry and shows that point-to-point ICP works [11] A. Geiger, P. Lenz, C. Stiller, and R. Urtasun. Vision meets Robotics:
very well – when used properly. Our approach operates The KITTI Dataset. Intl. Journal of Robotics Research (IJRR), 32(11),
2013.
solely on point clouds and does not require an IMU, even [12] T. Guadagnino, X. Chen, M. Sodano, J. Behley, G. Grisetti, and
when dealing with high-frequency driving profiles. Our ap- C. Stachniss. Fast Sparse LiDAR Odometry Using Self-Supervised
proach exploits the classical point-to-point ICP to build a Feature Selection on Intensity Images. IEEE Robotics and Automation
Letters (RA-L), 7(3):7597–7604, 2022.
generic odometry system that can be employed in different [13] J. Jeong, Y. Cho, Y. Shin, H. Roh, and A. Kim. Complex urban lidar
challenging environments, such as highway runs, handheld data set. In Proc. of the IEEE Intl. Conf. on Robotics & Automation
devices, segways, and drones. Moreover, the system can be (ICRA), 2018.
[14] R. Kolluri. Provably good moving least squares. ACM Transactions
used with different range-sensing technologies and scanning on Algorithms (TALG), 4(2):1–25, 2008.
patterns. We only assume that point clouds are generated [15] J. Lin and F. Zhang. Loam livox A Robust LiDAR Odemetry and
sequentially as the robot moves through the environment. Mapping LOAM Package for Livox LiDAR. In Proc. of the IEEE/RSJ
Intl. Conf. on Intelligent Robots and Systems (IROS), 2019.
We implemented and evaluated our approach on different [16] K. Museth, J. Lait, J. Johanson, J. Budsberg, R. Henderson, M. Alden,
datasets, provided comparisons to other existing techniques, P. Cucka, D. Hill, and A. Pearce. Openvdb: an open-source data
supported all claims made in this paper, and released our structure and toolkit for high-resolution volumes. In ACM SIGGRAPH
2013 courses. 2013.
code. The experiments suggest that our approach is on par [17] R.A. Newcombe, S. Izadi, O. Hilliges, D. Molyneaux, D. Kim, A.J.
with substantially more sophisticated state-of-the-art LiDAR Davison, P. Kohli, J. Shotton, S. Hodges, and A. Fitzgibbon. Kinect-
odometry systems but relies only on a few parameters, and Fusion: Real-Time Dense Surface Mapping and Tracking. In Proc. of
the Intl. Symposium on Mixed and Augmented Reality (ISMAR), 2011.
performs well on various datasets under different conditions [18] M. Nießner, M. Zollhöfer, S. Izadi, and M. Stamminger. Real-time
with the same parameter set. Finally, our system operates 3D Reconstruction at Scale using Voxel Hashing. In Proc. of the
faster than the sensor frame rate in all presented datasets. We SIGGRAPH Asia, 2013.
[19] Y. Pan, P. Xiao, Y. He, Z. Shao, and Z. Li. MULLS: Versatile LiDAR
believe this work will be a new baseline for future sensor SLAM Via Multi-Metric Linear Least Square. In Proc. of the IEEE
odometry systems and a solid, high-performance starting Intl. Conf. on Robotics & Automation (ICRA), 2021.
point for future approaches. Our open-source code is robust [20] M. Ramezani, Y. Wang, M. Camurri, D. Wisth, M. Mattamala, and
M. Fallon. The newer college dataset: Handheld lidar, inertial and
and simple, easy to extend, and performs well, pushing the vision with ground truth. In Proc. of the IEEE/RSJ Intl. Conf. on
state-of-the-art LiDAR odometry to its limits and challenging Intelligent Robots and Systems (IROS), 2020.
most sophisticated systems. [21] V. Reijgwart, A. Millane, H. Oleynikova, R. Siegwart, C. Cadena, and
J. Nieto. Voxgraph: Globally consistent, volumetric mapping using
VI. ACKNOWLEDGEMENTS signed distance function submaps. IEEE Robotics and Automation
Letters (RA-L), 5(1):227–234, 2019.
We thank Pierre Dellenbach for making his CT-ICP code [22] S. Rusinkiewicz and M. Levoy. Efficient variants of the ICP algorithm.
available, which inspired our implementation. We thank Yue In Proc. of Int. Conf. on 3-D Digital Imaging and Modeling, 2001.
[23] R.B. Rusu and S. Cousins. 3d is here: Point cloud library (pcl). In
Pan for helping with the evaluation of MULLS for this paper. Proc. of the IEEE Intl. Conf. on Robotics & Automation (ICRA), 2011.
Thanks also to Igor Bogoslavskyi for feedback. [24] T. Shan, B. Englot, D. Meyers, W. Wang, C. Ratti, and D. Rus. LIO-
SAM Tightly-Coupled Lidar Inertial Odometry Via Smoothing and
R EFERENCES Mapping. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots
and Systems (IROS), 2020.
[1] J. Behley and C. Stachniss. Efficient Surfel-Based SLAM using 3D [25] T. Shan and B. Englot. LeGO-LOAM: Lightweight and Ground-
Laser Range Data in Urban Environments. In Proc. of Robotics: Optimized Lidar Odometry and Mapping on Variable Terrain. In
Science and Systems (RSS), 2018. Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems
[2] J. Bentley. Multidimensional binary search trees used for associative (IROS), 2018.
searching. Communications of the ACM, 18(9):509–517, 1975. [26] C. Stachniss. Robotic Mapping and Exploration, volume 55 of STAR
[3] P. Besl and N. McKay. A Method for Registration of 3D Shapes. Springer Tracts in Advanced Robotics. Springer Verlag, 2009.
IEEE Trans. on Pattern Analalysis and Machine Intelligence (TPAMI), [27] S. Thrun, W. Burgard, and D. Fox. Probabilistic Robotics. MIT Press,
14(2):239–256, 1992. 2005.
[4] N. Carlevaris-Bianco, A. Ushani, and R. Eustice. University of Michi- [28] E. Vespa, N. Nikolov, M. Grimm, L. Nardi, P. Kelly, and S. Leuteneg-
gan North Campus long-term vision and lidar dataset. Intl. Journal of ger. Efficient octree-based volumetric slam supporting signed-distance
Robotics Research (IJRR), 35(9):1023–1035, 2016. and occupancy mapping. IEEE Robotics and Automation Letters (RA-
[5] X. Chen, S. Li, B. Mersch, L. Wiesmann, J. Gall, J. Behley, and L), 3(2):1144–1151, 2018.
C. Stachniss. Moving Object Segmentation in 3D LiDAR Data: A [29] I. Vizzo, X. Chen, N. Chebrolu, J. Behley, and C. Stachniss. Poisson
Learning-based Approach Exploiting Sequential Data. IEEE Robotics Surface Reconstruction for LiDAR Odometry and Mapping. In
and Automation Letters (RA-L), 6:6529–6536, 2021. Proc. of the IEEE Intl. Conf. on Robotics & Automation (ICRA), 2021.
[6] X. Chen, A. Milioto, E. Palazzolo, P. Giguère, J. Behley, and C. Stach- [30] I. Vizzo, T. Guadagnino, J. Behley, and C. Stachniss. VDBFusion:
niss. SuMa++: Efficient LiDAR-based Semantic SLAM. In Proc. of Flexible and Efficient TSDF Integration of Range Sensor Data. Sen-
the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), sors, 22(3):1296, 2022.
2019. [31] H. Wang, C. Wang, C. Chen, and L. Xie. F-LOAM: Fast LiDAR
[7] Y. Chen and G. Medioni. Object modeling by registration of multiple Odometry and Mapping. In Proc. of the IEEE/RSJ Intl. Conf. on
range images. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Intelligent Robots and Systems (IROS), 2021.
Robots and Systems (IROS), 1991. [32] M. Zeng, F. Zhao, J. Zheng, and X. Liu. Octree-based fusion for
[8] P. Dellenbach, J. Deschaud, B. Jacquet, and F. Goulette. CT-ICP Real- realtime 3d reconstruction. Graphical Models, 75(3):126–136, 2013.
Time Elastic LiDAR Odometry with Loop Closure. In Proc. of the [33] J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in
IEEE Intl. Conf. on Robotics & Automation (ICRA), 2022. Real-time. In Proc. of Robotics: Science and Systems (RSS), 2014.
[9] J. Deschaud. Imls-slam: scan-to-model matching based on 3d data. [34] Q. Zhou, J. Park, and V. Koltun. Open3D: A modern library for 3D
In Proc. of the IEEE Intl. Conf. on Robotics & Automation (ICRA), data processing. arXiv:1801.09847, 2018.
2018.

You might also like