Closed whyend1119 closed 4 years ago
For odometry, i.e., scan to scan match, we follow LOAM's point distance. If I recall correctly, it will find (j, l, m) as the corresponding planar patch in LOAM. https://github.com/hyye/lio-mapping/blob/8485a4d9c359b7e486ad019a10815ecb8fd1257f/src/point_processor/PointOdometry.cc#L491-L493
In PointOdometry.cc, line #450, function void PointOdometry::Process():
`
` It seems that these codes are trying to find the 2nd and 3rd nearest point in those points next to(index increasing) and then previous to(index decreasing) the 1st nearest point.
However when loop in the increasing order, the code seems to find the 2nd nearest only in the lower rings(int(last_surfcloud->points[j].intensity) <= closestPointScan), and 3rd nearest only in the upper rings. Similar happen in the decreasing order.
I would like to know if it is a typo? or some consideration behind this? for by intuition, we want to find the 2nd & 3rd in both direction at the same time. Thanks for any help.