Viobot基本功能使用及介绍
设备拿到手当然是要先试一下效果的,这部分可以参考本专栏的第一篇 Viobot开机指南。
接下来我们就从UI开始熟悉这个产品吧!

1.状态
设备上电会自动运行它的程序,开启了一个服务器,上位机通过连接这个服务器连接到设备,连接成功后就如上图所示,状态栏会显示已连接。
此时它的系统的算法状态是停止状态的,这个系统状态有七个状态:
1)停止
2)mono1初始化中
3)mono1运行中
4)stereo1初始化中
5)stereo1运行中
6)stereo2初始化中
7)stereo2运行中
对应着SDK上面的定义:

2.点云

上位机有点云显示类型的选择,分别是stereo、tof和rdf三种
stereo点云是算法的原生输出点云,也就是对应的ROS话题/pr_loop/points
rdf点云对应滤波后的点云,对应的ROS话题/pr_loop/points_rdf ,此功能基础版是没有的!
tof点云只有在TOF版本开启TOF传感器并且stereo2算法启动了TOF建图才会有输出,对应的ROS 话题为/pr_loop/tof_points
还可以设置上位机接收到的点云的显示大小,以及点云显示的范围(主要是Z轴上面的范围),当点云的Z坐标大于最高值或者小于最小值的时候,点云就不会显示在上位机界面。
3.操作面板

1)算法选择
stereo2所在的框可以点击右边的倒三角选择启动的算法。
算法包含了stereo2、stereo1和mono1
mono1是一个单目的测试例程,需要激励才能完成初始化,用于测试。stereo1是一个双目的测试例程,启动能够直接完成初始化,但是效果一般,已被弃用。stereo2是我们设备自带的主SLAM算法,会长期维护并更新升级。
2)算法控制
算法控制包含了六个按键

启动:点击即可启动选中的算法,启动后上面的系统状态会更新到相应的状态,启动按钮会变成停 止,点击停止即可停止算法。重置:重置设备当前位姿,但不清除词袋信息,当设备触发词袋回环时,仍可重定位到之前词袋记 录的位姿。
算法重启:重启整个算法,并清除之前记录并加载在算法的词袋信息,词袋会重新开始记录。
清除轨迹:清除UI当前显示的轨迹和点云。词袋地图:加载词袋地图时,在UI上面显示关键帧位姿。添加关键帧 :手动添加一帧关键帧到词袋里面。保存BOW :将本次运行生成的词袋地图保存到指定路径。
3)其他控制

关闭视频 :关闭UI视频流显示。关机 :关闭设备的程序,用于程序升级。打开:打开设备的文件服务器,用于修改配置,查看保存的文件等。设备重启:点击按钮后,整个设备系统会直接重启,用于一些配置向修改生效。TOF ON(OFF) :TOF手动开关(TOF版可用)LED ON(OFF) :补光灯手动开关(补光灯版可用)坐标 :设备当前位姿显示。全局一致:根据运行过程的关键帧重新生成一个完整的点云地图,加入滤波和修正。保存PCD:将全局一致生成的点云保存PCD。
4.设置页面
点击设置页面,会弹出一个小窗口,对应五个标签栏
1)network
设置对应网络的ip、子网掩码、网关,配置后点确定,设备重启即可生效。

2)viobot

此页面设置需要重启设备才能生效!
左边补光灯和TOF的勾勾上表示设备上电启动时会自动开启补光灯/TOF,如果需要手动开启可以点击UI上面那两个独立按键。imu频率:默认200Hz,现最高支持400Hz,没有特殊需求一般不建议修改。image频率:相机帧率,基础版兼顾开销最好的是15fps,PRO版25fps。自动曝光:前面的勾勾上则开启自动曝光,根据下面设置的常规亮度来调节相机成像亮度,如果不需 要自动曝光,则将勾去掉,单独设置下面的曝光时间。自动增益:前面的勾勾上则开启自动增益,该功能在场景特别暗的时候好用,但在一般场景下,开启 自动增益可能会影响算法精度。曝光时间:曝光时间在去掉上面的自动曝光的勾时可设置,如果要用到这个设置,可能需要用户自行 根据不同设置值下的成像表现来设置,属于经验值。调大图片 会变量,调小会变暗,取值 范围:1~65535。增益等级:自动增益勾去掉时可设置,推荐值1,如果画面太暗,效果不佳可设置为2。常规亮度:推荐室内:80~95;室外:120~135;根据画面亮度手动调节。

3)stereo2


TOF:勾选则使用TOF建图,如果勾选但是没有开启TOF传感器,stereo2将会一直卡在初始化状态。Z轴修正:用于修正Z轴偏差,默认关,如果Z轴偏差过大建议勾选。点云密度:pro版默认设置为16,基础版默认32。滤波参数:设置过滤点云的孤立点,单位m,建议0.15。点云最小深度:0.1以内的点深度准确性变低,不建议设置更小的值,往大了设可以屏蔽一些特别近的噪点,单位(m)
点云最大深度:深度管理的最大半径,室外大场景可以设置为100.默认室内20~35即可.
4)loop

加载词袋地图:在使用历史词袋地图时,勾选会自动加载下面路径下的词袋地图。保存关键帧图片:勾选则会保存所有关键帧的图片到下面那个路径下,一般不勾选,因为会占用太多磁盘空间。添加关键帧:设置添加关键帧的方式:手动/自动;设置为手动,在没有手动添加关键帧时,可以屏蔽掉回环的影响。保存词袋地图的路径:设置保存词袋地图的路径。注意:该路径是在设备上的。
5)version

这页记录了这台设备的基本信息,以及程序的版本。
相关文章:
Viobot基本功能使用及介绍
设备拿到手当然是要先试一下效果的,这部分可以参考本专栏的第一篇 Viobot开机指南。 接下来我们就从UI开始熟悉这个产品吧! 1.状态 设备上电会自动运行它的程序,开启了一个服务器,上位机通过连接这个服务器连接到设备,…...
《PMBOK指南》第七版12大原则和8大绩效域
《PMBOK指南》第七版12大原则 原则1:成为勤勉、尊重和关心他人的管家 原则2:营造协作的项目团队环境 原则3:有效地干系人参与 原则4:聚焦于价值 原则5:识别、评估和响应系统交互 原则6:展现领导力行为…...
docker 启动命令
cd /ycw/docker docker build -f DockerFile -t jshepr:1.0 . #前面测试docker已经介绍过该命令下面就不再介绍了 docker images docker run -it -p 7003:9999 --name yyy -d jshepr:1.0 #上面运行报错 用这个 不报错就不用 docker rm yyy docker ps #查看项目日志 docker …...
C++ DAY7
一、类模板 建立一个通用的类,其类中的类型不确定,用一个虚拟类型替代 template<typename T> 类template ----->表示开始创建模板 typename -->表明后面的符号是数据类型,typename 也可以用class代替 T ----->表示数据类型…...
Vue2 使用插件 Volar 报错:<template v-for> key should be placed on the <template> tag.
目录 问题描述 版本描述 问题定位 问题解决 VS Code 插件地址 问题描述 在 VS Code 上使用插件 Volar 开发 Vue3 项目,然后去改 Vue2 项目时,对没有放在<template v-for> 元素上的 :key,会提示 <template v-for> key should…...
启动线程方法 start ()和 run ()有什么区别
在Java中,线程可以通过调用start()方法或者直接调用run()方法来执行。这两种方式有着重要的区别: start() 方法:当你调用线程的start()方法时,它会使线程进入就绪状态,等待系统调度。系统会为该线程分配资源,并在合适的时机执行线程的run()方法。实际上,start()方法会启…...
Java的全排列模板
c有全排列函数,我们Java没有,所以我们只能自己手写了。 模板一:(不去重) import java.util.ArrayList; import java.util.Random; import java.util.Scanner; public class liyunpeng {public static void main(Stri…...
读书笔记——《万物有灵》
前言 上一本书是《走出荒野》,太平洋步道女王提到了这本书《万物有灵》,她同样是看一点撕一点的阅读。我想,在她穿越山河森林,听见鸟鸣溪流的旅行过程中,是不是看这本描写动物有如何聪明的书——《万物有灵》…...
面试现场表现:展示你的编程能力和沟通技巧
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
34亿的mysql表如何优雅的扩字段长度兵并归档重建
业务背景: 该系统有一张表数据量已达到34亿,并且有个字段长度不够,导致很多数据无法插入。因为业务只要保留近2个月数据即可,所以需要接下来需要做2点:1,扩字段长度 2,只保留近2个月的数据。 …...
C#_进程单例模式.秒懂Mutex
什么是Mutex? 可以定义调用线程是否具有互斥性,程序创建者拥有控制权,相反只能引用程序。 参数1:如果是程序创建者,就获得控制权。 参数2:名称,可使用GUID生成。 参数3:out 返回值…...
AcWing 5050. 排序 (每日一题)
题目描述 给定一个长度为 n 的由小写字母构成的字符串。 请你按照 a∼z 的顺序,对字符串内的字符进行重新排序,并输出重新排序后的字符串。 输入格式 第一行包含整数 T ,表示共有 T 组测试数据。 每组数据第一行包含整数 n 。 第二行包…...
【TypeScript】proxy 和 Reflect
proxy (代理) 和 Reflect (反射) 参数一样。 基本用法 let person { name: xx, age: 20} // proxy 支持对象,数组,函数,set,map // 代理对象的常用模式:前面一个对象&…...
STM32f103入门(5)定时器中断
STM32 TIM(定时器/计数器)模块的中断流程如下: 配置TIM寄存器:首先,通过配置TIM相关的寄存器来设置计时器的基本参数,例如预分频系数、计数模式、计数器周期等。 使能TIM中断:使用TIM_ITConfig函…...
Mybatis查询数据
上一篇我们介绍了在pom文件中引入mybatis依赖,配置了mybatis配置文件,通过读取配置文件创建了会话工厂,使用会话工厂创建会话获取连接对象读取到了数据库的基本信息。 如果您需要对上面的内容进行了解,可以参考Mybatis引入与使用…...
【前车之鉴】: 2023最新教程-将java程序打包到maven私服的正确打开方式,详细流程介绍不怕你掌握不了
文章目录 为什么看这篇整体流程1. 注册账号【首次需要】2. 工单申请【新项目必须】3. 项目配置【新项目必须】4. 授权认证【新项目必须】5. 一键发布 最后也很重要 为什么看这篇 一是当前网络上一些博客有遗漏部分,这里做补充,二是网上思路没错ÿ…...
如何理解IaaS、PaaS、SaaS?盘点受欢迎的八大SaaS平台!
如何理解IaaS、PaaS、SaaS?他们各自的优势在哪里?我们又应该如何选择?本篇将带大家深入浅出的了解IaaS、PaaS、SaaS,并为大家盘点2023最受欢迎的SaaS平台。 通过本文你将了解: IaaS、PaaS、SaaS分别是什么我们该如何理…...
立创EDA专业版的原理图上器件有一个虚线框
立创EDA专业版的原理图上器件有一个虚线框解决方法 问题分析: 在使用立创EDA专业版 设计电路原理图时,中途莫名其妙就给我的元件添加了下面图片所示的虚线外框。看着就很别扭的样子,而且工程大了和器件稍微布局比较密的时候就导致整体很难看…...
JUC并发编程--------基础篇
一、多线程的相关知识 栈与栈帧 我们都知道 JVM 中由堆、栈、方法区所组成,其中栈内存是给谁用的呢?其实就是线程,每个线程启动后,虚拟 机就会为其分配一块栈内存。 每个栈由多个栈帧(Frame)组成…...
秒懂算法2
视频链接 : 希望下次秒懂的是算法题_哔哩哔哩_bilibili P1094 [NOIP2007 普及组] 纪念品分组 原题链接 : [NOIP2007 普及组] 纪念品分组 - 洛谷 思路 : 排序 贪心 双指针首先先对输入进来的数组进行排序(由小到大)运用贪心的思想 : 前后结合,令l1,rn,若a[l]a[r]<w…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...
前端工具库lodash与lodash-es区别详解
lodash 和 lodash-es 是同一工具库的两个不同版本,核心功能完全一致,主要区别在于模块化格式和优化方式,适合不同的开发环境。以下是详细对比: 1. 模块化格式 lodash 使用 CommonJS 模块格式(require/module.exports&a…...
Java中栈的多种实现类详解
Java中栈的多种实现类详解:Stack、LinkedList与ArrayDeque全方位对比 前言一、Stack类——Java最早的栈实现1.1 Stack类简介1.2 常用方法1.3 优缺点分析 二、LinkedList类——灵活的双端链表2.1 LinkedList类简介2.2 常用方法2.3 优缺点分析 三、ArrayDeque类——高…...
P10909 [蓝桥杯 2024 国 B] 立定跳远
# P10909 [蓝桥杯 2024 国 B] 立定跳远 ## 题目描述 在运动会上,小明从数轴的原点开始向正方向立定跳远。项目设置了 $n$ 个检查点 $a_1, a_2, \cdots , a_n$ 且 $a_i \ge a_{i−1} > 0$。小明必须先后跳跃到每个检查点上且只能跳跃到检查点上。同时࿰…...
