百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
F

FF-LINS

> 编程语言
开源

一致的帧到帧固态激光雷达-惯性状态估计器

197 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

一致的帧到帧固态激光雷达-惯性状态估计器

FF-LINS

A Consistent Frame-to-Frame Solid-State-LiDAR-Inertial State Estimator

Most of the existing LiDAR-inertial navigation systems are based on frame-to-map registrations, leading to inconsistency in state estimation. The newest solid-state LiDAR with a non-repetitive scanning pattern makes it possible to achieve a consistent LiDAR-inertial estimator by employing a frame-to-frame data association. Hence, we propose a Consistent frame-to-frame LiDAR-inertial navigation system (FF-LINS) for solid-state LiDARs. With the INS-centric LiDAR frame processing, the keyframe point-cloud map is built using the accumulated point clouds to construct the frame-to-frame data association. The LiDAR frame-to-frame and the inertial measurement unit (IMU) preintegration measurements are tightly integrated using the factor graph optimization, with online calibration of the LiDAR-IMU extrinsic and time-delay parameters. The experiments on the public and private datasets demonstrate that the proposed FF-LINS achieves superior accuracy and robustness than the state-of-the-art systems. Besides, the LiDAR-IMU extrinsic and time-delay parameters are estimated effectively, and the online calibration notably improves the pose accuracy.

Authors: Hailiang Tang, Xiaoji Niu, and Tisheng Zhang from the Integrated and Intelligent Navigation (i2Nav) Group, Wuhan University.

Related Paper:

  • Hailiang Tang, Tisheng Zhang, Xiaoji Niu, Liqiang Wang, Linfu Wei, and Jingnan Liu, “FF-LINS: A Consistent Frame-to-Frame Solid-State-LiDAR-Inertial State Estimator,” IEEE Robotics and Automation Letters, 2023.
  • Hailiang Tang, Tisheng Zhang, Xiaoji Niu, Liqiang Wang, and Jingnan Liu, "LE-VINS: A Robust Solid-State-LiDAR-Enhanced Visual-Inertial Navigation System for Low-Speed Robots," IEEE Transactions on Instrumentation and Measurement, 2023.
  • Xiaoji Niu, Hailiang Tang, Tisheng Zhang, Jing Fan, and Jingnan Liu, “IC-GVINS: A Robust, Real-time, INS-Centric GNSS-Visual-Inertial Navigation System,” IEEE Robotics and Automation Letters, 2023.
  • Hailiang Tang, Tisheng Zhang, Xiaoji Niu, Jing Fan, and Jingnan Liu, “Impact of the Earth Rotation Compensation on MEMS-IMU Preintegration of Factor Graph Optimization,” IEEE Sensors Journal, 2022.

Contacts:

  • For any technique problem, you can send an email to Dr. Hailiang Tang ([email protected]).
  • For Chinese users, we also provide a QQ group (481173293) for discussion. You are required to provide your organization and name.

1 Prerequisites

1.1 System and compiler

We recommend you use Ubuntu 18.04 or Ubuntu 20.04 with the newest compiler (gcc>=8.0 or clang>=6.0).

bash
# gcc-8
sudo apt install gcc-8 g++-8

# Clang
# sudo apt install clang

1.2 Robot Operating System (ROS)

Follow ROS Melodic installation instructions for Ubuntu 18.04 and ROS Noetic installation instructions for Ubuntu 20.04.

1.3 oneTBB

Threading Building Blocks (TBB) are used for parallel point clouds processing. We recommend you use oneTBB, and install the latest released version. You should install oneTBB before Ceres Solver.

1.4 Ceres Solver with its Dependencies

We use Ceres Solver (>=2.1.0) to solve the non-linear least squares problem in FF-LINS. Please follow Ceres installation instructions.

The dependencies Eigen (>=3.3.7), TBB, glog (>=0.4.0) are also used in FF-LINS. You can install them as follows:

bash
sudo apt install libeigen3-dev libgoogle-glog-dev libtbb-dev

If the version cannot be satisfied in your system repository, you should build them from the source code.

1.5 yaml-cpp

The yaml-cpp is employed for reading configurations. It can be installed as:

bash
sudo apt install libyaml-cpp-dev

2 Build and run FF-LINS

2.1 Build the source code

bash
# Make workspace directory
mkdir ~/lins_ws && cd ~/lins_ws
mkdir src && cd src

# Clone the repository into src directory
git clone https://github.com/i2Nav-WHU/FF-LINS.git

# To lins_ws directory
cd ..

# Build the source code using catkin_make
catkin_make -j8 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8

2.2 Run demo dataset

If you have already downloaded the open-sourced dataset, run the following commands.

bash
# Open a terminal and source the workspace environments
# For bash
source ~/lins_ws/devel/setup.bash
# For zsh
# source ~/lins_ws/devel/setup.zsh

# Run FF-LINS node
# 1. Download the dataset.
# 2. Change the outputpath in ff_lins_robot.yaml.
# 3. Change the path in the follwoing command.
# 4. Run the follwoing command.
roslaunch ff_lins ff_lins_read.launch configfile:=path/ff_lins_robot.yaml bagfile:=path/park/park.bag 

3 Datasets

3.1 Format

The employed messages in FF-LINS are as follows:

Sensor Message Default Topic
Solid-State LiDAR livox_ros_driver/CustomMsg /livox/lidar
IMU sensor_msgs/Imu /livox/imu

The IMU should be in the front-right-down format in FF-LINS.

3.2 LiLi-OM KA-Urban Dataset

Sequence Time length (seconds) Trajectory Length (km) Baidu Cloud Link
Schloss-1 634 0.67 Schloss-1.bag
Schloss-2 736 1.11 Schloss-2.bag
East 1251 3.64 East.bag

3.3 R3LIVE Campus Dataset

Sequence Time length (seconds) Trajectory Length (km) Baidu Cloud Link
hku_main_building 1160 0.97 hku_main_building.bag
hkust_campus_00 1060 1.33 hkust_campus_00.bag
hkust_campus_01 1149 1.46 hkust_campus_01.bag

3.4 FF-LINS Robot Dataset

We also open source our self-collected robot dataset.

Sequence Time length (seconds) Trajectory Length (km) Baidu Cloud Link
park 1326 1.46 park.bag

3.5 Your own dataset

You can run FF-LINS with your self-collected dataset. Keep in mind the following notes:

  1. You should prepare the Solid-State LiDAR and the IMU data in a ROS bag;
  2. The IMU data should be in the front-right-down format;
  3. Modify the topic names in the ff_lins_read.launch or the ff_lins_play.launch file;
  4. Modify the parameters in the configuration file.

3.6 Evaluation

We use evo to evaluate the TUM trajectory files. We also provide some useful scripts (evaluate_odometry) for evaluation.

4 Acknowledgements

We thanks the following projects for the helps in developing and evaluating the FF-LINS:

  • IC-GVINS: A Robust, Real-time, INS-Centric GNSS-Visual-Inertial Navigation System
  • OB_GINS: An Optimization-Based GNSS/INS Integrated Navigation System
  • evo: Python package for the evaluation of odometry and SLAM

5 License

The source code is released under GPLv3 license.

We are still working on improving the codes. For any technical issues, please contact Dr. Hailiang Tang ([email protected]) or open an issue at this repository.

For commercial usage, please contact Prof. Xiaoji Niu ([email protected]).

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++lidar-inertial-odometryslam

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月18日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言