Production-grade LiDAR SLAM for robotics and surveying
Open Core - free for research, commercially licensable for products
MOLA is a Modular system for Localization and Mapping, providing LiDAR Odometry (LO), LiDAR-inertial Odometry (LIO), SLAM, localization-only modes, and geo-referencing.
Get started
Build your first map in minutes with the step-by-step tutorial.
Start tutorialWhy MOLA?
See what makes MOLA different from other SLAM frameworks.
Learn morePlans & pricing
Compare Community (free) vs. Pro (commercial license).
See plansQuick links
Installing
How to install all MOLA modules:
From ROS 2 repositories
Recommended: This is the easiest way to install MOLA.
In Debian/Ubuntu systems, activate your ROS environment (setup.bash) if not done automatically
in your ~./bashrc file, then just run:
# Install core MOLA modules and 3D LiDAR odometry:
sudo apt install \
ros-$ROS_DISTRO-mola \
ros-$ROS_DISTRO-mola-state-estimation \
ros-$ROS_DISTRO-mola-lidar-odometry
# (OPTIONAL) Install example small datasets to run demos/unit tests:
sudo apt install ros-$ROS_DISTRO-mola-test-datasets
Check if all new nodes and apps are visible:
# For example, let's launch the mm map viewer.
# If a GUI app is opened, it means installation was successful.
mm-viewer
# You can also test the mola LO cli interface:
mola-lidar-odometry-cli --help
These are the versions available from ROS build farms for each main MOLA component:
Repository |
|
|
|
|---|---|---|---|
MOLA |
|||
mola_lidar_odometry |
|||
mola_state_estimation |
|||
mp2p_icp |
EOL ROS distribution:
Build from sources
MOLA uses colcon so you need to install it first.
Note that despite ROS 2 integration, a full ROS 2 installation is actually not required for MOLA, only colcon and ament.
Clone the git repositories, including the submodules:
mkdir -p ~/ros2_mola_ws/src/
cd ~/ros2_mola_ws/src/
# Main MOLA modules:
git clone https://github.com/MOLAorg/mola_common.git
git clone https://github.com/MOLAorg/mp2p_icp.git --recursive
git clone https://github.com/MOLAorg/mola.git --recursive
git clone https://github.com/MOLAorg/mola_state_estimation.git
git clone https://github.com/MOLAorg/mola_test_datasets.git
git clone https://github.com/MOLAorg/mola_imu_preintegration.git
git clone https://github.com/MOLAorg/mola_sm_loop_closure.git
# MOLA lidar odometry package:
git clone https://github.com/MOLAorg/mola_lidar_odometry.git --recursive
Make sure you have all dependencies installed (make sure of having rosdep already installed):
cd ~/ros2_mola_ws/
rosdep install --from-paths src --ignore-src -r -y
Now, compile as usual with colcon:
cd ~/ros2_mola_ws/
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo
Next, activate the new environment and check if all new modules are visible:
cd ~/ros2_mola_ws/
. install/setup.bash
# For example, let's launch the mm map viewer:
mm-viewer
How to cite MOLA
The mola_lidar_odometry system was presented in [BC25] (ArXiV):
Blanco-Claraco JL. A flexible framework for accurate LiDAR odometry, map manipulation, and localization. The International Journal of Robotics Research. 2025;0(0). doi:10.1177/02783649251316881
The basics of the MOLA framework were introduced in [BC19a].
J.L. Blanco, A Modular Optimization Framework for Localization and Mapping, in Robotics: Science and Systems (RSS), 2019.