About mp2p_icp

A collection of C++ libraries and tools for multi-primitive-to-primitive (MP2P) matching, optimization, ICP-related algorithms, and point-cloud pipeline design. Part of the MOLA project.

How to cite it

mp2p_icp has been used in these papers:

  • The mola_lidar_odometry system, presented in [BC24].

  • Formerly, it was used in 2019 in [BC19a].

Install mp2p_icp

Note

You are reading installation instructions for the mp2p_icp package only. For installing the complete MOLA odometry and SLAM system, see Installing.

How to install the C++ mp2p_icp libraries and applications:

Probably the easiest way to get mp2p_icp:

sudo apt install ros-${ROS_DISTRO}-mp2p-icp

Clone the project git repository and its submodules:

mkdir -p ~/code/mp2p_icp && cd ~/code/mp2p_icp
git clone --recurse-submodules https://github.com/MOLAorg/mp2p_icp.git
  • A C++17 compiler

  • CMake >=3.4

  • MRPT >= 2.11.5

Follow the installation instructions for MRPT

sudo apt install ros-$ROS_DISTRO-mrpt2
# MRPT, from this PPA, or from its ROS package, or build from sources if preferred:
sudo add-apt-repository ppa:joseluisblancoc/mrpt
sudo apt update
sudo apt install libmrpt-dev mrpt-apps

Classic cmake stuff:

mkdir build-Release
cmake -B build-Release -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build-Release
(cd build-Release  && make test)  # to run tests

You can build mp2p_icp within a ROS 2 workspace using colcon, just as with any other package:

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone --recurse-submodules https://github.com/MOLAorg/mp2p_icp.git
cd ~/ros2_ws/
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
. install/setup.bash