FAST_LIO_LOCALIZATION 使用教程

快速 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:

<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
    git clone https://github.com/HViktorTsoi/FAST_LIO_LOCALIZATION.git
    cd FAST_LIO_LOCALIZATION
    git submodule update --init
    cd ../..
    catkin_make
    source devel/setup.bash
</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. 更新。。。
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值