Package symbol

mola_lidar_odometry package from mola_lidar_odometry repo

mola_lidar_odometry

ROS Distro
humble

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

LIDAR odometry system based on MOLA and MRPT components

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

CI Build colcon CI clang-format codecov

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: Peek 2025-08-31 11-36

Lidar Odometry (LO) demo with KITTI: mola-slam-kitti-demo

Documentation and tutorials

See: https://docs.mola-slam.org/

ROS build farm status

Distro Develop branch Releases Stable release
ROS2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL Distro Last release
ROS2 Iron (u22.04) Version

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

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange

Package symbol

mola_lidar_odometry package from mola_lidar_odometry repo

mola_lidar_odometry

ROS Distro
jazzy

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

LIDAR odometry system based on MOLA and MRPT components

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

CI Build colcon CI clang-format codecov

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: Peek 2025-08-31 11-36

Lidar Odometry (LO) demo with KITTI: mola-slam-kitti-demo

Documentation and tutorials

See: https://docs.mola-slam.org/

ROS build farm status

Distro Develop branch Releases Stable release
ROS2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL Distro Last release
ROS2 Iron (u22.04) Version

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

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange

Package symbol

mola_lidar_odometry package from mola_lidar_odometry repo

mola_lidar_odometry

ROS Distro
kilted

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

LIDAR odometry system based on MOLA and MRPT components

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

CI Build colcon CI clang-format codecov

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: Peek 2025-08-31 11-36

Lidar Odometry (LO) demo with KITTI: mola-slam-kitti-demo

Documentation and tutorials

See: https://docs.mola-slam.org/

ROS build farm status

Distro Develop branch Releases Stable release
ROS2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL Distro Last release
ROS2 Iron (u22.04) Version

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

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange

Package symbol

mola_lidar_odometry package from mola_lidar_odometry repo

mola_lidar_odometry

ROS Distro
rolling

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

LIDAR odometry system based on MOLA and MRPT components

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

CI Build colcon CI clang-format codecov

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: Peek 2025-08-31 11-36

Lidar Odometry (LO) demo with KITTI: mola-slam-kitti-demo

Documentation and tutorials

See: https://docs.mola-slam.org/

ROS build farm status

Distro Develop branch Releases Stable release
ROS2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL Distro Last release
ROS2 Iron (u22.04) Version

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

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange

No version for distro github showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_lidar_odometry package from mola_lidar_odometry repo

mola_lidar_odometry

ROS Distro
humble

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

LIDAR odometry system based on MOLA and MRPT components

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

CI Build colcon CI clang-format codecov

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: Peek 2025-08-31 11-36

Lidar Odometry (LO) demo with KITTI: mola-slam-kitti-demo

Documentation and tutorials

See: https://docs.mola-slam.org/

ROS build farm status

Distro Develop branch Releases Stable release
ROS2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL Distro Last release
ROS2 Iron (u22.04) Version

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

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_lidar_odometry package from mola_lidar_odometry repo

mola_lidar_odometry

ROS Distro
humble

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

LIDAR odometry system based on MOLA and MRPT components

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

CI Build colcon CI clang-format codecov

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: Peek 2025-08-31 11-36

Lidar Odometry (LO) demo with KITTI: mola-slam-kitti-demo

Documentation and tutorials

See: https://docs.mola-slam.org/

ROS build farm status

Distro Develop branch Releases Stable release
ROS2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL Distro Last release
ROS2 Iron (u22.04) Version

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

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange

Package symbol

mola_lidar_odometry package from mola_lidar_odometry repo

mola_lidar_odometry

ROS Distro
iron

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

LIDAR odometry system based on MOLA and MRPT components

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

CI Build colcon CI clang-format codecov

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: Peek 2025-08-31 11-36

Lidar Odometry (LO) demo with KITTI: mola-slam-kitti-demo

Documentation and tutorials

See: https://docs.mola-slam.org/

ROS build farm status

Distro Develop branch Releases Stable release
ROS2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL Distro Last release
ROS2 Iron (u22.04) Version

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

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_lidar_odometry package from mola_lidar_odometry repo

mola_lidar_odometry

ROS Distro
humble

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

LIDAR odometry system based on MOLA and MRPT components

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

CI Build colcon CI clang-format codecov

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: Peek 2025-08-31 11-36

Lidar Odometry (LO) demo with KITTI: mola-slam-kitti-demo

Documentation and tutorials

See: https://docs.mola-slam.org/

ROS build farm status

Distro Develop branch Releases Stable release
ROS2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL Distro Last release
ROS2 Iron (u22.04) Version

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

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_lidar_odometry package from mola_lidar_odometry repo

mola_lidar_odometry

ROS Distro
humble

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

LIDAR odometry system based on MOLA and MRPT components

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

CI Build colcon CI clang-format codecov

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: Peek 2025-08-31 11-36

Lidar Odometry (LO) demo with KITTI: mola-slam-kitti-demo

Documentation and tutorials

See: https://docs.mola-slam.org/

ROS build farm status

Distro Develop branch Releases Stable release
ROS2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL Distro Last release
ROS2 Iron (u22.04) Version

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

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mola_lidar_odometry at Robotics Stack Exchange