ROS快速入门第三讲——ROS的Subscriber订阅者

简介: ROS快速入门第三讲——ROS的Subscriber订阅者

ROS的Subscriber订阅者


什么是订阅者


接收信息,通过ROS Topic接收来自其它Node的信息,并通过回调函数处理

通常用于监测系统状态,如当机器人关节到达限位位置时触发运动中断

ROS Topic示例


Topic通信过程为:

  1. Publisher节点和Subscriber节点分别在Master进行注册
  2. Publisher发布Topic
  3. Subscriber在Master指挥下订阅Topic,从而建立起Pub-Sub之间的通信

Publisher Node Demo

#!/usr/bin/env python
#-- coding:UTF-8 --
import rospy
from std_msgs.msg import String
def push_msgs():
    rospy.init_node("push_node", anonymous=False)
    push_pub = rospy.Publisher("push", String, queue_size=10)
    rate = rospy.Rate(100)
    while not rospy.is_shutdown():
        msg = "hello world"
        push_pub.publish(msg)
        rospy.loginfo("send message %s", msg)
        rate.sleep()
if __name__ == "__main__":
    push_msgs()

Subscriber Node Demo

#!/usr/bin/env python
#-- coding:UTF-8 --
import rospy
from std_msgs.msg import String
def stringSubscriberCallback(data): #data的数据类型与Subscriber接收的Topic对应的消息类型一致
    rospy.loginfo('The contents of simple_topic: %s', data.data)
def stringSubscriber():
    rospy.init_node('sub_node', anonymous = False) #初始化ROS节点
    rospy.Subscriber('push', String, stringSubscriberCallback) #定义Subscriber对象
    rospy.spin()
if __name__ == "__main__":
    stringSubscriber()

运行一下就是下面的效果

6c0cd80cbed94fae91888f093dc81ea6.png


相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
9月前
|
数据安全/隐私保护 C++ Docker
基于ROS的消息发布与订阅
ROS消息发布与订阅
99 0
|
存储
ROS学习-写一个简单的Publisher和Subscriber
ROS学习-写一个简单的Publisher和Subscriber
117 0
ROS学习-写一个简单的Publisher和Subscriber
|
存储 C++ Python
ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++)
ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++)
364 0
ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++)
|
C++ Python
【古月21讲】ROS入门系列(2)——发布者Publisher、订阅者Subscriber的编程实现+自定义话题消息编程实现
【古月21讲】ROS入门系列(2)——发布者Publisher、订阅者Subscriber的编程实现+自定义话题消息编程实现
371 0
【古月21讲】ROS入门系列(2)——发布者Publisher、订阅者Subscriber的编程实现+自定义话题消息编程实现
|
22天前
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
45 1
|
22天前
|
NoSQL 机器人 Windows
ROS机器人编程技术控制两只小海龟的编队运动
ROS机器人编程技术控制两只小海龟的编队运动
46 1
|
22天前
|
机器人 Python Windows
ROS机器人编程技术应用与实践
ROS机器人编程技术应用与实践
21 1
|
22天前
|
机器人 Unix C++
ROS机器人编程技术架构命令应用
ROS机器人编程技术架构命令应用
9 1
|
22天前
|
Ubuntu 机器人 编译器
ROS机器人编程技术系统安装
ROS机器人编程技术系统安装
23 1
|
22天前
|
网络协议 机器人 中间件
单片机和FreeRTOS上跑机器人ROS的应用
单片机和FreeRTOS上跑机器人ROS的应用
119 0

推荐镜像

更多