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

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

3天内不再提示

ROS中Message队列介绍

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

Message中的队列

ROS中有一些复杂的消息中可以包含其他的消息,并形成消息数组。

例如在exampleHelperROSCreateSampleNetwork例子中,变量tf包含一个消息,这个消息的主要作用是坐标转换的tf/tfMessage类型。通过输入tf我们可以看到

tf
tf = struct with fields:
MessageType: ‘tf/tfMessage’
Transforms: [1x53 struct]

tf有两个字段:MessageType包含一个标准数据数组,而Transforms包含一个对象数组。

在Transforms中存储了53条消息,它们都具有相同的结构。在Transforms中展开tf以查看结构:

tf.Transforms
ans=1×53 struct array with fields:
MessageType
Header
ChildFrameId
Transform

Transforms中的每个对象都有四个属性。

您可以展开以查看Transforms的Transform字段。下面的命令会返回53个单独的输出,因为每个对象都被求值并返回其Transform字段的值

% tformFields = tf.Transforms.Transform
cellTransforms = {tf.Transforms.Transform}

图片

这将把所有53个对象条目放在一个单元格数组中,这样就可以通过访问标准的MATLAB向量的方式来访问数组元素:

tf.Transforms(5)
ans = struct with fields:
MessageType: ‘geometry_msgs/TransformStamped’
Header: [1x1 struct]
ChildFrameId: ‘/imu_link’
Transform: [1x1 struct]

访问53个变换列表中第五个变换的信息:

tf.Transforms(5).Transform.Translation
ans = struct with fields:
MessageType: ‘geometry_msgs/Vector3X: 0.0599
Y: 0
Z: -0.0141
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    185

    文章

    2974

    浏览量

    230418
  • 数组
    +关注

    关注

    1

    文章

    417

    浏览量

    25940
  • ROS
    ROS
    +关注

    关注

    1

    文章

    278

    浏览量

    17004
收藏 人收藏

    评论

    相关推荐

    Linux下进程通讯消息队列

     MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列存放的内容是message 而已。MQ
    的头像 发表于 08-19 19:56 1817次阅读
    Linux下进程通讯消息<b class='flag-5'>队列</b>

    系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?

    请问一下,百度文库资料里面,下图所示的系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?与前面4GB版本的镜像有什么区别?
    发表于 03-01 23:06

    消息队列经典十连问

    我们通常说的消息队列,简称MQ(Message Queue),它其实就指消息中间件,当前业界比较流行的开源消息中间件包括:RabbitMQ、RocketMQ、Kafka。
    的头像 发表于 03-22 10:08 1269次阅读

    ROS基本介绍

    近来找到的实习主要是做智能车控制,用到的也就是ROS机器人操作系统,ROS需要运行在一个操作系统上,这个操作系统常用的就是Linux,而公司用的就是Ubuntu,所以Ubuntu-ROS组合就是实习的主要学习内容了。所以我就新开
    的头像 发表于 05-19 17:07 7391次阅读
    <b class='flag-5'>ROS</b>基本<b class='flag-5'>介绍</b>

    ROS机器人操作系统的实现原理(上)

    本文介绍ROS机器人操作系统(Robot Operating System)的实现原理,从最底层分析ROS代码是如何实现的。 **1、序列化** 把通信的内容(也就是消息messa
    的头像 发表于 05-19 17:41 992次阅读
    <b class='flag-5'>ROS</b>机器人操作系统的实现原理(上)

    ROS机器人操作系统的实现原理(下)

    本文介绍ROS机器人操作系统(Robot Operating System)的实现原理,从最底层分析ROS代码是如何实现的。 **1、序列化** 把通信的内容(也就是消息messa
    的头像 发表于 05-19 17:42 1166次阅读

    ROS/ROS 2 介绍

    ROS是机器人操作系统(Robot Operating System)的英文缩写。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。ROS的原型源自斯坦福大学的STanford
    的头像 发表于 05-19 17:45 4328次阅读
    <b class='flag-5'>ROS</b>/<b class='flag-5'>ROS</b> 2 <b class='flag-5'>介绍</b>

    FreeRTOS消息队列介绍

    队列是为了任务与任务、任务与中断之间的通信而准备的,可以在任务与任务、任务与中断之间传递消息,队列可以存储有限的、大小固定的数据项目。任务与任务、任务与中断之间要交流的数据保存在队列
    的头像 发表于 07-06 16:58 804次阅读
    FreeRTOS消息<b class='flag-5'>队列</b><b class='flag-5'>介绍</b>

    ROSXMLRPC是什么

    XMLRPC是什么? 关于ROS节点建立连接的技术细节,官方文档说的非常简单,在这里ROS Technical Overview。没有基础的同学看这个介绍必然还是不懂。 在ROS
    的头像 发表于 09-14 17:40 980次阅读

    如何在Matlab自定义Message

    自定义Message 当我们的 message 消息比较复杂时,通常要用到自定义的 message 消息,MATLAB 2020b以上的版本自带了ROS Toolbox Interfa
    的头像 发表于 11-15 18:12 1280次阅读
    如何在Matlab<b class='flag-5'>中</b>自定义<b class='flag-5'>Message</b>

    Matlab创建一个Message方法

    创建一个空白ROS消息,并用机器人路径的X和Y位置填充它。然后将更新后的ROS消息发布到ROS网络。 简单介绍一下Blank Message
    的头像 发表于 11-15 18:18 820次阅读
    Matlab<b class='flag-5'>中</b>创建一个<b class='flag-5'>Message</b>方法

    Unity与ROS链接介绍

    对于ROS而言,其最常用的就是Topic话题以及Service两个了。之前我们在了解Unity Robotics Hub时候就了解到基本的Unity和ROS的通讯,下面我们来详细介绍一下Unity
    的头像 发表于 11-17 17:22 986次阅读
    Unity与<b class='flag-5'>ROS</b>链接<b class='flag-5'>介绍</b>

    ROS核心框架介绍

    message_filter),有些应该是通过socket。 不过ROS的核心框架也就是ros-base主要由Willow Garage公司和一些开发者设计、提供以及维护,它提供了一些分布式计算的基本工具
    的头像 发表于 11-21 18:07 988次阅读
    <b class='flag-5'>ROS</b>核心框架<b class='flag-5'>介绍</b>

    ROS2自带例程测试

    如果你是一个ROS2的开发者,可能对刚才我们使用的ROS2命令比较熟悉,这时你可能也会产生一个问题:我们之前也安装了ROS2系统,那ROS2的原生功能还可以正常运行么? 我们再来试一试
    的头像 发表于 11-28 16:29 962次阅读
    <b class='flag-5'>ROS</b>2<b class='flag-5'>中</b>自带例程测试

    JavaWeb消息队列使用指南

    在现代的JavaWeb应用,消息队列Message Queue)是一种常见的技术,用于异步处理任务、解耦系统组件、提高系统性能和可靠性。 1. 消息队列的基本概念 消息
    的头像 发表于 11-25 09:27 142次阅读