基于D435i跑vins+densesurfelmapping的一些关键点
网上看到不少人说跑vins+densesurfelmapping,没有建出图,我自己也是。经过层层排查,发现主要是下面这两个点,这两个点任何一个没有满足,都会建不出图。
1 vins回环节点一定要起起来,确保可以发出/loop_fusion/pose_graph_path话题,没有/loop_fusion/pose_graph_path话题也是建不出地图的。
(这个操作非必需)想要比较早地就有回环,可以先跑一次保存位姿图(回环节点终端按s并敲回车,注意先确认配置文件中pose_graph_save_path这个路径是设置正确且真实存在的),同时配置文件这个load_previous_pose_graph参数设置为1。 具体可以参看之前这篇博文 自己亲自跑一下vins-fusion的保存位姿图,加载位姿图,回环_/vins_estimator/image_track-CSDN博客
2 时间戳一致,这种情况会出现在自己实现录制了D435i的bag包,然后基于这个bag包跑vins+densesurfelmapping,会发现建不出图,是因为densesurfelmapping里面有时间戳对齐,基于D435i的bag包跑,vins位姿的时间戳和深度图以及彩色图的时间戳是不一致的,也就没法完成对齐也就不能建图。
基于D435i跑vins+DenseSurfelMapping注意点说明与操作演示20240328