当前位置:   article > 正文

FAST_LIO_LOCALIZATION 使用教程_fastliolocalization

fastliolocalization

快速 LIO 本地化

一个简单的本地化框架,可以在基于FAST-LIO的构建地图中重新定位。

新闻

  • 2021-08-11:添加 Open3D 0.7 支持。

  • 2021-08-09:迁移到 Open3D 以获得更好的性能。

1. 特点

  • 在预先构建的点云地图中进行实时 3D 全局定位。 通过融合低频全局定位(约0.5~0.2Hz)和FAST-LIO的高频里程计,整个系统的计算效率很高。
  • 消除里程计的累积误差。
  • 初始定位可以通过RVIZ的粗略手动估计来提供,也可以通过其他传感器/算法进行姿态定位。
 

2. 先决条件

2.1 FAST-LIO 的依赖关系

从技术上讲,如果您之前已经构建并运行过 FAST-LIO,则可以跳过第 2.1 节。

这部分依赖与FAST-LIO一致,请参考文档 GitHub - hku-mars/FAST_LIO: A computationally efficient and robust LiDAR-inertial odometry (LIO) package

2.2 本地化模块的依赖关系

sudo apt install ros-$ROS_DISTRO-ros-numpy
pip install open3d==0.9

请注意,在 Python2.7 中直接使用 pip 安装 Open3D 时可能会出现问题:

ERROR: Package 'pyrsistent' requires a different Python: 2.7.18 not in '>=3.5'

您可以首先安装pyrsistent

pip install pyrsistent==0.15

然后

pip install open3d==0.9

3. 构建

克隆存储库并catkin_make:

  1. <span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code> cd ~/$A_ROS_DIR$/src
  2. git clone https://github.com/HViktorTsoi/FAST_LIO_LOCALIZATION.git
  3. cd FAST_LIO_LOCALIZATION
  4. git submodule update --init
  5. cd ../..
  6. catkin_make
  7. source devel/setup.bash
  8. </code></span></span></span></span>
  • 请记住在构建之前获取livox_ros_driver(遵循livox_ros_driver)
  • 如果要使用 PCL 的自定义版本,请将以下行添加到 ~/.bashrcexport PCL_ROOT={CUSTOM_PCL_PATH}

4. 运行本地化

4.1 示例数据集

在大型地下车库演示 rosbag: Google 云端硬盘 |百度盘 (代码: ne8d);

对应地图:Google Drive |百度盘(代码:kw6f)

可以使用 LIO-SAM 或 FAST-LIO-SLAM 构建地图。

4.2 运行

  1. 首先,请确保您使用的是 Python 2.7 环境;

  2. 运行本地化,这里我们以 Livox AVIA 为例:

roslaunch fast_lio_localization localization_avia.launch map:=/path/to/your/map.pcd

请修改为您自己的地图点云文件路径。/path/to/your/map.pcd

等待 3~5 秒,直到地图云出现在 RVIZ 中;

  1. 如果您正在使用示例 rosbag 数据进行测试:
rosbag play localization_test_scene_1.bag

或者,如果您正在实时运行

roslaunch livox_ros_driver livox_lidar_msg.launch

请将 livox_lidar_rviz.launch 中的publish_freq设置为 10Hz,以确保在单次扫描中有足够的点进行全局定位。 即将推出对更高频率的支持。

  1. 提供初始姿势
rosrun fast_lio_localization publish_initial_pose.py 14.5 -7.5 0 -0.25 0 0 

数值 14.5 -7.5 0 -0.25 0 0 表示地图框中的 6D 姿态 x y z 偏航俯仰滚动, 这是localization_test_scene_1.bag的粗略初步猜测。

初始猜测也可以由RVIZ中的“2D姿态估计”工具提供。

请注意,在初始化阶段,最好让机器人保持静止。或者如果你玩袋子,拳头玩袋子大约 0.5 秒,然后暂停袋子,直到初始化成功。

相关作品

  1. FAST-LIO:计算高效且稳健的 LiDAR 惯性里程计 (LIO) 软件包
  2. ikd-Tree:用于 3D kNN 搜索的最先进的动态 KD 树。
  3. FAST-LIO-SLAM:FAST-LIOScan-Context循环闭包模块的集成。
  4. LIO-SAM_based_relocalization:一个简单的系统,可以在基于LIO-SAM的构建地图上重新定位机器人。

确认

感谢 FAST-LIO 和 LIO-SAM_based_relocalization 的作者。

待办事项

  1. 查看已发布的里程计和 tf 的时间戳问题;
  2. 使用集成点进行全球本地化;
  3. 将全局定位与FAST-LIO的状态估计融合在一起,平滑定位轨迹;
  4. 更新。。。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/574048
推荐阅读
  

闽ICP备14008679号