mola

MOLAorg活跃维护

模块化 C++ SLAM 框架,支持激光雷达、视觉与图优化,用于移动机器人的定位与建图。

A Modular Optimization framework for Localization and mApping (MOLA)

3.4.0发布于 2026-11-01 16:07 UTC1,057star +1 / 7 天152fork同步于 2026-11-10 17:53 UTC

怎么上手

由 README 提炼,执行前请确认
README 未给出安装命令,构建步骤见官方文档 https://docs.mola-slam.org/latest/
硬件要求按 README 说明

README 未说明显存或 GPU 要求;构建产物覆盖 amd64 与 arm64,并支持 RHEL、Fedora 等平台。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

模块化 C++/ROS 2 定位与建图框架,用 YAML 配置搭 LiDAR 里程计与 LIO 流水线

模块化 C++ SLAM 框架,支持激光雷达、视觉与图优化,用于移动机器人的定位与建图。

核心能力

  • 支持 LiDAR 里程计、LiDAR-惯性里程计与多传感器融合
  • 用 YAML 配置管线,换传感器、滤波器或地图层无需重编译
  • 可在地图缺失时用低成本 GNSS+LiDAR+IMU 做 RTK 级地理配准
  • 提供 .mm 度量地图生态,含查看器与 LAS/PLY/TXT 导出
  • 既可作为 ROS 2 节点使用,也能以纯 C++ 独立集成

容易踩的坑

README 未列出安装命令与依赖细节,需按官方文档操作;本仓库只含基础开源包,其他功能包在 MOLAorg 组织下另装;ROS 2 版本需与发行版对应(如 Humble 配 u22.04)

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

3 个版本3.4.0
  1. 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
  2. 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.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

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    DistroBuild devRelease
    ROS 2 Humble (u22.04)Build StatusVersion
    ROS 2 Jazzy (u24.04)Build StatusVersion
    ROS 2 Kilted (u24.04)Build StatusVersion
    ROS 2 Lyrical (u26.04)Build StatusVersion
    ROS 2 Rolling (u26.04)Build StatusVersion
    EOL DistroLast Release
    ROS 2 Iron (u22.04)Version

    🤖 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 .mm metric 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:

    Peek 2025-10-10 10-29

    Lidar-Odometry (LO) demo with GrandTour legged dataset:

    Lidar-Odometry (LO) demo with KITTI:

    kitti_demo_06

    ROSCon Talk introducing MOLA

    Video (Slides):

    MOLA ROSCon talk

    Individual package build status

    Binary package build status per package and ROS 2 distro:

    PackageROS 2 Humble (u22.04)ROS 2 Jazzy (u24.04)ROS 2 Kilted (u24.04)ROS 2 Lyrical (u26.04)ROS 2 Rolling (u26.04)
    molaBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_bridge_ros2Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_demosBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_input_lidar_bin_datasetBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_input_rawlogBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_input_rosbag2Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_input_videoBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_kernelBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_launcherBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_metric_mapsBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_msgsBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_pose_listBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_relocalizationBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_traj_toolsBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_vizBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status
    mola_yamlBuild Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build StatusBuild Status Build Status Build Status Build StatusBuild Status Build Status Build Status Build Status

    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, since mrpt3 cannot 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