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的词袋地图,当新的关键帧能够匹配上词袋里面的关键帧时,则会触发回环。
相关文章:
Viobot回环使用
Viobot回环是使用词袋匹配的方式,,当新的关键帧能够匹配词袋里面记录过的关键帧时,触发回环,将设备的当前位姿拉到历史位姿。 一.上位机操作 词袋使用方法 连接上设备,先停止算法。UI上点 设置 选到 loop 选项卡&…...
React钩子函数之forward结合useImperativeHandle钩子的基本使用
React钩子函数是React框架中非常重要的一部分,其中forward和useImperativeHandle是两个常用的钩子函数。这两个钩子函数可以结合使用,用来实现一些高级的功能。 首先,让我们来了解一下forward钩子函数。它的作用是将父组件中的props传递给子…...
c++中移动语义和完美转发
C 中的移动语义和完美转发是 C11 引入的两个重要特性,它们分别用于提高性能和灵活性。 移动语义(Move Semantics): 移动语义允许有效地将资源(如堆上分配的内存或其他资源)从一个对象转移到另一个对象,而…...
【linux命令讲解大全】040. 文件操作:使用touch命令创建和更新文件
文章目录 touch补充说明语法选项参数示例 从零学 python touch 创建新的空文件或更新已存在文件的时间标签。 补充说明 touch命令具有两个功能: 更新已存在文件的时间标签为当前系统时间(默认方式),文件的数据保持不变。创建新…...
Redis之MoreKey问题及Scan命令解读
目录 MoreKey问题讨论 Scan命令 Sscan命令 Hscan命令 Zscan命令 MoreKey问题讨论 keys * 查看当前库所有key 对于海量数据执行key *会造成严重服务卡顿、影响业务。在实际环境中最好不要使用。生产制造过程中keys * / flushdb/flushall等危险命令以防止误删误用。 大量的…...
QA工具开发流程
前言 在项目上线前期,这边根据需求制作了一套QA测试工具。主要分为以下四个模块的测试**图1** **数值测试:**主要包括了角色的等级变更、游戏里货币的变更、(目前已制作的)游戏道具的数量变更。这些可能归一为一类测试模型**动画…...
JSON.toJSONString首字母大小写问题
前言 开发过程中遇到的,对象转字符串时,有个字段首字母是大写的,转换之后就变成了小写,在这里记录下 代码示例 String jsonString JSON.toJSONString(obj,SerializerFeature.PrettyFormat,SerializerFeature.WriteMapNullValue,…...
ant-vue1.78版a-auto-complete表单自动搜索返回列表中的关键字标红
a-auto-complete表单自动搜索返回列表中的关键字标红 通常在做关键字标红的场景,都是后端返回html结构,前端直接渲染实现,但是如果需要前端处理的话,实现也是很简单的,接下来我直接上应用场景吧 应用场景就是通过关键…...
Elasticsearch 优化
Elasticsearch 优化 2.1硬件选择 Elasticsearch 的基础是 Lucene ,所有的索引和文档数据是存储在本地的磁盘中,具体的 路径可在 ES 的配置文件 ../config/elasticsearch.yml 中配置,如下: #----------------------------…...
spring boot的自动装配原理
spring boot的自动装配原理 解释和使用关键技术思想总结 解释和使用 自动装配是什么:自动将第三方组件的bean装载到ioc容器里,不需要开发人员再去写bean相关的一些配置 spring boot怎么做:在启动类上加SpringBootApplication注解就可以实现自…...
走进低代码平台| iVX-困境之中如何突破传统
前言: “工欲善其事,必先利其器”,找到和使用一个优质的工具平台,往往会事半功倍。 文章目录 1️⃣认识走近低代码2️⃣传统的低代码开发3️⃣无代码编辑平台一个代码生成式低代码产品iVX受面性广支持代码复用如何使用? 4️⃣总结…...
【UIPickerView案例03-点餐系统之随机点餐 Objective-C语言】
一、先来看看我们这个示例程序里面,随机点餐是怎么做的 1.点击:“随机点餐”按钮 大家能想到,它是怎么实现的吗 1)首先,点击”随机点餐“按钮,的时候,你要让这个pickerView,进行随机选中,那么,得监听它的点击 2)然后呢,让pickeView选中数据, 3)然后呢,把那个…...
论文阅读_扩散模型_SDXL
英文名称: SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis 中文名称: SDXL:改进潜在扩散模型的高分辨率图像合成 论文地址: http://arxiv.org/abs/2307.01952 代码: https://github.com/Stability-AI/generative-models 时间: 2023-…...
云原生Kubernetes:二进制部署K8S多Master架构(三)
目录 一、理论 1.K8S多Master架构 2.配置master02 3.master02 节点部署 4.负载均衡部署 二、实验 1.环境 2.配置master02 3.master02 节点部署 4.负载均衡部署 三、总结 一、理论 1.K8S多Master架构 (1) 架构 2.配置master02 (1)环境 关闭防…...
任意文件读取和下载
任意文件读取是什么? 一些网站的需求,可能会提供文件查看与下载的功能。如果对用户查看或下载的文件没有限制或者限制绕就可以查看或下载任意文件。这些文件可以是源代码文件配置文件敏感文件等等。过, 任意文件读取会造成(敏感)信息泄露;任意…...
mysql怎么查指定表的自增id?
要查看MySQL表的自增ID(Auto Increment ID),你可以使用SHOW TABLE STATUS命令。以下是一个示例: SHOW TABLE STATUS LIKE your_table_name; 替换your_table_name为你想查询的表名。这条语句会返回表的一些基本信息,其…...
【C++设计模式】单一职责原则
2023年8月26日,周六上午 目录 概述一个简单的例子用单一职责原则来设计一个简单的学生管理系统 概述 单一职责原则(Single Responsibility Principle,SRP),它是面向对象设计中的一个基本原则。 单一职责原则的核心思…...
Windows docker desktop 基于HyperV的镜像文件迁移到D盘
Docker desktop的HyperV镜像文件,默认是在C盘下 C:\ProgramData\DockerDesktop\vm-data\DockerDesktop.vhdx如果部署的软件较多,文件较大,或者产生日志,甚至数据等,这将会使此文件越来越大,容易导致C盘空间…...
LM-INFINITE: SIMPLE ON-THE-FLY LENGTH GENERALIZATION FOR LARGE LANGUAGE MODELS
本文是LLM系列文章,针对《LM-INFINITE: SIMPLE ON-THE-FLY LENGTH GENERALIZATION FOR LARGE LANGUAGE MODELS》的翻译。 LM-INFiNITE:大语言模型的一个简单长度上推广 摘要1 引言2 相关工作3 LLMs中OOD因素的诊断4 LM-INFINITE5 评估6 结论和未来工作 …...
ShardingSphere——压测实战
摘要 Apache ShardingSphere 关注于全链路压测场景下,数据库层面的解决方案。 将压测数据自动路由至用户指定的数据库,是 Apache ShardingSphere 影子库模块的主要设计目标。 一、压测背景 在基于微服务的分布式应用架构下,业务需要多个服…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
es6+和css3新增的特性有哪些
一:ECMAScript 新特性(ES6) ES6 (2015) - 革命性更新 1,记住的方法,从一个方法里面用到了哪些技术 1,let /const块级作用域声明2,**默认参数**:函数参数可以设置默认值。3&#x…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...
