[Doc][ROS2]订阅发布、服务客户端区别

发布/订阅(Publish/Subscribe)
发布/订阅是一种异步通信机制,用于在节点之间传递连续的数据流。

特点:
1.一对多通信:

发布者(Publisher)可以向一个主题(Topic)发布消息,任何订阅了该主题的订阅者(Subscriber)都会接收到消息。
一个主题可以有多个发布者和订阅者。
2.异步通信:

发布者不需要等待订阅者的响应,它只负责发送消息,消息将由订阅者自行处理。发布者和订阅者是松耦合的,不依赖于彼此的状态。
3.用于连续数据流:

发布/订阅通常用于传递实时的、连续的数据,比如传感器读数、机器人状态、视频流等。
4.无确认机制:

订阅者可能会错过发布者发送的某些消息,尤其是在订阅者没有启动或暂时掉线时。
典型应用场景:
传感器数据传输:如相机发布图像数据,多个节点可以订阅这些图像数据进行处理。
状态广播:机器人可以通过发布位置信息,多个控制器可以订阅并实时更新机器人的状态。

典型应用场景:
传感器数据传输:如相机发布图像数据,多个节点可以订阅这些图像数据进行处理。
状态广播:机器人可以通过发布位置信息,多个控制器可以订阅并实时更新机器人的状态。

发布/订阅的简单例子

create_publisher 函数用于创建发布者节点,以便将消息发布到指定的主题上。这个函数有三个主要参数,分别是消息类型、主题名称和 QoS 设置(队列深度)。

create_publisher(message_type, topic_name, qos_depth)
  • message_type(消息类型)

    • 类型:消息类型(Message Type)
    • 描述:定义发布的消息类型,通常来自 ROS 2 中的消息包(msg 文件)。它规定了消息的结构。例如,std_msgs.msg.String 表示消息是一个字符串类型,消息结构为单个字符串字段 data
    • 例子std_msgs.msg.String<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值