Viobot输出数据说明

一.原始数据

1.ROS话题

1)相机原始图像数据

Type: sensor_msgs::Image
Topic: 左目:/image_left 右目:/image_right

2)imu数据

Type: sensor_msgs::Imu
Topic: /imu

3)TOF数据

点云数据:

Type: sensor_msgs::PointCloud2
Topic: /tof_cloud
(x,y,z)

深度图:

Type: sensor_msgs::Image
Topic: /depth_image

幅度图:

Type: sensor_msgs::Image
Topic: /amp_image

4)系统状态

#此项为自定义的ros msg,可以在SDK例程里面找到

Type: system_ctrl::viobot_ctrl
Topic: /sys_status

2.http输出

二.算法输出

1.位姿

开启stereo2算法后,双目自动完成初始化,直接输出位姿。对应上位机的相机框。

Type: nav_msgs::Odometry
Topic:/pr_loop/odometry_rect
Odometry是包含了位姿(pose)和速度(twist)的.

2.点云

点云需要开启stereo2算法后才有输出。

如UI所示的,stereo2输出的点云有三种——stereo2原生点云,RDF点云,以及TOF点云(TOF版本)。

需要注意的是所有点云发送的话题都是实时的,只有用户自己保存每一帧才有历史点云的说法,上位机显示的是所连接设备发上来的所有点云,点云的坐标系是紧跟着以算法开机初始化后的第一个位姿为原点的“世界”系坐标下的。

1)stereo2点云

这是直接法直接输出的点云,是根据图片的梯度点计算出来的点深度的集合,所以单帧是成一个散射状态的,这跟摄像头的成像原理有关,当相机运动起来之后,上位机记录的点云多了,才会慢慢的建出一定的形状出来。

此点云的ROS话题为:

Type: sensor_msgs::PointCloud2 
Topic:/pr_loop/points

注意:点云生成是在产生新的关键帧的时候,所以点云的发布频率是不固定的,它的发布频率跟位姿发布频率是一致的。

2)RDF点云

这是根据stereo2点云经过滤波和补点(增加稠密度)产出的,它的杂点更少,相对于stereo2点云也更加稠密,相对直观,可用于实时避障。

 此点云的ROS话题为:

Type: sensor_msgs::PointCloud2 
Topic:/pr_loop/points_rdf

3)TOF融合点云(TOF版)

需要开启TOF。

这是TOF相机数据降采样并融合了相机位姿后的点云,并非TOF的原始点云,可直接用于避障。

此点云的ROS话题为:

Type: sensor_msgs::PointCloud2 
Topic:/pr_loop/tof_points

 发布频率同样是与位姿发布频率一致。

4)其他点云

开启算法之后用户可以看到加了一个_adjusted后缀的点云

/pr_loop/points_adjusted/pr_loop/tof_points_adjusted

这两组是后续建全局先验全局地图使用的,后续教程会慢慢讲解。

三.参数数据

1.相机内参

1)ROS话题

Type:sensor_msgs::CameraInfo
Topic:左目内参:/camera_left_info  右目内参:/camera_right_info tof内参:/tof_info

2)http

 2.imu内参

文件地址:"/home/PRR/Viobot/install/share/viobot/cali/imu/imu.yaml"

或者使用http获取

3.外参文件

这两个外参文件暂时没有程序获取接口,可以直接访问文件获取。

imu到左目外参文件地址:"/home/PRR/Viobot/install/share/viobot/cali/extrinsic/imu_cam.yaml"

tof到左目外参文件地址:"/home/PRR/Viobot/install/share/viobot/cali/tof/tof_cam.yaml"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/58410.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法与数据结构(十)--图的入门

一.图的定义和分类 定义:图是由一组顶点和一组能够将两个顶点连接的边组成的。 特殊的图: 1.自环:即一条连接一个顶点和其自身的边; 2.平行边:连接同一对顶点的两条边; 图的分类: 按照连接两个顶点的边的…

带你速览主数据管理(MDM)的前世今生

主数据管理的历史可以追溯到很久以前,可以说主数据管理是生产生活的一部分。随着社会生产力和生产工具的不断发展,主数据和主数据管理在其中的作用不断提升,成为当今政府、企业和社会团队等组织管理中必不可少基础管理工作,同时也…

FrameBuffer 应用编程

目录 什么是FrameBufferLCD 的基础知识使用ioctl()获取屏幕参数信息使用mmap()将显示缓冲区映射到用户空间 LCD 应用编程练习之LCD 基本操作LCD 应用编程练习之显示BMP 图片BMP 图像介绍在LCD 上显示BMP 图像在开发板上测试 在LCD 上显示jpeg 图像在LCD 上显示png 图片LCD 横屏…

强化学习(2)

强化学习(1) 1.多智能体深度强化学习重要性采样 多智能体深度强化学习(Multi-Agent Deep Reinforcement Learning,MADRL)是指在多智能体环境下使用深度强化学习算法进行协同学习。重要性采样(Importance Sampling)是…

C语言_分支和循环语句(2)

文章目录 前言一、for 循环1.1语法1.2 for 语句的循环控制变量1.3 一些 for 循环的变种 二、do ... while()循环2.1 do 语句的语法2.2 do ... while 循环中的 break 和 continue2.3 练习1 **- 计算n的阶乘**2. - **在一个有序数组中查找具体的某个数字 n** 二分查找算法&#x…

68、使用aws官方的demo和配置aws服务,进行视频流上传播放

基本思想:参考官方视频,进行了配置aws,测试了视频推流,rtsp和mp4格式的视频貌似有问题,待调研和解决 第一步:1) 进入aws的网站,然后进入ioT Core 2)先配置 Thing types & Thing,选择香港的节点,然后AWS ioT--->Manage---> Thing type 然后输入名字,创建Th…

React钩子函数之forwardRef

React是一个非常流行的JavaScript库,用于构建用户界面。它提供了一种简单而强大的方式来管理组件的状态和行为。其中一个非常有用的功能是钩子函数,它们允许我们在组件的生命周期中执行代码。 在本文中,我们将探讨React的一个重要钩子函数—…

计算机视觉之图像特征提取

图像特征提取是计算机视觉中的重要任务,它有助于识别、分类、检测和跟踪对象。以下是一些常用的图像特征提取算法及其简介: 颜色直方图(Color Histogram): 简介:颜色直方图表示图像中各种颜色的分布情况。通…

screen命令,可以断开服务器连接,依旧能运行你的程序了

可以参考博客1:https://blog.csdn.net/nima_zhang_b/article/details/82797928 可以参考博客2:https://blog.csdn.net/herocheney/article/details/130984403 Linux中的screen是一个命令行工具,可以让用户在同一个终端会话中创建多个虚拟终端。它非常有…

CMake调用第三方库的两种方法

为了让连接器搜索到库路径,一般有两种方法 link_directories命令 使用步骤## 在add_executable或add_library前引入第三方库 # 1.引入第三方库,${THIRD_PARTY_PREFIX}为用户定义的第三方库目录 link_directories(${THIRD_PARTY_PREFIX}/lib) # 2.增加第三方库头文…

null值 字段运算

null值字段运算前先把null转成0 test表如下,num2为null select num1-num2 from test; 结果为null减去null值结果为null select sum(num1),SUM(num2) from test ;sum求和结果为null 判断字段是null不能用 null ,要用is null 错误写法: select IF(…

Spring AOP基于注解方式实现和细节

目录 一、Spring AOP底层技术 二、初步实现AOP编程 三、获取切点详细信息 四、 切点表达式语法 五、重用(提取)切点表达式 一、Spring AOP底层技术 SpringAop的核心在于动态代理,那么在SpringAop的底层的技术是依靠了什么技术呢&#x…

CSS按钮-跑马灯边框

思路很简单&#xff0c;实现方法有很多很多。但是大体思路与实现方法都类似&#xff1a;渐变色 动画&#xff0c;主要区别在动画的具体实现 0、HTML 结构 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><titl…

服务网格实施周期缩短 50%,丽迅物流基于阿里云 ACK 和 ASM 的云原生应用管理实践

作者&#xff1a;王夕宁、 刘强、 华相 公司介绍 丽迅物流是百丽旗下专注于时尚产业、为企业提供专业物流及供应链解决方案的服务商。其产品服务主要包括城市落地配、仓配一体、干线运输及定制化解决方案。通过自研智能化物流管理平台&#xff0c;全面助力企业合作集约化发展…

ChatGPT时代的我的博客

好久没有在CSDN写原创文章了。 ChatGPT出来之后&#xff0c;肯定对CSDN这样的平台有很大的冲击性。 我平时在CSDN写的文章&#xff0c;大多是翻译和一些平时编程遇到的代码问题。小部分是一些自己的经验和总结。 这些文章会被ChatGPT&#xff0c;或者更通用的说&#xff0c;…

4年外包出来,5次面试全挂....

我的情况 大概介绍一下个人情况&#xff0c;男&#xff0c;毕业于普通二本院校非计算机专业&#xff0c;18年跨专业入行测试&#xff0c;第一份工作在湖南某软件公司&#xff0c;做了接近4年的外包测试工程师&#xff0c;今年年初&#xff0c;感觉自己不能够再这样下去了&…

leetcode 739. 每日温度

2023.8.28 本题用暴力双层for循环解会超时&#xff0c;所以使用单调栈来解决&#xff0c;本质上是用空间换时间。维护一个单调递减栈&#xff0c;存储的是数组的下标。 代码如下&#xff1a; class Solution { public:vector<int> dailyTemperatures(vector<int>&…

CPU和GPU的区别

介绍什么是GPU, 那就要从CPU和GPU的比较不同中能更好更快的学习到什么是GPU CPU和GPU的总体区别 CPU&#xff1a; 叫做中央处理器&#xff08;central processing unit&#xff09; 可以形象的理解为有25%的ALU(运算单元)、有25%的Control(控制单元)、50%的Cache(缓存单元)…

笔记:transformer系列

1、和其他网络的比较 CNN归纳偏置&#xff08;inductive bias&#xff0c;目标函数的必要假设) 1、平移不变性&#xff1a;平移旋转缩放等变化&#xff0c;CNN依旧能够识别 2、空间局部性&#xff1a;局部像素联系密切&#xff0c;因此每个神经元无需有全局感知&#xff0c;在…

webassembly003 ggml ADAM (暂记)

Adam优化器的工作方式是通过不断更新一阶矩估计和二阶矩估计来自适应地调整学习率&#xff0c;并利用动量法来加速训练过程。这种方式可以在不同的参数更新方向和尺度上进行自适应调整&#xff0c;从而更有效地优化模型。 https://arxiv.org/pdf/1412.6980.pdf 参数 这些参数…