//////////////////////////Ros创建发布者talker/////////////////////////////////////////////////////////////
#include "ros/ros.h" //
#include "std_msgs/String.h" // 引用std_msgs类下面的String头文件
int main(int argc, char **argv){

ros::init(argc,argv,"talker"); // 初始化节点,注意这里的talker就是节点的名称,也是可执行文件的名称,所以在进行执行生成可执行文件的时候不能随便的更改
ros::NodeHandle n; // 创建一个节点

// 创建一个发布者类的对象,使用的是节点的属性进行初始化,这里的话题类型是:std_msgs::String类型,建立话题通道chatter,注意就收放的话题的通道应该与其相同
ros::Publisher Publisher_n = n.advertise<std_msgs::String>("chatter",1000);
// 实例化一个延时的对象,这里的对相是loop_rate
ros::Rate loop_rate(10);
int count=0; // 定义普通变量用于计数
while(ros::ok()){

std_msgs::String msg; // 创建一个需要发布的数据的对象
msg.data="hello world"; // 初始化对象的成员变量
ROS_INFO("%s",msg.data.c_str()); //打印相关的内容,判断初始化是否成功
Publisher_n.publish(msg); // 使用实例化的发布者对象进行消息的发布

ros::spinOnce(); // 循环一次
loop_rate.sleep(); // 调用延时对象的成员函数进行延时
++count;

}
return 0;
}
~ ////////////////////////////////////定义监听者listener///////////////////////////////////////
~
#include <ros/ros.h>
#include "std_msgs/String.h"

//回调函数,里面的参数是固定的
void backhandler(const std_msgs::String::ConstPtr& msg){

ROS_INFO("I hear: %s",msg->data.c_str());// 上面出入的是一个指针,所以访问的方式使用的是->进行访问
}
int main(int argc , char **argv){
ros::init(argc,argv,"listener"); // 初始化节点,节点的名称是listener
ros::NodeHandle n; // 创建节点对象
// 定义一个订阅者的对象 使用节点的参数进行初始化,通道是和发布者一样chatter,有1000个可以等待,回到函数是backhandler
ros::Subscriber subscriber_n = n.subscribe("chatter",1000,backhandler);

ros::spin(); // 不断的循环

return 0;

}

Ros的通信第一课的更多相关文章

  1. 2011斯坦福大学iOS应用开发教程学习笔记(第一课)MVC.and.Introduction.to.Objective-C

    blog.csdn.net/totogo2010/article/details/8205810  目录(?)[-] 第一课名称 MVC and Introduction to Objective-C ...

  2. ChartControl第一课简短的控件初步设计

    WinForms Controls >Controls > Chart Control > Getting Started This document gives you a qui ...

  3. 【Web探索之旅】第三部分第一课:服务器

    内容简介 1.第三部分第一课:服务器 2.第三部分第二课预告:IP地址和域名 第三部分第一课:服务器 大家好,欢迎来到[Web探索之旅]的第三部分.这一部分有不少原理,还是很重要的. 这一部分我们会着 ...

  4. 【SEO 决胜网络索引】 课程大纲及第一部分第一课:网络营销战略中的索引

    内容简介 1.课程大纲 2.第一部分第一课: 网络营销战略中的索引 3.第一部分第二课预告: 索引是什么 课程大纲 现在是网络为王的时代,人们越来越离不开互联网: SEO(Search Engine ...

  5. TCP/IP 网络精讲:开宗明义及第一课

    内容简介 1.课程大纲 2.第一部分第一课:互联网历史 3.第一部分第二课预告:互联网的创立,OSI七层模型 课程大纲 我们将带大家一起来学习很多网络方面的技能,向大家介绍TCP/IP的基础知识点.你 ...

  6. 【Web探索之旅】第三部分第一课:server

    wx_fmt=jpeg" alt="0? wx_fmt=jpeg" style="height:auto"> 内容简单介绍 .第三部分第一课:s ...

  7. swift 第一课 基础知识-1

    1. 基本的打印: print("这是学习 swift 的第一课") var varA = print("a 的值是 \(varA)") //注:字符串打印参数 ...

  8. [nRF51822 AK II 教程]第一课,开发环境的配置及背景介绍【转】

    低功耗蓝牙4.0是全新的技术,并不向下兼容,也就是说它和蓝牙3.0.2.0什么的都不能通信的.另外,蓝牙4.0目前的规范只能做外设和主机(智能手机,电脑等)通讯,也就是说你想用一个单模的蓝牙4.0开发 ...

  9. vue.js学习(第一课)

    学习资料 来自台湾小凡! vue.js是javascript的一个库,只专注于UI层面,核心价值永远是 API的简洁. 第一课: 不支持IE8. 1.声明式渲染: el元素的简称 element : ...

随机推荐

  1. MySQL进阶之常用函数

    我的小站 有时候,除了简单的数据查询,我们还有一些高级的函数. MySQL 包含了大量并且丰富的函数,这套 MySQL 函数大全只收集了几十个常用的,剩下的比较罕见的函数我们就不再整理了,读者可以到M ...

  2. 【mq】从零开始实现 mq-03-引入 broker 中间人

    前景回顾 [mq]从零开始实现 mq-01-生产者.消费者启动 [mq]从零开始实现 mq-02-如何实现生产者调用消费者? [mq]从零开始实现 mq-03-引入 broker 中间人 上一节我们学 ...

  3. 一文详解 Ansible 自动化运维

    开源Linux 一个执着于技术的公众号 一.Ansible 概述 Ansible 是近年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误 ...

  4. ajax、axios、fetch

    XMLHttpRequest: XHR中文解释为: 可扩展超文本传输请求:XML可扩展标记语言,Http超文本传输协议,Request请求: XHR对象用于与服务器交换数据,所有现代游览器都支持XHR ...

  5. 零基础学Java第二节(运算符、输入、选择流程控制)

    本篇文章是<零基础学Java>专栏的第二篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 第一章 运算符 1.1 算术运算符的概述和用法 运算符 对常量和变 ...

  6. 提升站点SEO的7个建议

    1.使用HTTPS 谷歌曾发公告表示,使用安全加密协议(HTTPS),是搜索引擎排名的一项参考因素. 所以,在域名相同情况下,HTTPS站点比HTTP站点,能获得更好的排名. 在网络渠道分发或合作上, ...

  7. 基于 Jenkins + Kubernetes + Argo CD 的完整 DevOps 流程记录(1) - 环境部署

    一.环境准备 1.1 镜像仓库 整套 DevOps 流程使用 Harbor 作为内部镜像仓库,所有构建产物(镜像)都会推送到 Harbor,以备后续进行项目部署.Harbor 从 2.x 版本开始支持 ...

  8. 2.0 vue2+tinymce实现图片上传与回显

    1.效果 2.配置 2.1 在init中添加图片上传函数 // 图片上传 images_upload_handler: (blobInfo, success, failure) => { // ...

  9. 153. Find Minimum in Rotated Sorted Array - LeetCode

    Question 153. Find Minimum in Rotated Sorted Array Solution 题目大意:给一个按增序排列的数组,其中有一段错位了[1,2,3,4,5,6]变成 ...

  10. linux篇-linux下ffmpeg安装

    1最近自己搭建的公司服务端转化视频不可以,我想应该是ffmpeg的问题,头痛 准备这两个源码包 2安装,先解压 ffmpeg-4.1.4.tar.bz2 yasm-1.3.0.tar.gz 3先安装y ...