Awesome
Ring FALS Normal Estimator
A real-time normal estimator for spinning LiDAR.
Related Works
- LOG-LIO: A LiDAR-inertial Odometry with Efficient Local Geometric Information Estimation
Related video: Ring FALS
How to use
Tested under Ubuntu 16.04 with opencv3.3.1 and Ubuntu 18.04 with opencv3.2.0. Output point cloud with the topic "cloud_normal".
mkdir -p ws_ring_fals/src
cd ws_ring_fals/src
git clone https://github.com/tiev-tongji/RingFalsNormal
set OpenCV_DIR in the CMakeLists.txt to your local path, and please compile the opencv-contrib module in advance.
cd .. & catkin_make
source devel/setup.bash
run with our pre-built lookup table
For the M2DGR dataset
roslaunch ring_fals normal_m2dgr.launch
For the NTU VIRAL dataset
roslaunch ring_fals normal_viral.launch
So far, we have only provided launch files for M2DGR and NTU VIRAL.
build a lookup table for a spinning LiDAR
Set the parameters in the yaml file for the LiDAR carefully. compute_table must be set to true.
compute_table: true # true: compute only the lookup table
ring_table_dir: "/table_dir" # lookup table path, read or write
The lookup table will be saved to the path specified by ring_table_dir upon ros shutdown.
roslaunch ring_fals *.launch
rosbag play *.bag
Finally, run with your lookup table
roslaunch ring_fals *.launch