Viobot回环使用

Viobot回环是使用词袋匹配的方式,,当新的关键帧能够匹配词袋里面记录过的关键帧时,触发回环,将设备的当前位姿拉到历史位姿。

一.上位机操作

词袋使用方法

连接上设备,先停止算法。UI上点 设置 选到 loop 选项卡:

1.记录词袋

注意加载词袋地图的勾不要勾上,勾上表示加载之前的词袋地图。

注意将 保存词袋地图的路径 设置为自己想要保存的路径(设备上,不是用户电脑)

(1)手动拍摄

将添加关键帧设置为手动,点确定

启动算法。

初始化完成后,将相机移动到需要拍摄的位置,点击UI上的 添加关键帧 或者执行例程里面的添加关键帧操作。

当完成所有拍摄点拍摄后,点击UI的 保存BOW 或者执行例程里面的保存关键帧操作。

(2)自动拍摄

将添加关键帧设置为自动,点确定。

启动算法

初始化完成后,将相机移动到需要拍摄的位置,点击UI上的 添加关键帧 或者执行例程里面的添加关键帧操作。

当完成所有拍摄点拍摄后,点击UI的 保存BOW 或者执行例程里面的保存关键帧操作。

2.加载词袋信息

关闭算法

将配置 项加载词袋地图 的勾勾上。

将 添加关键帧 设置为自动,点击确定。

启动算法,会自动加载保存在 保存词袋地图的路径 的词袋地图,当新的关键帧能够匹配上词袋里面的关键帧时,则会触发回环。

二.ROS操作

1.修改配置文件

修改设备里面的"/home/PRR/Viobot/install/share/stereo2/config/stereo2.yaml"这个文件:

add_keyframe_mode为1则是自动添加关键帧,0则为手动添加关键帧。修改文件并保存即可。

2.记录词袋

开启算法,记录词袋地图。自动添加关键帧模式下也能够手动继续添加关键帧。

在记录词袋的时候开启我们的pr_loop_action_demo的程序,并且输入数字1,添加关键帧,这个demo只是一次执行的,所以如果需要多次添加关键帧就需要多次开启程序,当然,用户也可以自行将程序改成自己的用输入键值多次调用的方式。输入数字1则为添加关键帧。

当记录的词袋足够了之后再次开启程序,输入数字2即可保存。

当你没有停止算法或者重启算法的时候,再次添加关键帧或者保存词袋都是再原有的词袋地图上面继续添加的。

3.加载词袋

停止算法。

修改设备里面的"/home/PRR/Viobot/install/share/stereo2/config/stereo2.yaml"这个文件:

将load_previous_pose_graph改为true,保存文件。

启动算法会自动加载保存在pose_graph_save_path的词袋地图,当新的关键帧能够匹配上词袋里面的关键帧时,则会触发回环。

三.http操作

1.修改配置文件

修改设备里面的"/home/PRR/Viobot/install/share/stereo2/config/stereo2.yaml"这个文件:

add_keyframe_mode为1则是自动添加关键帧,0则为手动添加关键帧。修改文件并保存即可。

2.记录词袋

开启算法,记录词袋地图。自动添加关键帧模式下也能够手动继续添加关键帧。

当你没有停止算法或者重启算法的时候,再次添加关键帧或者保存词袋都是再原有的词袋地图上面继续添加的。

3.加载词袋

停止算法。

修改设备里面的"/home/PRR/Viobot/install/share/stereo2/config/stereo2.yaml"这个文件:

将load_previous_pose_graph改为true,保存文件。

启动算法会自动加载保存在pose_graph_save_path的词袋地图,当新的关键帧能够匹配上词袋里面的关键帧时,则会触发回环。

相关推荐
ZhengEnCi2 小时前
模型训练完整流程:从数据准备到模型上线的 10 个关键步骤(全文可跑)
后端·算法
吞下星星的少年·-·6 小时前
Div.3 CF 1131A题(排序,模拟)
算法·模拟·排序
aichitang20246 小时前
代数拓扑学与现代前沿视角
考研·算法·数学建模·ai·拓扑学·高考
二本咕咕-机械转码7 小时前
FreeRTOS深入解析(一)_链表与并发保护——哨兵循环链表、排序键游标、临界区与关调度
单片机·算法·链表
-银雾鸢尾-7 小时前
两数之和-C++实现
c++·算法
j7~7 小时前
【动态规划算法专题】动态规划五部曲实战:泰波那契数、三步问题、最小花费爬楼梯
c++·算法·动态规划·数据结构与算法
倍利福猎头公司官方账号7 小时前
大企业HR如何向猎头公司清晰传达AI岗位的技术需求?
人工智能·算法·机器人·求职招聘·业界资讯
揽星河..8 小时前
【C++】类和对象
c++·算法
D e re k ZH8 小时前
C++ 并发、未定义行为与工程化难点(No 3)
数据结构·c++·算法·面试