|
mola_lidar_odometry package from mola_lidar_odometry repomola_lidar_odometry |
ROS Distro
|
Package Summary
| Version | 2.0.0 |
| License | GPLv3 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MOLAorg/mola_lidar_odometry.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
mola_lidar_odometry
LIDAR odometry component based on the MOLA and MRPT frameworks, compatible with ROS 2.
Contents
This repository provides a C++ library mola_lidar_odometry implementing LIDAR
odometry. Sensor input is provided via MOLA components, and ROS 2 example launch files are
provided in ros2-launchs.
A CLI interface mola-lidar-odometry-cli is also provided for running on
offline datasets.
Build and install
Refer to: https://docs.mola-slam.org/latest/#installing
Lidar Inertial Odometry (LIO) demo with Oxford Spires:
Lidar Odometry (LO) demo with KITTI:
Documentation and tutorials
See: https://docs.mola-slam.org/
ROS build farm status
| Distro | Develop branch | Releases | Stable release |
|---|---|---|---|
| ROS2 Humble (u22.04) | amd64 arm64 |
||
| ROS 2 Jazzy @ u24.04 | amd64 arm64 |
||
| ROS 2 Kilted @ u24.04 | amd64 arm64 |
||
| ROS 2 Rolling (u24.04) | amd64 arm64 |
| EOL Distro | Last release |
|---|---|
| ROS2 Iron (u22.04) |
Citation
The latest publication on MOLA is (ArXiV).
@article{blanco2025mola_lo,
author = {Blanco-Claraco, Jose Luis},
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 = {2407.20465},
}
License
Copyright (C) 2018-2026 Jose Luis Blanco jlblanco@ual.es, University of Almeria
This package is released under the GNU GPL v3 license as open source, with the main intention of being useful for research and evaluation purposes. Commercial licenses available upon request.
Contributions require acceptance of the Contributor License Agreement (CLA).
Changelog for package mola_lidar_odometry
2.0.0 (2026-04-02)
- Merge pull request #53 from MOLAorg/feat/use-imu-grav-align Use IMU readings to estimate gravity up vector as ICP prior constraint
- Add formal CLA
- mola-cli-launch files: apply yaml format
- FIX: mola-lidar-odometry-cli now can handle the two types of GPS messages too
- gui stats: more robust sensor rate estimation (include gnss now too)
- docs: add layer name to pipeline table
- gicp pipeline: expose new KF-metric map parameters as optional env vars
- ros2 launch: add new argument 'gpsfix_topic_name' for GPSFix messages
- Merge pull request #50 from MOLAorg/feat/refactor-gui Port to the new backend agnostic GUI API
- Port to the new backend agnostic GUI API
- ROS2 node and ros2bags: support gps_msgs/GpsFix messages too
- On bad ICP, do neither publish or show deskewed scans
- gicp pipeline: expose more env vars for KF map params
- Merge pull request #48 from MOLAorg/feat/selective-icp-log New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- CSV stats: include icp_quality too
- Merge pull request #47 from MOLAorg/better-deskew-performance More efficient deskew and visualization
- refactor deskew and viz updates
- Ensure no detached threads
(#46)
- Fix: potential miss error report saving mm files
- Ensure no detached threads for disk io
- minor fixes
- fix obsolete usage of ament_target_dependencies()
- Remove no longer needed param period_publish_new_localization (Removed in BridgeROS2)
- Fix: provide a mechanism to read 2D lidar from ROS
(#43)
- Fix: provide a mechanism to read 2D lidar from ROS
- docs: add new ros launch argument [lidar_topic_type]{.title-ref}
- doc: better roslaunch arg description
- Fix building against older versions of mrpt & mp2p_icp
- Saving simplemap with lazy-load is done in its own detaled thread
- Merge pull request #40 from MOLAorg/feat/more-clang-tidy-checks Add many more clang-tidy checks
- Remove thread_local aux variable for viz camera rotation
- Increase level of clang-tidy warnings, and fix them
- Copyright year bump
- Merge pull request #39 from MOLAorg/feat/optional-prefilter-pipeline Add optional prefilter pipeline for all ICP methods
- Add many more clang-tidy checks
- Add optional prefilter pipeline for all ICP methods
- Contributors: Jose Luis Blanco-Claraco
1.3.1 (2025-12-29)
- Merge pull request #36 from MOLAorg/feat/use-generic-map-fields Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Support to visualize clouds in MOLA Viz recolorized by any cloud point field
- Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Contributors: Jose Luis Blanco-Claraco
1.3.0 (2025-12-15)
- Add CI and documentation badges to README Added badges for CI build, clang-format, documentation, and code coverage.
- Add option 'use_imu_orientation' to disable using IMU orientation for initialization
- docs: add table clarifying localmap types
- Make it compatible with observations w/o cov
- Discard GPS readings with invalid cov matrix
- Add warning if sensor stamps go backwards in time
- Update usage instructions for mola_lo_apps.rst Added usage instructions for LIO with Ouster in mola_lo_apps.rst.
- Contributors: Jose Luis Blanco-Claraco
1.2.2 (2025-11-08)
- Add quick instructions to launch mola-lo-gui on an Ouster dataset
- Add option to store persistent settings and check version
- Fix: missing publication of LocalMap if BridgeROS2 loads after this module.
- Contributors: Jose Luis Blanco-Claraco
1.2.1 (2025-10-28)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange
|
mola_lidar_odometry package from mola_lidar_odometry repomola_lidar_odometry |
ROS Distro
|
Package Summary
| Version | 2.0.0 |
| License | GPLv3 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MOLAorg/mola_lidar_odometry.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
mola_lidar_odometry
LIDAR odometry component based on the MOLA and MRPT frameworks, compatible with ROS 2.
Contents
This repository provides a C++ library mola_lidar_odometry implementing LIDAR
odometry. Sensor input is provided via MOLA components, and ROS 2 example launch files are
provided in ros2-launchs.
A CLI interface mola-lidar-odometry-cli is also provided for running on
offline datasets.
Build and install
Refer to: https://docs.mola-slam.org/latest/#installing
Lidar Inertial Odometry (LIO) demo with Oxford Spires:
Lidar Odometry (LO) demo with KITTI:
Documentation and tutorials
See: https://docs.mola-slam.org/
ROS build farm status
| Distro | Develop branch | Releases | Stable release |
|---|---|---|---|
| ROS2 Humble (u22.04) | amd64 arm64 |
||
| ROS 2 Jazzy @ u24.04 | amd64 arm64 |
||
| ROS 2 Kilted @ u24.04 | amd64 arm64 |
||
| ROS 2 Rolling (u24.04) | amd64 arm64 |
| EOL Distro | Last release |
|---|---|
| ROS2 Iron (u22.04) |
Citation
The latest publication on MOLA is (ArXiV).
@article{blanco2025mola_lo,
author = {Blanco-Claraco, Jose Luis},
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 = {2407.20465},
}
License
Copyright (C) 2018-2026 Jose Luis Blanco jlblanco@ual.es, University of Almeria
This package is released under the GNU GPL v3 license as open source, with the main intention of being useful for research and evaluation purposes. Commercial licenses available upon request.
Contributions require acceptance of the Contributor License Agreement (CLA).
Changelog for package mola_lidar_odometry
2.0.0 (2026-04-02)
- Merge pull request #53 from MOLAorg/feat/use-imu-grav-align Use IMU readings to estimate gravity up vector as ICP prior constraint
- Add formal CLA
- mola-cli-launch files: apply yaml format
- FIX: mola-lidar-odometry-cli now can handle the two types of GPS messages too
- gui stats: more robust sensor rate estimation (include gnss now too)
- docs: add layer name to pipeline table
- gicp pipeline: expose new KF-metric map parameters as optional env vars
- ros2 launch: add new argument 'gpsfix_topic_name' for GPSFix messages
- Merge pull request #50 from MOLAorg/feat/refactor-gui Port to the new backend agnostic GUI API
- Port to the new backend agnostic GUI API
- ROS2 node and ros2bags: support gps_msgs/GpsFix messages too
- On bad ICP, do neither publish or show deskewed scans
- gicp pipeline: expose more env vars for KF map params
- Merge pull request #48 from MOLAorg/feat/selective-icp-log New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- CSV stats: include icp_quality too
- Merge pull request #47 from MOLAorg/better-deskew-performance More efficient deskew and visualization
- refactor deskew and viz updates
- Ensure no detached threads
(#46)
- Fix: potential miss error report saving mm files
- Ensure no detached threads for disk io
- minor fixes
- fix obsolete usage of ament_target_dependencies()
- Remove no longer needed param period_publish_new_localization (Removed in BridgeROS2)
- Fix: provide a mechanism to read 2D lidar from ROS
(#43)
- Fix: provide a mechanism to read 2D lidar from ROS
- docs: add new ros launch argument [lidar_topic_type]{.title-ref}
- doc: better roslaunch arg description
- Fix building against older versions of mrpt & mp2p_icp
- Saving simplemap with lazy-load is done in its own detaled thread
- Merge pull request #40 from MOLAorg/feat/more-clang-tidy-checks Add many more clang-tidy checks
- Remove thread_local aux variable for viz camera rotation
- Increase level of clang-tidy warnings, and fix them
- Copyright year bump
- Merge pull request #39 from MOLAorg/feat/optional-prefilter-pipeline Add optional prefilter pipeline for all ICP methods
- Add many more clang-tidy checks
- Add optional prefilter pipeline for all ICP methods
- Contributors: Jose Luis Blanco-Claraco
1.3.1 (2025-12-29)
- Merge pull request #36 from MOLAorg/feat/use-generic-map-fields Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Support to visualize clouds in MOLA Viz recolorized by any cloud point field
- Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Contributors: Jose Luis Blanco-Claraco
1.3.0 (2025-12-15)
- Add CI and documentation badges to README Added badges for CI build, clang-format, documentation, and code coverage.
- Add option 'use_imu_orientation' to disable using IMU orientation for initialization
- docs: add table clarifying localmap types
- Make it compatible with observations w/o cov
- Discard GPS readings with invalid cov matrix
- Add warning if sensor stamps go backwards in time
- Update usage instructions for mola_lo_apps.rst Added usage instructions for LIO with Ouster in mola_lo_apps.rst.
- Contributors: Jose Luis Blanco-Claraco
1.2.2 (2025-11-08)
- Add quick instructions to launch mola-lo-gui on an Ouster dataset
- Add option to store persistent settings and check version
- Fix: missing publication of LocalMap if BridgeROS2 loads after this module.
- Contributors: Jose Luis Blanco-Claraco
1.2.1 (2025-10-28)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange
|
mola_lidar_odometry package from mola_lidar_odometry repomola_lidar_odometry |
ROS Distro
|
Package Summary
| Version | 2.0.0 |
| License | GPLv3 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MOLAorg/mola_lidar_odometry.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
mola_lidar_odometry
LIDAR odometry component based on the MOLA and MRPT frameworks, compatible with ROS 2.
Contents
This repository provides a C++ library mola_lidar_odometry implementing LIDAR
odometry. Sensor input is provided via MOLA components, and ROS 2 example launch files are
provided in ros2-launchs.
A CLI interface mola-lidar-odometry-cli is also provided for running on
offline datasets.
Build and install
Refer to: https://docs.mola-slam.org/latest/#installing
Lidar Inertial Odometry (LIO) demo with Oxford Spires:
Lidar Odometry (LO) demo with KITTI:
Documentation and tutorials
See: https://docs.mola-slam.org/
ROS build farm status
| Distro | Develop branch | Releases | Stable release |
|---|---|---|---|
| ROS2 Humble (u22.04) | amd64 arm64 |
||
| ROS 2 Jazzy @ u24.04 | amd64 arm64 |
||
| ROS 2 Kilted @ u24.04 | amd64 arm64 |
||
| ROS 2 Rolling (u24.04) | amd64 arm64 |
| EOL Distro | Last release |
|---|---|
| ROS2 Iron (u22.04) |
Citation
The latest publication on MOLA is (ArXiV).
@article{blanco2025mola_lo,
author = {Blanco-Claraco, Jose Luis},
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 = {2407.20465},
}
License
Copyright (C) 2018-2026 Jose Luis Blanco jlblanco@ual.es, University of Almeria
This package is released under the GNU GPL v3 license as open source, with the main intention of being useful for research and evaluation purposes. Commercial licenses available upon request.
Contributions require acceptance of the Contributor License Agreement (CLA).
Changelog for package mola_lidar_odometry
2.0.0 (2026-04-02)
- Merge pull request #53 from MOLAorg/feat/use-imu-grav-align Use IMU readings to estimate gravity up vector as ICP prior constraint
- Add formal CLA
- mola-cli-launch files: apply yaml format
- FIX: mola-lidar-odometry-cli now can handle the two types of GPS messages too
- gui stats: more robust sensor rate estimation (include gnss now too)
- docs: add layer name to pipeline table
- gicp pipeline: expose new KF-metric map parameters as optional env vars
- ros2 launch: add new argument 'gpsfix_topic_name' for GPSFix messages
- Merge pull request #50 from MOLAorg/feat/refactor-gui Port to the new backend agnostic GUI API
- Port to the new backend agnostic GUI API
- ROS2 node and ros2bags: support gps_msgs/GpsFix messages too
- On bad ICP, do neither publish or show deskewed scans
- gicp pipeline: expose more env vars for KF map params
- Merge pull request #48 from MOLAorg/feat/selective-icp-log New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- CSV stats: include icp_quality too
- Merge pull request #47 from MOLAorg/better-deskew-performance More efficient deskew and visualization
- refactor deskew and viz updates
- Ensure no detached threads
(#46)
- Fix: potential miss error report saving mm files
- Ensure no detached threads for disk io
- minor fixes
- fix obsolete usage of ament_target_dependencies()
- Remove no longer needed param period_publish_new_localization (Removed in BridgeROS2)
- Fix: provide a mechanism to read 2D lidar from ROS
(#43)
- Fix: provide a mechanism to read 2D lidar from ROS
- docs: add new ros launch argument [lidar_topic_type]{.title-ref}
- doc: better roslaunch arg description
- Fix building against older versions of mrpt & mp2p_icp
- Saving simplemap with lazy-load is done in its own detaled thread
- Merge pull request #40 from MOLAorg/feat/more-clang-tidy-checks Add many more clang-tidy checks
- Remove thread_local aux variable for viz camera rotation
- Increase level of clang-tidy warnings, and fix them
- Copyright year bump
- Merge pull request #39 from MOLAorg/feat/optional-prefilter-pipeline Add optional prefilter pipeline for all ICP methods
- Add many more clang-tidy checks
- Add optional prefilter pipeline for all ICP methods
- Contributors: Jose Luis Blanco-Claraco
1.3.1 (2025-12-29)
- Merge pull request #36 from MOLAorg/feat/use-generic-map-fields Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Support to visualize clouds in MOLA Viz recolorized by any cloud point field
- Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Contributors: Jose Luis Blanco-Claraco
1.3.0 (2025-12-15)
- Add CI and documentation badges to README Added badges for CI build, clang-format, documentation, and code coverage.
- Add option 'use_imu_orientation' to disable using IMU orientation for initialization
- docs: add table clarifying localmap types
- Make it compatible with observations w/o cov
- Discard GPS readings with invalid cov matrix
- Add warning if sensor stamps go backwards in time
- Update usage instructions for mola_lo_apps.rst Added usage instructions for LIO with Ouster in mola_lo_apps.rst.
- Contributors: Jose Luis Blanco-Claraco
1.2.2 (2025-11-08)
- Add quick instructions to launch mola-lo-gui on an Ouster dataset
- Add option to store persistent settings and check version
- Fix: missing publication of LocalMap if BridgeROS2 loads after this module.
- Contributors: Jose Luis Blanco-Claraco
1.2.1 (2025-10-28)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange
|
mola_lidar_odometry package from mola_lidar_odometry repomola_lidar_odometry |
ROS Distro
|
Package Summary
| Version | 2.0.0 |
| License | GPLv3 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MOLAorg/mola_lidar_odometry.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
mola_lidar_odometry
LIDAR odometry component based on the MOLA and MRPT frameworks, compatible with ROS 2.
Contents
This repository provides a C++ library mola_lidar_odometry implementing LIDAR
odometry. Sensor input is provided via MOLA components, and ROS 2 example launch files are
provided in ros2-launchs.
A CLI interface mola-lidar-odometry-cli is also provided for running on
offline datasets.
Build and install
Refer to: https://docs.mola-slam.org/latest/#installing
Lidar Inertial Odometry (LIO) demo with Oxford Spires:
Lidar Odometry (LO) demo with KITTI:
Documentation and tutorials
See: https://docs.mola-slam.org/
ROS build farm status
| Distro | Develop branch | Releases | Stable release |
|---|---|---|---|
| ROS2 Humble (u22.04) | amd64 arm64 |
||
| ROS 2 Jazzy @ u24.04 | amd64 arm64 |
||
| ROS 2 Kilted @ u24.04 | amd64 arm64 |
||
| ROS 2 Rolling (u24.04) | amd64 arm64 |
| EOL Distro | Last release |
|---|---|
| ROS2 Iron (u22.04) |
Citation
The latest publication on MOLA is (ArXiV).
@article{blanco2025mola_lo,
author = {Blanco-Claraco, Jose Luis},
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 = {2407.20465},
}
License
Copyright (C) 2018-2026 Jose Luis Blanco jlblanco@ual.es, University of Almeria
This package is released under the GNU GPL v3 license as open source, with the main intention of being useful for research and evaluation purposes. Commercial licenses available upon request.
Contributions require acceptance of the Contributor License Agreement (CLA).
Changelog for package mola_lidar_odometry
2.0.0 (2026-04-02)
- Merge pull request #53 from MOLAorg/feat/use-imu-grav-align Use IMU readings to estimate gravity up vector as ICP prior constraint
- Add formal CLA
- mola-cli-launch files: apply yaml format
- FIX: mola-lidar-odometry-cli now can handle the two types of GPS messages too
- gui stats: more robust sensor rate estimation (include gnss now too)
- docs: add layer name to pipeline table
- gicp pipeline: expose new KF-metric map parameters as optional env vars
- ros2 launch: add new argument 'gpsfix_topic_name' for GPSFix messages
- Merge pull request #50 from MOLAorg/feat/refactor-gui Port to the new backend agnostic GUI API
- Port to the new backend agnostic GUI API
- ROS2 node and ros2bags: support gps_msgs/GpsFix messages too
- On bad ICP, do neither publish or show deskewed scans
- gicp pipeline: expose more env vars for KF map params
- Merge pull request #48 from MOLAorg/feat/selective-icp-log New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- CSV stats: include icp_quality too
- Merge pull request #47 from MOLAorg/better-deskew-performance More efficient deskew and visualization
- refactor deskew and viz updates
- Ensure no detached threads
(#46)
- Fix: potential miss error report saving mm files
- Ensure no detached threads for disk io
- minor fixes
- fix obsolete usage of ament_target_dependencies()
- Remove no longer needed param period_publish_new_localization (Removed in BridgeROS2)
- Fix: provide a mechanism to read 2D lidar from ROS
(#43)
- Fix: provide a mechanism to read 2D lidar from ROS
- docs: add new ros launch argument [lidar_topic_type]{.title-ref}
- doc: better roslaunch arg description
- Fix building against older versions of mrpt & mp2p_icp
- Saving simplemap with lazy-load is done in its own detaled thread
- Merge pull request #40 from MOLAorg/feat/more-clang-tidy-checks Add many more clang-tidy checks
- Remove thread_local aux variable for viz camera rotation
- Increase level of clang-tidy warnings, and fix them
- Copyright year bump
- Merge pull request #39 from MOLAorg/feat/optional-prefilter-pipeline Add optional prefilter pipeline for all ICP methods
- Add many more clang-tidy checks
- Add optional prefilter pipeline for all ICP methods
- Contributors: Jose Luis Blanco-Claraco
1.3.1 (2025-12-29)
- Merge pull request #36 from MOLAorg/feat/use-generic-map-fields Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Support to visualize clouds in MOLA Viz recolorized by any cloud point field
- Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Contributors: Jose Luis Blanco-Claraco
1.3.0 (2025-12-15)
- Add CI and documentation badges to README Added badges for CI build, clang-format, documentation, and code coverage.
- Add option 'use_imu_orientation' to disable using IMU orientation for initialization
- docs: add table clarifying localmap types
- Make it compatible with observations w/o cov
- Discard GPS readings with invalid cov matrix
- Add warning if sensor stamps go backwards in time
- Update usage instructions for mola_lo_apps.rst Added usage instructions for LIO with Ouster in mola_lo_apps.rst.
- Contributors: Jose Luis Blanco-Claraco
1.2.2 (2025-11-08)
- Add quick instructions to launch mola-lo-gui on an Ouster dataset
- Add option to store persistent settings and check version
- Fix: missing publication of LocalMap if BridgeROS2 loads after this module.
- Contributors: Jose Luis Blanco-Claraco
1.2.1 (2025-10-28)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange
|
mola_lidar_odometry package from mola_lidar_odometry repomola_lidar_odometry |
ROS Distro
|
Package Summary
| Version | 2.0.0 |
| License | GPLv3 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MOLAorg/mola_lidar_odometry.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
mola_lidar_odometry
LIDAR odometry component based on the MOLA and MRPT frameworks, compatible with ROS 2.
Contents
This repository provides a C++ library mola_lidar_odometry implementing LIDAR
odometry. Sensor input is provided via MOLA components, and ROS 2 example launch files are
provided in ros2-launchs.
A CLI interface mola-lidar-odometry-cli is also provided for running on
offline datasets.
Build and install
Refer to: https://docs.mola-slam.org/latest/#installing
Lidar Inertial Odometry (LIO) demo with Oxford Spires:
Lidar Odometry (LO) demo with KITTI:
Documentation and tutorials
See: https://docs.mola-slam.org/
ROS build farm status
| Distro | Develop branch | Releases | Stable release |
|---|---|---|---|
| ROS2 Humble (u22.04) | amd64 arm64 |
||
| ROS 2 Jazzy @ u24.04 | amd64 arm64 |
||
| ROS 2 Kilted @ u24.04 | amd64 arm64 |
||
| ROS 2 Rolling (u24.04) | amd64 arm64 |
| EOL Distro | Last release |
|---|---|
| ROS2 Iron (u22.04) |
Citation
The latest publication on MOLA is (ArXiV).
@article{blanco2025mola_lo,
author = {Blanco-Claraco, Jose Luis},
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 = {2407.20465},
}
License
Copyright (C) 2018-2026 Jose Luis Blanco jlblanco@ual.es, University of Almeria
This package is released under the GNU GPL v3 license as open source, with the main intention of being useful for research and evaluation purposes. Commercial licenses available upon request.
Contributions require acceptance of the Contributor License Agreement (CLA).
Changelog for package mola_lidar_odometry
2.0.0 (2026-04-02)
- Merge pull request #53 from MOLAorg/feat/use-imu-grav-align Use IMU readings to estimate gravity up vector as ICP prior constraint
- Add formal CLA
- mola-cli-launch files: apply yaml format
- FIX: mola-lidar-odometry-cli now can handle the two types of GPS messages too
- gui stats: more robust sensor rate estimation (include gnss now too)
- docs: add layer name to pipeline table
- gicp pipeline: expose new KF-metric map parameters as optional env vars
- ros2 launch: add new argument 'gpsfix_topic_name' for GPSFix messages
- Merge pull request #50 from MOLAorg/feat/refactor-gui Port to the new backend agnostic GUI API
- Port to the new backend agnostic GUI API
- ROS2 node and ros2bags: support gps_msgs/GpsFix messages too
- On bad ICP, do neither publish or show deskewed scans
- gicp pipeline: expose more env vars for KF map params
- Merge pull request #48 from MOLAorg/feat/selective-icp-log New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- CSV stats: include icp_quality too
- Merge pull request #47 from MOLAorg/better-deskew-performance More efficient deskew and visualization
- refactor deskew and viz updates
- Ensure no detached threads
(#46)
- Fix: potential miss error report saving mm files
- Ensure no detached threads for disk io
- minor fixes
- fix obsolete usage of ament_target_dependencies()
- Remove no longer needed param period_publish_new_localization (Removed in BridgeROS2)
- Fix: provide a mechanism to read 2D lidar from ROS
(#43)
- Fix: provide a mechanism to read 2D lidar from ROS
- docs: add new ros launch argument [lidar_topic_type]{.title-ref}
- doc: better roslaunch arg description
- Fix building against older versions of mrpt & mp2p_icp
- Saving simplemap with lazy-load is done in its own detaled thread
- Merge pull request #40 from MOLAorg/feat/more-clang-tidy-checks Add many more clang-tidy checks
- Remove thread_local aux variable for viz camera rotation
- Increase level of clang-tidy warnings, and fix them
- Copyright year bump
- Merge pull request #39 from MOLAorg/feat/optional-prefilter-pipeline Add optional prefilter pipeline for all ICP methods
- Add many more clang-tidy checks
- Add optional prefilter pipeline for all ICP methods
- Contributors: Jose Luis Blanco-Claraco
1.3.1 (2025-12-29)
- Merge pull request #36 from MOLAorg/feat/use-generic-map-fields Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Support to visualize clouds in MOLA Viz recolorized by any cloud point field
- Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Contributors: Jose Luis Blanco-Claraco
1.3.0 (2025-12-15)
- Add CI and documentation badges to README Added badges for CI build, clang-format, documentation, and code coverage.
- Add option 'use_imu_orientation' to disable using IMU orientation for initialization
- docs: add table clarifying localmap types
- Make it compatible with observations w/o cov
- Discard GPS readings with invalid cov matrix
- Add warning if sensor stamps go backwards in time
- Update usage instructions for mola_lo_apps.rst Added usage instructions for LIO with Ouster in mola_lo_apps.rst.
- Contributors: Jose Luis Blanco-Claraco
1.2.2 (2025-11-08)
- Add quick instructions to launch mola-lo-gui on an Ouster dataset
- Add option to store persistent settings and check version
- Fix: missing publication of LocalMap if BridgeROS2 loads after this module.
- Contributors: Jose Luis Blanco-Claraco
1.2.1 (2025-10-28)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange
|
mola_lidar_odometry package from mola_lidar_odometry repomola_lidar_odometry |
ROS Distro
|
Package Summary
| Version | 2.0.0 |
| License | GPLv3 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MOLAorg/mola_lidar_odometry.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
mola_lidar_odometry
LIDAR odometry component based on the MOLA and MRPT frameworks, compatible with ROS 2.
Contents
This repository provides a C++ library mola_lidar_odometry implementing LIDAR
odometry. Sensor input is provided via MOLA components, and ROS 2 example launch files are
provided in ros2-launchs.
A CLI interface mola-lidar-odometry-cli is also provided for running on
offline datasets.
Build and install
Refer to: https://docs.mola-slam.org/latest/#installing
Lidar Inertial Odometry (LIO) demo with Oxford Spires:
Lidar Odometry (LO) demo with KITTI:
Documentation and tutorials
See: https://docs.mola-slam.org/
ROS build farm status
| Distro | Develop branch | Releases | Stable release |
|---|---|---|---|
| ROS2 Humble (u22.04) | amd64 arm64 |
||
| ROS 2 Jazzy @ u24.04 | amd64 arm64 |
||
| ROS 2 Kilted @ u24.04 | amd64 arm64 |
||
| ROS 2 Rolling (u24.04) | amd64 arm64 |
| EOL Distro | Last release |
|---|---|
| ROS2 Iron (u22.04) |
Citation
The latest publication on MOLA is (ArXiV).
@article{blanco2025mola_lo,
author = {Blanco-Claraco, Jose Luis},
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 = {2407.20465},
}
License
Copyright (C) 2018-2026 Jose Luis Blanco jlblanco@ual.es, University of Almeria
This package is released under the GNU GPL v3 license as open source, with the main intention of being useful for research and evaluation purposes. Commercial licenses available upon request.
Contributions require acceptance of the Contributor License Agreement (CLA).
Changelog for package mola_lidar_odometry
2.0.0 (2026-04-02)
- Merge pull request #53 from MOLAorg/feat/use-imu-grav-align Use IMU readings to estimate gravity up vector as ICP prior constraint
- Add formal CLA
- mola-cli-launch files: apply yaml format
- FIX: mola-lidar-odometry-cli now can handle the two types of GPS messages too
- gui stats: more robust sensor rate estimation (include gnss now too)
- docs: add layer name to pipeline table
- gicp pipeline: expose new KF-metric map parameters as optional env vars
- ros2 launch: add new argument 'gpsfix_topic_name' for GPSFix messages
- Merge pull request #50 from MOLAorg/feat/refactor-gui Port to the new backend agnostic GUI API
- Port to the new backend agnostic GUI API
- ROS2 node and ros2bags: support gps_msgs/GpsFix messages too
- On bad ICP, do neither publish or show deskewed scans
- gicp pipeline: expose more env vars for KF map params
- Merge pull request #48 from MOLAorg/feat/selective-icp-log New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- CSV stats: include icp_quality too
- Merge pull request #47 from MOLAorg/better-deskew-performance More efficient deskew and visualization
- refactor deskew and viz updates
- Ensure no detached threads
(#46)
- Fix: potential miss error report saving mm files
- Ensure no detached threads for disk io
- minor fixes
- fix obsolete usage of ament_target_dependencies()
- Remove no longer needed param period_publish_new_localization (Removed in BridgeROS2)
- Fix: provide a mechanism to read 2D lidar from ROS
(#43)
- Fix: provide a mechanism to read 2D lidar from ROS
- docs: add new ros launch argument [lidar_topic_type]{.title-ref}
- doc: better roslaunch arg description
- Fix building against older versions of mrpt & mp2p_icp
- Saving simplemap with lazy-load is done in its own detaled thread
- Merge pull request #40 from MOLAorg/feat/more-clang-tidy-checks Add many more clang-tidy checks
- Remove thread_local aux variable for viz camera rotation
- Increase level of clang-tidy warnings, and fix them
- Copyright year bump
- Merge pull request #39 from MOLAorg/feat/optional-prefilter-pipeline Add optional prefilter pipeline for all ICP methods
- Add many more clang-tidy checks
- Add optional prefilter pipeline for all ICP methods
- Contributors: Jose Luis Blanco-Claraco
1.3.1 (2025-12-29)
- Merge pull request #36 from MOLAorg/feat/use-generic-map-fields Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Support to visualize clouds in MOLA Viz recolorized by any cloud point field
- Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Contributors: Jose Luis Blanco-Claraco
1.3.0 (2025-12-15)
- Add CI and documentation badges to README Added badges for CI build, clang-format, documentation, and code coverage.
- Add option 'use_imu_orientation' to disable using IMU orientation for initialization
- docs: add table clarifying localmap types
- Make it compatible with observations w/o cov
- Discard GPS readings with invalid cov matrix
- Add warning if sensor stamps go backwards in time
- Update usage instructions for mola_lo_apps.rst Added usage instructions for LIO with Ouster in mola_lo_apps.rst.
- Contributors: Jose Luis Blanco-Claraco
1.2.2 (2025-11-08)
- Add quick instructions to launch mola-lo-gui on an Ouster dataset
- Add option to store persistent settings and check version
- Fix: missing publication of LocalMap if BridgeROS2 loads after this module.
- Contributors: Jose Luis Blanco-Claraco
1.2.1 (2025-10-28)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange
|
mola_lidar_odometry package from mola_lidar_odometry repomola_lidar_odometry |
ROS Distro
|
Package Summary
| Version | 2.0.0 |
| License | GPLv3 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MOLAorg/mola_lidar_odometry.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
mola_lidar_odometry
LIDAR odometry component based on the MOLA and MRPT frameworks, compatible with ROS 2.
Contents
This repository provides a C++ library mola_lidar_odometry implementing LIDAR
odometry. Sensor input is provided via MOLA components, and ROS 2 example launch files are
provided in ros2-launchs.
A CLI interface mola-lidar-odometry-cli is also provided for running on
offline datasets.
Build and install
Refer to: https://docs.mola-slam.org/latest/#installing
Lidar Inertial Odometry (LIO) demo with Oxford Spires:
Lidar Odometry (LO) demo with KITTI:
Documentation and tutorials
See: https://docs.mola-slam.org/
ROS build farm status
| Distro | Develop branch | Releases | Stable release |
|---|---|---|---|
| ROS2 Humble (u22.04) | amd64 arm64 |
||
| ROS 2 Jazzy @ u24.04 | amd64 arm64 |
||
| ROS 2 Kilted @ u24.04 | amd64 arm64 |
||
| ROS 2 Rolling (u24.04) | amd64 arm64 |
| EOL Distro | Last release |
|---|---|
| ROS2 Iron (u22.04) |
Citation
The latest publication on MOLA is (ArXiV).
@article{blanco2025mola_lo,
author = {Blanco-Claraco, Jose Luis},
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 = {2407.20465},
}
License
Copyright (C) 2018-2026 Jose Luis Blanco jlblanco@ual.es, University of Almeria
This package is released under the GNU GPL v3 license as open source, with the main intention of being useful for research and evaluation purposes. Commercial licenses available upon request.
Contributions require acceptance of the Contributor License Agreement (CLA).
Changelog for package mola_lidar_odometry
2.0.0 (2026-04-02)
- Merge pull request #53 from MOLAorg/feat/use-imu-grav-align Use IMU readings to estimate gravity up vector as ICP prior constraint
- Add formal CLA
- mola-cli-launch files: apply yaml format
- FIX: mola-lidar-odometry-cli now can handle the two types of GPS messages too
- gui stats: more robust sensor rate estimation (include gnss now too)
- docs: add layer name to pipeline table
- gicp pipeline: expose new KF-metric map parameters as optional env vars
- ros2 launch: add new argument 'gpsfix_topic_name' for GPSFix messages
- Merge pull request #50 from MOLAorg/feat/refactor-gui Port to the new backend agnostic GUI API
- Port to the new backend agnostic GUI API
- ROS2 node and ros2bags: support gps_msgs/GpsFix messages too
- On bad ICP, do neither publish or show deskewed scans
- gicp pipeline: expose more env vars for KF map params
- Merge pull request #48 from MOLAorg/feat/selective-icp-log New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- CSV stats: include icp_quality too
- Merge pull request #47 from MOLAorg/better-deskew-performance More efficient deskew and visualization
- refactor deskew and viz updates
- Ensure no detached threads
(#46)
- Fix: potential miss error report saving mm files
- Ensure no detached threads for disk io
- minor fixes
- fix obsolete usage of ament_target_dependencies()
- Remove no longer needed param period_publish_new_localization (Removed in BridgeROS2)
- Fix: provide a mechanism to read 2D lidar from ROS
(#43)
- Fix: provide a mechanism to read 2D lidar from ROS
- docs: add new ros launch argument [lidar_topic_type]{.title-ref}
- doc: better roslaunch arg description
- Fix building against older versions of mrpt & mp2p_icp
- Saving simplemap with lazy-load is done in its own detaled thread
- Merge pull request #40 from MOLAorg/feat/more-clang-tidy-checks Add many more clang-tidy checks
- Remove thread_local aux variable for viz camera rotation
- Increase level of clang-tidy warnings, and fix them
- Copyright year bump
- Merge pull request #39 from MOLAorg/feat/optional-prefilter-pipeline Add optional prefilter pipeline for all ICP methods
- Add many more clang-tidy checks
- Add optional prefilter pipeline for all ICP methods
- Contributors: Jose Luis Blanco-Claraco
1.3.1 (2025-12-29)
- Merge pull request #36 from MOLAorg/feat/use-generic-map-fields Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Support to visualize clouds in MOLA Viz recolorized by any cloud point field
- Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Contributors: Jose Luis Blanco-Claraco
1.3.0 (2025-12-15)
- Add CI and documentation badges to README Added badges for CI build, clang-format, documentation, and code coverage.
- Add option 'use_imu_orientation' to disable using IMU orientation for initialization
- docs: add table clarifying localmap types
- Make it compatible with observations w/o cov
- Discard GPS readings with invalid cov matrix
- Add warning if sensor stamps go backwards in time
- Update usage instructions for mola_lo_apps.rst Added usage instructions for LIO with Ouster in mola_lo_apps.rst.
- Contributors: Jose Luis Blanco-Claraco
1.2.2 (2025-11-08)
- Add quick instructions to launch mola-lo-gui on an Ouster dataset
- Add option to store persistent settings and check version
- Fix: missing publication of LocalMap if BridgeROS2 loads after this module.
- Contributors: Jose Luis Blanco-Claraco
1.2.1 (2025-10-28)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange
|
mola_lidar_odometry package from mola_lidar_odometry repomola_lidar_odometry |
ROS Distro
|
Package Summary
| Version | 2.0.0 |
| License | GPLv3 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MOLAorg/mola_lidar_odometry.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
mola_lidar_odometry
LIDAR odometry component based on the MOLA and MRPT frameworks, compatible with ROS 2.
Contents
This repository provides a C++ library mola_lidar_odometry implementing LIDAR
odometry. Sensor input is provided via MOLA components, and ROS 2 example launch files are
provided in ros2-launchs.
A CLI interface mola-lidar-odometry-cli is also provided for running on
offline datasets.
Build and install
Refer to: https://docs.mola-slam.org/latest/#installing
Lidar Inertial Odometry (LIO) demo with Oxford Spires:
Lidar Odometry (LO) demo with KITTI:
Documentation and tutorials
See: https://docs.mola-slam.org/
ROS build farm status
| Distro | Develop branch | Releases | Stable release |
|---|---|---|---|
| ROS2 Humble (u22.04) | amd64 arm64 |
||
| ROS 2 Jazzy @ u24.04 | amd64 arm64 |
||
| ROS 2 Kilted @ u24.04 | amd64 arm64 |
||
| ROS 2 Rolling (u24.04) | amd64 arm64 |
| EOL Distro | Last release |
|---|---|
| ROS2 Iron (u22.04) |
Citation
The latest publication on MOLA is (ArXiV).
@article{blanco2025mola_lo,
author = {Blanco-Claraco, Jose Luis},
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 = {2407.20465},
}
License
Copyright (C) 2018-2026 Jose Luis Blanco jlblanco@ual.es, University of Almeria
This package is released under the GNU GPL v3 license as open source, with the main intention of being useful for research and evaluation purposes. Commercial licenses available upon request.
Contributions require acceptance of the Contributor License Agreement (CLA).
Changelog for package mola_lidar_odometry
2.0.0 (2026-04-02)
- Merge pull request #53 from MOLAorg/feat/use-imu-grav-align Use IMU readings to estimate gravity up vector as ICP prior constraint
- Add formal CLA
- mola-cli-launch files: apply yaml format
- FIX: mola-lidar-odometry-cli now can handle the two types of GPS messages too
- gui stats: more robust sensor rate estimation (include gnss now too)
- docs: add layer name to pipeline table
- gicp pipeline: expose new KF-metric map parameters as optional env vars
- ros2 launch: add new argument 'gpsfix_topic_name' for GPSFix messages
- Merge pull request #50 from MOLAorg/feat/refactor-gui Port to the new backend agnostic GUI API
- Port to the new backend agnostic GUI API
- ROS2 node and ros2bags: support gps_msgs/GpsFix messages too
- On bad ICP, do neither publish or show deskewed scans
- gicp pipeline: expose more env vars for KF map params
- Merge pull request #48 from MOLAorg/feat/selective-icp-log New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- CSV stats: include icp_quality too
- Merge pull request #47 from MOLAorg/better-deskew-performance More efficient deskew and visualization
- refactor deskew and viz updates
- Ensure no detached threads
(#46)
- Fix: potential miss error report saving mm files
- Ensure no detached threads for disk io
- minor fixes
- fix obsolete usage of ament_target_dependencies()
- Remove no longer needed param period_publish_new_localization (Removed in BridgeROS2)
- Fix: provide a mechanism to read 2D lidar from ROS
(#43)
- Fix: provide a mechanism to read 2D lidar from ROS
- docs: add new ros launch argument [lidar_topic_type]{.title-ref}
- doc: better roslaunch arg description
- Fix building against older versions of mrpt & mp2p_icp
- Saving simplemap with lazy-load is done in its own detaled thread
- Merge pull request #40 from MOLAorg/feat/more-clang-tidy-checks Add many more clang-tidy checks
- Remove thread_local aux variable for viz camera rotation
- Increase level of clang-tidy warnings, and fix them
- Copyright year bump
- Merge pull request #39 from MOLAorg/feat/optional-prefilter-pipeline Add optional prefilter pipeline for all ICP methods
- Add many more clang-tidy checks
- Add optional prefilter pipeline for all ICP methods
- Contributors: Jose Luis Blanco-Claraco
1.3.1 (2025-12-29)
- Merge pull request #36 from MOLAorg/feat/use-generic-map-fields Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Support to visualize clouds in MOLA Viz recolorized by any cloud point field
- Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Contributors: Jose Luis Blanco-Claraco
1.3.0 (2025-12-15)
- Add CI and documentation badges to README Added badges for CI build, clang-format, documentation, and code coverage.
- Add option 'use_imu_orientation' to disable using IMU orientation for initialization
- docs: add table clarifying localmap types
- Make it compatible with observations w/o cov
- Discard GPS readings with invalid cov matrix
- Add warning if sensor stamps go backwards in time
- Update usage instructions for mola_lo_apps.rst Added usage instructions for LIO with Ouster in mola_lo_apps.rst.
- Contributors: Jose Luis Blanco-Claraco
1.2.2 (2025-11-08)
- Add quick instructions to launch mola-lo-gui on an Ouster dataset
- Add option to store persistent settings and check version
- Fix: missing publication of LocalMap if BridgeROS2 loads after this module.
- Contributors: Jose Luis Blanco-Claraco
1.2.1 (2025-10-28)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange
|
mola_lidar_odometry package from mola_lidar_odometry repomola_lidar_odometry |
ROS Distro
|
Package Summary
| Version | 2.0.0 |
| License | GPLv3 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/MOLAorg/mola_lidar_odometry.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-04-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
mola_lidar_odometry
LIDAR odometry component based on the MOLA and MRPT frameworks, compatible with ROS 2.
Contents
This repository provides a C++ library mola_lidar_odometry implementing LIDAR
odometry. Sensor input is provided via MOLA components, and ROS 2 example launch files are
provided in ros2-launchs.
A CLI interface mola-lidar-odometry-cli is also provided for running on
offline datasets.
Build and install
Refer to: https://docs.mola-slam.org/latest/#installing
Lidar Inertial Odometry (LIO) demo with Oxford Spires:
Lidar Odometry (LO) demo with KITTI:
Documentation and tutorials
See: https://docs.mola-slam.org/
ROS build farm status
| Distro | Develop branch | Releases | Stable release |
|---|---|---|---|
| ROS2 Humble (u22.04) | amd64 arm64 |
||
| ROS 2 Jazzy @ u24.04 | amd64 arm64 |
||
| ROS 2 Kilted @ u24.04 | amd64 arm64 |
||
| ROS 2 Rolling (u24.04) | amd64 arm64 |
| EOL Distro | Last release |
|---|---|
| ROS2 Iron (u22.04) |
Citation
The latest publication on MOLA is (ArXiV).
@article{blanco2025mola_lo,
author = {Blanco-Claraco, Jose Luis},
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 = {2407.20465},
}
License
Copyright (C) 2018-2026 Jose Luis Blanco jlblanco@ual.es, University of Almeria
This package is released under the GNU GPL v3 license as open source, with the main intention of being useful for research and evaluation purposes. Commercial licenses available upon request.
Contributions require acceptance of the Contributor License Agreement (CLA).
Changelog for package mola_lidar_odometry
2.0.0 (2026-04-02)
- Merge pull request #53 from MOLAorg/feat/use-imu-grav-align Use IMU readings to estimate gravity up vector as ICP prior constraint
- Add formal CLA
- mola-cli-launch files: apply yaml format
- FIX: mola-lidar-odometry-cli now can handle the two types of GPS messages too
- gui stats: more robust sensor rate estimation (include gnss now too)
- docs: add layer name to pipeline table
- gicp pipeline: expose new KF-metric map parameters as optional env vars
- ros2 launch: add new argument 'gpsfix_topic_name' for GPSFix messages
- Merge pull request #50 from MOLAorg/feat/refactor-gui Port to the new backend agnostic GUI API
- Port to the new backend agnostic GUI API
- ROS2 node and ros2bags: support gps_msgs/GpsFix messages too
- On bad ICP, do neither publish or show deskewed scans
- gicp pipeline: expose more env vars for KF map params
- Merge pull request #48 from MOLAorg/feat/selective-icp-log New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- New env var to debug bad ICP cases: MOLA_WRITE_DEBUG_ICP_LOG_IF_QUALITY_UNDER
- CSV stats: include icp_quality too
- Merge pull request #47 from MOLAorg/better-deskew-performance More efficient deskew and visualization
- refactor deskew and viz updates
- Ensure no detached threads
(#46)
- Fix: potential miss error report saving mm files
- Ensure no detached threads for disk io
- minor fixes
- fix obsolete usage of ament_target_dependencies()
- Remove no longer needed param period_publish_new_localization (Removed in BridgeROS2)
- Fix: provide a mechanism to read 2D lidar from ROS
(#43)
- Fix: provide a mechanism to read 2D lidar from ROS
- docs: add new ros launch argument [lidar_topic_type]{.title-ref}
- doc: better roslaunch arg description
- Fix building against older versions of mrpt & mp2p_icp
- Saving simplemap with lazy-load is done in its own detaled thread
- Merge pull request #40 from MOLAorg/feat/more-clang-tidy-checks Add many more clang-tidy checks
- Remove thread_local aux variable for viz camera rotation
- Increase level of clang-tidy warnings, and fix them
- Copyright year bump
- Merge pull request #39 from MOLAorg/feat/optional-prefilter-pipeline Add optional prefilter pipeline for all ICP methods
- Add many more clang-tidy checks
- Add optional prefilter pipeline for all ICP methods
- Contributors: Jose Luis Blanco-Claraco
1.3.1 (2025-12-29)
- Merge pull request #36 from MOLAorg/feat/use-generic-map-fields Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Support to visualize clouds in MOLA Viz recolorized by any cloud point field
- Use CGenericPointsMap to propagate all sensor per-point fields thru mapping pipelines
- Contributors: Jose Luis Blanco-Claraco
1.3.0 (2025-12-15)
- Add CI and documentation badges to README Added badges for CI build, clang-format, documentation, and code coverage.
- Add option 'use_imu_orientation' to disable using IMU orientation for initialization
- docs: add table clarifying localmap types
- Make it compatible with observations w/o cov
- Discard GPS readings with invalid cov matrix
- Add warning if sensor stamps go backwards in time
- Update usage instructions for mola_lo_apps.rst Added usage instructions for LIO with Ouster in mola_lo_apps.rst.
- Contributors: Jose Luis Blanco-Claraco
1.2.2 (2025-11-08)
- Add quick instructions to launch mola-lo-gui on an Ouster dataset
- Add option to store persistent settings and check version
- Fix: missing publication of LocalMap if BridgeROS2 loads after this module.
- Contributors: Jose Luis Blanco-Claraco
1.2.1 (2025-10-28)
File truncated at 100 lines see the full file