ROS快速入门第三讲——ROS的Subscriber订阅者
ROS的Subscriber订阅者
什么是订阅者
接收信息,通过ROS Topic接收来自其它Node的信息,并通过回调函数处理
通常用于监测系统状态,如当机器人关节到达限位位置时触发运动中断
ROS Topic示例
Topic通信过程为:
- Publisher节点和Subscriber节点分别在Master进行注册
- Publisher发布Topic
- 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订阅者相关推荐
- Lucene快速入门第三讲——看看Lucene是如何支持中文分词的?
在这一讲中,我们要看看Lucene到底是如何支持中文分词的?为了向大家阐述明白这个问题,咱们可先从分析器的执行过程入手. 分析器(Analyzer)的执行过程 如下图所示是语汇单元的生成过程: 从一个 ...
- Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏
Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏 即使是现在,很多初学游戏开发的同学,在谈到Unity的时候,依然会认为Unity只能用于制作3D游戏的.实际上,Unity在2013年发布 ...
- 高一Python入门第三讲 石头剪刀布
高一Python入门第三讲 石头剪刀布 专栏推荐 高一Python入门第一讲:播下一颗种子. 高一python入门第二讲 知人亦知面. 文章目录 高一Python入门第三讲 石头剪刀布 联系 3.1 ...
- 树莓派从零开始快速入门第8讲——单总线(以DS18B20为例)
树莓派从零开始快速入门第8讲--单总线(以DS18B20为例) 目录 树莓派从零开始快速入门第8讲--单总线(以DS18B20为例) 一.前言 二.硬件连接 三.使能1-write接口 四.通讯测试 ...
- [猿来小课]Python开发入门第三讲:Python的安装
今天猿来小课的老师给想要学习python开发语言的同学们讲一讲Python的安装,手把手带着大家完成学习python开发第一步.有条件的小伙伴跟着我一起来实战操作吧. 猿来Python开发入门第三讲: ...
- 树莓派从零开始快速入门第5讲——点亮LED
树莓派从零开始快速入门第5讲--点亮LED 目录 树莓派从零开始快速入门第5讲--点亮LED 一.前言 二.引脚对照表 三.硬件连接 四.编写程序 1.编程方式简述 2.python编程 五.结束语 ...
- 树莓派从零开始快速入门第9讲——串口
树莓派从零开始快速入门第9讲--串口 目录 树莓派从零开始快速入门第9讲--串口 一.前言 二.配置串口 三.串口收发测试 1.查询端口 2.串口调试 四.程序编写并运行 五.结束语 一.前言 串口是 ...
- 树莓派从零开始快速入门第14讲——摄像头
树莓派从零开始快速入门第14讲--摄像头 目录 树莓派从零开始快速入门第14讲--摄像头 一.前言 二.硬件准备 三.软件配置 1.打开图形化窗口 2.下载并运行motion 3.查看监控画面 4.配 ...
- 树莓派从零开始快速入门第0讲——环境安装
树莓派从零开始快速入门第0讲--环境安装 目录 树莓派从零开始快速入门第0讲--环境安装 一.前言 二.硬件准备 1. 树莓派(必选) 2. SD卡(必选) 3. 读卡器(必选) 4. 电源(必选) ...
- ROS快速入门第一讲——ROS的工作空间创建
ROS的工作空间创建 scc18@ubuntu:~$ mkdir ros_ws scc18@ubuntu:~$ cd ros_ws/ scc18@ubuntu:~/ros_ws$ mkdir src ...
最新文章
- HBase 1.1.2 优化插入 Region预分配
- 3399 mysql_MySQL索引
- 停止追赶最新的 RPA 趋势
- 如何在SQL Server中分析存储子系统性能
- wordpress如何隐藏后台位置?
- 第三届“传智杯”全国大学生IT技能大赛(初赛B组)
- JS 获取浏览器高度和宽度
- 计算机网络之域名系统DNS
- 利用ASK/OOK 发射模块,实现信号重放
- 这些音乐MV制作堪称大片,看过真是值回票价
- 利用ArcGIS创建要素与表之间的关系类并发布带有关系数据表的要素服务
- 函数型数据主成分分析(FPCA)
- C++ 数据类型与基础
- JPO 创建Excel相关问题解决
- MyBatis基础篇
- 整理任正非思想:要建立一个均衡的平台-1995
- php星期代码,PHP星期几获取代码
- OpenTracing-Java实现的灵魂十问
- 网络市场调研的步骤与方法
- idea踩坑之-配置文件错误(source code does not match the bytecode )