Quatro
as a module, can be easily used in other packagesloop_timer_func
runs at fixed basic/loop_update_hz
. So how many times of ICP occurred can be different depending on the speed of matching methods.
KITTI seq 05 top view - (left): FAST-LIO2 (middle): FAST-LIO-SAM (bottom): FAST-LIO-SAM-QN
KITTI seq 05 side view - (top): FAST-LIO2 (middle): FAST-LIO-SAM (bottom): FAST-LIO-SAM-QN
C++
>= 17, OpenMP
>= 4.5, CMake
>= 3.10.0, Eigen
>= 3.2, Boost
>= 1.54ROS
GTSAM
wget -O gtsam.zip https://github.com/borglab/gtsam/archive/refs/tags/4.1.1.zip
unzip gtsam.zip
cd gtsam-4.1.1/
mkdir build && cd build
cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF -DGTSAM_USE_SYSTEM_EIGEN=ON ..
sudo make install -j16
Teaser++
git clone https://github.com/MIT-SPARK/TEASER-plusplus.git
cd TEASER-plusplus && mkdir build && cd build
cmake .. -DENABLE_DIAGNOSTIC_PRINT=OFF
sudo make install -j16
sudo ldconfig
tbb
(is used for faster Quatro
)
sudo apt install libtbb-dev
Get the code and then build the main code.
cd ~/your_workspace/src
git clone https://github.com/engcang/FAST-LIO-SAM-QN --recursive
cd ~/your_workspace
# nano_gicp, quatro first
catkin build nano_gicp -DCMAKE_BUILD_TYPE=Release
# Note the option!
catkin build quatro -DCMAKE_BUILD_TYPE=Release -DQUATRO_TBB=ON -DQUATRO_DEBUG=OFF
catkin build -DCMAKE_BUILD_TYPE=Release
. devel/setup.bash
FAST_LIO
)
roslaunch fast_lio_sam_qn run.launch lidar:=ouster
roslaunch fast_lio_sam_qn run.launch lidar:=velodyne
roslaunch fast_lio_sam_qn run.launch lidar:=livox
roslaunch fast_lio_sam_qn run.launch lidar:=kitti
roslaunch fast_lio_sam_qn run.launch lidar:=mulran
roslaunch fast_lio_sam_qn run.launch lidar:=newer-college20
Quatro
module fixed for empty matchesQuatro
module is updated with optimizedMatching
which limits the number of correspondences and increased the speedThis work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License