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

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

3天内不再提示

MATLAB消息结构获取方法

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

消息结构获取

ROS消息是对象,消息数据存储在属性中。MATLAB具有方便的方法来查找和探索消息的内容。

如果订阅了/pose主题,则可以接收和检查发送的消息。

posesub = rossubscriber("/pose","DataFormat","struct")
posesub =
Subscriber with properties:
TopicName: ‘/pose’
LatestMessage: []
MessageType: ‘geometry_msgs/Twist’
BufferSize: 1
NewMessageFcn: []
DataFormat: ‘struct’

使用receive从订阅者获取数据。一旦接收到新消息,函数将返回该消息并将其存储在posedata变量中(第二个参数是以秒为单位的超时)。

posedata = receive(posesub,10)
posedata = struct with fields:
MessageType: ‘geometry_msgs/Twist’
Linear: [1x1 struct]
Angular: [1x1 struct]

该消息的类型为geometry_msgs/Twist。消息中还有另外两个字段:Linear和Angular。

您可以通过直接访问这些消息字段来查看它们的值:

posedata.Linear
ans = struct with fields:
MessageType: ‘geometry_msgs/Vector3X: 0.0457
Y: -0.0015
Z: 0.0300
posedata.Angular
ans = struct with fields:
MessageType: ‘geometry_msgs/Vector3X: -0.0358
Y: -0.0078
Z: 0.0416

这些消息字段的每个值实际上都是一条消息。它们的消息类型是geometry_msgs/Vector3。

geometry_msgs/Twist是由两条

geometry_msgs/Vector3消息组成的复合消息。

xpos = posedata.Linear.X

xpos = 0.0457

如果希望快速总结消息中包含的所有数据,请调用rosShowDetails函数。rosShowDetails适用于任何类型的消息,并递归地显示所有消息数据字段。

rosShowDetails(posedata)
ans =

MessageType : geometry_msgs/Twist
Linear
MessageType : geometry_msgs/Vector3
X : 0.04571669482429456
Y : -0.001462435127715878
Z : 0.03002804688888001
Angular
MessageType : geometry_msgs/Vector3
X : -0.03581136613727846
Y : -0.007823871737372501
Z : 0.04157355251890671’

rosShowDetails在调试期间和希望快速查看消息内容时提供帮助。

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

    关注

    175

    文章

    2924

    浏览量

    228441
  • 变量
    +关注

    关注

    0

    文章

    596

    浏览量

    28112
  • ROS
    ROS
    +关注

    关注

    1

    文章

    271

    浏览量

    16682
收藏 人收藏

    评论

    相关推荐

    离散点采样方法MATLAB实现

    谁有离散点采样方法MATLAB实现的代码 老师说是用于图像处理上的基于目标区域和基于目标边界两类方法的优势,用阴采样图获取目标图像中目标的边界信息,用阳采样图
    发表于 03-16 00:16

    慕课matlab学习 第三章-012 matlab基本结构 精选资料分享

    慕课matlab学习 第三章-01201-顺序结构顺序% 第三节 程序流程控制% 01-顺序结构顺序%程序设计的基本步骤:%1、分析问题,确定求解问题的数学模型或方法%2、设计算法,并
    发表于 08-18 07:31

    MATLAB方法去高斯白噪声

    MATLAB方法
    发表于 10-16 17:25 0次下载

    MATLAB设计FIR滤波器的方法

    MATLAB设计FIR滤波器的方法 摘  要 介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法:程序设计法、FDATool设计法和SPTool设计法,给
    发表于 01-16 18:12 1.5w次阅读
    用<b class='flag-5'>MATLAB</b>设计FIR滤波器的<b class='flag-5'>方法</b>

    Matlab使用方法和程序设计

    Matlab使用方法和程序设计 实验一 Matlab使用方法和程序设计一、
    发表于 10-17 00:18 5178次阅读
    <b class='flag-5'>Matlab</b>使用<b class='flag-5'>方法</b>和程序设计

    matlab2009安装方法及问题过程

    matlab2009安装方法及问题过程 Matlab R2009a安装方法如下: 1) choose "install manually without using t
    发表于 03-22 17:56 4468次阅读

    基于结构组件库的MEMS设计方法

    提出了一种基于结构组件库的 MEMS 概念设计方法。给出了结构组件的表征形式,探讨了基于功能分解的结构组件模型获取
    发表于 07-27 16:49 34次下载
    基于<b class='flag-5'>结构</b>组件库的MEMS设计<b class='flag-5'>方法</b>

    数值方法MATLAB实现与应用

    数值方法MATLAB实现与应用,又需要的下来看看。
    发表于 05-19 14:37 0次下载

    基于matlab的dsp调试方法

    基于matlab的dsp调试方法
    发表于 10-23 14:35 8次下载
    基于<b class='flag-5'>matlab</b>的dsp调试<b class='flag-5'>方法</b>

    MATLAB程序调试的方法及工具介绍

    MATLAB程序设计之MATLAB程序调试的方法及工具介绍。
    的头像 发表于 07-13 17:50 6156次阅读
    <b class='flag-5'>MATLAB</b>程序调试的<b class='flag-5'>方法</b>及工具介绍

    MATLAB中的编程和数值方法

      本文介绍了通常使用的数值方法在科学和工程学本科课程中遇到(并使用过)。这材料是与MATLAB协同开发的,可快速进行原型制作和测试方法。软件包MATLAB(矩阵实验室)提供了一个环境
    发表于 05-25 10:48 1次下载

    Matlab的数值方法与工作例子

    Matlab的数值方法与工作例子分析。
    发表于 05-27 09:23 0次下载

    C调用matlab方法

    C调用matlab方法介绍
    发表于 07-31 10:55 0次下载

    结构体大小的获取

    我们使用sizeof()函数来获取结构体的大小。
    的头像 发表于 03-14 17:30 711次阅读

    MATLAB中条件语句和循环结构的使用方式

    MATLAB提供了多种条件语句和循环结构
    的头像 发表于 07-05 09:41 2512次阅读