fast_gicp icon indicating copy to clipboard operation
fast_gicp copied to clipboard

registration failure for large translation

Open bpoebiapl opened this issue 4 years ago • 1 comments

Hi. I'm currently trying to implement simple odometry using fast-gicp. But for large translation, sometimes it fails.

Example picture is like this: screenshot-1590642279

Point cloud colored red is registration result from fast-icp. Point cloud colored green is the target point cloud of the registration. Point cloud colored blue is source cloud transformed by initial guess transformation matrix.

As you can see point cloud colored green and blue are aligned sufficiently close. But after running fast-gicp, it diverges. One thing i'm in doubt is that aliasing occurs in the angular domain.

Here is the code and data that may help you reproduce the results. sample.zip

I hope this report useful. Thanks.

bpoebiapl avatar May 28 '20 05:05 bpoebiapl

Hi @bpoebiapl , Thanks for reporting the problem. To make fast_gicp properly align your data, I had to downsample input data (with 0.4m voxel_grid) and limit the correspondence distance (reg.setMaxCorrespondenceDistance(1.0)). I think this result implies that the problem stems from the instability of the optimizer. In the current implementation, we use a naive Gauss-Newton optimizer that may suffer from a large number of input points and correspondence outliers. I want to replace it with Levenberg-Marquardt that would be more stable, but I have been occupied with my main job and there is no ETA so far.

Anyways, thanks again for reporting. The sample data was useful to reproduce and track the problem.

koide3 avatar Jun 03 '20 07:06 koide3