LiDAR SLAM with Plane Adjustment for Indoor Environment - Robotics Institute Carnegie Mellon University

LiDAR SLAM with Plane Adjustment for Indoor Environment

Lipu Zhou, Daniel Koppel, and Michael Kaess
Journal Article, IEEE Robotics and Automation Letters, Vol. 6, No. 4, pp. 7073 - 7080, October, 2021

Abstract

Planes ubiquitously exist in the indoor environment. This paper presents a real-time and low-drift LiDAR SLAM system using planes as the landmark for the indoor environment. Our algorithm includes three components: localization, local mapping and global mapping. The localization component performs real-time and global registration, instead of the scan-to-scan registration adopted in the state-of-the-art LiDAR odometry and mapping (LOAM) framework that yields lower fidelity poses. The local mapping component optimizes poses of the keyframes within a sliding window and parameters of the planes observed by these keyframes. The global mapping component conducts global plane adjustment (GPA) that jointly refines plane parameters and keyframe poses. The GPA is triggered when planes are revisited, rather than a place is revisited. This can establish constraints among remote places, and correct the drift without having to go back to a previously visited place. We adopt the point-to-plane distance to construct the cost functions of all the three components. Although this distance results in a large-scale least-squares problem that seems not suitable for real-time applications, we propose efficient algorithms to solve the resulting minimization problems by exploiting the special structure of the point-to-plane distance. Experimental results show that our algorithm achieves real-time performance and outperforms the state-of-the-art LiDAR SLAM algorithms.

BibTeX

@article{Zhou-2021-134131,
author = {Lipu Zhou and Daniel Koppel and Michael Kaess},
title = {LiDAR SLAM with Plane Adjustment for Indoor Environment},
journal = {IEEE Robotics and Automation Letters},
year = {2021},
month = {October},
volume = {6},
number = {4},
pages = {7073 - 7080},
}