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 Stringdef 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 Stringdef 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()

运行一下就是下面的效果

ROS快速入门第三讲——ROS的Subscriber订阅者相关推荐

  1. Lucene快速入门第三讲——看看Lucene是如何支持中文分词的?

    在这一讲中,我们要看看Lucene到底是如何支持中文分词的?为了向大家阐述明白这个问题,咱们可先从分析器的执行过程入手. 分析器(Analyzer)的执行过程 如下图所示是语汇单元的生成过程: 从一个 ...

  2. Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏

    Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏 即使是现在,很多初学游戏开发的同学,在谈到Unity的时候,依然会认为Unity只能用于制作3D游戏的.实际上,Unity在2013年发布 ...

  3. 高一Python入门第三讲 石头剪刀布

    高一Python入门第三讲 石头剪刀布 专栏推荐 高一Python入门第一讲:播下一颗种子. 高一python入门第二讲 知人亦知面. 文章目录 高一Python入门第三讲 石头剪刀布 联系 3.1 ...

  4. 树莓派从零开始快速入门第8讲——单总线(以DS18B20为例)

    树莓派从零开始快速入门第8讲--单总线(以DS18B20为例) 目录 树莓派从零开始快速入门第8讲--单总线(以DS18B20为例) 一.前言 二.硬件连接 三.使能1-write接口 四.通讯测试 ...

  5. [猿来小课]Python开发入门第三讲:Python的安装

    今天猿来小课的老师给想要学习python开发语言的同学们讲一讲Python的安装,手把手带着大家完成学习python开发第一步.有条件的小伙伴跟着我一起来实战操作吧. 猿来Python开发入门第三讲: ...

  6. 树莓派从零开始快速入门第5讲——点亮LED

    树莓派从零开始快速入门第5讲--点亮LED 目录 树莓派从零开始快速入门第5讲--点亮LED 一.前言 二.引脚对照表 三.硬件连接 四.编写程序 1.编程方式简述 2.python编程 五.结束语 ...

  7. 树莓派从零开始快速入门第9讲——串口

    树莓派从零开始快速入门第9讲--串口 目录 树莓派从零开始快速入门第9讲--串口 一.前言 二.配置串口 三.串口收发测试 1.查询端口 2.串口调试 四.程序编写并运行 五.结束语 一.前言 串口是 ...

  8. 树莓派从零开始快速入门第14讲——摄像头

    树莓派从零开始快速入门第14讲--摄像头 目录 树莓派从零开始快速入门第14讲--摄像头 一.前言 二.硬件准备 三.软件配置 1.打开图形化窗口 2.下载并运行motion 3.查看监控画面 4.配 ...

  9. 树莓派从零开始快速入门第0讲——环境安装

    树莓派从零开始快速入门第0讲--环境安装 目录 树莓派从零开始快速入门第0讲--环境安装 一.前言 二.硬件准备 1. 树莓派(必选) 2. SD卡(必选) 3. 读卡器(必选) 4. 电源(必选) ...

  10. ROS快速入门第一讲——ROS的工作空间创建

    ROS的工作空间创建 scc18@ubuntu:~$ mkdir ros_ws scc18@ubuntu:~$ cd ros_ws/ scc18@ubuntu:~/ros_ws$ mkdir src ...

最新文章

  1. HBase 1.1.2 优化插入 Region预分配
  2. 3399 mysql_MySQL索引
  3. 停止追赶最新的 RPA 趋势
  4. 如何在SQL Server中分析存储子系统性能
  5. wordpress如何隐藏后台位置?
  6. 第三届“传智杯”全国大学生IT技能大赛(初赛B组)
  7. JS 获取浏览器高度和宽度
  8. 计算机网络之域名系统DNS
  9. 利用ASK/OOK 发射模块,实现信号重放
  10. 这些音乐MV制作堪称大片,看过真是值回票价
  11. 利用ArcGIS创建要素与表之间的关系类并发布带有关系数据表的要素服务
  12. 函数型数据主成分分析(FPCA)
  13. C++ 数据类型与基础
  14. JPO 创建Excel相关问题解决
  15. MyBatis基础篇
  16. 整理任正非思想:要建立一个均衡的平台-1995
  17. php星期代码,PHP星期几获取代码
  18. OpenTracing-Java实现的灵魂十问
  19. 网络市场调研的步骤与方法
  20. idea踩坑之-配置文件错误(source code does not match the bytecode )

热门文章

  1. Qt字符串生成二维码功能
  2. Android 分享到LINE
  3. excel求四分位数(QUARTILE 函数)
  4. Windows10安装apt-cyg教程
  5. 电脑it族宝典常用电脑的从怎样保护自己的眼睛
  6. Redis是什么?怎么用?
  7. 用户验收测试要求目标
  8. 世界杯开打,病毒借明星无孔不入
  9. 特拉华大学计算机专业,特拉华大学电气与计算机工程专业设置及申请条件汇总 顶尖名校专业解析!...
  10. Python-15 函数:我的地盘听我的