koide3 / ndt_omp

Multi-threaded and SSE friendly NDT algorithm
BSD 2-Clause "Simplified" License
731 stars 321 forks source link

drifted error of the ndt_omp #10

Open weisongwen opened 5 years ago

weisongwen commented 5 years ago

Hi @koide3 , thanks for sharing your work to the community. I have test the accuracy og the ndt-omp and the conventional ndt in pcl. the ndt_omp seems to drift in z axis dramatically compared with the conventioanl NDT in pcl. have you find this ?

is this caused by the searching method in the ndt_omp?

Best, Welson,

koide3 commented 5 years ago

Hi @weisongwen , I didn't notice such error. Is that error transnational? or it's rotational? Do you see the error when you use pclomp::KDTREE method? With this method, the result should become the same as the pcl implementation.

weisongwen commented 5 years ago

Hi @koide3, yes. the drift is mainly the translation error in z axis using the Direct7 search.

koide3 commented 5 years ago

Hmm, unfortunately, I've not met this problem yet and have no idea... Let me confirm that you didn't see this problem with pclomp::KDTree, right?

weisongwen commented 5 years ago

Hi @koide3 . exactly, the probelm also see in pclomp::KDTree. The drift in accumulated at a larger speed compared with the very conventional NDT in PCL, for example the one in Autoware. Can this be cuased due to the keyframe selection in hdl_gra_slam. In the conventional NDT in Autoware, all the frames of point clouds are applied to calculate the consecutive transformation,

Best, Welson,

koide3 commented 5 years ago

Possibly it is a problem of the accumulation algorithm rather than the scan matching algorithm as you said. But, I have no idea why it happens...