Skip to content
 
 

Repository files navigation

FAST-LIVO2

FAST-LIVO2: Fast, Direct LiDAR-Inertial-Visual Odometry

📢 News

  • 🔓 2025-01-23: Code released!
  • 🎉 2024-10-01: Accepted by T-RO '24!
  • 🚀 2024-07-02: Conditionally accepted.

📬 Contact

For further inquiries or assistance, please contact zhengcr@connect.hku.hk.

1. Introduction

FAST-LIVO2 is an efficient and accurate LiDAR-inertial-visual fusion localization and mapping system, demonstrating significant potential for real-time 3D reconstruction and onboard robotic localization in severely degraded environments.

Developer: Chunran Zheng 郑纯然

1.1 Related video

Our accompanying video is now available on Bilibili and YouTube.

1.2 Related paper

FAST-LIVO2: Fast, Direct LiDAR-Inertial-Visual Odometry

FAST-LIVO2 on Resource-Constrained Platforms

FAST-LIVO: Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry

FAST-Calib: LiDAR-Camera Extrinsic Calibration in One Second

1.3 Our hard-synchronized equipment

We open-source our handheld device, including CAD files, synchronization scheme, STM32 source code, wiring instructions, and sensor ROS driver. Access these resources at this repository: LIV_handhold.

1.4 Our associate dataset: FAST-LIVO2-Dataset

Our associate dataset FAST-LIVO2-Dataset used for evaluation is also available online.

1.5 Our LiDAR-camera calibration method

The FAST-Calib toolkit is recommended. Its output extrinsic parameters can be directly filled into the YAML file.

2. Prerequisited

2.1 Ubuntu and ROS

Ubuntu 18.04~20.04. ROS Installation.

2.2 PCL && Eigen && OpenCV

PCL>=1.8, Follow PCL Installation.

Eigen>=3.3.4, Follow Eigen Installation.

OpenCV>=4.2, Follow Opencv Installation.

2.3 Sophus

Sophus Installation for the non-templated/double-only version.

git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build && cd build && cmake ..
make
sudo make install

2.4 Vikit

Vikit contains camera models, some math and interpolation functions that we need. Vikit is a catkin project, therefore, download it into your catkin workspace source folder.

# Different from the one used in fast-livo1
cd catkin_ws/src
git clone https://github.com/xuankuzcr/rpg_vikit.git 

3. Build

Clone the repository and catkin_make:

cd ~/catkin_ws/src
git clone https://github.com/hku-mars/FAST-LIVO2
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash

4. Run our examples

Download FAST-LIVO2-Dataset from Global-LVBA Section IV.

roslaunch fast_livo mapping_avia.launch
rosbag play YOUR_DOWNLOADED.bag

5. Run HERCULES dataset

5.1 Install system dependencies

sudo apt-get update
sudo apt-get install -y python3-pip python3-tk wget

5.2 Install Miniconda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
bash ~/miniconda.sh -b -p ~/miniconda3
rm ~/miniconda.sh
~/miniconda3/bin/conda init bash
source ~/.bashrc

5.3 Create the robotdataprocess environment

conda deactivate
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda create -n robotdataprocess python=3.8 -y
unset PYTHONPATH
conda activate robotdataprocess

5.4 Install the robotdataprocess library

cd dependencies/robotdataprocess
pip install .
pip install rospkg

5.5 Run the experiment

tmuxp load research/Hercules/tmux/hercules.yaml

About

FAST-LIVO2: Fast, Direct LiDAR-Inertial-Visual Odometry

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages