-
Notifications
You must be signed in to change notification settings - Fork 102
Bug in laserPosegraphOptimization.cpp? #12
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
Comments
@PaulKemppi I've same doubt with you. One same issue mentioned in #11 as well. Also, it relates to #7. @gisbi-kim Could you please help double confirm this issue. |
Yes, I confirm this - I faced the same issue and changing the root_idx to keyNear solved the issue! @mingloo @PaulKemppi @gisbi-kim |
huawei-sai
added a commit
to huawei-sai/SC-A-LOAM
that referenced
this issue
Jan 30, 2023
This bug has been already highlighted and well explained in these two links. gisbi-kim#11 gisbi-kim#12 To check this - one can visualize the loop submap in RVIZ and can see the cluttered point cloud as it does not have correct registration.
Yes, I also think it should be like this one: *nearKeyframes += * local2global(keyframeLaserClouds[keyNear], keyframePosesUpdated[keyNear]); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In the function loopFindNearKeyframesCloud (line 412), key frames are being combined into a single point cloud to be used as the target in the ICP registration (doICPVirtualRelative).
This is how it is:
*nearKeyframes += * local2global(keyframeLaserClouds[keyNear], keyframePosesUpdated[root_idx]);
This is how it should be (I guess):
*nearKeyframes += * local2global(keyframeLaserClouds[keyNear], keyframePosesUpdated[keyNear]);
This way, the correct pose for each key frame cloud is used when converting them to the global coordinate frame. The original line results a cluttered point cloud, and thus the ICP registration results often a poor fitness score. Because the best matching key frame with index 'key' (predicted by the scan context matching) is still included in the cluttered cloud, the registration may still result a correct transform. But not always. At least not with my LiDAR data collected with Ouster OS1-32.
The text was updated successfully, but these errors were encountered: