maplab(4):在定位模式下运行ROVIOLI

在本教程中,我们将在定位模式下运行ROVIOLI。 这可以极大地提高估计精度并减少估计轨迹的漂移。

要求

与VIO一样,您需要为传感器设置获取三个校准文件(camera,IMU maplab和IMU rovio)。 此外,您还需要:

  • 用于定位的 VI(视觉-惯性)地图。 这个地图要应用优化和闭环检测得以在 ROVIOLI 中获得更好的结果。
  • 要运行的数据集。 或者,可以使用实时源(可以理解为播放录制好的bag文件)。

准备一个用于定位的地图

有两种方法可以获得定位地图:

  • 使用 maplab 控制台手动优化 VI(视觉-惯性)地图,使其在 VIO 模式下运行 ROVIOLI。
  • 或者,您可以运行脚本~/maplab_ws/src/maplab/applications/rovioli/scripts/tutorials/tutorial_euroc,并将--optimize_map_to_localization_map标志设置为true:
roscore
source ~/maplab_ws/devel/setup.bash
rosrun rovioli tutorial_euroc save_folder_loc_map MH_01_easy.bag --optimize_map_to_localization_map

Running ROVIOLI with localization

在本教程中,我们使用Euroc dataset website上的Machine Hall 02数据集。 至于定位地图,我们使用由Machine Hall 01数据集优化的VI地图,我们假设它们在save_folder_loc_map_localization下保存。
使用脚本:~/maplab_ws/src/maplab/applications/rovioli/scripts/tutorials/tutorial_euroc_localization
运行脚本:

roscore
source ~/maplab_ws/devel/setup.bash
rosrun rovioli tutorial_euroc_localization save_folder_loc_map_localization save_map_with_localization MH_02_easy.bag

save_folder_loc_map_localization下的地图用作定位的参考地图。
ROVIOLI 完成后,VI地图将存储在save_folder_with_localization下。

Visualization during ROVIOLI with localization

除了标准的ROVIOLI话题之外,定位模式还向 RViz 添加了以下可视化话题:

  • /loopclosure_database: Point cloud of all landmarks in the loop closure database.
  • /loop_closures: Lines connecting the current active vertex with all landmarks that have been used for the localization.
  • /loopclosure_inliers: Point cloud with all landmarks that have been used for the last successful localization.
  • /debug_T_G_I_raw_localization: Red points indicating the vertex positions where a successful localization occurred.

这里我就不翻译了,发现还是英文有味道啊,很难做到完美的翻译。
运行截图如下:

猜你喜欢

转载自blog.csdn.net/learning_tortosie/article/details/81452265