Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. LIDAR
  3. LeGO-LOAM

LeGO-LOAM

BSD-3-ClauseC++

A lightweight, ground-optimized lidar odometry and mapping system for ROS-compatible unmanned ground vehicles.

GitHubGitHub
2.7k stars1.2k forks0 contributors

What is LeGO-LOAM?

LeGO-LOAM is a lightweight lidar odometry and mapping system designed for unmanned ground vehicles (UGVs) operating on variable terrain. It processes point cloud data from a Velodyne VLP-16 lidar, optionally fused with IMU inputs, to estimate real-time 6D pose. The system solves the problem of accurate localization and mapping in outdoor environments where ground planes are consistently present.

Target Audience

Robotics researchers and engineers working on autonomous ground vehicles, particularly those using ROS-compatible platforms like Clearpath Jackal. It's also suitable for developers needing efficient lidar-based SLAM solutions for UGVs.

Value Proposition

Developers choose LeGO-LOAM for its ground-optimized design, which improves accuracy on variable terrain while maintaining real-time performance. Its lightweight nature makes it suitable for resource-constrained systems, and its configurability allows adaptation to different lidar sensors.

Overview

LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain

Use Cases

Best For

  • Real-time lidar odometry and mapping for unmanned ground vehicles
  • Outdoor autonomous navigation on variable terrain
  • ROS-based robotics projects requiring efficient SLAM
  • Integrating Velodyne VLP-16 or similar lidars with IMU data
  • Research and development in ground-vehicle localization
  • Building lightweight mapping systems for resource-constrained platforms

Not Ideal For

  • Aerial or marine robotics where ground plane assumptions are invalid
  • Projects using lidars without ring channels or requiring plug-and-play sensor compatibility
  • Large-scale mapping applications needing robust loop closure to handle significant drift
  • Systems with poorly calibrated or unsupported IMUs, such as Ouster lidar IMUs

Pros & Cons

Pros

Ground-Optimized Segmentation

Performs point cloud segmentation to isolate ground points before feature extraction, improving accuracy on variable terrain as described in the README's methodology.

Real-Time Efficiency

Outputs 6D pose estimation in real-time, suitable for autonomous navigation, demonstrated in the provided YouTube video and optimized for resource-constrained UGVs.

Two-Step Optimization

Uses Levenberg-Marquardt optimization in two steps for precise lidar odometry transformations, enhancing accuracy as detailed in the system overview.

Configurable Sensor Support

Allows adaptation to different lidar models like Velodyne HDL-32e by adjusting parameters in utility.h, though it requires manual setup and understanding of sensor specs.

Cons

Limited Loop Closure

Implements only a naive ICP-based loop closure method that often fails with large odometry drift, as admitted in the README, reducing reliability for long trajectories.

Complex Sensor Integration

Adapting to new lidars requires careful parameter tuning and custom code for range image projection; for example, KITTI HDL-64e support isn't provided out-of-the-box.

IMU Alignment Criticality

IMU integration is optional but crucial for accuracy; misalignment can deteriorate results, and support is limited to specific 9-DOF IMUs, excluding Ouster lidar IMUs.

Frequently Asked Questions

Quick Stats

Stars2,745
Forks1,169
Contributors0
Open Issues36
Last commit1 year ago
CreatedSince 2018

Tags

#lidar#robotics#velodyne#autonomous-vehicles#loam#gtsam#mapping#ros#lidar-odometry#point-cloud-processing#real-time#slam#odometry

Built With

g
gtsam
R
ROS
C
CMake
C
C++

Included in

Robotic Tooling3.8kLIDAR1.2k
Auto-fetched 8 hours ago

Related Projects

CartographerCartographer

Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.

Stars7,920
Forks2,338
Last commit2 years ago
GitHub repositoryGitHub repository

A computationally efficient and robust LiDAR-inertial odometry (LIO) package

Stars4,992
Forks1,624
Last commit1 year ago
GitHub repositoryGitHub repository

LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping

Stars4,860
Forks1,521
Last commit1 year ago
pyslampyslam

pySLAM is a hybrid Python/C++ Visual SLAM pipeline supporting monocular, stereo, and RGB-D cameras. It provides a broad set of modern local and global feature extractors, multiple loop-closure strategies, a volumetric reconstruction module, integrated depth-prediction models, and semantic segmentation capabilities for enhanced scene understanding.

Stars3,376
Forks533
Last commit4 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub