MCPcopy Create free account
hub / github.com/GDUT-Kyle/faster_lio_sam

github.com/GDUT-Kyle/faster_lio_sam @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
229 symbols 377 edges 13 files 11 documented · 5% updated 3y ago★ 328

Browse by type

Functions 192 Types & classes 37
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

faster_lio_sam

INTRODUCTION

A real-time Livox LiDAR+IMU odometry package. Our main work is to redesign an efficient and accurate SLAM scheme based on the excellent ideas of FAST_LIO/faster-lio/LIO-SAM. The specific steps of the system are as follows:

  1. ImageProjection.cpp: Undistort scan using IMU measurements and high frequency odometry information.
  2. fusionOptimization.cpp: Fusion of LiDAR and IMU based on iterative error state Kalman filter (IESKF) and iVox to estimate global state (PVQ).
  3. imuPreintegration.cpp: Based on ISAM2, the IMU pre-integration factor and the odometry factor are used to jointly estimate the bias of the IMU.
  4. Pose Optimazation: This function is not included in this project, we recommend users to refer to livox_backend. The mentioned project uses a distance-based loop closure detector for global pose graph optimization.

    drawing drawing

faster-lio [ours] faster_lio_sam

Demo video

PARKING LOT

OPEN SPACE

DEPEND

  1. ROS (melodic)
  2. glog: sudo apt-get install libgoogle-glog-dev
  3. eigen: sudo apt-get install libeigen3-dev
  4. pcl: sudo apt-get install libpcl-dev
  5. OpenCV
  6. GTSAM
  7. livox_ros_driver

BUILD

  • Download the package from git, and upzip the library in the thirdparty:
cd ~/ros/catkin_ws/src
git clone https://github.com/GDUT-Kyle/faster_lio_sam
cd faster_lio_sam/thirdparty
tar -xvf tbb2018_20170726oss_lin.tgz
  • Upgrade the g++ compiler to 9.0 or higher by:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-9
sudo apt install g++-9
cd /usr/bin
sudo rm gcc g++
sudo ln -s gcc-9 gcc
sudo ln -s g++-9 g++
  • Compile with catkin build
catkin build faster_lio_sam

RUN

1. Prepare your rosbag

Using Livox's custom message types

!!! IMU messages must contain attitude information !!!

!!! IMU消息必须包含姿态信息 !!!

image-20220609210621982

2. Set calibration parameters

!!! In the current version, the extrinsic transformation matrix between LiDAR and IMU is the identity matrix . (The extrinsic transformation part in the code will be corrected as soon as possible ~~~)

3. Set LiDAR parameters

Livox Mid-70

lidar0:
  N_SCAN: 1
  Horizon_SCAN: 10000
  lidarMinRange: 1.0
  lidarMaxRange: 200.0

4. Launch

roslaunch faster_lio_sam run.launch
rosbag play [YOUR_ROSBAG] --clock

RESULT

image-20220609224033773

image-20220609224241533

THANKS

FAST_LIO

faster-lio

loam_velodyne

LIO-SAM

livox_mapping

LINS---LiDAR-inertial-SLAM

Core symbols most depended-on inside this repo

Shape

Method 157
Function 35
Class 32
Enum 5

Languages

C++100%

Modules by API surface

include/ikd-Tree/ikd_Tree.h66 symbols
include/ivox3d/ivox3d_node.hpp35 symbols
src/fusionOptimization.cpp29 symbols
include/faster_lio_sam/common.h21 symbols
src/ImageProjection.cpp20 symbols
include/ivox3d/hilbert.hpp16 symbols
src/imuPreintegration.cpp15 symbols
include/ivox3d/ivox3d.h14 symbols
include/faster_lio_sam/FilterState.h6 symbols
include/ivox3d/eigen_types.h3 symbols
src/livox_repub.cpp2 symbols
src/poseOptimization.cpp1 symbols

For agents

$ claude mcp add faster_lio_sam \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page