iDonghq / FAST_LIO_LOCALIZATION_PLUS

The repo is pure localization for fastlio with given initial pose from rviz
GNU General Public License v2.0
65 stars 7 forks source link

Introduction

The repo is pure localization for FASTLIO with given initial pose from rviz. It's completely developed in c++,and the usage is very easy.

DEMO

https://github.com/iDonghq/FAST_LIO_LOCALIZATION_PLUS/assets/23080413/5c0370d9-cbb6-41ee-b7e5-4cfc86806a35

https://github.com/iDonghq/FAST_LIO_LOCALIZATION_PLUS/assets/23080413/021bc6ec-9c35-4cdc-be67-bc0f195b61e3

Convergence and Map Bending

CONVERGENCE

Thanks to the robust of FASTLIO, in the following video the initial pose that deviates greatly from the true one is given, FAST_LIO_LOCALIZATION_PLUS can also quickly converge to near the truth value. relocalization

DEMO

https://github.com/iDonghq/FAST_LIO_LOCALIZATION_PLUS/assets/23080413/d18ee041-649b-4b39-9082-54fa4fa4a5e5

MAP BENDING

Not enough observations in the z direction from lidar leads to the map bending to z direction. In the following fig, the number of normal vector, which is the normal of plane fitted by neraby points, in the same as gravity direction is counted. The following pic shows that fewer and fewer z-axis observations with the vehicle moves. output Correspondingly to the generted map is: Selection_033 In FAST_LIO_LOCALIZATION_PLUS mapping, the number of plane's normal fitted by neraby points is monitored, which is less than the threshhold I set, I brutely set the translation z=0 from pose, the result is: Selection_034

BUILD and DEPENDENCE

The BUILD and DEPENDENCE is completely the same as fastlio-Prerequisites

RUN

MAPPING

  1. roslaunch fast_lio mapping_avia.launch (It is slightly different from the fastlio).
  2. Using FASTLIO, and then copy the generted map into FAST_LIO_LOCALIZATION_PLUS/PCD

    LOCALIZATION

  3. roslaunch fast_lio localization_avia.launch
  4. give the initial pose from rviz 2D Nav Goal , otherwise, the hints '**** wait for initial pose' Selection_029

NOTE !!!

  1. *In order to finish the initialization faster and more accuracy, the initial pose from rviz should be strictly limited within the area of 1 square meter(xy).**
  2. Using FAST_LIO_LOCALIZATION_PLUS mapping, please set param is_vehicle = false in avia.yaml file if your robot is UAV.
  3. if your robot is vehicle, set the param is_vehicle true or not, it's up to your demands.

Thanks Very Much To SHANGHAI TENGHAOSHIXIAN Tech For Providing ALL Datasets.