matlab实现订阅和发布,初识MATLAB-ROS工具箱——1.4 使用发布器和订阅器交换数据...

本文介绍了如何在MATLAB中使用ROS工具箱进行数据交换,包括订阅和发布主题。通过实例展示了如何创建发布器和接收器,以及如何使用回调函数处理新消息。同时,详细阐述了如何订阅并解析不同类型的ROS消息,如'LaserScan'和'String',并提供了相应代码示例。
摘要由CSDN通过智能技术生成

1.4 使用发布器和订阅器交换数据

1.4.1 引言

ROS节点最基本的交换数据的方式是发送和接收消息。消息通过主题传输,在ROS网络中,每一个主题都有唯一的名称。如果一个节点想要共享数据,那么它就要使用发布器将数据发送到主题。一个节点想要接收数据,需要使用接收器监听相应的主题。除了具有唯一的名称,每个主题都具有消息类型,决定主题所能传输的消息类型。

发布器/接收器具有如下特征:

主题用于多对多通信,多个发布器可以发送消息到同样的主题,多个接收器也可以接收同样的主题的数据。

发布器和接收器与主题是解耦的不挂钩的,它们可以用任何规则创建或者销毁。在主题没有接收器的情况下,消息仍然可以发送到主题上。

主题、发布器和接收器的概念如下图所示:

48d1080c6ba6122aebb4077936747d96.png

图4.1

这个例子展示了在ROS网络中怎样发布和订阅主题,另外还展示了:

等待直到接收新的消息。

使用后台调用的形式处理新消息。

需要的预备知识:1.2开始使用ROS,1.3连接到ROS网络。

1.4.2 订阅和等待消息

在MATLAB®中启动ROS主控节点,创建一个带有若干发布器和接收器的采样ROS网络。代码运行示例:

rosinit

exampleHelperROSCreateSampleNetwork

Initializ

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值