Repo symbol

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file

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

mola_mapper_2d repository

mola_mapper_2d

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_mapper_2d.git
VCS Type git
VCS Version develop
Last Updated 2026-02-03
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
mola_mapper_2d 1.3.1

README

CI Build colcon CI clang-format Docs codecov

mola_mapper_2d

2D LiDAR Graph-SLAM backend component based on the MOLA and MRPT frameworks, compatible with ROS 2.

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

Overview

This repository provides a C++ library mola_mapper_2d implementing a complete 2D LiDAR SLAM system (Simultaneous Localization and Mapping) using pose graph optimization.

The mapper uses:

  • GTSAM for factor graph optimization
  • mp2p_icp for scan-to-map registration and loop closure detection
  • MRPT for common robotics types and utilities
  • MOLA framework for system integration and component management

Sensor input is provided via MOLA observation interfaces, making it compatible with various sensor front-ends (odometry, LiDAR, etc.). ROS 2 example launch files are provided in ros2-launches.

A CLI interface mola-mapper-2d-cli is also provided for running on offline datasets.

Features

  • Graph-based SLAM: Maintains a pose graph of keyframes with SE(3) constraints
  • Loop Closure Detection: Automatic detection and correction of large-scale loops
  • Flexible ICP Pipelines: Separate configurable pipelines for odometry and loop closure
  • Keyframe Management: Intelligent keyframe selection and old-keyframe replacement
  • Robust Optimization: Levenberg-Marquardt optimization with robust noise models
  • Multi-Sensor Support: Handles 2D/3D LiDAR observations with flexible sensor labeling
  • Session Resumption: Supports resuming SLAM sessions from saved states for multi-session mapping
  • Visualization Support: Built-in 3D scene generation for debugging and visualization
  • Full State Serialization: Complete state save/load for archival and analysis

Contents

The repository provides:

  • Core Library: mola_mapper_2d - The main 2D SLAM backend implementation
  • CLI Tool: mola-mapper-2d-cli - Command-line interface for offline processing
  • Example Configurations: YAML configuration templates for different scenarios
  • ROS 2 Bridges: Integration components for ROS 2 (in separate ROS-specific package)

Quick Start

Build and Install

Refer to: https://docs.mola-slam.org/latest/#installing

# Standard MOLA installation (with ROS 2)
colcon build --packages-select mola_mapper_2d

# Or standalone (without ROS 2)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build

Basic Usage

#include <mola_mapper_2d/Mapper2D.h>

// Create mapper instance
mola::Mapper2D mapper;

// Initialize from YAML configuration
mapper.initialize("config.yaml");

// Process observations in a loop
mapper.onObservation(observation);

// Get current estimates
auto pose = mapper.get_current_pose();
auto map = mapper.get_current_map();

// Save state for later resumption
auto state = mapper.get_state();
// ... serialize state ...

// Resume from saved state
mapper.resume_session(saved_pose);

Architecture

File truncated at 100 lines see the full file