M3DSS-dataset

LeGO-LOAM

Introduction

LeGO-LOAM is a lightweight and ground-optimized lidar odometry and mapping method, LeGO-LOAM, for realtime six degree-of-freedom pose estimation with ground vehicles. LeGO-LOAM is lightweight, as it can achieve realtime pose estimation on a low-power embedded system. LeGOLOAM is ground-optimized, as it leverages the presence of a ground plane in its segmentation and optimization steps. It first apply point cloud segmentation to filter out noise, and feature extraction to obtain distinctive planar and edge features. A two-step Levenberg-Marquardt optimization method then uses the planar and edge features to solve different components of the six degree-of-freedom transformation across consecutive scans. Here are some reference links: code link. paper link.

Image description
Fig. 1. Workflow diagram of LeGO-LOAM

2 Compilation Process

2.1 Requirement

ubuntu20.04 、ros-noetic、cmake、gcc、g++、eigen、pcl1.10、gtsam、code、bag
During the installation of third-party libraries, there may be many version mismatch issues.
Below are just examples of installation.
Please make sure to match the versions, otherwise compilation will have significant problems.
If there are any issues during the appeal process, please search online to resolve them.

install dependence

sudo apt-get update
sudo apt-get install git gcc g++ vim make cmake

install Eigen3

download Eigen3
cd eigen3
mkdir build && cd build
cmake ..
make
sudo make install

install gtsam

wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.0-alpha2/
mkdir build && cd build
cmake ..
make
sudo make install

2.2 Build LeGO-LOAM

Clone the repository and catkin_make:

cd ~/catkin_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash

2.3 Run LeGO-LOAM

roslaunch lego_loam run.launch
播放数据集,虽然/imu/data 是可选的,但如果提供它可以大大提高估计精度:
rosbag play *.bag --clock --topic /velodyne_points /imu/data

Experiment

Result