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

Registration score gradually diverges. #135

Open
JACKLiuDay opened this issue Oct 11, 2023 · 3 comments
Open

Registration score gradually diverges. #135

JACKLiuDay opened this issue Oct 11, 2023 · 3 comments

Comments

@JACKLiuDay
Copy link

Hi, thank you for your great work about FASTVGICP. I use this projecto on my robot with my campus pcd map. Then the velodyne lidar point cloud can be used to registration with the map. So I can get the localization information with FASTVGICP. But I found something strange. At first, the registration score is good with 0.02. However, as time gradually increases, the registration score will gradually rise to 1.0. When I restart the program, the score returns to normal. Does this FASTVGICP algorithm continuously accumulate errors during its runtime? Cloud you give some help.

@JACKLiuDay
Copy link
Author

image
image
Hi, I tried to use FASTVGICP to align one velodyne lidar pointcloud to the map. But the score grows with the running time. It's so wired. @kkoide3 @koide3

@koide3
Copy link
Owner

koide3 commented Oct 26, 2023

I guess the score depends on the coverage of the map, and thus it should change depending on the place. At least, the registration algorithm itself is independent run-by-run, and it would not show time depending error accumulation.

@JACKLiuDay
Copy link
Author

I guess the score depends on the coverage of the map, and thus it should change depending on the place. At least, the registration algorithm itself is independent run-by-run, and it would not show time depending error accumulation.

Hi, thank you for your reply. I just used the same one pcd which represents the same location to registration map for ten minutes. The registration method is used by reg.(pcd, initial_matrix); So the result transformation matrix is storaged in the initial_matrix for next time registration. It seems that the error in each registration is being accumulated into the next matrix each time. In theory, when registering the same frame of point cloud data with the map, the registration matrix obtained each time should be the same. However, with the passage of time, the solved matrix is gradually diverging, and the score is also gradually increasing. If you don't use an initial transformation matrix for registration, the registration process will take a very long time, making it impossible to achieve real-time localization.

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

No branches or pull requests

2 participants