FAST_LIO_LOCALIZATION-ROS-NOETIC 项目使用教程
1、项目介绍
FAST_LIO_LOCALIZATION-ROS-NOETIC
是一个基于 FAST-LIO 的简单定位框架,能够在已构建的地图上重新定位。该项目是针对 ROS Noetic 和 Python3 的 fork 版本。它通过融合低频全局定位(约 0.5~0.2Hz)和高频 FAST-LIO 里程计,实现了计算效率高的实时 3D 全局定位。
主要特性
- 实时 3D 全局定位:在预构建的点云地图中进行实时 3D 全局定位。
- 消除累积误差:通过融合低频全局定位和高频里程计,消除里程计的累积误差。
- 初始定位:初始定位可以通过 RVIZ 中的粗略手动估计或来自其他传感器/算法的姿态提供。
2、项目快速启动
2.1 环境准备
确保你已经安装了以下依赖:
- ROS Noetic
- Python 3.8
- ros_numpy
- Open3D
2.2 项目构建
-
克隆项目仓库:
cd ~/catkin_ws/src git clone https://github.com/davidakhihiero/FAST_LIO_LOCALIZATION-ROS-NOETIC.git cd FAST_LIO_LOCALIZATION-ROS-NOETIC git submodule update --init
-
编译项目:
cd ~/catkin_ws catkin_make source devel/setup.bash
2.3 运行定位
-
启动定位节点:
roslaunch fast_lio_localization localization_avia.launch map:=/path/to/your/map.pcd
-
提供初始姿态(可选):
rosrun fast_lio_localization publish_initial_pose.py 14.5 -7.5 0 -0.25 0 0
3、应用案例和最佳实践
3.1 地下车库定位
该项目提供了一个地下车库的示例数据集,可以通过以下步骤进行测试:
-
下载示例数据集和地图:
-
运行定位节点并播放数据集:
roslaunch fast_lio_localization localization_avia.launch map:=/path/to/your/map.pcd rosbag play localization_test_scene_1.bag
3.2 实时定位
在实时场景中,可以使用 Livox AVIA 激光雷达进行定位:
-
启动激光雷达驱动:
roslaunch livox_ros_driver livox_lidar_msg.launch
-
启动定位节点:
roslaunch fast_lio_localization localization_avia.launch map:=/path/to/your/map.pcd
4、典型生态项目
4.1 FAST-LIO
FAST-LIO
是一个计算效率高且鲁棒的 LiDAR-惯性里程计(LIO)包,是本项目的基础。
4.2 ikd-Tree
ikd-Tree
是一个用于 3D kNN 搜索的动态 KD-Tree,用于加速点云处理。
4.3 FAST-LIO-SLAM
FAST-LIO-SLAM
是 FAST-LIO 与 Scan-Context 回环检测模块的集成,用于实现完整的 SLAM 功能。
4.4 LIO-SAM_based_relocalization
LIO-SAM_based_relocalization
是一个基于 LIO-SAM 的简单系统,能够在已构建的地图上重新定位机器人。
通过这些生态项目的结合,可以构建一个完整的 LiDAR-惯性定位与建图系统。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考