Volver al ranking

TixiaoShan/LVI-SAM

C++youtu.be/8CTl07D6Ibc

LVI-SAM: Tightly-coupled Lidar-Visual-Inertial Odometry via Smoothing and Mapping

lidar-odometryvisual-odometry
Crecimiento de estrellas
Estrellas
1.9k
Forks
507
Crecimiento semanal
Issues
11
5001k1.5k
abr 2021ene 2023oct 2024jul 2026
README

LVI-SAM

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.

drawing


Dependency

  • ROS (Tested with kinetic and melodic)
  • gtsam (Georgia Tech Smoothing and Mapping library)
    sudo add-apt-repository ppa:borglab/gtsam-release-4.0
    sudo apt install libgtsam-dev libgtsam-unstable-dev
    
  • 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
    

Getting start with Docker

When you use Docker, you could solve the dependency at once.
For more information, you can check docker_start.md.


Compile

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

Datasets

drawing

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.

drawing drawing

New: more datasets are available at LVI-SAM-Easyused.


Run the package

  1. Configure parameters:
Configure sensor parameters in the .yaml files in the ```config``` folder.
  1. Run the launch file:
roslaunch lvi_sam run.launch
  1. Play existing bag files:
rosbag play handheld.bag 


TODO

  • Update graph optimization using all three factors in imuPreintegration.cpp, simplify mapOptimization.cpp, increase system stability

Paper

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={5692-5698},
  year={2021},
  organization={IEEE}
}

Acknowledgement

  • The visual-inertial odometry module is adapted from Vins-Mono.
  • The lidar-inertial odometry module is adapted from LIO-SAM.
Repositorios relacionados
hku-mars/FAST_LIO

A computationally efficient and robust LiDAR-inertial odometry (LIO) package

C++GNU General Public License v2.0lidar-odometrylivox-avia-lidar
5k1.6k
TixiaoShan/LIO-SAM

LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping

C++BSD 3-Clause "New" or "Revised" Licenselidar-odometrylidar-slam
4.9k1.5k
YiChenCityU/Recent_SLAM_Research

Track Advancement of SLAM 跟踪SLAM前沿动态【2021 version】業務調整,暫停更新

slamlidar-slam
2.7k721
RobustFieldAutonomyLab/LeGO-LOAM

LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain

C++BSD 3-Clause "New" or "Revised" Licenseloamiros
2.7k1.2k
hku-mars/r3live

A Robust, Real-time, RGB-colored, LiDAR-Inertial-Visual tightly-coupled state Estimation and mapping package

C++GNU General Public License v2.0slamlidar-slam
2.4k483
hku-mars/LiDAR_IMU_Init

[IROS2022] Robust Real-time LiDAR-inertial Initialization Method.

C++GNU General Public License v2.0calibrationlidar-odometry
1.5k244
engcang/SLAM-application

LeGO-LOAM, LIO-SAM, LVI-SAM, FAST-LIO2, Faster-LIO, VoxelMap, R3LIVE, Point-LIO, KISS-ICP, DLO, DLIO, Ada-LIO, PV-LIO, SLAMesh, ImMesh, FAST-LIO-MULTI, M-LOAM, LOCUS, SLICT, MA-LIO, CT-ICP, GenZ-ICP, iG-LIO, SR-LIO application and comparison on Gazebo and real-world datasets. Installation and config files are provided.

C++BSD 3-Clause "New" or "Revised" Licenserosslam
1.2k155
superxslam/SuperOdom

A highly robust and accurate LiDAR-only, LiDAR-inertial odometry

C++3d-reconstructionlidar-localization
superodometry.com
1k136
vectr-ucla/direct_lidar_odometry

[IEEE RA-L & ICRA'22] A lightweight and computationally-efficient frontend LiDAR odometry solution with consistent and accurate localization.

C++MIT Licenseroboticsslam
1k218
HViktorTsoi/FAST_LIO_LOCALIZATION

A simple localization framework that can re-localize in built maps based on FAST-LIO.

C++GNU General Public License v2.0localizationlidar-odometry
1k212
vectr-ucla/direct_lidar_inertial_odometry

[IEEE ICRA'23] A new lightweight LiDAR-inertial odometry algorithm with a novel coarse-to-fine approach in constructing continuous-time trajectories for precise motion correction.

C++MIT License3d-mappingimu
1k251