0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器人中特殊的消息类型

麦辣鸡腿堡 来源:古月居 作者:敢敢のwings 2023-11-15 15:50 次阅读

图像信息

MATLAB提供了对图像消息的支持,其消息类型始终为sensor_msgs/Image。

使用rosmessage创建一个空图像消息,以查看图像消息的标准ROS格式。

emptyimg = rosmessage("sensor_msgs/Image",DataFormat="struct")
emptyimg = struct with fields:
MessageType: ‘sensor_msgs/Image’
Header: [1x1 struct]
Height: 0
Width: 0
Encoding: ‘’
IsBigendian: 0
Step: 0
Data: [0x1 uint8]

为了方便起见,从specialROSMessageData.mat加载一个完全填充并存储在img变量中的图像消息。

在工作空间中检查图像消息变量img。图像的大小存储在Width和Height属性中。ROS使用data属性中的向量发送实际图像数据。

load("specialROSMessageData.mat")
img
img = struct with fields:
MessageType: ‘sensor_msgs/Image’
Header: [1x1 struct]
Height: 480
Width: 640
Encoding: ‘rgb8’
IsBigendian: 0
Step: 1920
Data: [921600x1 uint8]

Data属性存储无法在MATLAB中直接用于处理和可视化的原始图像数据。

可以使用rosReadImage函数以与MATLAB兼容的格式检索图像。然后通过imshow显示

imageFormatted = rosReadImage(img);
imshow(imageFormatted)

** 点云信息**

点云可以被机器人技术中使用的各种传感器捕获,包括激光雷达、Kinect®和立体摄像机。

ROS中用于传输点云的最常见消息类型是sensor_msgs/PointCloud2, MATLAB提供了一些专门的函数来处理这些数据。具体步骤和图像大同小异

emptyptcloud = rosmessage("sensor_msgs/PointCloud2",DataFormat="struct")
% xyz = rosReadXYZ(ptcloud)% 通过调用rosReadXYZ函数,可以将x、y、z坐标提取为N乘3矩阵。
% xyzValid = xyz(~isnan(xyz(:,1)),:)%可以安全地删除所有NaN值
rgb = rosReadRGB(ptcloud)
rosPlot(ptcloud)

使用rosReadAllFieldNames函数检查点云消息中存储的所有字段。加载的点云消息包含x、y、z和rgb四个字段。

fieldNames = rosReadAllFieldNames(ptcloud)

fieldNames = 1x4 cell
{‘x’} {‘y’} {‘z’} {‘rgb’}

占用栅格地图信息

ROS使用Octomap消息实现3D占用网格。八叉树地图信息通常用于机器人应用,如3D导航。

您可以通过创建适当类型的空消息来查看octomap消息的标准ROS格式。具体步骤和图像大同小异

emptyoctomap = rosmessage("octomap_msgs/Octomap",DataFormat="struct")
occupancyMap3DObj = rosReadOccupancyMap3D(octomap);
show(occupancyMap3DObj)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    182

    文章

    2963

    浏览量

    230211
  • 机器人
    +关注

    关注

    210

    文章

    28239

    浏览量

    206644
  • ROS
    ROS
    +关注

    关注

    1

    文章

    276

    浏览量

    16969
收藏 人收藏

    评论

    相关推荐

    工业机器人应用广泛

    和压机的加工设备中。码垛机:工业机器人将瓦楞纸箱或其他包装物品以规定的图案装载到托盘上。机器人码垛机依靠固定位置或具有特殊工具的顶置式龙门架机器人,与各个负载组件相连接,构建简单到托盘
    发表于 09-07 17:20

    嵌入式系统在机器人中的应用

    10亿美金的技术高度密集移动机器人,采用的是VxWorks 操作系统,它可以在不与地球联系的情况下自主工作。下面从运动控制系统、远程控制、视频监控系统三个方面分析嵌入式系统在机器人中的应用情
    发表于 07-06 11:08

    现代机器人中有什么传感器?

    控制和通信 IC 的发展在实现下一代的机器人中起到重要作用。然而,这些复杂的现代机器人的核心是许多新的、小型化和低成本的传感技术的出现与融合。对实现下一代机器人至关重要的几项关键传感器技术包括磁性位置传感器、存在传感器、手势传感
    发表于 07-31 07:46

    嵌入式技术在机器人中发挥什么作用

    嵌入式技术在机器人中这样发挥作用!
    发表于 05-11 13:17

    机器人有哪些类型

    机器人有哪些类型
    发表于 06-18 06:41

    工业机器人中面对的控制问题是什么

    刚开始接触机器人的时候,我在师兄的机器人代码里死活找不到有关控制计算的函数,作为常年和控制框图打交道的我,很是疑惑控制回路去哪里了?因此本文介绍一下工业机器人中的控制问题。参考华科贺磊博士的观点
    发表于 06-28 09:29

    一般机器人驱动机构中电机的选择问题

    机器人中,执行机构一般分为液压驱动和电机驱动两种类型,其中又以电机驱动最为常见。本文主要讨论一般机器人驱动机构中电机的选择问题。机器人中常用的电机分为有刷直流电机、无刷直流电机、永磁
    发表于 08-27 07:46

    一般机器人驱动机构中电机的选择问题

    机器人中,执行机构一般分为液压驱动和电机驱动两种类型,其中又以电机驱动最为常见。本文主要讨论一般机器人驱动机构中电机的选择问题。机器人中常用的电机分为有刷直流电机、无刷直流电机、永磁
    发表于 09-01 06:12

    工业机器人中有哪些控制问题

    工业机器人中的伺服驱动的目的是什么?工业机器人中的关节内部驱动结构是怎样构成的?
    发表于 10-11 08:37

    浅谈儿童陪护机器人

    儿童陪护机器人越来越受到人们的关注,其中转动控制是其重要组成部分之一。步进电机芯片作为一种常用的控制芯片,被广泛应用于儿童陪护机器人中的转动控制。本文将从步进电机芯片的工作原理、优势和应用场景等方面
    发表于 05-11 15:12

    电动喷涂机器人中的步进电机控制

    电动喷涂机器人中的步进电机控制 本文详细介绍了步进电机的位置控制、速度控制以及连续轨迹示教机器人中的关键技术 --轨迹再现控制
    发表于 03-14 15:13 748次阅读

    工业机器人中的铸造机器人是什么

    在众多的工业机器人中,有一种工业机器人在铸造生产的过程中可以将铸造、清理、机加工等等环节用来代替人工的机器人,被我们称作铸造工业机器人
    发表于 09-02 15:30 1902次阅读

    机器人中的自适应计算

    电子发烧友网站提供《机器人中的自适应计算.pdf》资料免费下载
    发表于 09-14 09:49 0次下载
    <b class='flag-5'>机器人中</b>的自适应计算

    滚珠螺母在工业机器人中的应用优势

    滚珠螺母在工业机器人中的应用优势
    的头像 发表于 10-11 17:46 799次阅读
    滚珠螺母在工业<b class='flag-5'>机器人中</b>的应用优势

    步进电机在工业机器人中的应用

    类型,在工业机器人中发挥着至关重要的作用。本文将从步进电机的定义、特点出发,详细探讨其在工业机器人中的应用,并结合相关案例进行分析,以期为工业机器人技术的发展提供参考。
    的头像 发表于 06-17 10:10 700次阅读