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…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙
WebGL:在浏览器中解锁3D世界的魔法钥匙 引言:网页的边界正在消失 在数字化浪潮的推动下,网页早已不再是静态信息的展示窗口。如今,我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室,甚至沉浸式的V…...
Vuex:Vue.js 应用程序的状态管理模式
什么是Vuex? Vuex 是专门为 Vue.js 应用程序开发的状态管理模式 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 在大型单页应用中,当多个组件共享状态时,简单的单向数据流…...
LSTM-XGBoost多变量时序预测(Matlab完整源码和数据)
LSTM-XGBoost多变量时序预测(Matlab完整源码和数据) 目录 LSTM-XGBoost多变量时序预测(Matlab完整源码和数据)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 普通的多变量时序已经用腻了,审稿人也看烦了&#…...
