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:

ROS distribution

MOLA

mola_lidar_odometry

mp2p_icp

ROS 2 Humble (u22.04)

badgeHrel

badgeHrel_LO

badgeHrel_MP

ROS 2 Iron (u22.04)

badgeIrel

badgeIrel_LO

badgeIrel_MP

ROS 2 Jazzy (u24.04)

badgeJrel

badgeJrel_LO

badgeJrel_MP

ROS 2 Rolling (u24.04)

badgeRrel

badgeRrel_LO

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