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.
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.
Correspondingly to the generted map is:
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:
BUILD and DEPENDENCE
The BUILD and DEPENDENCE is completely the same as fastlio-Prerequisites
RUN
MAPPING
- roslaunch fast_lio mapping_avia.launch (It is slightly different from the fastlio).
- Using FASTLIO, and then copy the generted map into FAST_LIO_LOCALIZATION_PLUS/PCD
LOCALIZATION
- roslaunch fast_lio localization_avia.launch
- give the initial pose from rviz 2D Nav Goal , otherwise, the hints '**** wait for initial pose'
NOTE !!!
- *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).**
- Using FAST_LIO_LOCALIZATION_PLUS mapping, please set param is_vehicle = false in avia.yaml file if your robot is UAV.
- 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.