๋ฐ์ํ
๐ก ๋ณธ ๋ฌธ์๋ '[SLAM] FAST_LIO_LC SLAM ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ (Ubunutu 20.04, ROS noetic)'์ ๋ํด ์ ๋ฆฌํด๋์ ๊ธ์ ๋๋ค.
LIO ๊ณ์ด SLAM์ ์ค์นํ๋ค ๋ณด๋ฉด ๋ง์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ณค ํฉ๋๋ค. ํ๊ฒฝ ์ค์ ๋ฐ ์ด๋ฅผ ์คํํ๋ ๊ณผ์ ๊น์ง ์ ๋ฆฌํ์์ผ๋ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
1. About FAST_LIO_LC
What is FAST_LIO_LC?
A computationally efficient and robust LiDAR-inertial odometry package with loop closure module and graph optimization.
Required Sensors
- LIDAR [Velodyne, Ouster, Livox]
- IMU [6-AXIS, 9-AXIS]
- GPS [Optional]
ROS Compatibility
- ROS 1
Dependencies
- Ubunutu 20.04
- ROS noetic
- PCL >= 1.8, Follow PCL Installation.
- Eigen >= 3.3.4, Follow Eigen Installation.
- GTSAM >= 4.0.0, Follow GTSAM Installation.
Dependencies Check
$ dpkg -p libeigen3-dev
dpkg-query: package 'libeigen3-dev' is not available
$ pkg-config --modversion eigen3
3.3.7
$ dpkg -s libpcl-dev | grep 'Version'
Version: 1.10.0+dfsg-5ubuntu1
2. FAST_LIO_LC Setting & Build
Dependencies Install(GTSAM)
wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.0-alpha2/
mkdir build && cd build
cmake -DGTSAM_USE_SYSTEM_EIGEN=ON ..
sudo make install
CMake Library Linking (Boost)
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost COMPONENTS serialization timer thread chrono)
include_directories(
include
${catkin_INCLUDE_DIRS}
${PCL_INCLUDE_DIRS}
${CERES_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
${GTSAM_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
)
...
target_link_libraries(alaserPGO
${catkin_LIBRARIES} ${PCL_LIBRARIES} ${CERES_LIBRARIES}
${OpenMP_CXX_FLAGS} ${Boost_INCLUDE_DIRS}
gtsam
)
Build
mkdir -p ~/ws_fastlio_lc/src
cd ~/ws_fastlio_lc/src
git clone https://github.com/yanliang-wang/FAST_LIO_LC
cd ..
catkin_make
3. FAST_LIO_LC Run
2) Set parameters
After downloading the repository, change topic and sensor settings on the config file (workspace/src/FAST_LIO_LC/FAST_LIO/config/ouster64_mulran.yaml) with the lidar topic name in your bag file.
For imu-lidar compatibility, extrinsic matrices from calibration must be changed.
To enable auto-save, pcd_save_enable must be 1 from the launch file (workspace/src/FAST_LIO_LC/FAST_LIO/launch/mapping_ouster64_mulran.launch).
3) Run
For Velodyne VLP-16
# open new terminal: run FAST-LIO
roslaunch fast_lio mapping_velodyne.launch
# open the other terminal tab: run SC-PGO
roslaunch aloam_velodyne fastlio_velodyne_VLP_16.launch
# play bag file in the other terminal
rosbag play RECORDED_BAG.bag --clock
For Ouster OS1-64
# open new terminal: run FAST-LIO
roslaunch fast_lio mapping_ouster64.launch
# open the other terminal tab: run SC-PGO
roslaunch aloam_velodyne fastlio_ouster64.launch
# play bag file in the other terminal
rosbag play RECORDED_BAG.bag --clock
Example Result
Other Examples
Example dataset
Check original repository link for example dataset.
Contact
Maintainer: Yanliang Wang (wyl410922@qq.com)
Acknowledgements
Thanks for FAST_LIO authors.
์ฐธ๊ณ
- [Github] yanliang-wang/FAST_LIO_LC : https://github.com/yanliang-wang/FAST_LIO_LC
- [Autoware] FAST_LIO_LC;https://autowarefoundation.github.io/autoware-documentation/pr-366/how-to-guides/creating-maps-for-autoware/open-source-slam/fast-lio-lc/
- [StackOverFlow] How to check the version number of Eigen C++ template library?: https://stackoverflow.com/questions/21497064/how-to-check-the-version-number-of-eigen-c-template-library
- [Blog] [Error Fix] Could not find a package configuration file provided by "GTSAM" with any of the following names(gtsam, Eigen): https://csj000714.tistory.com/917
- [Blog] [Error Fix] Solved '/usr/bin/ld: cannot find - lBoost::serialization' (Feat. LIO SLAM) : https://csj000714.tistory.com/921
๋ฐ์ํ