• Stars
    star
    114
  • Rank 308,031 (Top 7 %)
  • Language
    C++
  • License
    Other
  • Created over 1 year ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

a SLAM implementation combining FAST-LIO2 with pose graph optimization and loop closing based on LIO-SAM paper

FAST-LIO-SAM


KITTI seq 05 top view - (left): FAST-LIO2 (right): FAST-LIO-SAM


KITTI seq 05 side view - (top): FAST-LIO2 (bottom): FAST-LIO-SAM


KITTI seq 05 trajectories - (blue): FAST-LIO2 (green): FAST-LIO-SAM


Note

  • For better loop-detection and transform calculation, FAST-LIO-SAM-QN is also coded and opened.
    • It adopts Quatro - fast, accurate and robust global registration which provides great initial guess of transform
    • and Nano-GICP - fast and accurate ICP combining FastGICP + NanoFLANN

Dependencies

  • ROS (it comes with Eigen and PCL)
  • GTSAM
    wget -O gtsam.zip https://github.com/borglab/gtsam/archive/refs/tags/4.1.1.zip
    unzip gtsam.zip
    cd gtsam-4.1.1/
    mkdir build && cd build
    cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF -DGTSAM_USE_SYSTEM_EIGEN=ON ..
    sudo make install -j16

How to build and use

  • Get the code and build
    cd ~/your_workspace/src
    git clone https://github.com/engcang/FAST-LIO-SAM --recursive
    
    cd ..
    catkin build -DCMAKE_BUILD_TYPE=Release
    . devel/setup.bash
  • Then run (change config files in third_party/FAST_LIO)
    roslaunch fast_lio_sam run.launch lidar:=ouster
    roslaunch fast_lio_sam run.launch lidar:=velodyne
    roslaunch fast_lio_sam run.launch lidar:=livox

Structure

  • odom_pcd_cb
    • pub realtime pose in corrected frame
    • keyframe detection -> if keyframe, add to pose graph + save to keyframe queue
    • pose graph optimization with iSAM2
  • loop_timer_func
    • process a saved keyframe
      • detect loop -> if loop, add to pose graph
  • vis_timer_func
    • visualize all (Note: global map is only visualized once uncheck/check the mapped_pcd in rviz to save comp.)

More Repositories

1

SLAM-application

LeGO-LOAM, LIO-SAM, LVI-SAM, FAST-LIO2, Faster-LIO, VoxelMap, R3LIVE, Point-LIO, KISS-ICP, DLO, DLIO, Ada-LIO, PV-LIO, SLAMesh, ImMesh, FAST-LIO-MULTI application and comparison on Gazebo and real-world datasets. Installation and config files are provided.
Python
563
star
2

vins-application

VINS-Fusion, VINS-Fisheye, OpenVINS, EnVIO, ROVIO, S-MSCKF, ORB-SLAM2, NVIDIA Elbrus application of different sets of cameras and imu on different board including desktop and Jetson boards
C++
432
star
3

ros-yolo-sort

YOLO v3, v4, v5, v6, v7 + SORT tracking + ROS platform. Supporting: YOLO with Darknet, OpenCV(DNN), OpenVINO, TensorRT(tkDNN). SORT supports python(original) and C++. (Not Deep SORT)
C++
218
star
4

FAST-LIO-SAM-QN

A SLAM implementation combining FAST-LIO2 with pose graph optimization and loop closing based on Quatro and Nano-GICP
C++
163
star
5

FAST-LIO-Localization-QN

A Map-based localization implementation combining FAST-LIO2 as an odometry with Quatro + Nano-GICP as a map matching method
C++
108
star
6

gazebo_maps

Self-made Gazebo maps and models for public
70
star
7

FAST-LIO-SAM-SC-QN

A SLAM implementation combining FAST-LIO2 with pose graph optimization and loop closing based on ScanContext, Quatro, and Nano-GICP
C++
57
star
8

oakd-ros-simple

OAK-D (OpenCV AI Kit camera) ROS simple codes with C++
C++
38
star
9

TensorRT_YOLOv9_ROS

(ROS, C++) YOLOv9 detection using TensorRT
C++
25
star
10

TROT-Q

ASCC2022 - TROT-Q: TRaversability and Obstacle aware Target tracking system for Quadruped robots
C++
24
star
11

exploration-algorithms

[Docker provided] How to build, install and run open-source exploration algorithms
C++
24
star
12

vins-fusion-gpu-no-ros

VINS-Fusion's non-ROS version (GPU version)
C++
20
star
13

FAST-LIO-Localization-SC-QN

A Map-based localization implementation combining FAST-LIO2 as an odometry with Quatro + Nano-GICP as a map matching method, and with ScanContext as a loop candidate detection method
C++
17
star
14

mavros-gazebo-application

mavros-gazebo-application
Python
14
star
15

PS4_Joystick_teleop_Mobile_Robots_ROS_Python

Simple Joystic_teleop_Mobile_Robots_ROS_Python using PS4 from SONY
Python
14
star
16

ieee_uav_2022

IEEE UAV Competition 2022 - Low Power Computer Vision Challenges (LPCVC): Chase
C
13
star
17

ROLAND

ROLAND: Robust Landing of UAV on Moving Platform using Object Detection and UWB based Extended Kalman Filter
C++
11
star
18

utm_to_pose_path

sensor_msgs/NavSatFix to geometry_msgs/PoseStamped and nav_msgs/Path
Python
11
star
19

tkdnn-ros

(ROS) YOLOv3, v4, v7 detection + Shelfnet semantic segmentation with TensorRT, utilizing tkDNN
C++
11
star
20

HC-SR04-UltraSonicSensor-ROS-RaspberryPi

HC-SR04-UltraSonicSensor-ROS-RaspberryPi using Python
Python
10
star
21

tf_to_trajectory

tf_to_trajectory: Convert ROS topics to nav_msgs/Path trajectory using simple rospy code for rviz
Python
8
star
22

CEO-MLCPP

CEO-MLCPP: Control Efficient and Obstacle-aware Multi-Layer Coverage Path Planner for 3D reconstruction with UAVs
C++
8
star
23

drone_auto_bag_record

MAVROS-PX4 drone auto ROS bag record on / off according to arming state
Python
6
star
24

utility_codes

A collection of various utility codes coded myself
Python
6
star
25

khnp_competition2021

KHNP Robot Competition 2021 / Several Missions with Autonomous Quadruped Robot with Gripping Arm!
C++
5
star
26

husky

MATLAB-ROS and Python-ROS to control the Husky_Clearpath with Velodyne-VLP16 LiDAR Sensor and ZED stereo camera
Python
4
star
27

KalmanFilter_Attitude

Animated Graph on Python code for LKF,EKF, and only accelerometer used attitude estimation
Python
3
star
28

Opencv_tutorial_Matlab_and_python

Using Opencv tutorial and instructions for installing Opencv for MATLAB(Mexopencv)
Python
2
star
29

orb-slam2-modified

C++
2
star
30

flightgoggles_angle_controller

flightgoggles_angle_controller
Python
2
star
31

turtlebot3

ROS-MATALB and ROS-Python for Turtlebot3_burger, mobile robot from Robotis
Python
2
star
32

cpp-reconstruction-application

Build and applying Coverage Path Planners for 3D reconstruction with UAVs
2
star
33

khnp_competition2022

KHNP Robot Competition 2022: KVRC2022 Autonomous drone challenge
C++
1
star
34

S-MSCKF-application

S-MSCKF from https://github.com/KumarRobotics/msckf_vio - application
C++
1
star
35

flightgoggles

Forked from http://flightgoggles.mit.edu. Coded by great friend, Winter-Guerra, when he was in MIT!
C++
1
star
36

AllowanceRobotics-Gazeboyz

Project page of AllowanceRobotics-Gazeboyz
Ruby
1
star
37

turtlebot2

ROS-MATLAB and ROS-Python for Turtlebot2, mobile robot with ROS
Python
1
star