cilantro icon indicating copy to clipboard operation
cilantro copied to clipboard

Question about removal of the Center Of Mass in Symmetric Point-To-Plane ICP

Open YoshuaNava opened this issue 1 year ago • 7 comments

Introduction

First of all, I want to say thank you for developing, maintaining and sharing Cilantro. It is an awesome library 🙏

My name is Yoshua Nava. I work in Point Cloud-based SLAM targeted to live robot localization.

Background

I have come to the realization that multiple point cloud registration libraries may not be handling a key aspect in the same way, and that is: estimating transformations when reference/target point clouds are displaced from the origin.

I looked at Cilantro's code, specially the computation of the error for Symmetric Point-To-Plane ICP:

https://github.com/kzampog/cilantro/blob/cd80c1a5f2f4a9e2760fcc9b353ce0880f79783d/include/cilantro/registration/transform_estimation.hpp#L333-L333

https://github.com/kzampog/cilantro/blob/cd80c1a5f2f4a9e2760fcc9b353ce0880f79783d/include/cilantro/registration/transform_estimation.hpp#L335

And I observed that it is quite different to other implementations. I also digged a bit through Cilantro's PRs, and found two mentions (1, 2)

Moreover, I checked different point cloud libraries such as PCL, Open3D, KissICP, OpenCV, as well as Libpointmatcher (Point-To-Point & Point-To-Plane).

I'm surprised by the variety of approaches, and I wonder what is the best one. I found in practice that handling of the CoM can make a significant difference in the estimation of rotations with Point-To-Plane ICP, because the rotational term is quite sensitive to the position of the origin.

Questions

  1. Do you have some references on the procedure to remove the CoM from the reading and reference point clouds?
  2. Did you consider the alternative approaches implemented by the other libraries? If yes how was your experience with them?
  3. How deeply have you battle-tested the approach implemented by Cilantro? Do you see any limitations?

Thank you in advance.

Best, Yoshua Nava

YoshuaNava avatar Mar 03 '23 03:03 YoshuaNava