Source-linked AI summary

Loam_livox: A fast, robust, high-precision LiDAR odometry and mapping package for LiDARs of small FoV

Jiarong Lin, Fu Zhang

arXiv:1909.06700v1cs.ROcs.CVeess.IV

TL;DR

Small-FoV, irregularly sampled solid-state LiDARs make feature matching and mapping challenging. Loam Livox develops a robust real-time LOAM system with specialized front-end and back-end processing, achieving accurate localization and mapping at 20 Hz while remaining subject to sequential scan-matching drift.

  • Problem

    Small FoV and irregular scanning patterns leave fewer features and complicate feature extraction and matching for solid-state LiDAR odometry and mapping.

  • Method

    Loam Livox adapts LOAM with point selection, iterative pose optimization, piecewise motion compensation, and parallelized implementation for small-FoV LiDARs.

  • Results

    20 Hz: odometry and mapping both run in real time, with localization errors of 0.41% and 0.65% on two datasets and average Euler-angle error of 1.1°.

  • Takeaways & Limitations

    The system provides real-time odometry and mapping for small-FoV LiDARs without requiring IMU, GPS, or cameras.

  • Takeaways & Limitations

    Sequential scan matching is inherently drifting, and reducing this drift with loop closure or sliding-window optimization remains future work.

Abstract

from arXiv · show

LiDAR odometry and mapping (LOAM) has been playing an important role in autonomous vehicles, due to its ability to simultaneously localize the robot's pose and build high-precision, high-resolution maps of the surrounding environment. This enables autonomous navigation and safe path planning of autonomous vehicles. In this paper, we present a robust, real-time LOAM algorithm for LiDARs with small FoV and irregular samplings. By taking effort on both front-end and back-end, we address several fundamental challenges arising from such LiDARs, and achieve better performance in both precision and efficiency compared to existing baselines. To share our findings and to make contributions to the community, we open source our codes on Github

I. INTRODUCTION

Solid-state LiDARs offer cost and reliability advantages but introduce small-FoV, irregular, non-repetitive scanning challenges that complicate LOAM. Loam Livox addresses these issues through robust feature processing and motion compensation for real-time odometry and mapping.

  • Solid-state LiDARs are attractive for robotic applications because they can reduce device cost while increasing reliability.
  • A reduced FoV produces fewer frame features, making matching prone to degeneracy and disturbance from moving objects; multiple LiDARs increase cost and weight.
  • Solid-state LiDARs use irregular scanning patterns, such as Livox MID40’s rosette-like trajectory, complicating feature extraction.
  • Non-repetitive scanning improves static coverage but causes measurements within a frame to be sampled at different times, producing motion blur during motion.
  • Loam Livox addresses limited-FoV feature extraction, outlier rejection, moving-object filtering, and motion-distortion compensation while estimating poses without IMU, GPS, or cameras.

II. RELATED WORK

Prior laser-SLAM work established scan matching, geometric residuals, and motion compensation largely for spinning LiDARs. This paper extends LOAM to small-FoV solid-state LiDARs with sensor-aware processing, piecewise compensation, and parallelization.

  • Laser-based SLAM combines robot state estimation with map building, with this paper focusing specifically on laser-based methods.
  • ICP established scan matching, while pose-graph SLAM later addressed drift in sequential scan matching for high-definition LiDARs.
  • Point-to-plane and point-to-edge residuals extend scan matching to sparse or geometrically structured LiDAR data.
  • Earlier motion-compensation methods used linear pose interpolation, whereas back-end optimization improved performance but could not run in real time.
  • The paper targets solid-state LiDARs with small FoVs through sensor-physical-property-aware front-end processing, piecewise motion compensation, and parallel implementation.

III. POINTS SELECTION AND FEATURE EXTRACTION

The front end selects reliable LiDAR points using geometric and signal-related criteria before extracting features. These choices account for small-FoV sensing, irregular measurements, and physical limitations of the sensor.

  • Points selection: The front end performs point-level selection and feature extraction, using LiDAR properties such as laser spot size and signal-to-noise behavior to identify good points.
  • Point measurements: Depth D is the distance from a measured point to the LiDAR sensor, while deflection angle φ describes the laser ray’s angle relative to the X axis.
  • Point measurements: Reflectivity or intensity indicates received laser-signal strength, with low intensity associated with either large range or low object reflectivity.
  • Feature matching: Feature matching uses edge and plane features, with residuals illustrated for edge-to-edge and plane-to-plane relationships.
  • Point measurements: The incident angle θ is defined between the laser ray and the local plane around the measured point.
  • Points selection: The method removes points near the FoV fringe, points with extreme intensity, points affected by elongated laser spots, and points hidden behind objects.

B. Feature extraction

Feature extraction builds plane and edge features from selected points and adds reflectivity as a fourth measurement to reduce matching degeneration in limited-FoV scans.

  • The method extracts plane and edge features by computing local point smoothness from the selected good points.
  • Reflectivity provides a fourth-dimensional measurement that helps mitigate matching degeneration caused by limited FoV and the resulting small number of features.

IV. ITERATIVE POSE OPTIMIZATION

The method estimates LiDAR pose by transforming current-frame edge features into the global map, finding geometric correspondences, and optimizing against map structure. A parallel KD-tree update keeps nearest-neighbor searches ready for incoming frames.

  • Non-repetitive scanning prevents constant feature tracking, so iterative pose optimization estimates LiDAR motion and enables real-time odometry and mapping at 20Hz.
  • A KD-tree accelerates edge-feature searches and is rebuilt in a parallel thread after each registered frame or sub-frame.
  • Current-frame edge features are projected from the local LiDAR frame into the global map before nearest-neighbor correspondence search.
  • The pose at the last sampled point represents the whole frame when projecting its points to the global map.
  • Five nearest map edge features are tested for line structure using covariance eigenvalues before computing the edge residual.

B. Residual of plane-to-plane

Plane features are matched by testing whether five nearby map points form a common plane, then adding the current point’s distance to that plane as an optimization residual. The section also introduces piecewise processing as a motion-blur remedy.

  • B. Residual of plane-to-plane: Five nearest planar map points are checked with covariance analysis before their plane-to-point distance is added to pose optimization.
  • 1) Piecewise processing:: Piecewise processing divides each incoming frame into three sequential sub-frames and matches them independently to the accumulated map.
  • 1) Piecewise processing:: Each sub-frame projects its points using the pose at the sub-frame endpoint, reducing its time interval to 1/3 of the original frame.
  • 1) Piecewise processing:: Linear interpolation estimates a pose for each point between the previous frame’s final sample time and the current frame’s final sample time.
  • 1) Piecewise processing:: The interpolated rotation uses the rotation magnitude θ and unit rotation-axis vector ω, with trigonometric terms varying by the normalized time.

2) Linear interpolation:

The linear-interpolation pipeline computes intermediate LiDAR poses and projects points accordingly, while the implementation performs iterative correspondence search and residual-based pose optimization. Figure 8 compares motion-compensation outcomes.

  • 2) Linear interpolation:: The current-time LiDAR pose is obtained from the previous pose and relative motion through the interpolation formulation.
  • 2) Linear interpolation:: The interpolated pose is used to project each point sampled at time t into the global map.
  • 2) Linear interpolation:: Figure 8 arranges motion-compensation results by columns: none, linear interpolation, piecewise processing, then collection hardware and an RGB reference image.
  • 2) Linear interpolation:: Algorithm 1 initializes the current pose from the previous frame and iteratively searches five nearest edge and plane-map points.
  • 2) Linear interpolation:: The optimizer adds edge-to-edge and plane-to-plane residuals, performs two initial iterations, and removes 20% of the biggest residuals.

D. Outliers rejection, dynamic objects filtering

Dynamic-object filtering is integrated into iterative pose optimization to reduce the influence of moving objects on scan matching accuracy. The complete procedure is summarized in Algorithm 1.

  • D. Outliers rejection, dynamic objects filtering: Dynamic filtering refinds feature-point nearest neighbors during each optimization iteration and adds edge-to-edge and plane-to-plane residuals.
  • D. Outliers rejection, dynamic objects filtering: The procedure first performs pose optimization with a small iteration count, using the resulting estimates within the filtering process.
  • D. Outliers rejection, dynamic objects filtering: The complete iterative pose-optimization procedure is summarized in Algorithm 1.

A. Evaluation of mapping

The algorithm reduces motion blur in mapping and achieves accurate localization and rotation estimates against GPS and motion-capture measurements.

  • Motion compensation makes stairs and railing distinguishable and prevents the large-scale curvature seen in uncorrected mapping.Both linear interpolation and piecewise processing reduce blur, but linear interpolation exhibits considerable long-term drift with jerky handheld motion.
  • 0.41% and 0.65% are the localization results on two datasets when odometry distances are compared with GPS measurements.
  • 1.1° is the average Euler-angle error across all three directions compared with the motion-capture system.The odometry and motion-capture trajectories are reported as very close.

C. Evaluation of running performance

The evaluation compares localization, rotation, and runtime performance, showing close agreement with reference measurements and faster execution than the baseline.

  • Localization accuracy is evaluated on outdoor and indoor datasets by comparing odometry results with Google maps and traveled distance.
  • The motion-capture comparison uses dashed lines for measured trajectories and solid lines for odometry output.
  • 2∼3 times faster is the reported runtime advantage over the baseline on desktop and onboard computers.The speedup is attributed to parallelizing sub-frame registration and feature matching with KD-tree building.
  • The algorithm's odometry and mapping both run in real time at 20 Hz while achieving high mapping and localization accuracy.The conclusion identifies sequential scan matching as inherently drifting and names loop closure and sliding-window optimization as future directions.
  • Table I reports per-frame time consumption for the algorithm and baseline, including serial and three-thread parallel onboard and desktop configurations.
Loading 1909.06700v1…