Skip to content

I2EKF-LO: A Dual-Iteration Extended Kalman Filter based LiDAR Odometry

License

Notifications You must be signed in to change notification settings

YWL0720/I2EKF-LO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

I2EKF-LO

A Dual-Iteration Extended Kalman Filter Based LiDAR Odometry

Pipeline Image

Introduction

LiDAR odometry is a pivotal technology in the fields of autonomous driving and autonomous mobile robotics. However, most of the current works focuse on nonlinear optimization methods, and there are still many challenges in using the traditional Iterative Extended Kalman Filter (IEKF) framework to tackle the problem: IEKF only iterates over the observation equation, relying on a rough estimate of the initial state, which is insufficient to fully eliminate motion distortion in the input point cloud; the system process noise is difficult to be determined during state estimation of the complex motions; and the varying motion models across different sensor carriers. To address these issues, we propose the Dual-Iteration Extended Kalman Filter (I2EKF) and the LiDAR odometry based on I2EKF (I2EKF-LO). This approach not only iterates over the observation equation but also leverages state updates to iteratively mitigate motion distortion in LiDAR point clouds. Moreover, it dynamically adjusts process noise based on the confidence level of prior predictions during state estimation and establishes motion models for different sensor carriers to achieve accurate and efficient state estimation. Comprehensive experiments demonstrate that I2EKF-LO achieves outstanding levels of accuracy and computational efficiency in the realm of LiDAR odometry.

Developers: The codes of this repo are contributed by Wenlu Yu (于文录), Jie Xu (徐杰), Chengwei Zhao (赵成伟)

Related Paper

  • TODO

Related Video:

  • TODO

1. Prerequisites

1.1 Ubuntu and ROS

Ubuntu >= 18.04.

ROS >= Melodic. ROS Installation

1.2. PCL && Eigen

PCL >= 1.8, Follow PCL Installation.

Eigen >= 3.3.4, Follow Eigen Installation.

1.3. livox_ros_driver

Follow livox_ros_driver Installation.

2. Build

Clone the repository and catkin_make:

cd ~/catkin_ws/src
git clone https://github.com/YWL0720/I2EKF-LO
cd ..
catkin_make -j
source devel/setup.bash

3. Directly run

cd ~/$I2EKF_LO_ROS_DIR$
source devel/setup.bash
roslaunch i2ekf_lo xxx.launch

4. Rosbag Example

Download our test bags here: HIT-TIB Datasets.

5. Acknowledgments

Thanks for Fast-LIO2 (Fast Direct LiDAR-inertial Odometry) and LI-INIT(Robust Real-time LiDAR-inertial Initialization).

6. License

The source code is released under GPLv2 license.

7. TODO(s)

  • Updated video link
  • Upload a preprint of our paper

About

I2EKF-LO: A Dual-Iteration Extended Kalman Filter based LiDAR Odometry

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages