• Stars
    star
    108
  • Rank 321,259 (Top 7 %)
  • Language
    C++
  • License
    Other
  • Created about 1 year ago
  • Updated 9 months ago

Reviews

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

Repository Details

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

FAST-LIO-Localization-QN

  • This repository is a map-based localization implementation combining FAST-LIO2 as an odometry with Quatro and Nano-GICP module as a map matching method
  • Note: similar repositories already exist
  • Note2: main code is modularized and hence can be combined with any other LIO / LO
  • Note3: this repo is to apply Quatro in localization. Quatro can be worked in scan-to-scan matching or submap-to-submap matching but not scan-to-submap, i.e., the numbers of pointclouds to be matched should be similar.
  • Note4: saved map file is needed. The map should be in .bag format. This .bag files can be built with FAST-LIO-SAM-QN and FAST-LIO-SAM

Dependencies

  • C++ >= 17, OpenMP >= 4.5, CMake >= 3.10.0, Eigen >= 3.2, Boost >= 1.54
  • ROS
  • Teaser++
    git clone https://github.com/MIT-SPARK/TEASER-plusplus.git
    cd TEASER-plusplus && mkdir build && cd build
    cmake .. -DENABLE_DIAGNOSTIC_PRINT=OFF
    sudo make install -j16
    sudo ldconfig
  • tbb (is used for faster Quatro)
    sudo apt install libtbb-dev

How to build and use

  • Get the code and then build the main code.
    cd ~/your_workspace/src
    git clone https://github.com/engcang/FAST-LIO-Localization-QN --recursive
    
    cd ~/your_workspace
    # nano_gicp, quatro first
    catkin build nano_gicp -DCMAKE_BUILD_TYPE=Release
    # Note the option!
    catkin build quatro -DCMAKE_BUILD_TYPE=Release -DQUATRO_TBB=ON
    catkin build -DCMAKE_BUILD_TYPE=Release
    . devel/setup.bash
  • Then run
    roslaunch fast_lio_localization_qn run.launch lidar:=ouster
    roslaunch fast_lio_localization_qn run.launch lidar:=velodyne
    roslaunch fast_lio_localization_qn run.launch lidar:=livox
  • Change config files in
    • third_party/FAST_LIO/config
    • fast_lio_localization_qn/config

Structure

  • odom_pcd_cb
    • pub realtime pose in corrected frame
    • keyframe detection -> if keyframe, add to pose graph + save to keyframe queue
  • matching_timer_func
    • process a saved keyframe
      • detect map match -> if matched, correct TF
  • vis_timer_func
    • visualize all

Memo

  • Quatro module fixed for empty matches
  • Quatro module is updated with optimizedMatching which limits the number of correspondences and increased the speed

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-SAM

a SLAM implementation combining FAST-LIO2 with pose graph optimization and loop closing based on LIO-SAM paper
C++
114
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