MOLA

MOLA is a Modular system for Localization and Mapping.

Get started:
https://mrpt.github.io/imgs/mola-slam-kitti-demo.gif

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-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

ROS 2 Humble

(u22.04)

ROS 2 Jazzy

(u24.04)

ROS 2 Rolling

(u24.04)

MOLA

badgeHrel

badgeJrel

badgeRrel

mola_lidar_odometry

badgeHrel_LO

badgeJrel_LO

badgeRrel_LO

mp2p_icp

badgeHrel_MP

badgeJrel_MP

badgeRrel_MP

EOL ROS distribution:

  • ROS 2 Iron (u22.04): MOLA badgeIrel, mola_lidar_odometry badgeIrel_LO, mp2p_icp badgeIrel_MP

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_test_datasets.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 [BC24]:

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.

Use cases

Next follow some examples of applications of MOLA SLAM solutions with 3D LiDAR Odometry.


Automotive SLAM

An example of urban SLAM from the KITTI dataset:

https://mrpt.github.io/imgs/mola-slam-kitti-demo.gif

See how to launch this demo yourself.


Forest inventory (3D mapping)

See paper Aguilar et al. [ABN+24].


Backpack 3D mapping indoors


Mapping from a drone

Using the HILTI 2021 dataset:


Greenhouse mapping

See paper Cañadas Aránega et al. [CanadasAranegaBCMRD24].