Table of Contents
Fetching ...

CBGL: Fast Monte Carlo Passive Global Localisation of 2D LIDAR Sensor

Alexandros Filotheou

TL;DR

The method leverages properties of the Cumulative Absolute Error per Ray (CAER) metric with respect to the errors of pose hypotheses of a 2D LIDAR sensor, and utilises scan–to–map-scan matching for fine(r) pose estimations.

Abstract

Navigation of a mobile robot is conditioned on the knowledge of its pose. In observer-based localisation configurations its initial pose may not be knowable in advance, leading to the need of its estimation. Solutions to the problem of global localisation are either robust against noise and environment arbitrariness but require motion and time, which may (need to) be economised on, or require minimal estimation time but assume environmental structure, may be sensitive to noise, and demand preprocessing and tuning. This article proposes a method that retains the strengths and avoids the weaknesses of the two approaches. The method leverages properties of the Cumulative Absolute Error per Ray (CAER) metric with respect to the errors of pose hypotheses of a 2D LIDAR sensor, and utilises scan--to--map-scan matching for fine(r) pose estimations. A large number of tests, in real and simulated conditions, involving disparate environments and sensor properties, illustrate that the proposed method outperforms state-of-the-art methods of both classes of solutions in terms of pose discovery rate and execution time. The source code is available for download.

CBGL: Fast Monte Carlo Passive Global Localisation of 2D LIDAR Sensor

TL;DR

The method leverages properties of the Cumulative Absolute Error per Ray (CAER) metric with respect to the errors of pose hypotheses of a 2D LIDAR sensor, and utilises scan–to–map-scan matching for fine(r) pose estimations.

Abstract

Navigation of a mobile robot is conditioned on the knowledge of its pose. In observer-based localisation configurations its initial pose may not be knowable in advance, leading to the need of its estimation. Solutions to the problem of global localisation are either robust against noise and environment arbitrariness but require motion and time, which may (need to) be economised on, or require minimal estimation time but assume environmental structure, may be sensitive to noise, and demand preprocessing and tuning. This article proposes a method that retains the strengths and avoids the weaknesses of the two approaches. The method leverages properties of the Cumulative Absolute Error per Ray (CAER) metric with respect to the errors of pose hypotheses of a 2D LIDAR sensor, and utilises scan--to--map-scan matching for fine(r) pose estimations. A large number of tests, in real and simulated conditions, involving disparate environments and sensor properties, illustrate that the proposed method outperforms state-of-the-art methods of both classes of solutions in terms of pose discovery rate and execution time. The source code is available for download.
Paper Structure (12 sections, 1 equation, 11 figures, 1 table, 3 algorithms)

This paper contains 12 sections, 1 equation, 11 figures, 1 table, 3 algorithms.

Figures (11)

  • Figure 1: Top: the map of an environment and the pose of a panoramic 2D LIDAR sensor (magenta). Given a LIDAR sensor's 2D measurement, at its core, CBGL disperses pose hypotheses within the map and ranks them ascendingly (bottom) according to the value of the Cumulative Absolute Error per Ray metric (Eq. (\ref{['eq:caer']})). This ranking may estimate the pose of the sensor (a) quickly due to the metric's low computational complexity, and (b) accurately due to (i) proportionality between the pose estimate error and the value of the metric for pose estimates in a neighbourhood of the sensor's pose, and (ii) lack of disproportionality outside of that neighbourhood (Fig. \ref{['fig:motivation_caer']})
  • Figure 2: Top: without loss of generality, a typical plot of the Cumulative Absolute Error per Ray metric (Eq. (\ref{['eq:caer']})) of $10^6$ hypotheses disperesed in the map of environment WAREHOUSE (Fig. \ref{['fig:face']} and section \ref{['subsec:exp_b']}). Bottom: focused view on hypotheses with location error close to the origin
  • Figure 3: Depiction of the process of scan--to--map-scan matching (sm2) in principle, which takes place for all $\hat{\bm{p}}_i = \mathcal{H}_1[i]$ (Alg. \ref{['alg:cbgl']}, line \ref{['alg:cbgl:h2']}), $i=0,1,\dots,k$$-$$1$. The registration of map-scan $\mathcal{S}_V^{\bm{M}}(\hat{\bm{p}}[s])$ to $\mathcal{S}_R$ at step $s$ results in pose $\hat{\bm{p}}[s$$+$$1]$, where $\hat{\bm{p}}_i[0] = \mathcal{H}_1[i]$. The error of $\hat{\bm{p}}[s$$+$$1]$ is, in principle, reduced compared to $\hat{\bm{p}}[s]$, and the next map-scan is captured from it. The process is iterative and completes upon estimate convergence
  • Figure 4: CBGL in block diagram form. Left: Given map $\bm{M}$, CBGL first generates a set of pose hypotheses $\mathcal{H}$. Then it estimates the $k$ hypotheses with the least pose error (right; Alg. \ref{['alg:bottom_k']}). As a final step, it scan--to--map-scan matches these to $\mathcal{S}_R$ for finer estimation (Alg. \ref{['alg:sm2']}). CBGL's output pose estimate is that with the minimum CAER among the $k$ matched estimates. See Algs. \ref{['alg:cbgl']}, \ref{['alg:bottom_k']}, \ref{['alg:sm2']} for notation
  • Figure 5: Top row and right column: histograms of the number of times out of $N_E = 6669$ attempts of CBGL at global localisation when exactly $n \in [0,k] = [0,10]$ pose estimates belonging to set $\mathcal{H}_1$ exhibited pose errors lower than $\delta_0 = 0.5$ (m$^2$ + rad$^2$)$^{1/2}$ (e.g. for ($\delta_{\bm{l}}, \delta_{\theta}) = (0.3,0.4) [\text{m}, \text{rad}]$). For densities $(d_{\bm{l}},d_{\alpha}) = (40, 2^5)$ (top right) this number is strictly increasing with $n$, which would be an aspect to be retrospectively expected of a global localisation method. Denser configurations adhere to the same pattern as well but would require more execution resources. Middle block: the resulting percent proportion of pose estimates whose pose error is lower than $\delta_0$ for varying pose densities. Bottom block: the resulting distribution of corresponding execution times
  • ...and 6 more figures

Theorems & Definitions (6)

  • Definition I
  • Definition II
  • Definition III
  • Definition IV
  • Definition V
  • Definition VI