README 未列出安装命令与依赖细节,需按官方文档操作;本仓库只含基础开源包,其他功能包在 MOLAorg 组织下另装;ROS 2 版本需与发行版对应(如 Humble 配 u22.04)
README 未给出安装命令,构建步骤见官方文档 https://docs.mola-slam.org/latest/README 未说明显存或 GPU 要求;构建产物覆盖 amd64 与 arm64,并支持 RHEL、Fedora 等平台。
模块化 C++/ROS 2 定位与建图框架,用 YAML 配置搭 LiDAR 里程计与 LIO 流水线
模块化 C++ SLAM 框架,支持激光雷达、视觉与图优化,用于移动机器人的定位与建图。
核心能力
- 支持 LiDAR 里程计、LiDAR-惯性里程计与多传感器融合
- 用 YAML 配置管线,换传感器、滤波器或地图层无需重编译
- 可在地图缺失时用低成本 GNSS+LiDAR+IMU 做 RTK 级地理配准
- 提供 .mm 度量地图生态,含查看器与 LAS/PLY/TXT 导出
- 既可作为 ROS 2 节点使用,也能以纯 C++ 独立集成
容易踩的坑
- 3.4.0mola 3.4.0最新正式版2026-11-01 · 2026-11-01 16:07 UTC
mola_bridge_ros2
- Forward the log messages of all MOLA modules to /rosout, with truncation of long texts (#261)
- Contributors: Jose Luis Blanco-Claraco
mola_input_rosbag2
- Rosbag2Dataset: read only the topics that have a handler (#259)
- Contributors: Jose Luis Blanco-Claraco
mola_kernel
- New LogHub, to forward the log messages of all MOLA modules (#261)
- Cap TBB threads to the physical CPU cores (MOLA_MAX_THREADS to change it), respecting the affinity mask (#260)
- RawDataSourceBase: do not spin at 100% CPU waiting for pending rawlog exports (#257)
- Contributors: Jose Luis Blanco-Claraco
mola_launcher
- Do not destroy modules while other threads look them up (#264)
- Skip and retry module libraries that cannot be loaded; report the Windows loader error code (#246)
- mola-cli: cap TBB threads to the physical CPU cores (#260)
- Contributors: Jose Luis Blanco-Claraco
mola_metric_maps
- IncrementalPointCloud: exact voxel-hash index, now the default (#256)
- IncrementalPointCloud: allocation-free covariances, provisional covariance reuse, optional minimum point distance (#252)
- Fix k-NN and capped radius search of HashedVoxelPointCloud and NDT; round voxel indices down (#255)
- Expose map contents via CMetricMap::asPointsMapView() (#247)
- KeyframePointCloudMap: thread-safe copies and option updates (#245)
- Do not rotate view directions twice with MRPT >= 3.6.0 (#262)
- Fix license note
- Contributors: Jose Luis Blanco-Claraco
mola_pose_list
- Round voxel indices down instead of toward zero (#254)
- Contributors: Jose Luis Blanco-Claraco
mola_relocalization
- ICP candidates with their quality, ambiguity check, and per-mode refinement with a stricter ICP (#244)
- Contributors: Jose Luis Blanco-Claraco
mola_viz_imgui
- Default GUI refresh rate 30 FPS; MOLA_GUI_TARGET_FPS env var override
- Dataset playback panel layout fixes; end the GUI thread in onQuit()
- Contributors: Jose Luis Blanco-Claraco
mola_yaml
- New $append / $prepend directives to edit an $import'ed sequence (#263)
- Contributors: Jose Luis Blanco-Claraco
- 3.3.2mola 3.3.22026-10-09 · 2026-10-09 09:29 UTC
查看更新说明
mola_bridge_ros2
- Set input observation timestamps explicitly (IMU, LaserScan, NavSatFix, GPSFix, odometry from /tf).
- Contributors: Jose Luis Blanco-Claraco
mola_demos
- fake_sensor_publisher: publish the ground-truth trail as nav_msgs/Path (parameter gt_path_topic).
- Contributors: Jose Luis Blanco-Claraco
mola_viz_imgui
- Use MRPT's vendored Dear ImGui and render the background scene directly (mrpt_imgui_vendor is optional).
- Contributors: Jose Luis Blanco-Claraco
- 3.3.1mola 3.3.12026-10-05 · 2026-10-05 10:42 UTC
查看更新说明
mola_kernel
- Dataset_UI: add datasetUI_enabled() so sources can opt out of the playback panel at runtime
- Viz: measure GUI frame intervals with a steady clock
- Contributors: Jose Luis Blanco-Claraco
mola_launcher
- Dataset_UI: do not warn about execution_rate for sources that replay at their own pace
- Restart the rate window while its check is skipped
- Contributors: Jose Luis Blanco-Claraco
mola_metric_maps
- IncrementalPointCloud: optional view-direction filter (None, MaxAngle, SurfaceSide), now enabled with SurfaceSide by default
- KeyframePointCloudMap and IncrementalPointCloud share the same view-direction filter options and test
- SurfaceSide filter only trusts flat neighborhoods
- Validate the stored filter mode and drop view directions on unseen re-maps; notice base-class re-maps even after appends
- Serialization: KFM creation options v10, IPC class v2 and creation options v4
- Contributors: Jose Luis Blanco-Claraco
mola_viz
- Dataset_UI: skip sources that report datasetUI_enabled() false, polling them again later
- Contributors: Jose Luis Blanco-Claraco
mola_viz_imgui
- Define GLFW_INCLUDE_NONE before including GLFW (fixes #239)
- Dataset_UI: skip sources that report datasetUI_enabled() false, polling them again later
- Lidar sensor preview windows: add combo to pick the field used for recoloring
- Do not re-upload unchanged decaying clouds nor rebuild sensor preview clouds every frame
- Profile GUI frame time and frame interval
- Viz: measure GUI frame intervals with a steady clock
- Contributors: Jose Luis Blanco-Claraco
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
| Distro | Build dev | Release |
|---|---|---|
| ROS 2 Humble (u22.04) | ||
| ROS 2 Jazzy (u24.04) | ||
| ROS 2 Kilted (u24.04) | ||
| ROS 2 Lyrical (u26.04) | ||
| ROS 2 Rolling (u26.04) |
| EOL Distro | Last Release |
|---|---|
| ROS 2 Iron (u22.04) |
🤖 What is MOLA?
MOLA (Modular Optimization framework for Localization and mApping) is a modular, extensible, and high-performance framework for robotics localization and 🗺️ mapping.
This repository contains the base open-sourced packages for the MOLA project. Other packages exist under the MOLAorg organization.
Refer to the official documentation for build instructions, demos, API reference, etc.
🗺️ Features
- 📍 LiDAR Odometry (LO), LiDAR-Inertial Odometry (LIO), geo-referenced maps, sensor fusion
- 🧩 Fully configurable YAML pipelines - no recompilation needed to change sensors, filters, or map layers
- 🎯 Flexible accuracy: fast real-time navigation or survey-grade (<1 cm) mapping
- 🌍 Map-less RTK-quality outdoor georeferencing with low-cost GNSS + LiDAR + IMU
- 🛠️ Rich
.mmmetric map ecosystem: viewer, LAS/PLY/TXT export, filtering, georeferencing tools - 🤖 ROS 2 ready (Humble, Jazzy, Kilted, Rolling) but also usable from standalone pure C++
🚀 Demo videos
Lidar-Inertial-Odometry (LIO) demo with Oxford Spires:
Lidar-Odometry (LO) demo with GrandTour legged dataset:
Lidar-Odometry (LO) demo with KITTI:
ROSCon Talk introducing MOLA
Video (Slides):
Individual package build status
Binary package build status per package and ROS 2 distro:
Each cell stacks the badges for that ROS 2 distro, in this order (when available):
- Ubuntu (
amd64) - Ubuntu (
arm64) - RHEL (
x86_64) -- not available for Humble, sincemrpt3cannot be built there. - Fedora (
x86_64) -- only available since ROS 2 Lyrical.
Citations
The latest publications on MOLA are (ArXiV).
@article{blanco2025mola_lo,
author = {Jose Luis Blanco-Claraco},
title = {{A flexible framework for accurate LiDAR odometry, map manipulation, and localization}},
journal = {The International Journal of Robotics Research},
volume = {44},
number = {9},
pages = {1553--1599},
year = {2025},
doi = {10.1177/02783649251316881},
URL = { https://doi.org/10.1177/02783649251316881},
eprint = {https://doi.org/10.1177/02783649251316881},
}
MOLA was initially presented in 2019 in (PDF):
@INPROCEEDINGS{Blanco-Claraco-RSS-19,
AUTHOR = {Jose Luis Blanco-Claraco},
TITLE = {{A Modular Optimization Framework for Localization and Mapping}},
BOOKTITLE = {Proceedings of Robotics: Science and Systems},
YEAR = {2019},
ADDRESS = {FreiburgimBreisgau, Germany},
MONTH = {June},
DOI = {10.15607/RSS.2019.XV.043}
}
License
MOLA follows an Open Core model. Core modules are released under the GNU GPL v3 license, while foundational libraries (MRPT, mp2p_icp) are BSD-3.
Commercial use: Companies needing to deploy MOLA in closed-source products can obtain a commercial license (MOLA Pro).
See the Plans & Pricing page for details on Community vs Pro editions.
Contri
