FAST-LIVO

hku-marsGPL-2.0长期未更新

紧耦合的稀疏直接法激光雷达-惯性-视觉里程计,为机器人和自动驾驶提供快速、高精度的实时位姿估计与三维建图。

A Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry (LIVO).

暂无版本1,665star270fork同步于 2026-11-07 07:32 UTC

怎么上手

由 README 提炼,执行前请确认
cd ~/catkin_ws/src
git clone https://github.com/hku-mars/FAST-LIVO
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
硬件要求按 README 说明

README 未说明显存或 GPU 要求;需 Ubuntu 16.04~20.04 与 ROS,依赖 PCL>=1.6、Eigen>=3.3.4、OpenCV>=3.2,并需安装 livox_ros_driver。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

紧耦合稀疏直接法激光-惯性-视觉里程计,无需提取视觉特征即可实时定位建图

紧耦合的稀疏直接法激光雷达-惯性-视觉里程计,为机器人和自动驾驶提供快速、高精度的实时位姿估计与三维建图。

核心能力

  • LIO 子系统将原始点直接配准到增量点云地图
  • VIO 子系统用图像块最小化光度误差,不提取 ORB/FAST 特征
  • 两个子系统紧耦合,共享带图像块的地图点
  • 支持保存 RGB 或强度着色点云到 PCD 文件夹
  • 提供手持设备 CAD 与硬同步方案便于复现

容易踩的坑

目前只支持相机与 IMU 硬同步的数据集,未估计时间偏移;需先单独安装 Sophus(checkout a621ff)和 rpg_vikit 到 catkin 工作空间;运行前要改 config/xxx.yaml 里的 lid_topic、imu_topic、img_topic 等参数。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    FAST-LIVO

    Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry

    News

    • 3 July 2024: We are excited to announce the upcoming release of FAST-LIVO2 (some high-resolution results are already showcased). This new version delivers a overwhelming enhancement over FAST-LIVO, establishing an undisputed state-of-the-art in accuracy (pixel-level), efficiency (the first LIVO system applied for fully onboard autonomous UAV navigation), and robustness (validated with over 2TB data, demonstrating exceptional performance in numerous degenerated LiDAR and camera scenarios).

    • 7 Dec 2023: A detailed step-by-step guide for hard synchronization between Livox Mid-360/Avia and camera is published at LIV_hanheld.

    📬 For further inquiries or assistance, please contact [email protected].

    1. Introduction

    FAST-LIVO is a fast LiDAR-Inertial-Visual odometry system, which builds on two tightly-coupled and direct odometry subsystems: a VIO subsystem and a LIO subsystem. The LIO subsystem registers raw points (instead of feature points on e.g., edges or planes) of a new scan to an incrementally-built point cloud map. The map points are additionally attached with image patches, which are then used in the VIO subsystem to align a new image by minimizing the direct photometric errors without extracting any visual features (e.g., ORB or FAST corner features).

    Contributors: Chunran Zheng 郑纯然, Qingyan Zhu 朱清岩

    1.1 Our paper

    Our paper has been accepted to IROS2022, which is now available on arXiv: FAST-LIVO: Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry.

    If our code is used in your project, please cite our paper following the bibtex below:

    @article{zheng2022fast,
      title={FAST-LIVO: Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry},
      author={Zheng, Chunran and Zhu, Qingyan and Xu, Wei and Liu, Xiyuan and Guo, Qizhi and Zhang, Fu},
      journal={arXiv preprint arXiv:2203.00893},
      year={2022}
    }
    

    1.2 Our related video

    Our accompanying videos are now available on YouTube (click below images to open) and Bilibili.

    2. Prerequisited

    2.1 Ubuntu and ROS

    Ubuntu 16.04~20.04. ROS Installation.

    2.2 PCL && Eigen && OpenCV

    PCL>=1.6, Follow PCL Installation.

    Eigen>=3.3.4, Follow Eigen Installation.

    OpenCV>=3.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.

    cd catkin_ws/src
    git clone https://github.com/uzh-rpg/rpg_vikit.git
    

    2.5 livox_ros_driver

    Follow livox_ros_driver Installation.

    3. Build

    Clone the repository and catkin_make:

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

    4. Run the package

    Please note that our system can only work in the hard synchronized LiDAR-Inertial-Visual dataset at present due to the unestimated time offset between the camera and IMU. The frame headers of the camera and the LiDAR are at the same physical trigger time.

    4.1 Important parameters

    Edit config/xxx.yaml to set the below parameters:

    • lid_topic: The topic name of LiDAR data.
    • imu_topic: The topic name of IMU data.
    • img_topic: The topic name of camera data.
    • img_enable: Enbale vio submodule.
    • lidar_enable: Enbale lio submodule.
    • point_filter_num: The sampling interval for a new scan. It is recommended that 3~4 for faster odometry, and 1~2 for denser map.
    • outlier_threshold: The outlier threshold value of photometric error (square) of a single pixel. It is recommended that 50~250 for the darker scenes, and 500~1000 for the brighter scenes. The smaller the value is, the faster the vio submodule is, but the weaker the anti-degradation ability is.
    • img_point_cov: The covariance of photometric errors per pixel.
    • laser_point_cov: The covariance of point-to-plane redisual per point.
    • filter_size_surf: Downsample the points in a new scan. It is recommended that 0.05~0.15 for indoor scenes, 0.3~0.5 for outdoor scenes.
    • filter_size_map: Downsample the points in LiDAR global map. It is recommended that 0.15~0.3 for indoor scenes, 0.4~0.5 for outdoor scenes.
    • pcd_save_en: If true, save point clouds to the PCD folder. Save RGB-colored points if img_enable is 1, intensity-colored points if img_enable is 0.
    • delta_time: The time offset between the camera and LiDAR, which is used to correct timestamp misalignment.

    After setting the appropriate topic name and parameters, you can directly run FAST-LIVO on the dataset.

    4.2 Run on private dataset

    Download our collected rosbag files via OneDrive (FAST-LIVO-Datasets) containing 4 rosbag files.

    roslaunch fast_livo mapping_avia.launch
    rosbag play YOUR_DOWNLOADED.bag
    

    4.3 Run on benchmark dataset

    NTU-VIRAL

    roslaunch fast_livo mapping_avia_ntu.launch
    rosbag play YOUR_DOWNLOADED.bag
    

    MARS-LVIG

    roslaunch fast_livo mapping_avia_marslvig.launch
    rosbag play YOUR_DOWNLOADED.bag
    

    5. Our hard sychronized equipment

    To support the robotics community and enhance the reproducibility of our work, we provide CAD files for our handheld device, available in ".SLDPRT" and ".SLDASM" formats. These files can be opened and edited using Solidworks. Each module is designed for compatibility with FDM (Fused Deposition Modeling) technology, ensuring ease of 3D printing. Additionally, we open-source our hardware synchronization scheme, the STM32 source code, detailed hardware wiring configuration instructions, and sensor ros driver. Access these resources at our repository: LIV_handhold.

    principle

    6. Acknowledgments

    Thanks for FAST-LIO2 and SVO2.0. Thanks for Livox_Technology for equipment support.

    Thanks Jiarong Lin for the help in the experiments.

    7. License

    The source code of this package is released under GPLv2 license. We only allow it free for academic usage. For commercial use, please contact Dr. Fu Zhang [email protected].

    For any technical issues, please contact me via email [email protected].