I found PicoFLANN and compare the speed of alorithms, namely PCL FLANN, NanoFLANN, and PicoFLANN.
- Set NanoFLANN and PicoFLANN to be avaiable on Point Cloud Libarary (PCL).
- It's simple to use them! Just git pull this repository, then copy & paste the header files in
include
folder. - Usage is totally same with Point Cloud Library, i.e.,
setInputCloud
,nearestSearch
, orradiusSearch
. - Many robotics guys refer to NanoFLANN in LOAM; however, the function
radiusSearch
in LOAM is actually not in use so the function does not work properly. So, I debugged it and revise theradiusSearch
.
- PCL FLANN
- NanoFLANN
- PicoFLANN (The original developer says it is faster than NanoFLANN, and it actually is when the scale of points becomes larger)
Experiments: Please refer to src/main.cpp
. I reran the experiment 1,000 times to measure mean speed of each case.
One-line summary: For robotics application, NanoFLANN is better than other FLANN implementations.
You can show the results via python code (tabulate is necessary)
cd outputs
python viz_output.py