This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

\newdateformat

monthyeardate\monthname[\THEMONTH] \THEDAY, \THEYEAR

Probabilistic Scan Matching:
Bayesian Pose Estimation from Point Clouds

Rico Mendrzik and Florian Meyer
Ibeo Autmotive Systems GmbH, Hamburg, Germany
University of California San Diego, San Diego, USA
Email: rico.mendrzik@ibeo-as.com, flmeyer@ucsd.edu
Abstract

Estimating position and orientation change of a mobile platform from two consecutive point clouds provided by a high-resolution sensor is a key problem in autonomous navigation. In particular, scan matching algorithms aim to find the translation and rotation of the platform such that the two point clouds coincide. The association of measurements in point cloud one with measurements in point cloud two is a problem inherent to scan matching. Existing methods perform non-probabilistic data association, i.e., they assume a single association hypothesis. This leads to overconfident pose estimates and reduced estimation accuracy in ambiguous environments. Our probabilistic scan matching approach addresses this issue by considering all association hypotheses with their respective likelihoods. We formulate a holistic Bayesian estimation problem for both data association and pose estimation and present the corresponding joint factor graph. Near-optimum maximum a posteriori (MAP) estimates of the sensor pose are computed by performing iterative message passing on the factor graph. Our numerical study shows performance improvements compared to non-probabilistic scan matching methods that are based on the normal distributions transform (NDT) and implicit moving least squares (IMLS).

I Introduction

High-resolution sensors for situational awareness such as Light Detection and Ranging (LiDAR) and imaging sonar are paramount for autonomous navigation due to their unique sensing capabilities. LiDAR sensors can provide extremely high resolution accompanied by precise depth information and are thus ideal for automated driving and advanced driver assistance systems (ADAS) [1]. Imaging sonar generates accurate echo intensity profiles of the scanned area and can enable autonomous underwater vehicles (AUV) to navigate in an unknown and possibly unstructured environment [2]. Beyond object tracking and classification or environmental perception, high-resolution sensors can be cornerstones for ego-state estimation which can help navigating in challenging environments [3, 4, 5, 6, 7, 8, 9, 10]. By matching two scans obtained at different time instances, information on the change of position and orientation (also known as relative pose) of the sensor can be extracted. A simplistic example from the LiDAR domain is depicted in Fig. 1.

State-of-the-art scan matching approaches [3, 4, 5, 6, 7, 8, 9, 10] typically use heuristics that require a good initial guess on the relative pose of the sensor. Moreover, they rely on a key assumption: The association of scan data can be described by a single deterministic association hypothesis. This assumption can lead to poor and overconfident estimates of the relative pose if the scans contain ambiguous data or non-associable artifacts. State-of-the-art algorithms typically fail if the scan data association is erroneous, the generating environment does not allow for an unambiguous estimation of the relative pose, or scan points originate from detection errors belong to dynamic objects. Another frequently-occurring challenge of the scan matching paradigm, is partial observability of the environment, which describes the phenomenon that two scans recorded at different poses almost never depict the identical scene.

\psfragfig

![width=.999keepaspectratio]Figures/scenario/scenario

Figure 1: Scenario: Our goal is to infer the relative pose, Δ𝗣\Delta\bm{\mathsfbr{P}}, of LiDAR sensor (concentric circles) by matching the source point cloud 𝒔=[𝒔(1)T𝒔(1)T𝒔(NS)T]T\bm{s}=[\bm{s}^{(1)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{s}^{(1)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\ldots\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{s}^{(N_{\mathrm{S}})\mathrm{T}}]^{\mathrm{T}} (green dots) and destination surface, consisting of scan points 𝒅=[𝒅(1)T𝒅(2)T𝒅(ND)T]T\bm{d}=[\bm{d}^{(1)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{d}^{(2)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\ldots\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{d}^{(N_{\mathrm{D}})\mathrm{T}}]^{\mathrm{T}} (magenta diamonds) and normal vectors 𝒏=[𝒏(1)T𝒏(2)T𝒏(ND)T]T\bm{n}=[\bm{n}^{(1)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{n}^{(2)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\ldots\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{n}^{(N_{\mathrm{D}})\mathrm{T}}]^{\mathrm{T}} (magenta arrows). Laser rays are indicated by thin green and magenta lines originating from the LiDAR sensor.

In contrast to state-of-the-art method, we formulate scan matching as a Bayesian inference problem. This approach aims to increase resilience to sensing artifacts and partial observability by performing scan associations probabilistically [11, 12, 13, 14]. Our main contributions can be summarized as follows:

  • We derive a stochastic model which entangles both scan association and pose estimation in a holistic fashion.

  • We present a Bayesian inference algorithm for relative pose estimation based on probabilistic scan matching.

Notation: Random variables are displayed in sans serif, upright fonts; their realizations in serif, italic fonts. Vectors and matrices are denoted by bold lowercase and uppercase letters, respectively. For example, a random variable and its realization are denoted by 𝗑\mathsfbr{x} and xx; a random vector and its realization are denoted by 𝘅\bm{\mathsfbr{x}} and 𝒙\bm{x}. Sets are denoted by calligraphic font, e.g. 𝒳{\cal{X}}. Furthermore, 𝒙T{\bm{x}}^{\text{T}} denotes the transpose of vector 𝒙\bm{x}. f(𝒙)f(\bm{x}) denotes the probability density function (PDF) or probability mass function (PMF) of continuous or discrete random vector 𝘅\bm{\mathsfbr{x}}. Finally, 𝟎n\bm{0}_{n} is the row vector of size nn containing all zeros.

II Fundamentals and Problem Formulation

We define the notion of poses, describe our sensor and measurement models, and present our problem formulation.

II-A Preliminaries

II-A1 Pose Representation

We refer to the position and orientation of a rigid object as pose. The pose of the sensor in NdimN_{\mathrm{dim}}-dimensional space can be conveniently represented by the following matrix from the special Euclidean group SE(Ndim)\textit{SE}(N_{\text{dim}})[15]

𝗣=(𝗥𝘁𝟎Ndim1)\bm{\mathsfbr{P}}=\begin{pmatrix}\bm{\mathsfbr{R}}&\bm{\mathsfbr{t}}\\ \bm{0}_{N_{\text{dim}}}&1\end{pmatrix}\vspace{0mm}

where 𝗥\bm{\mathsfbr{R}} is a Ndim×NdimN_{\text{dim}}\times N_{\text{dim}} rotation matrix and 𝘁Ndim\bm{\mathsfbr{t}}\in\mathbb{R}^{N_{\text{dim}}} is a translation vector. From source pose 𝗣s\bm{\mathsfbr{P}}_{\mathrm{s}} and destination pose 𝗣d\bm{\mathsfbr{P}}_{\mathrm{d}}, we can determine the relative pose Δ𝗣SE(Ndim)\Delta\bm{\mathsfbr{P}}\in\textit{SE}(N_{\text{dim}}) as

Δ𝗣=𝗣d𝗣s1=(Δ𝗥Δ𝘁𝟎Ndim1)\Delta\bm{\mathsfbr{P}}=\bm{\mathsfbr{P}}_{\mathrm{d}}\bm{\mathsfbr{P}}_{\mathrm{s}}^{-1}=\begin{pmatrix}\Delta\bm{\mathsfbr{R}}&\Delta\bm{\mathsfbr{t}}\\ \bm{0}_{N_{\text{dim}}}&1\end{pmatrix}

where the Ndim×NdimN_{\text{dim}}\times N_{\text{dim}} rotation matrix Δ𝗥\Delta\bm{\mathsfbr{R}} and the translation vector Δ𝘁Ndim\Delta\bm{\mathsfbr{t}}\in\mathbb{R}^{N_{\text{dim}}} describe the change of orientation and displacement between 𝗣s\bm{\mathsfbr{P}}_{\mathrm{s}} and 𝗣d\bm{\mathsfbr{P}}_{\mathrm{d}}, respectively.

II-A2 Sensor Characteristics

We consider a high-resolution sensors that illuminates the environment and uses reflected and scattered signal components to infer spatial information on the observed scene. Typically, sets of scan points (so-called point clouds) are the results of sensing. Here, we consider two distinct sets: source and destination point clouds. We define the destination point cloud as

𝒅[𝒅(1)T𝒅(2)T𝒅(ND)T]T.\bm{d}\triangleq[\bm{d}^{(1)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{d}^{(2)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\ldots\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{d}^{(N_{\mathrm{D}})\mathrm{T}}]^{\mathrm{T}}.

where 𝒅(l)Ndim\bm{d}^{(l)}\in\mathbb{R}^{N_{\text{dim}}} denotes the lthl^{\text{th}} noisy scan point in Cartesian coordinates. Similarly, we introduce the source point cloud 𝒔[𝒔(1)T𝒔(2)T𝒔(NS)T]T.\bm{s}\triangleq[\bm{s}^{(1)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{s}^{(2)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\ldots\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{s}^{(N_{\mathrm{S}})\mathrm{T}}]^{\mathrm{T}}.

II-A3 Surface Information

Surface normal vectors are a common method to preserve information on the shapes of the underlying surfaces without the need of having explicit representations of them [16, 17, 18]. We build upon this idea and augment every destination scan point 𝒅(i)\bm{d}^{(i)} by a normal vector 𝒏(i)Ndim,i=1,2,,ND\bm{n}^{(i)}\in\mathbb{R}^{N_{\mathrm{dim}}},i=1,2,...,N_{\mathrm{D}}. The normal vector 𝒏(i)\bm{n}^{(i)} of destination scan point 𝒅(i)\bm{d}^{(i)} is determined based on the set of neighboring destination scan points 𝒩D(i)={𝒅(i)|𝒅(i)𝒅(i)dTH}{\cal{N}}_{\mathrm{D}}^{(i)}=\{\bm{d}^{(i^{\prime})}|\|\bm{d}^{(i^{\prime})}-\bm{d}^{(i)}\|\leqslant d_{\mathrm{TH}}\} where the threshold dTHd_{\mathrm{TH}} controls the size of the neighborhood. The literature on the computation of surface normal vectors is rich and the interested reader can find an overview in [18]. In our work, we determine ithi^{\mathrm{th}} surface normal vector, 𝒏(i)\bm{n}^{(i)}, as the eigenvector which corresponds to the smallest eigenvalue of the sample covariance matrix of 𝒩(i){\cal{N}}^{(i)}. Hereafter, we will refer to destination scan points and their associated normal vector as destination surface points.

II-B Measurement Model

Before introducing our measurement model, it is worth noting that all scan points are considered in homogeneous coordinates to cope with our pose representation, i.e., 𝒅H(i)[𝒅(i)T1]T\bm{d}^{(i)}_{\mathrm{H}}\triangleq[\bm{d}^{(i)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt1]^{\mathrm{T}}, 𝒏H(i)[𝒏(i)T0]T,i=1,2,,ND\bm{n}^{(i)}_{\mathrm{H}}\triangleq[\bm{n}^{(i)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt0]^{\mathrm{T}},i=1,2,\ldots,N_{\mathrm{D}}, and 𝒔H(j)[𝒔(j)T1]T,j=1,2,,NS\bm{s}^{(j)}_{\mathrm{H}}\triangleq[\bm{s}^{(j)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt1]^{\mathrm{T}},j=1,2,\ldots,N_{\mathrm{S}}. For mathematical convenience, we introduce stacked vectors of source points, destination points and their normals as follows: 𝒔H=[𝒔H(1)T𝒔H(2)T𝒔H(NS)T]T\bm{s}_{\mathrm{H}}=[\bm{s}_{\mathrm{H}}^{(1)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{s}_{\mathrm{H}}^{(2)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\ldots\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{s}_{\mathrm{H}}^{(N_{\mathrm{S}})\mathrm{T}}]^{\mathrm{T}}, 𝒅H=[𝒅H(1)T𝒅H(2)T𝒅H(ND)T]T\bm{d}_{\mathrm{H}}=[\bm{d}_{\mathrm{H}}^{(1)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{d}_{\mathrm{H}}^{(2)\mathrm{T}}\ldots\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{d}_{\mathrm{H}}^{(N_{\mathrm{D}})\mathrm{T}}]^{\mathrm{T}}, and 𝒏H=[𝒏H(1)T𝒏H(2)T𝒏H(ND)T]T\bm{n}_{\mathrm{H}}=[\bm{n}_{\mathrm{H}}^{(1)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{n}_{\mathrm{H}}^{(2)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\ldots\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{n}_{\mathrm{H}}^{(N_{\mathrm{D}})\mathrm{T}}]^{\mathrm{T}}.

II-B1 Point-to-plane Error Metric

We can link the relative pose Δ𝗣\Delta\bm{\mathsfbr{P}} to source scan points, 𝒔(j),j\bm{s}^{(j)},\forall j, and destination surface points, {𝒅(i),𝒏(i)},i\{\bm{d}^{(i)},\bm{n}^{(i)}\},\forall i, via a point-to-plane metric [19]. In particular, our measurement model is given by

𝒏H(i)(𝒅H(i)Δ𝗣𝒔H(j))=e(j)j=1,2,,NS\bm{n}^{(i)}_{\mathrm{H}}\left(\bm{d}^{(i)}_{\mathrm{H}}-\Delta\bm{\mathsfbr{P}}\bm{s}^{(j)}_{\mathrm{H}}\right)=e^{(j)}\quad j=1,2,\ldots,N_{\mathrm{S}} (1)

in which e(j)e^{(j)} is an error term with known111In partice, full knowledge of f(e(j))f\big{(}e^{(j)}\big{)} is typically unavailable and the PDF needs to be approximated by its most significant moments. PDF f(e(j))f\big{(}e^{(j)}\big{)}. The left-hand side of (1) is typically referred to as pseudo measurements [20]. For future reference, we also introduce the joint measurement vectors 𝒛(i,j)[𝒅H(i)T𝒏H(i)T𝒔H(j)T]T,\bm{z}^{(i,j)}\triangleq[\bm{d}_{\mathrm{H}}^{(i)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{n}_{\mathrm{H}}^{(i)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{s}_{\mathrm{H}}^{(j)\mathrm{T}}]^{\mathrm{T}}, 𝒛(i)=[𝒅H(i)T\bm{z}^{(i)}=[\bm{d}_{\mathrm{H}}^{(i)\mathrm{T}} 𝒏H(i)T𝒔HT]T\bm{n}_{\mathrm{H}}^{(i)\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{s}_{\mathrm{H}}^{\mathrm{T}}]^{\mathrm{T}}, and 𝒛=[𝒅HT𝒏HT𝒔HT]T\bm{z}=[\bm{d}_{\mathrm{H}}^{\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{n}_{\mathrm{H}}^{\mathrm{T}}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\bm{s}_{\mathrm{H}}^{\mathrm{T}}]^{\mathrm{T}}. Note that from (1) and the error statistics f(e(j))f(e^{(j)}), we can directly obtain conditional PDFs f(𝒛(i,j)|Δ𝑷)f(\bm{z}^{(i,j)}|\Delta\bm{P}) for each pair (i,j).(i,j).

The measurement model (1) is briefly discussed in what follows. Suppose we knew the relative pose Δ𝗣\Delta\bm{\mathsfbr{P}} and the association (i,j)(i,j) of source point 𝒔H(j)\bm{s}^{(j)}_{\mathrm{H}} and destination surface point {𝒅H(i),𝒏H(i)}\{\bm{d}^{(i)}_{\mathrm{H}},\bm{n}^{(i)}_{\mathrm{H}}\}. Then, the expression within the parenthesis on the left-hand side of (1) implies that we can transform the source scan point 𝒔H(j)\bm{s}^{(j)}_{\mathrm{H}} via relative pose Δ𝗣\Delta\bm{\mathsfbr{P}} and we will retrieve the destination scan point 𝒅H(i)\bm{d}^{(i)}_{\mathrm{H}}. Note that the sensor does not measure the exact same point on a surface from different poses due to its finite resolution (see Fig. 1). We account for this by embedding the local information of the surface. This is achieved by multiplying with the surface normal 𝒏H(i)\bm{n}^{(i)}_{\mathrm{H}}. Thus, the deviation of the transformed source point from destination point is measured only in the direction of the surface normal. The remaining error is given by e(j)e^{(j)}.

II-B2 Associability of Scan Points

High-resolution sensing, with effects such as occlusion and finite sensing range, make scenes appear differently even if they are observed from similar poses. As a result, the number of source points NSN_{\mathrm{S}} and destination points NDN_{\mathrm{D}} are generally different and not all scan points are associable. For robust scan matching, we need to account for scan points which cannot be associated. In particular, we introduce the destination-oriented data association vector 𝗮=[𝖺(𝟣)𝖺(𝟤)𝖺(𝖭D)]T\bm{\mathsfbr{a}}=[\mathsfbr{a}^{(1)}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\mathsfbr{a}^{(2)}\hskip 0.85358pt\ldots\hskip 0.85358pt\mathsfbr{a}^{(N_{\mathrm{D}})}]^{\mathrm{T}} in which 𝖺(𝗂),𝗂{𝟣,𝟤,,𝖭D}\mathsfbr{a}^{(i)},i\in\{1,2,\ldots,N_{\mathrm{D}}\} refers to the association variable of the ithi^{\mathrm{th}} destination surface point. 𝖺(𝗂)\mathsfbr{a}^{(i)} can take any value from the set {0,1,,NS}\{0,1,\ldots,N_{\mathrm{S}}\}, where 𝖺(𝗂)=𝗃\mathsfbr{a}^{(i)}=j means that the ithi^{\mathrm{th}} destination surface point relates to the jthj^{\mathrm{th}} source point. Moreover, 𝖺(𝗂)=𝟢\mathsfbr{a}^{(i)}=0 means that the destination surface point {𝒅H(i),𝒏H(i)}\{\bm{d}_{\mathrm{H}}^{(i)},\bm{n}_{\mathrm{H}}^{(i)}\} is not associable to any source point 𝒔H(j),j\bm{s}_{\mathrm{H}}^{(j)},\forall j.

II-C Problem Formulation

Fig. 1 graphically depicts the problem we attempt to solve. Our goal is to infer the relative pose Δ𝗣\Delta\bm{\mathsfbr{P}} of the sensor based on the source and destination point clouds by transforming the source point cloud onto the destination point cloud. Note that the associations between source scan points and destination surface points 𝗮\bm{\mathsfbr{a}} are unknown and need to be inferred jointly with the relative pose Δ𝗣\Delta\bm{\mathsfbr{P}} which is a random matrix on the manifold SE(Ndim)\textit{SE}(N_{\text{dim}}).

In the pursuit of solving this problem robustly, we resort to the probabilistic domain. Our goal is to obtain a Bayes-optimum estimate of the relative pose Δ𝗣\Delta\bm{\mathsfbr{P}} considering all valid data association hypotheses 𝗮\bm{\mathsfbr{a}}. First, we marginalize the joint posterior distribution f(Δ𝑷,𝒂|𝒛)f(\Delta\bm{P},\bm{a}|\bm{z}) to obtain f(Δ𝑷|𝒛)f(\Delta\bm{P}|\bm{z}) which factors in all valid data association hypotheses. Then, we derive an maximum a posteriori (MAP) estimate by maximizing the marginal posterior distribution, i.e.,

Δ𝑷^MAP=argmaxΔ𝑷f(Δ𝑷|𝒛).\Delta\hat{\bm{P}}_{\mathrm{MAP}}=\operatorname*{arg\,max}_{\Delta\bm{P}}f(\Delta\bm{P}|\bm{z}).\vspace{-1.2mm} (2)

Note that determining f(Δ𝑷|𝒛)f(\Delta\bm{P}|\bm{z}) by direct marginalization (i.e., f(Δ𝑷|𝒛)=𝒂f(Δ𝑷,𝒂|𝒛))\big{(}\text{i.e., }f(\Delta\bm{P}|\bm{z})=\sum_{\bm{a}}f(\Delta\bm{P},\bm{a}|\bm{z})\big{)} is infeasible due to the high-dimensionality of the summation space as discussed in Section III. We consider feasible approximate calculation based on the notion of message passing [21, 22, 23].

III Stochastic Modeling

Here, we present our novel stochastic model which couples data association, sensor pose, and point cloud measurements.

III-A Modeling of the Point-to-Surface-Point Associations

We attempt to associate NSN_{\mathrm{S}} source points to NDN_{\mathrm{D}} destination surface points. Recall, though, that not all points in the source and destination scan are associable. We assume the number of non-associable source points, 𝖭NA\mathsfbr{N}_{\mathrm{NA}}, to be random and Poisson distributed with mean λNA\lambda_{\mathrm{NA}}. Hence the total number of source points, 𝖭S\mathsfbr{N}_{\mathrm{S}}, is also random and given by

𝖭S=𝖭NA+|𝒟𝗮|,\mathsfbr{N}_{\mathrm{S}}=\mathsfbr{N}_{\mathrm{NA}}+|{\cal{D}}_{\bm{\mathsfbr{a}}}|, (3)

where 𝒟𝗮{i{1,2,,ND}:𝖺(𝗂)𝟢}{\cal{D}}_{\bm{\mathsfbr{a}}}\triangleq\{i\in\{1,2,\ldots,N_{\mathrm{D}}\}:\mathsfbr{a}^{(i)}\neq 0\}.

Valid associations are those in which each source point 𝒔H(j)\bm{s}_{\mathrm{H}}^{(j)} is associated to at most one destination surface point {𝒅H(i),𝒏H(i)}\{\bm{d}_{\mathrm{H}}^{(i)},\bm{n}_{\mathrm{H}}^{(i)}\}, and each destination surface point {𝒅H(i),𝒏H(i)}\{\bm{d}_{\mathrm{H}}^{(i)},\bm{n}_{\mathrm{H}}^{(i)}\} is associated to at most one source point 𝒔H(j)\bm{s}_{\mathrm{H}}^{(j)}. This assumptions imposes constraints on 𝗮\bm{\mathsfbr{a}}. In particular, 𝗮\bm{\mathsfbr{a}} is valid if and only if 𝖺(𝗂)=𝗃{𝟣,,𝖭S}\mathsfbr{a}^{(i)}=j\in\{1,\ldots,N_{\mathrm{S}}\}, 𝖺(𝗂)𝗃,𝗂𝗂\mathsfbr{a}^{(i^{\prime})}\neq j,\forall i\neq i^{\prime}. These constraints can be conveniently expressed by

Ψ(𝒂)={0,a(i)=a(i)=j,ii,j01,otherwise.\Psi(\bm{a})=\begin{cases}0,\quad&a^{(i)}=a^{(i^{\prime})}=j,i\neq i^{\prime},j\neq 0\\ 1,\quad&\text{otherwise}.\end{cases} (4)

Note that the cardinality of valid hypothesis is huge, rendering enumeration of all hypotheses intractable [12, 24]. To address this issue, we introduce a redundant formulation of 𝗮\bm{\mathsfbr{a}}: the source-oriented data association vector 𝗯=[𝖻(𝟣)𝖻(𝟤)𝖻(𝖭S)]T\bm{\mathsfbr{b}}=[\mathsfbr{b}^{(1)}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\mathsfbr{b}^{(2)}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\ldots\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\mathsfbr{b}^{(N_{\mathrm{S}})}]^{\mathrm{T}}, in which 𝖻(𝗃){𝟣,,𝖭D}\mathsfbr{b}^{(j)}\in\{1,\ldots,N_{\mathrm{D}}\} and 𝖻(𝗃)=𝗂\mathsfbr{b}^{(j)}=i means that the jthj^{\mathrm{th}} source point is associated to the ithi^{\mathrm{th}} destination surface point. If 𝖻(𝗃)=𝟢\mathsfbr{b}^{(j)}=0, the jthj^{\mathrm{th}} source point is non-associable. For source-oriented data association vectors 𝗯\bm{\mathsfbr{b}} we have 𝖻(𝗃)=𝗂{𝟣,,𝖭D}\mathsfbr{b}^{(j)}=i\in\{1,\ldots,N_{\mathrm{D}}\}, 𝖻(𝗃)𝗂,𝗃𝗃\mathsfbr{b}^{(j^{\prime})}\neq i,\forall j^{\prime}\neq j. Note that the set of all valid vectors 𝗯\bm{\mathsfbr{b}} contains exactly the same information as that of all valid vectors 𝗮\bm{\mathsfbr{a}}.

The reason for introducing this redundant data association representation is that validity of association hypotheses can now be described via pairs of 𝖺(𝗂)\mathsfbr{a}^{(i)} and 𝖻(𝗃)\mathsfbr{b}^{(j)} instead of the entire vector 𝗮\bm{\mathsfbr{a}}, making evaluation tractable. This is described in more detail in [12, 24]. It can be easily verified that valid data associations can be described by

Ψ(𝒂,𝒃)=i=1NDj=1NSψi,j(a(i),b(j)),\Psi(\bm{a},\bm{b})=\prod_{i=1}^{N_{\mathrm{D}}}\prod_{j=1}^{N_{\mathrm{S}}}\psi_{i,j}(a^{(i)},b^{(j)}),\vspace{-2mm} (5)

where

ψi,j(a(i),b(j)){0,a(i)=j,b(j)ib(j)=i,a(i)j1,otherwise.\vspace{-1mm}\psi_{i,j}(a^{(i)},b^{(j)})\triangleq\begin{cases}0,\quad&a^{(i)}=j,b^{(j)}\neq i\\ &b^{(j)}=i,a^{(i)}\neq j\\ 1,\quad&\text{otherwise}.\end{cases} (6)

Note that we treat both 𝗮\bm{\mathsfbr{a}} and 𝗯\bm{\mathsfbr{b}} as random vectors that are inferred jointly with the relative pose Δ𝗣\Delta\bm{\mathsfbr{P}}.

f(Δ𝑷,𝒂,𝒃|𝒛)f(Δ𝑷)v(Δ𝑷;𝒔H)i=1NDqi(Δ𝑷,a(i);𝒛(i))j=1NSψi,j(a(i),b(j))f(\Delta\bm{P},\bm{a},\bm{b}|\bm{z})\propto f(\Delta\bm{P})v(\Delta\bm{P};\bm{s}_{\mathrm{H}})\prod_{i=1}^{N_{\mathrm{D}}}q_{i}(\Delta\bm{P},a^{(i)};\bm{z}^{(i)})\prod_{j=1}^{N_{\mathrm{S}}}\psi_{i,j}(a^{(i)},b^{(j)}) (9)
\psfragfig

![width=1keepaspectratio]Figures/factorGraph/factorGraph

Figure 2: Factor graph of the joint posterior distribution in (9). The graph can be sub-divided into a data association layer and a pose inference layer. In the latter, our goal is to infer the marginal posterior distribution f(Δ𝑷|z)f(\Delta\bm{P}|z) via message passing (messages are indicated with grey arrows). This PDF will maximized in a subsequent step to obtain an MAP estimate of the relative pose Δ𝗣\Delta\bm{\mathsfbr{P}}. We use the following shorthand notations within the graph: fΔ𝑷f(Δ𝑷)f_{\Delta\bm{P}}\triangleq f(\Delta\bm{P}), qiqi(Δ𝑷,a(i);𝒛(i))q_{i}\triangleq q_{i}(\Delta\bm{P},a^{(i)};\bm{z}^{(i)}), ψi,jψi,j(a(i),b(j))\psi_{i,j}\triangleq\psi_{i,j}(a^{(i)},b^{(j)}), vNAv(Δ𝑷;𝒔H)v_{\mathrm{NA}}\triangleq v(\Delta\bm{P};\bm{s}_{\mathrm{H}}).

III-B Joint Posterior Distribution

In what follows, we derive the joint posterior distribution f(Δ𝑷,𝒂,𝒃|𝒛)f(\Delta\bm{P},\bm{a},\bm{b}|\bm{z}) and the corresponding factor graph. For 𝒛\bm{z} observed and thus fixed, we obtain

f(Δ𝑷,𝒂,𝒃|𝒛)f(𝒛,𝒂,𝒃,NS|Δ𝑷)f(Δ𝑷).f(\Delta\bm{P},\bm{a},\bm{b}|\bm{z})\propto f(\bm{z},\bm{a},\bm{b},N_{\mathrm{S}}|\Delta\bm{P})f(\Delta\bm{P}).\vspace{0mm} (7)

f(Δ𝑷)f(\Delta\bm{P}) is a random matrix pdf with support SE(Ndim)\textit{SE}(N_{\text{dim}}) that incorporates prior knowledge on the relative pose Δ𝗣\Delta\bm{\mathsfbr{P}}. The conditional PDF f(𝒛,𝒂,𝒃,NS|Δ𝑷)f(\bm{z},\bm{a},\bm{b},N_{\mathrm{S}}|\Delta\bm{P}) is given by

f(𝒛,𝒂,𝒃,NS|Δ𝑷)\displaystyle f(\bm{z},\bm{a},\bm{b},N_{\mathrm{S}}|\Delta\bm{P}) (8)
=eλNANNA!Ψ(𝒂,𝒃)v(Δ𝑷;𝒔H)i=1NDqi(Δ𝑷,a(i);𝒛(i))\displaystyle=\!\frac{e^{-\lambda_{\mathrm{NA}}}}{N_{\mathrm{NA}}!}\Psi(\bm{a},\bm{b})v(\Delta\bm{P};\bm{s}_{\mathrm{H}})\prod_{i=1}^{N_{\mathrm{D}}}q_{i}(\Delta\bm{P},a^{(i)};\bm{z}^{(i)})

where we introduced v(Δ𝑷;𝒔H)j=1NSfNA(𝒔H(j)|Δ𝑷)v(\Delta\bm{P};\bm{s}_{\mathrm{H}})\triangleq\prod_{j=1}^{N_{\mathrm{S}}}f_{\mathrm{NA}}(\bm{s}_{\mathrm{H}}^{(j)}|\Delta\bm{P}) and

qi(Δ𝑷,a(i);𝒛(i))\displaystyle q_{i}(\Delta\bm{P},a^{(i)};\bm{z}^{(i)})
={fA(Δ𝑷)f(𝒛(i,a(i))|Δ𝑷)λNAfNA(𝒔H(a(i))|Δ𝑷)a(i)01fA(Δ𝑷)a(i)=0\displaystyle=\begin{cases}f_{\mathrm{A}}(\Delta\bm{P})\frac{f(\bm{z}^{(i,a^{(i)})}|\Delta\bm{P})}{\lambda_{\mathrm{NA}}f_{\mathrm{NA}}(\bm{s}_{\mathrm{H}}^{(a^{(i)})}|\Delta\bm{P})}\quad&a^{(i)}\neq 0\\ 1-f_{\mathrm{A}}(\Delta\bm{P})\quad&a^{(i)}=0\end{cases} (10)

and used Ψ(𝒂,𝒃)\Psi(\bm{a},\bm{b}) from (5). A detailed derivation of (8) together with the underlying assumptions is provided in Appendix A. By using (8) in (7), we obtain the joint posterior distribution f(Δ𝑷,𝒂,𝒃|𝒛)f(\Delta\bm{P},\bm{a},\bm{b}|\bm{z}) shown in (9).

Let us discuss the expression in (9) to gain further insights into our model. Suppose that we have a destination surface point ii, {𝗱H(i),𝗻H(i)}\{\bm{\mathsfbr{d}}_{\mathrm{H}}^{(i)},\bm{\mathsfbr{n}}_{\mathrm{H}}^{(i)}\}, that is associated with source point 𝘀H(j)\bm{\mathsfbr{s}}_{\mathrm{H}}^{(j)}, i.e., a(i)=ja^{(i)}=j. Then, we have qi(Δ𝑷,j,𝒛(i))=fA(Δ𝑷)f(𝒛(i,j)|Δ𝑷)/(λNAfNA(𝒔H(j)|Δ𝑷))q_{i}(\Delta\bm{P},j,\bm{z}^{(i)})=f_{\mathrm{A}}(\Delta\bm{P})f(\bm{z}^{(i,j)}|\Delta\bm{P})/(\lambda_{\mathrm{NA}}f_{\mathrm{NA}}(\bm{s}_{\mathrm{H}}^{(j)}|\Delta\bm{P})), where fA()f_{\mathrm{A}}(\cdot) accounts for the fact that destination surface point ii is associable and contributes pseudo measurement 𝒛(i,j)\bm{z}^{(i,j)} with likelihood f(𝒛(i,j)|Δ𝑷)f(\bm{z}^{(i,j)}|\Delta\bm{P}). Lastly, the term in the denominator, fNA(𝒔H(j)|Δ𝑷)f_{\mathrm{NA}}(\bm{s}_{\mathrm{H}}^{(j)}|\Delta\bm{P}), reflects the fact that source point jj, 𝒔H(j)\bm{s}_{\mathrm{H}}^{(j)}, is associable as well since it cancels the jthj^{\text{th}} term in v(Δ𝑷;𝒔H)v(\Delta\bm{P};\bm{s}_{\mathrm{H}}). On the contrary, if the ithi^{\mathrm{th}} destination surface point is not associated with any source point, we have qi(Δ𝑷,0,𝒛(i))=1fA(Δ𝑷)q_{i}(\Delta\bm{P},0,\bm{z}^{(i)})=1-f_{\mathrm{A}}(\Delta\bm{P}). This term takes the likelihood of non-associability, 1fA(Δ𝑷)1-f_{\mathrm{A}}(\Delta\bm{P}), of destination surface point ii into account. Finally, Ψ(𝒂,𝒃)\Psi(\bm{a},\bm{b}) enforces validity of associations.

Algorithm 1 Obtaining the Marginal Posterior f(Δ𝑷|𝒛)f(\Delta\bm{P}|\bm{z})
1:Initialize prior information
2:
μfΔ𝑷Δ𝑷(Δ𝑷)\displaystyle\mu_{f_{\Delta\bm{P}}\rightarrow\Delta\bm{P}}(\Delta\bm{P}) =f(Δ𝑷)\displaystyle=f(\Delta\bm{P})
μvNAΔ𝑷(Δ𝑷)\displaystyle\mu_{v_{\mathrm{NA}}\rightarrow\Delta\bm{P}}(\Delta\bm{P}) =v(Δ𝑷;𝒔H)\displaystyle=v(\Delta\bm{P};\bm{s}_{\mathrm{H}})
3:Forward prior information
4:For i=1,2,,NDi=1,2,\ldots,N_{\mathrm{D}}
5:
μΔ𝑷qi(Δ𝑷)=μfΔ𝑷Δ𝑷(Δ𝑷)μvNAΔ𝑷(Δ𝑷)\displaystyle\mu_{\Delta\bm{P}\rightarrow q_{i}}(\Delta\bm{P})=\mu_{f_{\Delta\bm{P}}\rightarrow\Delta\bm{P}}(\Delta\bm{P})\mu_{v_{\mathrm{NA}}\rightarrow\Delta\bm{P}}(\Delta\bm{P})
6:End For
7:Evaluate associations
8:For i=1,2,,NDi=1,2,\ldots,N_{\mathrm{D}}
9:
μqia(i)(a(i))\displaystyle\mu_{q_{i}\rightarrow a^{(i)}}(a^{(i)}) =qi(Δ𝑷,a(i);𝒛(i))μΔ𝑷qi(Δ𝑷)dΔ𝑷\displaystyle\!=\!\int q_{i}(\Delta\bm{P},a^{(i)};\bm{z}^{(i)})\mu_{\Delta\bm{P}\rightarrow q_{i}}(\Delta\bm{P})\mathrm{d}\Delta\bm{P}
p=1NPqi(Δ𝑷(p),a(i);𝒛(i))v(Δ𝑷;𝒔H)\displaystyle\approx\sum^{N_{\mathrm{P}}}_{p=1}q_{i}(\Delta\bm{P}^{(p)},a^{(i)};\bm{z}^{(i)})v(\Delta\bm{P};\bm{s}_{\mathrm{H}})
10:where Δ𝑷(p)\Delta\bm{P}^{(p)}, p=1,2,,NPp=1,2,\dots,N_{\mathrm{P}} are random samples drawn from μfΔ𝑷Δ𝑷(Δ𝑷)=f(Δ𝑷)\mu_{f_{\Delta\bm{P}}\rightarrow\Delta\bm{P}}(\Delta\bm{P})=f(\Delta\bm{P}).
11:End For
12:Perform NDAN_{\mathrm{DA}} data association iterations
13:For l=1,2,,NDAl=1,2,\ldots,N_{\mathrm{DA}}
14:
Message exchange between a(i) and b(j) see [12, 24]\displaystyle\text{ Message exchange between }a^{(i)}\text{ and }b^{(j)}\text{ see \cite[cite]{[\@@bibref{}{WilliamsLau:J14,MeyerKropfreiterWilliamsLauHlawatschBracaWin:J18}{}{}]}}
(μaiψi,j(l),μψi,jb(j)(l),μb(j)ψi,j(l),μψi,ja(i)(l))\displaystyle(\mu^{(l)}_{a_{i}\rightarrow\psi_{i,j}},\mu^{(l)}_{\psi_{i,j}\rightarrow b^{(j)}},\mu^{(l)}_{b^{(j)}\rightarrow\psi_{i,j}},\mu^{(l)}_{\psi_{i,j}\rightarrow a^{(i)}})
15:End For
16:Forward data association result
17:For i=1,2,,NDi=1,2,\ldots,N_{\mathrm{D}}
18:
μa(i)qi(a(i))=j=1NSμψi,jai(NDA)(a(i))\displaystyle\mu_{a^{(i)}\rightarrow q_{i}}(a^{(i)})=\prod_{j=1}^{N_{\mathrm{S}}}\mu^{(N_{\mathrm{DA}})}_{\psi_{i,j}\rightarrow a_{i}}(a^{(i)})
19:End For
20:Marginalize associations
21:For i=1,2,,NDi=1,2,\ldots,N_{\mathrm{D}}
22:
μqiΔ𝑷(Δ𝑷)=a(i)=0NSqi(Δ𝑷,a(i);𝒛(i))μa(i)qi(a(i))\displaystyle\mu_{q_{i}\rightarrow\Delta\bm{P}}(\Delta\bm{P})=\sum_{a^{(i)}=0}^{N_{\mathrm{S}}}q_{i}(\Delta\bm{P},a^{(i)};\bm{z}^{(i)})\mu_{a^{(i)}\rightarrow q_{i}}(a^{(i)})
23:End For
24:Determine marginalized posterior f(Δ𝑷|𝒛)f(\Delta\bm{P}|\bm{z})
25:
f(Δ𝑷|𝒛)f(Δ𝑷)v(Δ𝑷;𝒔H)i=1NDμqiΔ𝑷(Δ𝑷)\displaystyle f(\Delta\bm{P}|\bm{z})\approx f(\Delta\bm{P})v(\Delta\bm{P};\bm{s}_{\mathrm{H}})\prod_{i=1}^{N_{\mathrm{D}}}\mu_{q_{i}\rightarrow\Delta\bm{P}}(\Delta\bm{P}) (11)

IV Graph-based Inference

The factor graph of the joint posterior distribution in (9) is depicted in Fig. 2. Our goal is to infer the marginal posterior distribution f(Δ𝑷|𝒛)=𝒂𝒃f(Δ𝑷,𝒂,𝒃|𝒛)f(\Delta\bm{P}|\bm{z})=\sum_{\bm{a}}\sum_{\bm{b}}f(\Delta\bm{P},\bm{a},\bm{b}|\bm{z}) needed for the calculation of an MAP estimate Δ𝑷^MAP\Delta\hat{\bm{P}}_{\mathrm{MAP}}. We employ the notation of message passing according to the sum-product rules [21, 22, 23] to calculate an approximation of the marginal posterior distribution f(Δ𝑷|𝒛)f(\Delta\bm{P}|\bm{z}). The messages passed along the edges of the factor graph are indicated via grey arrows in the factor graph in Fig. 2. Messages that involve integration dΔ𝑷\int\mathrm{d}\Delta\bm{P} over the sensor pose Δ𝑷\Delta\bm{P} are approximated by sampling-based integration [25]. We present the steps of our inference method in Algorithm 1.

First, we perform Algorithm 1 to compute an accurate approximation of the marginal posterior f(Δ𝑷|𝒛)f(\Delta\bm{P}|\bm{z}). Then, our goal is to derive the MAP estimate, Δ𝑷^MAP=argmaxΔ𝑷f(Δ𝑷|𝒛)\Delta\hat{\bm{P}}_{\mathrm{MAP}}=\operatorname*{arg\,max}_{\Delta\bm{P}}f(\Delta\bm{P}|\bm{z}), by maximizing (11) with NITN_{\mathrm{IT}}. To that end, we employ iterative numerical solvers that exploit the structure of SE(Ndim)\textit{SE}(N_{\text{dim}})[26]. As initial guess, we use the pose sample that maximizes the marginal posterior, i.e.,

Δ𝑷init=argmaxΔ𝑷(p)f(Δ𝑷(p)|𝒛),p{1,2,NP}\Delta\bm{P}_{\mathrm{init}}=\operatorname*{arg\,max}_{\Delta\bm{P}^{(p)}}f(\Delta\bm{P}^{(p)}|\bm{z}),\quad p\in\{1,2,\ldots N_{\mathrm{P}}\} (12)

where Δ𝑷(p)\Delta\bm{P}^{(p)}, p=1,2,,NPp=1,2,\dots,N_{\mathrm{P}} are random samples drawn from f(Δ𝑷)f(\Delta\bm{P}).

We emphasize that our approach determines the full marginal posterior distribution f(Δ𝑷|𝒛)f(\Delta\bm{P}|\bm{z}). Obtaining an estimate by finding its mode is by no means the only information that we can extract from it. We could derive, e.g., uncertainty information on our estimate that we can use to reason about the quality of matching. Such knowledge is typically required for closing loops in simultaneous localization and mapping (SLAM) applications. Beyond scan-to-scan matching, our proposed stochastic model can be embedded into online or offline factor graph-based trajectory estimation.

The computational complexities in the pose inference and data association layers (see Fig. 2) as well as for optimization are given by 𝒪(NDNSN)\mathcal{O}(N_{\mathrm{D}}N_{\mathrm{S}}N_{*}), {P,DA,IT}*\in\{\mathrm{P,DA,IT}\}. To avoid high complexity, segmentation of point clouds [27] can be used to generate semantic clusters (e.g., road surface, guardrails, poles, etc.) where each cluster contains significantly fewer points than the original point cloud. Running multiple instances (one for each cluster) of our proposed algorithm in parallel reduces the complexity as ND,iNS,iNDNSN_{\mathrm{D},i}N_{\mathrm{S},i}\ll N_{\mathrm{D}}N_{\mathrm{S}}, where ND,iN_{\mathrm{D},i} and NS,iN_{\mathrm{S},i} denote the number of destination and source points in cluster ii, respectively.

Relative Trans. Error Proposed NDT [3] IMLS [6]
etrans,50e_{\mathrm{trans},50} 1.87%\% 1.800%\% 6.60%\%
etrans,95e_{\mathrm{trans},95} 7.723%\% 94.65%\% 28.06%\%
Relative Rotation Error Proposed NDT [3] IMLS [6]
erot,50e_{\mathrm{rot},50} 0.0349/m 0.0203/m 0.2487/m
erot,95e_{\mathrm{rot},95} 0.1123/m 0.0759 /m 2.2016/m
TABLE I: Error quantiles of simulated pose estimation methods.

V Numerical Evaluation

In this section, we evaluate the our scan matching approach based on simulated data and present the results.

V-A Simulation Scenario

We consider a vehicle that drives in the urban environment depicted in Fig. 3. The vehicle moves with a constant velocity of 1010 m/s along the indicated trajectory (red line). It is equipped with a 360360^{\circ}-LiDAR sensor that generates scans every ΔT=80\Delta T=80 ms. We treat the current scan as the source scan and the previous scan as the destination scan to obtain pose estimates that are inline with the motion of the vehicle.

The sensor has an angular resolution of 11 deg and a maximum sensing range of 100100 m. The scanner obtains range and bearing estimates that are corrupted by zero-mean Gaussian noise with standard deviation σrange=0.05\sigma_{\mathrm{range}}=0.05 m and σbearing=0.5\sigma_{\mathrm{bearing}}=0.5 deg, respectively. Non-associable source points are assumed to be uniformly distributed in range and bearing, being independent of Δ𝗣\Delta\bm{\mathsfbr{P}}. The number of non-associable source points is assumed Poisson distributed with mean λNA=1\lambda_{\mathrm{NA}}=1. For surface normal computation, we use dTH=2d_{\mathrm{TH}}=2 m. An exemplary scan is depicted in Fig. 3. We use the following parameters for our proposed algorithm. The probability of associability is constant fA(Δ𝑷)=0.8f_{\mathrm{A}}(\Delta\bm{P})=0.8. For each j{1,2,,NS}j\in\{1,2,\ldots,N_{\mathrm{S}}\}, the noise statistics of f(e(j))f(e^{(j)}) are assumed zero-mean Gaussian distributed with standard deviation σe(j)=0.03\sigma_{e^{(j)}}=0.03 m. Translation and rotation prior are considered uniform within the intervals [10,10][-10,10] m and [90,90][-90,90] . We performed NMC=100N_{\mathrm{MC}}=100 Monte Carlo trials.

V-B Performance Comparison

We compare our probabilistic scan matching approach to normal distributions transform (NDT) scan matching [3] and implicit moving least squares (IMLS) scan matching [6]. In our implementation of IMLS, we set the neighborhood parameter to h=2h=2 and obtained estimates by minimizing [6, Eq. (1)]. We employ the following error metrics to evaluate the translation and rotation drift: etrans=Δ𝒕^MAPΔ𝒕/Δ𝒕e_{\mathrm{trans}}=\|\Delta\hat{\bm{t}}_{\mathrm{MAP}}-\Delta\bm{t}\|/\|\Delta\bm{t}\| and erot=arccos((Tr(Δ𝑹^MAP1Δ𝑹)1)/2)/Δ𝒕e_{\mathrm{rot}}=\arccos((\mathrm{Tr}(\Delta\hat{\bm{R}}_{\mathrm{MAP}}^{-1}\Delta\bm{R})-1)/2)/\|\Delta\bm{t}\|, where Δ𝒕^MAP\Delta\hat{\bm{t}}_{\mathrm{MAP}} and Δ𝑹^MAP\Delta\hat{\bm{R}}_{\mathrm{MAP}} are the estimated translation and rotation extracted from Δ𝑷^MAP\Delta\hat{\bm{P}}_{\mathrm{MAP}}, Δ𝒕\Delta\bm{t} and Δ𝑹\Delta\bm{R} are the ground truth translation and rotation, and Tr()\mathrm{Tr}(\cdot) is the trace operator.

\psfragfig

![width=keepaspectratio]Figures/urbanEnvironment/urbanEnvironmentCar

Figure 3: Simluation scenario and results: The ground truth trajectory is shown against the accumulated pose change estimates of the our approach and its benchmarks. Scan points obtained at the first time instance are depicted by yellow dots to visualize the characteristics of the LiDAR sensor.

Results are depicted in Tab. I. Here, etrans,qe_{\mathrm{trans},q} refers to an error threshold such that q%q\% of all relative observed translation errors etranse_{\mathrm{trans}} are below this threshold. The same logic applies to erot,qe_{\mathrm{rot},q}. For example, etrans,50e_{\mathrm{trans},50} is the median relative translation error. From Tab. I we observe that median relative translation and rotation errors of NDT and our proposed approach both show low drifts. However, considering etrans,qe_{\mathrm{trans},q}, NTD shows a significantly larger drift compared to our proposed probabilistic approach. IMLS scan matching shows large drifts, presumably due to the absence of a good initial guess provided to the optimizers. Exemplary estimated trajectories obtained via a concatenation of relative pose estimates are also shown in Fig. 3 where we can see how closely our approach attains ground truth.

VI Conclusions

We derived a probabilistic scan matching model which jointly describes the pose change of a high-resolution sensor along with the unknown data associations of observed scan points. Moreover, we presented an inference algorithm for that model which determines the posterior distribution of pose change given scan data. Compared to state-of-the-art scan matching algorithms, our approach considers all data association hypotheses and allows for uncertainty quantification, as the full posterior distribution is available. Numerical studies show precise pose change estimates characterized by low drift in terms of both translation and rotation.

Appendix A Derivation of f(𝒛,𝒂,𝒃,NS|Δ𝑷)f(\bm{z},\bm{a},\bm{b},N_{\mathrm{S}}|\Delta\bm{P})

We make the following assumptions:

  1. A1)

    Source points, 𝒔H(j),j\bm{s}_{\mathrm{H}}^{(j)},\forall j, are either associable or non-associable. Every associable source point can be associated with at most one destination surface point and every destination surface point can be associated to at most one associable source point.

  2. A2)

    Valid source-to-destination associations according to A1) are uniformly distributed a priori.

  3. A3)

    Associability of destination points, ϑ\bm{\stheta}, and the number of non-associable source points, 𝖭NA\mathsfbr{N}_{\mathrm{NA}}, are statistically independent given the relative pose, Δ𝗣\Delta\bm{\mathsfbr{P}}.

  4. A4)

    The associability of destination surface points ii and i,iii^{\prime},\forall i\neq i^{\prime}, ϑ(i)\stheta^{(i)} and ϑ(i)\stheta^{(i^{\prime})}, are independent Bernoulli-distributed random variables given the relative pose Δ𝗣\Delta\bm{\mathsfbr{P}}. The probability of a destination surface point ii to be associable (ϑ(i)=1\stheta^{(i)}=1) is 0fA(Δ𝑷)<1,i0\leq f_{\mathrm{A}}(\Delta\bm{P})<1,\forall i.

  5. A5)

    The number of non-associable source points, 𝖭NA\mathsfbr{N}_{\mathrm{NA}}, is Poisson-distributed with intensity λNA\lambda_{\mathrm{NA}}.

  6. A6)

    A non-associable source point, 𝒔H(j)\bm{s}_{\mathrm{H}}^{(j)}, is statistically independent of an associable source points, 𝒔H(j)\bm{s}_{\mathrm{H}}^{(j^{\prime})}. This holds for all associable and non-associable points.

  7. A7)

    Given the relative pose Δ𝗣\Delta\bm{\mathsfbr{P}}, pseudo measurements, 𝒛(i,j),i,j\bm{z}^{(i,j^{\prime})},\forall i,j^{\prime}, corresponding to associable source points, 𝒔H(j),j\bm{s}_{\mathrm{H}}^{(j^{\prime})},\forall j^{\prime}, are independent of each other and distributed according to f(𝒛(i,j)|Δ𝑷)f(\bm{z}^{(i,j^{\prime})}|\Delta\bm{P}).

  8. A8)

    Non-associable source points, 𝒔H(j),j\bm{s}_{\mathrm{H}}^{(j)},\forall j, are independent and identically distributed (iid) with PDF fNA(𝒔H(j)|Δ𝑷)0,Δ𝑷SE(Ndim)f_{\mathrm{NA}}(\bm{s}_{\mathrm{H}}^{(j)}|\Delta\bm{P})\neq 0,\Delta\bm{P}\in\textit{SE}(N_{\text{dim}}).

As a preliminary step, we derive the conditional PDF f(𝒛,𝒂,NS|Δ𝑷)f(\bm{z},\bm{a},N_{\mathrm{S}}|\Delta\bm{P}). This is closely related to the derivation of the joint probabilistic data association (JPDA) filter [11]. We start by decomposing f(𝒛,𝒂,NS|Δ𝑷)f(\bm{z},\bm{a},N_{\mathrm{S}}|\Delta\bm{P}) as

f(𝒛,𝒂,NS|Δ𝑷)=f(𝒛|𝒂,NS,Δ𝑷)f(𝒂,NS|Δ𝑷).f(\bm{z},\bm{a},N_{\mathrm{S}}|\Delta\bm{P})=f(\bm{z}|\bm{a},N_{\mathrm{S}},\Delta\bm{P})f(\bm{a},N_{\mathrm{S}}|\Delta\bm{P}). (13)

Let us next define the vector ϑ[ϑ(1)ϑ(2)ϑ(ND)]T\bm{\stheta}\triangleq[\stheta^{(1)}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\stheta^{(2)}\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\ldots\hskip 0.85358pt\hskip 0.85358pt\hskip 0.85358pt\stheta^{(N_{\mathrm{D}})}]^{\mathrm{T}} that indicates which destination surface point i{1,2,,ND}i\in\{1,2,\ldots,N_{\mathrm{D}}\} is associable (ϑ(i)=1\stheta^{(i)}=1) or non-associable (ϑ(i)=0\stheta^{(i)}=0). Note that ϑ(i)=1\stheta^{(i)}=1 implies 𝖺(𝗂)𝟢\mathsfbr{a}^{(i)}\neq 0 and ϑ(i)=0\stheta^{(i)}=0 implies 𝖺(𝗂)=𝟢\mathsfbr{a}^{(i)}=0. Due to (3), the mapping between (𝗮,ϑ,𝖭NA\bm{\mathsfbr{a}},\bm{\stheta},\mathsfbr{N}_{\mathrm{NA}}) and (𝗮,𝖭S\bm{\mathsfbr{a}},\mathsfbr{N}_{\mathrm{S}}) is thus deterministic as well as bijective and the factor f(𝒂,NS|Δ𝑷)f(\bm{a},N_{\mathrm{S}}|\Delta\bm{P}) in (13) can also be written as f(𝒂,𝜽,NNA|Δ𝑷)=f(𝒂,NS|Δ𝑷)f(\bm{a},\bm{\theta},N_{\mathrm{NA}}|\Delta\bm{P})=f(\bm{a},N_{\mathrm{S}}|\Delta\bm{P}).

As a result of the chain rule and by using A3), we obtain

f(𝒂,NS|Δ𝑷)\displaystyle f(\bm{a},N_{\mathrm{S}}|\Delta\bm{P})
=f(𝒂,𝜽,NNA|Δ𝑷)\displaystyle\hskip 19.91692pt=f(\bm{a},\bm{\theta},N_{\mathrm{NA}}|\Delta\bm{P})
=f(𝒂|𝜽,NNA,Δ𝑷)f(𝜽|Δ𝑷,NNA)f(NNA|Δ𝑷)\displaystyle\hskip 19.91692pt=f(\bm{a}|\bm{\theta},N_{\mathrm{NA}},\Delta\bm{P})f(\bm{\theta}|\Delta\bm{P},N_{\mathrm{NA}})f(N_{\mathrm{NA}}|\Delta\bm{P})
=f(𝒂|𝜽,NNA,Δ𝑷)f(𝜽|Δ𝑷)f(NNA|Δ𝑷).\displaystyle\hskip 19.91692pt=f(\bm{a}|\bm{\theta},N_{\mathrm{NA}},\Delta\bm{P})f(\bm{\theta}|\Delta\bm{P})f(N_{\mathrm{NA}}|\Delta\bm{P}).\vspace{.7mm} (14)

Note that A4) implies

f(𝜽|Δ𝑷)=(i𝒟𝒂fA(Δ𝑷))i𝒟𝒂(1fA(Δ𝑷))f(\bm{\theta}|\Delta\bm{P})=\left(\prod_{i\in{\cal{D}}_{\bm{a}}}f_{\mathrm{A}}(\Delta\bm{P})\right)\prod_{i^{\prime}\notin{\cal{D}}_{\bm{a}}}(1-f_{\mathrm{A}}(\Delta\bm{P})) (15)

and from A5), we obtain

f(NNA|Δ𝑷)=λNANNANNA!eλNA.f(N_{\mathrm{NA}}|\Delta\bm{P})=\frac{\lambda_{\mathrm{NA}}^{N_{\mathrm{NA}}}}{N_{\mathrm{NA}}!}e^{-\lambda_{\mathrm{NA}}}.\vspace{0mm} (16)

Let us denote by 𝒜{\cal{A}} the set of all vectors 𝒂\bm{a} that do not violate assumption A1). From basic results of combinatorics and A2), it is straightforward to show that f(𝒂|𝜽,NNA,Δ𝑷)=NNA!/NS!f(\bm{a}|\bm{\theta},N_{\mathrm{NA}},\Delta\bm{P})=N_{\mathrm{NA}}!/N_{\mathrm{S}}! for 𝒂𝒜\bm{a}\in{\cal{A}} and thus f(𝒂|𝜽,NNA,Δ𝑷)=Ψ(𝒂)f(\bm{a}|\bm{\theta},N_{\mathrm{NA}},\Delta\bm{P})=\Psi(\bm{a}) NNA!/NS!N_{\mathrm{NA}}!/N_{\mathrm{S}}! for arbitrary 𝒂{0,1,,NS}ND\bm{a}\in\{0,1,\dots,N_{\mathrm{S}}\}^{N_{\mathrm{D}}}. Using this result as well as (15) and (16) in (14), we obtain

f(𝒂,NS|Δ𝑷)\displaystyle f(\bm{a},N_{\mathrm{S}}|\Delta\bm{P}) =Ψ(𝒂)λNANS|𝒟𝒂|NS!eλNA(i𝒟𝒂fA(Δ𝑷))\displaystyle=\Psi(\bm{a})\hskip 0.85358pt\frac{\lambda_{\mathrm{NA}}^{N_{\mathrm{S}}-|{\cal{D}}_{\bm{a}}|}}{N_{\mathrm{S}}!}e^{-\lambda_{\mathrm{NA}}}\left(\hskip 1.13809pt\prod_{i\in{\cal{D}}_{\bm{a}}}f_{\mathrm{A}}(\Delta\bm{P})\right)
×j𝒟𝒂(1fA(Δ𝑷)).\displaystyle\hskip 28.45274pt\times\prod_{j\notin{\cal{D}}_{\bm{a}}}\big{(}1-f_{\mathrm{A}}(\Delta\bm{P})\big{)}.\vspace{.7mm} (17)

Furthermore, using A6)-A8) f(𝒛|𝒂,NS,Δ𝑷)f(\bm{z}|\bm{a},N_{\mathrm{S}},\Delta\bm{P}) in (13), can be expressed as

f(𝒛|𝒂,NS,Δ𝑷)\displaystyle f(\bm{z}|\bm{a},N_{\mathrm{S}},\Delta\bm{P})
=(j=1NSfNA(𝒔H(j)|Δ𝑷))i𝒟𝒂f(𝒛(i,a(i))|Δ𝑷)fNA(𝒔H(a(i))|Δ𝑷).\displaystyle\hskip 11.38109pt=\left(\hskip 1.13809pt\prod_{j=1}^{N_{\mathrm{S}}}f_{\mathrm{NA}}(\bm{s}_{\mathrm{H}}^{(j)}|\Delta\bm{P})\right)\prod_{i\in\mathcal{D}_{\bm{a}}}\frac{f\big{(}\bm{z}^{(i,a^{(i)})}|\Delta\bm{P}\big{)}}{f_{\mathrm{NA}}\big{(}\bm{s}_{\mathrm{H}}^{(a^{(i)})}\big{|}\Delta\bm{P}\big{)}}. (18)

Now, we use the expression for f(𝒂,NS|Δ𝑷)f(\bm{a},N_{\mathrm{S}}|\Delta\bm{P}) in (17) and the expression for f(𝒛|𝒂,NS,Δ𝑷)f(\bm{z}|\bm{a},N_{\mathrm{S}},\Delta\bm{P}) in (18) into (14) and obtain

f(𝒛,𝒂,NS|Δ𝑷)\displaystyle f(\bm{z},\bm{a},N_{\mathrm{S}}|\Delta\bm{P})
=Ψ(𝒂)λNANS|𝒟𝒂|NS!eλNA(j=1NSfNA(𝒔H(j)|Δ𝑷))\displaystyle\hskip 2.84526pt=\Psi(\bm{a})\hskip 0.85358pt\frac{\lambda_{\mathrm{NA}}^{N_{\mathrm{S}}-|{\cal{D}}_{\bm{a}}|}}{N_{\mathrm{S}}!}\hskip 0.85358pte^{-\lambda_{\mathrm{NA}}}\left(\hskip 1.13809pt\prod_{j=1}^{N_{\mathrm{S}}}f_{\mathrm{NA}}(\bm{s}_{\mathrm{H}}^{(j)}|\Delta\bm{P})\right)
×(i𝒟𝒂fA(Δ𝑷)f(𝒛(i,a(i))|Δ𝑷)fNA(𝒔H(a(i))|Δ𝑷))j𝒟𝒂(1fA(Δ𝑷)).\displaystyle\hskip 2.84526pt\times\left(\prod_{i\in\mathcal{D}_{\bm{a}}}\frac{f_{\mathrm{A}}(\Delta\bm{P})\hskip 0.85358ptf\big{(}\bm{z}^{(i,a^{(i)})}\big{|}\Delta\bm{P}\big{)}}{f_{\mathrm{NA}}\big{(}\bm{s}_{\mathrm{H}}^{(a^{(i)})}\big{|}\Delta\bm{P}\big{)}}\right)\prod_{j\notin{\cal{D}}_{\bm{a}}}\big{(}1-f_{\mathrm{A}}(\Delta\bm{P})\big{)}.

Finally, the final expression for f(𝒛,𝒂,𝒃,NS|Δ𝑷)f(\bm{z},\bm{a},\bm{b},N_{\mathrm{S}}|\Delta\bm{P}) in (8) is obtained from the expression for f(𝒛,𝒂,NS|Δ𝑷)f(\bm{z},\bm{a},N_{\mathrm{S}}|\Delta\bm{P}) in (LABEL:eq:finalAppendix) by “opening” the factor Ψ(𝒂)\Psi(\bm{a}). In particular, we introduce 𝒃\bm{b} as described in [24, Section V.B] and replace Ψ(𝒂)\Psi(\bm{a}) by Ψ(𝒂,𝒃)\Psi(\bm{a},\bm{b}) in (5).

References

  • [1] A. Ziebinski, R. Cupek, H. Erdogan, and S. Waechter, “A survey of ADAS technologies for the future perspective of sensor fusion,” in Computational Collective Intelligence.   Springer International Publishing, 2016, pp. 135–146.
  • [2] A. Mallios, P. Ridao, D. Ribas, F. Maurelli, and Y. Petillot, “EKF-SLAM for AUV navigation under probabilistic sonar scan-matching,” in Proc. IEEE IROS-10, Taipei, Taiwan, 2010, pp. 4404–4411.
  • [3] P. Biber and W. Strasser, “The normal distributions transform: a new approach to laser scan matching,” in Proc. IEEE IROS-03, Las Vegas, NV, USA, Oct. 2003.
  • [4] J. Zhang and S. Singh, “Low-drift and real-time lidar odometry and mapping,” Auton. Robots, vol. 41, no. 2, pp. 401–416, Feb. 2016.
  • [5] R. A. Srivatsan, M. Xu, N. Zevallos, and H. Choset, “Probabilistic pose estimation using a Bingham distribution-based linear filter,” Int J. Robot Res., vol. 37, no. 13-14, pp. 1610–1631, Jun. 2018.
  • [6] J.-E. Deschaud, “IMLS-SLAM: Scan-to-model matching based on 3D data,” in Proc. IEEE ICRA-18, Brisbane, Australia, May 2018.
  • [7] T. Shan and B. Englot, “LeGO-LOAM: Lightweight and ground-optimized lidar odometry and mapping on variable terrain,” in Proc. IEEE IROS-18, Madrid, Spain, Oct. 2018.
  • [8] J. Tang, Y. Chen, X. Niu, L. Wang, L. Chen, J. Liu, C. Shi, and J. Hyyppä, “LiDAR scan matching aided inertial navigation system in GNSS-denied environments,” Sensors, vol. 15, no. 7, pp. 16 710–16 728, Jul. 2015.
  • [9] E. Olson, “Real-time correlative scan matching,” in 2009 IEEE International Conference on Robotics and Automation.   IEEE, may 2009.
  • [10] A. Mallios, P. Ridao, D. Ribas, and E. Hernández, “Scan matching SLAM in underwater environments,” Autonomous Robots, vol. 36, no. 3, pp. 181–198, jun 2013.
  • [11] Y. Bar-Shalom, P. K. Willett, and X. Tian, Tracking and Data Fusion: A Handbook of Algorithms.   Storrs, CT, USA: Yaakov Bar-Shalom, 2011.
  • [12] J. L. Williams and R. Lau, “Approximate evaluation of marginal association probabilities with belief propagation,” IEEE Trans. Aerosp. Electron. Syst., vol. 50, no. 4, pp. 2942–2959, Oct. 2014.
  • [13] F. Meyer and M. Z. Win, “Scalable data association for extended object tracking,” IEEE Trans. Signal Inf. Process. Netw., vol. 6, pp. 491–507, 2020.
  • [14] F. Meyer and J. L. Williams, “Scalable detection and tracking of extended objects,” in Proc. IEEE ICASSP 2020, May 2020, pp. 8916–8920.
  • [15] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics.   MIT Press Ltd, 2005.
  • [16] J. C. Carr, R. K. Beatson, J. B. Cherrie, T. J. Mitchell, W. R. Fright, B. C. McCallum, and T. R. Evans, “Reconstruction and representation of 3D objects with radial basis functions,” in Proc. ACM SIGGRAPH-01, Los Angeles, CA, USA, Aug. 2001.
  • [17] J. Demantké, C. Mallet, N. David, and B. Vallet, “Dimensionality based scale selection in 3D lidar point clouds,” ISPRS Archives, vol. XXXVIII-5/W12, pp. 97–102, Sep. 2012.
  • [18] K. Klasing, D. Althoff, D. Wollherr, and M. Buss, “Comparison of surface normal estimation methods for range sensing applications,” in Proc. IEEE ICRA-09, Kobe, Japan, May 2009.
  • [19] K.-L. Low, “Linear least-squares optimization for point-to-plane ICP surface registration,” Department of Computer Science, University of North Carolina at Chapel Hill, Tech. Rep., 2004.
  • [20] P. Richards, “Constrained Kalman filtering using pseudo-measurements,” in IEE CATT-95, London, UK, May 1995.
  • [21] H.-A. Loeliger, J. Dauwels, J. Hu, S. Korl, L. Ping, and F. R. Kschischang, “The factor graph approach to model-based signal processing,” Proc. IEEE, vol. 95, no. 6, pp. 1295–1322, Jun. 2007.
  • [22] H. Loeliger, “An introduction to factor graphs,” IEEE Signal Process. Mag., vol. 21, no. 1, pp. 28–41, Jan. 2004.
  • [23] F. Kschischang, B. Frey, and H.-A. Loeliger, “Factor graphs and the sum-product algorithm,” IEEE Trans. Inf. Theory, vol. 47, no. 2, pp. 498–519, 2001.
  • [24] F. Meyer, T. Kropfreiter, J. L. Williams, R. Lau, F. Hlawatsch, P. Braca, and M. Z. Win, “Message passing algorithms for scalable multitarget tracking,” Proc. IEEE, vol. 106, no. 2, pp. 221–259, Feb. 2018.
  • [25] A. Doucet, N. de Freitas, and N. Gordon, Sequential Monte Carlo Methods in Practice.   New York, NY, USA: Springer, 2001.
  • [26] N. Boumal, “An introduction to optimization on smooth manifolds,” Published online, Aug 2020. [Online]. Available: http://www.nicolasboumal.net/book
  • [27] L. Tchapmi, C. Choy, I. Armeni, J. Gwak, and S. Savarese, “SEGCloud: Semantic segmentation of 3d point clouds,” in 2017 International Conference on 3D Vision (3DV).   IEEE, oct 2017.