koide3/fast_gicp

about the parameter kCorrespondences

tust13018211 opened this issue · 4 comments

Thanks for your work, I feel a little strange about the parameter kCorrespondences. I test gicp in my data, I find set kCorrespondences=1 in scan to scan is batter than kCorrespondences=10 or kCorrespondences=20. In my opinio, kCorrespondences=1 means the covariance is the same, sames as the icp, so, I don`t konw the reason why ?

That sounds strange. As you said, if k_correspondences == 1, covariances would get corrupted and the result might be something similar to that of the conventional ICP. How did you measure the accuracy?

sorry reply later, just take a holiday, First, I use 2 step, scan2sacn and scan2map, scan2map the kCorrespondences=20 keep the same, and scan2sacn I test kCorrespondences=1 and kCorrespondences=10, the result as bleow,
At first , kCorrespondences=1 :

1

and then , set kCorrespondences=10 :
2

as you can see the red line mean the track of car, when set kCorrespondences=10, the track backfold obviously. I just use this phenomenon to see the the accuracy.

In addition, I have a anthoner problem, I want to set some point high weight, how can i do this?

About the another problem, I want to make some special point have high weight, my way like this, when calculate mahalanobis_[i] of every point, I do this for special point:
mahalanobis_[i]=5* mahalanobis_[i];

Is this right?

Yes, mahalanobis is the inverse of a covariance, and by weighting it, you should be able to give a large weight for a point.