Coder Social home page Coder Social logo

clic's Introduction

CLIC

Continuous-Time Fixed-Lag Smoothing for LiDAR-Inertial-Camera SLAM

CLIC is a tightly-coupled multi-modal SLAM algorithms based on continuous-time fixed-lag smoothing, it supports a variety of sensor combinations, like the LiDAR-inertial and LiDAR-inertial-camera SLAM systems, and online timeoffset calibration is also naturally supported. More importantly, benefiting from the marginalization and the derived analytical Jacobians for optimization, the proposed continuous-time SLAM systems can achieve real-time performance regardless of the high complexity of continuous-time formulation.

Factor graphs of multi-sensor fusion. For more details, please refer to the paper. [arxiv]

Prerequisites

  • ROS (tested with Melodic)

  • Eigen3

  • Ceres 1.14

  • OpenCV 3.3

  • yaml-cpp

    sudo apt-get install libyaml-cpp-dev
  • livox_ros_driver

  • Sophus has been included in src/sophus_lib

Install

mkdir -p ~/catkin_clic/src
cd ~/catkin_clic/src
git clone https://github.com/APRIL-ZJU/clic.git
git clone https://github.com/Livox-SDK/livox_ros_driver.git
cd ~/catkin_clic
catkin_make
source devel/setup.bash

Example

  • Download ntu_viral_dataset or newer_college_dataset or LVI dataset or livox dataset.

  • Configure parameters in the config/ct_odometry_***.yaml file.

    • config_path: the path of config folder
    • bag_path: the file path of rosbag
  • Run on ntu viral dataset for example.

    roslaunch clic odometry.launch config_path:=config/ct_odometry_ntu.yaml

    The estimated trajectory is saved in the folder./src/clic/data.

Credits

This code was developed by the APRIL Lab in Zhejiang University.

For researchers that have leveraged or compared to this work, please cite the following:

@article{lv2023continuous,
  title={Continuous-Time Fixed-Lag Smoothing for LiDAR-Inertial-Camera SLAM},
  author={Lv, Jiajun and Lang, Xiaolei and Xu, Jinhong and Wang, Mengmeng and Liu, Yong and Zuo, Xingxing},
  journal={IEEE/ASME Transactions on Mechatronics},
  year={2023},
  publisher={IEEE}
}

Acknowledgement

  • The spline module is adapted from basalt.
  • The lidar fearure module is adapted from LIO-SAM and loam_livox.
  • The visual module is adapted from VINS-Mono.
  • The IMU initializer module is adapted from open_vins.

Thanks for their excellent job!

Licence

The code is released under the GNU General Public License v3 (GPL-3).

clic's People

Contributors

icameling avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.