YWL0720 / FAST-LOCALIZATION

A LiDAR-Inertial localization package based on FAST-LIO2, operating with a known prior map.
GNU General Public License v2.0
125 stars 16 forks source link
localization

FAST-LOCALIZATION

A LiDAR-Inertial localization package based on FAST-LIO2, operating with a known prior map.


Fig 1 :Indoor test without manual input of the initial pose


Fig 2 :Initial pose given by ScanContext(left) and Localization detail(right)

0. Features

FAST-LOCALIZATION is a framework for relocalization in a known map, based on FAST-LIO2. It employs ScanContext for initial global localization. Compared to FAST_LIO_LOCALIZATION, FAST-LOCALIZATION does not require manual input of the initial pose. By utilizing continuous global point cloud constraints, it achieves more stable and globally consistent accurate pose estimates.

1. Prerequisites

1.1 Ubuntu and ROS

Ubuntu >= 16.04

ROS >= Melodic. ROS Installation

1.2. PCL && Eigen && OpenCV

PCL >= 1.8, Follow PCL Installation.

Eigen >= 3.3.4, Follow Eigen Installation.

Opencv >= 3.2.0, FollowOpenCV_installation

1.3. livox_ros_driver

Follow livox_ros_driver Installation.

2. Build

Clone the repository and catkin_make:

    cd ~/$A_ROS_DIR$/src
    git clone https://github.com/YWL0720/FAST-LOCALIZATION
    cd FAST-LOCALIZATION
    git submodule update --init
    cd ../..
    catkin_make
    source devel/setup.bash

3. Map Preparation

FAST-LOCALIZATION can seamlessly integrate with HBA(A Globally Consistent and Efficient Large-Scale LiDAR Mapping Module), enabling real-time localization within maps optimized by HBA. It requires placing the point cloud file for each map frame and the corresponding pose files in the map/ directory. Noted the format of the pose is tx ty tz qw qx qy qz.

.
├── pcd
│   ├── 0.pcd
│   └── 1.pcd
└── pose.json

4. Run

roslaunch fast_localization localization_mid360.launch

5. TODO

6.Acknowledgments

Thanks for FAST-LIO2, HBA and ScanContext