ros学习笔记(3)编写订阅者
来源:互联网 发布:最赚钱的网络兼职 编辑:程序博客网 时间:2024/06/15 03:41
ros::init(argc, argv, "listener");
我认为init的作用时给你的节点起一个名字,仅仅是去一个名字,剩下的什么功能也没有,相当于一个空壳。
ros::NodeHandle n;
只有说了这句,n成为了一个nodehandle型的对象,在上面说的壳中,创造出了一个有节点功能的东西(节点句柄),但是这个节点句柄到目前为止还没有发布消息的能力nodehandle 类下面有很多成员函数,这些成员函数使得n能实现很多功能
ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter", 1000);
ros::Subscriber sub = n.subscribe("chatter", 1000, chatterCallback);
等号后面可以看出,nodehandle包含两个很重要的函数advertise和subscribe
两个函数的共同目的是,通知master我想在话题chatter上发布或订阅消息
master是一个主管谁在发布,谁在订阅的记录。通知master之后,master会给你相应,相当于告诉你你可以在这个话题上发布消息或者从这个话题上订阅消息了
这就是advertise和subscribe的返回值,分别返回一个publisher和subscriber类型的对象,到此为止这个节点才真正有了发布者或订阅者的功能。功能的实现依赖于publisher和subscriber类中包含的成员函数
ros::Publisher 对象有一个 publish() 成员函数可以让你在topic上发布消息
subscriber采用一种类似于中断的模式,初始化完成之后先是ros::spin() 进入自循环,等待消息的到来。到来后就去执行相应的操作,一般是写在另一个子程序之中。例如上面的chattercallback就是一个“中断”子程序。
有关于ros::spin(),参见https://www.cnblogs.com/liu-fa/p/5925381.html
阅读全文
0 0
- ros学习笔记(3)编写订阅者
- ROS学习笔记九:用C++编写ROS发布与订阅
- ROS学习笔记(八):消息的发布与订阅
- ROS学习笔记-1: 构建工作空间-创建catkin包-编写发布器与订阅器
- ros学习笔记(2):编写publisher
- ROS学习--(十三)编写简单的订阅器(subscriber),编译,测试
- ROS学习(-)基本概念+发布&订阅消息
- 【ROS学习】(六)ROS多线程订阅消息
- ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 11 编写简单的消息发布器和订阅器 (C++)
- ROS 编写一个简单的发布者和订阅者(C++)
- ROS学习笔记--消息发布器和订阅器
- ROS学习笔记2 消息发布与订阅
- ros学习笔记(4)编写服务器和客户端
- (十一)ROS发布者和订阅者
- ros学习笔记3
- ROS进二阶学习笔记(1) TF 学习笔记3 -- TF Listener 编写 (Python)and Adding frame(Python)
- ROS:编写简单的发布、订阅
- ROS学习之 cpp消息发布者和消息订阅者
- 传统定时器Timer
- Leetcode-Maximal Rectangle
- MVP&Retrofit&RXjava
- 百度云学习资源整合
- 从Java视角理解系统结构(三)伪共享
- ros学习笔记(3)编写订阅者
- linux 在当前文件夹下的查找内容含有“name”文件的
- vsftp
- 各种函数
- CentOS7 Hbase-1.3.1 单机部署
- 华为云总裁称云计算市场第二场竞争刚开始 | 搜狗纽交所上市,市值近53亿美元
- 用创新产品和共赢生态,推动智能安防产业发展
- Banner的使用详解
- 软小二︱腾讯喊话 ISV 沉下心来搞事情,企业微信11月15日北京现场直接发你红包!