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:
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:
Note
Since this repository was split into the mp2p_icp_core (headless libraries and CLI
applications, no GUI dependencies), mp2p_icp_viz (GUI applications: mm-viewer,
icp-log-viewer), and mp2p_icp (metapackage, depends on both) ROS packages,
standalone (non-colcon) plain-CMake builds are no longer supported. Build within a ROS
workspace, either the whole thing via the mp2p_icp metapackage, or just
mp2p_icp_core if you only need the headless libraries/apps.
Probably the easiest way to get mp2p_icp:
sudo apt install ros-${ROS_DISTRO}-mp2p-icp
To only install the headless libraries and CLI applications (no GUI dependencies):
sudo apt install ros-${ROS_DISTRO}-mp2p-icp-core
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 --packages-up-to mp2p_icp --cmake-args -DCMAKE_BUILD_TYPE=Release
. install/setup.bash
Or, to only build the headless libraries/apps:
colcon build --symlink-install --packages-up-to mp2p_icp_core --cmake-args -DCMAKE_BUILD_TYPE=Release
Demos
icp-run demos
# 2D icp with point-to-point pairings only:
icp-run \
--input-local mp2p_icp_core/demos/local_001.mm \
--input-global mp2p_icp_core/demos/global_001.mm \
-c mp2p_icp_core/demos/icp-settings-2d-lidar-example-point2point.yaml \
--generate-debug-log
# Inspect the debug log:
icp-log-viewer
# 2D icp with point-to-line pairings:
icp-run \
--input-local mp2p_icp_core/demos/local_001.mm \
--input-global mp2p_icp_core/demos/global_001.mm \
-c mp2p_icp_core/demos/icp-settings-2d-lidar-example-point2line.yaml \
--generate-debug-log
# Inspect the debug log:
icp-log-viewer