A modular library for point cloud registrations

Libpointmatcher is a library that implements the Iterative Closest Point (ICP) algorithm for alignment of point clouds. It supports both point-to-point and point-to-plane ICP. With the former, it is able to solve not only for a rigid transform, but also for a scale change between the clouds (that is, a similarity transform).

The library implements a set of filters to help denoise and subsample the input point clouds. It supports a variety of file types and it can be configured via both YAML files and an in-memory API. Libpointmatcher is written in C++ and fast enough for real-time application.

Note: This project is ongoing and was started during a formal employment at ETH Zurich, within the ASL.

See it on GitHub

  • Main Investigator and scientific lead: François Pomerleau
  • Scientific Support: Francis Colas, Stéphane Magnenat


  1. McGarey, P., Pomerleau, F., & Barfoot, T. D. (2016). System design of a tethered robotic explorer (TReX) for 3D mapping of steep terrain and harsh environments. In Proceedings of the Conference on Field and Service Robotics (FSR). Springer Tracts in Advanced Robotics (Vol. 113, pp. 267–281).
  2. Pomerleau, F., Colas, F., & Siegwart, R. (2015). A Review of Point Cloud Registration Algorithms for Mobile Robotics. Foundations and Trends in Robotics, 4(1), 1–104.
  3. Krüsi, P., Bücheler, B., Pomerleau, F., Schwesinger, U., Siegwart, R., & Furgale, P. (2015). Lighting-invariant adaptive route following using iterative closest point matching. Journal of Field Robotics, 32(4), 534–564.
  4. Hitz, G., Pomerleau, F., Colas, F., & Siegwart, R. (2015). Relaxing the planar assumption: 3D state estimation for an autonomous surface vessel. International Journal of Robotics Research, 34(13), 1604–1621.
  5. Pomerleau, F., Krüsi, P., Colas, F., Furgale, P., & Siegwart, R. (2014). Long-term 3D map maintenance in dynamic environments. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA) (pp. 3712–3719).
  6. Pomerleau, F. (2013). Applied Registration for Robotics: Methodology and Tools for ICP-like Algorithms (PhD thesis). Eidgenössische Technische Hochschule (ETH) Zurich.
  7. Pomerleau, F., Colas, F., Siegwart, R., & Magnenat, S. (2013). Comparing ICP variants on real-world data sets: Open-source library and experimental protocol. Autonomous Robots, 34(3), 133–148.