赞
踩
一个简单的本地化框架,可以在基于FAST-LIO的构建地图中重新定位。
2021-08-11:添加 Open3D 0.7 支持。
2021-08-09:迁移到 Open3D 以获得更好的性能。
从技术上讲,如果您之前已经构建并运行过 FAST-LIO,则可以跳过第 2.1 节。
这部分依赖与FAST-LIO一致,请参考文档 GitHub - hku-mars/FAST_LIO: A computationally efficient and robust LiDAR-inertial odometry (LIO) package
蟒蛇 2.7
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
克隆存储库并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>
export PCL_ROOT={CUSTOM_PCL_PATH}
在大型地下车库演示 rosbag: Google 云端硬盘 |百度盘 (代码: ne8d);
对应地图:Google Drive |百度盘(代码:kw6f)
可以使用 LIO-SAM 或 FAST-LIO-SLAM 构建地图。
首先,请确保您使用的是 Python 2.7 环境;
运行本地化,这里我们以 Livox AVIA 为例:
roslaunch fast_lio_localization localization_avia.launch map:=/path/to/your/map.pcd
请修改为您自己的地图点云文件路径。/path/to/your/map.pcd
等待 3~5 秒,直到地图云出现在 RVIZ 中;
rosbag play localization_test_scene_1.bag
或者,如果您正在实时运行
roslaunch livox_ros_driver livox_lidar_msg.launch
请将 livox_lidar_rviz.launch 中的publish_freq设置为 10Hz,以确保在单次扫描中有足够的点进行全局定位。 即将推出对更高频率的支持。
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 秒,然后暂停袋子,直到初始化成功。
感谢 FAST-LIO 和 LIO-SAM_based_relocalization 的作者。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。