本仓库是 LVI-SAM 的粗略中文注释。
- LVI-SAM是由 LIO-SAM 和 VINS-Mono组合而成,本仓库只是对LVI-SAM的简答注释,关于其中LIO-SAM和VINS-Mono两部分的详细注释,在另外两个repo中: LIO-SAM-CC_Comments 和 VINS-Mono-CC_Comments
- 原版 LVI-SAM 坐标系定义较为复杂和混乱,我仔细分析了LVI-SAM中的坐标系定义,并重新修改了外参部分代码,让外参配置更简单。修改后的代码在另一个repo中:LVI-SAM-Easyused
- 从 LVI_SAM_gld clone下来,粗略过一遍代码框架
- 整理注释格式,遵循自己使用的Todotree的注释颜色配置
- 整理 LIO-SAM-CC_Comments 和 VINS-Mono-CC_Comments 的详细中文注释到本工程中
This repository contains code for a lidar-visual-inertial odometry and mapping system, which combines the advantages of LIO-SAM and Vins-Mono at a system level.
- ROS (Tested with kinetic and melodic)
- gtsam (Georgia Tech Smoothing and Mapping library)
wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.2.zip cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/ cd ~/Downloads/gtsam-4.0.2/ mkdir build && cd build cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF .. sudo make install -j4
- Ceres (C++ library for modeling and solving large, complicated optimization problems)
sudo apt-get install -y libgoogle-glog-dev sudo apt-get install -y libatlas-base-dev wget -O ~/Downloads/ceres.zip https://github.com/ceres-solver/ceres-solver/archive/1.14.0.zip cd ~/Downloads/ && unzip ceres.zip -d ~/Downloads/ cd ~/Downloads/ceres-solver-1.14.0 mkdir ceres-bin && cd ceres-bin cmake .. sudo make install -j4
You can use the following commands to download and compile the package.
cd ~/catkin_ws/src
git clone https://github.com/TixiaoShan/LVI-SAM.git
cd ..
catkin_make
The datasets used in the paper can be downloaded from Google Drive. The data-gathering sensor suite includes: Velodyne VLP-16 lidar, FLIR BFS-U3-04S2M-CS camera, MicroStrain 3DM-GX5-25 IMU, and Reach RS+ GPS.
https://drive.google.com/drive/folders/1q2NZnsgNmezFemoxhHnrDnp1JV_bqrgV?usp=sharing
Note that the images in the provided bag files are in compressed format. So a decompression command is added at the last line of launch/module_sam.launch
. If your own bag records the raw image data, please comment this line out.
- Configure parameters:
Configure sensor parameters in the .yaml files in the ```config``` folder.
- Run the launch file:
roslaunch lvi_sam run.launch
- Play existing bag files:
rosbag play handheld.bag
Thank you for citing our paper if you use any of this code or datasets.
@inproceedings{lvisam2021shan,
title={LVI-SAM: Tightly-coupled Lidar-Visual-Inertial Odometry via Smoothing and Mapping},
author={Shan, Tixiao and Englot, Brendan and Ratti, Carlo and Rus Daniela},
booktitle={IEEE International Conference on Robotics and Automation (ICRA)},
pages={to-be-added},
year={2021},
organization={IEEE}
}