norlab-ulaval/libpointmatcher

An Iterative Closest Point (ICP) library for 2D and 3D mapping in Robotics

What it solves

libpointmatcher is a modular library designed to align point clouds using the Iterative Closest Point (ICP) algorithm. This process, known as point cloud registration, is critical for applications in robotics and computer vision, where a system needs to determine the relative position and orientation of two sets of 3D data.

How it works

The library implements various variants of the ICP algorithm to match point clouds. It is written in C++ for high performance and provides Python bindings for easier integration. It supports multiple data formats for importing and exporting point clouds, including CSV, VTK, PLY, and PCD.

Who it’s for

It is intended for developers and researchers in robotics and computer vision who need to perform 3D point cloud registration, such as those working on autonomous navigation, 3D reconstruction, and planetary observation.

Highlights

  • Modular Design: Allows for flexible implementation and extension of the ICP algorithm.
  • High Performance: Written in C++ with Python bindings available.
  • Wide Format Support: Compatible with CSV, VTK, PLY, and PCD file formats.
  • Broad Application: Used in projects ranging from NASA planetary reconstruction to autonomous UGVs.

Related

  • Project
  • Project
  • Project
  • Project
  • Project