Skip to content

LiLi-OM is a tightly-coupled, keyframe-based LiDAR-inertial odometry and mapping system for both solid-state-LiDAR and conventional LiDARs.

License

Notifications You must be signed in to change notification settings

KIT-ISAS/lili-om

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LiLi-OM (LIvox LiDAR-Inertial Odometry and Mapping)

-- Towards High-Performance Solid-State-LiDAR-Inertial Odometry and Mapping

This is the code repository of LiLi-OM, a real-time tightly-coupled LiDAR-inertial odometry and mapping system for solid-state LiDAR (Livox Horizon) and conventional LiDARs (e.g., Velodyne). It has two variants as shown in the folder:

  • LiLi-OM, for Livox Horizon with a newly proposed feature extraction module,
  • LiLi-OM-ROT, for conventional LiDARs of spinning mechanism with feature extraction module similar to LOAM.

Both variants exploit the same backend module, which is proposed to directly fuse LiDAR and (preintegrated) IMU measurements based on a keyframe-based sliding window optimization. Detailed information can be found in the paper below and on Youtube.

drawing

drawing

BibTex Citation

Thank you for citing our LiLi-OM paper on IEEE or ArXiv if you use any of this code:

@article{liliom,
  author={Li, Kailai and Li, Meng and Hanebeck, Uwe D.},
  journal={IEEE Robotics and Automation Letters}, 
  title={Towards High-Performance Solid-State-LiDAR-Inertial Odometry and Mapping}, 
  year={2021},
  volume={6},
  number={3},
  pages={5167-5174},
  doi={10.1109/LRA.2021.3070251}
  }

Data sets

We provide data sets recorded by Livox Horizon (10 Hz) and Xsens MTi-670 (200 Hz)

Download from isas-server

Dependency

System dependencies (tested on Ubuntu 18.04/20.04)

  • ROS (tested with Melodic/Noetic)
  • gtsam (GTSAM 4.0)
  • ceres (Ceres Solver 2.0)

In ROS workspce:

Compilation

Compile with catkin_tools:

cd ~/catkin_ws/src
git clone https://github.com/KIT-ISAS/lili-om
cd ..
catkin build livox_ros_driver
catkin build lili_om
catkin build lili_om_rot

Usage

  1. Run a launch file for lili_om or lili_om_rot
  2. Play the bag file
  • Example for running lili_om (Livox Horizon):
roslaunch lili_om run_fr_iosb.launch
rosbag play FR_IOSB_Short.bag -r 1.0 --clock --pause
  • Example for running lili_om_rot (spinning LiDAR like the Velodyne HDL-64E in FR_IOSB data set):
roslaunch lili_om_rot run_fr_iosb.launch
rosbag play FR_IOSB_Short_64.bag -r 1.0 --clock --pause
  • Example for running lili_om using the internal IMU of Livox Horizon:
roslaunch lili_om run_fr_iosb_internal_imu.launch
rosbag play FR_IOSB_Short.bag -r 1.0 --clock --pause --topics /livox/lidar /livox/imu

For live test or own recorded data sets, the system should start at a stationary state.

Contributors

Meng Li (Email: limeng1523@outlook.com)

Kailai Li (Email: kailai.li@liu.se)

kamibukuro5656

Credits

We hereby recommend reading VINS-Fusion and LIO-mapping for reference.

License

The source code is released under GPLv3 license.

We are constantly working on improving our code. For any technical issues or commercial use, please contact Kailai Li < kailai.li@kit.edu > with Intelligent Sensor-Actuator-Systems Lab (ISAS), Karlsruhe Institute of Technology (KIT).