Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix reflection in umeyama. #1820

Merged

Conversation

RonaldEnsing
Copy link
Contributor

The umeyama function contains a bug that allows a possible reflection in the transformation matrix. This is fixed in Eigen (https://bitbucket.org/eigen/eigen/src/98d31e9b40fab63fcb17b060bea142444239064f/Eigen/src/Geometry/Umeyama.h?fileviewer=file-view-default). This PR replaces the pcl version of umeyama with the Eigen version of umeyama.

Related to issue #1707.

More information:
http://www.pcl-users.org/ICP-allows-reflections-in-resulting-transformation-td4043877.html
and
http://eigen.tuxfamily.org/bz/show_bug.cgi?id=774

@RonaldEnsing RonaldEnsing force-pushed the fix-reflection-umeyama branch from 32b94f8 to 12738dd Compare February 13, 2017 18:31
@jspricke jspricke merged commit bd65fd6 into PointCloudLibrary:master May 30, 2017
@SergioRAgostinho
Copy link
Member

Guys, I'm tempted to revert this PR. From the links @RonaldEnsing provided, umeyama was fixed for Eigen >= 3.3 only. Meaning that every user which uses this function which doesn't meet that version number, will have the output from a buggy umeyama implementation. A good example of that is our own unit tests which broke after this merge, because the Eigen version available on Travis is only 3.0.5.

I think the way to address this is have a preprocessor conditional which uses the Eigen one if the detected version is 3.3 or above.

@taketwo
Copy link
Member

taketwo commented Jun 8, 2017

Very good point. Since the old PCL implementation has a bug, should we additionally incorporate #1711?

@SergioRAgostinho
Copy link
Member

Since the old PCL implementation has a bug, should we additionally incorporate #1711?

Definitely

@taketwo
Copy link
Member

taketwo commented Jun 8, 2017

I can craft a PR with reversion of this, #1711, and conditional compilation.

@SergioRAgostinho
Copy link
Member

That would be awesome, thank you!

taketwo added a commit to taketwo/pcl that referenced this pull request Jun 8, 2017
This reverts commit 12738dd following
the discussion in PointCloudLibrary#1820.
@taketwo taketwo mentioned this pull request Jun 8, 2017
UnaNancyOwen pushed a commit to UnaNancyOwen/pcl that referenced this pull request Nov 24, 2017
This reverts commit 12738dd following
the discussion in PointCloudLibrary#1820.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants