第五课5、ROS客户端2
1、简单的主题(topic)发布者和主题订阅者:
编写主题发布者节点需要:
a、初始化ROS系统;
b、广播消息:在foo主题上发布Foo_type_msg类型的消息
c、指定频率发布消息到foo主题
编写主题订阅者需要:
a、初始化ROS
b、从foo主题订阅消息
c、Spin,然后等待消息到达
d、当消息到达时,Msg_Callback()函数被调用。
简单的服务器端和客户端
首先开启roscore,然后运行rosrun turtlesim turtlesim_node,下面看一下他的服务有哪些?
rosservice list(rosservice和rossrv的区别,后者是关注全局的服务信息的定义相关的;前者主要是对当前活动的服务进行操作,不一定!!!)
下面是服务列表

选择再生这个服务/spwan;看一下/spwan服务的类型,

下面我们借用服务turtlesim/Spawn来写一下客户端,首先我们来看一下它是怎么定义的,

可以看到它有一个请求和响应,他们是用“---”分隔开,
下面写一个服务的客户端,


下面要打开eclipse,使用./make
然后双击eclipse
下面导入工程,

然后新建一个源文件,

然后开始编写源程序,
下面进行编译
catkin_make
addturtle.cpp


client.call(spawn)判断这个服务请求是否有效,返回TRUE则有效,反之则无效。
CMakeLists.txt

运行rosrun addturtle addturtle indigo 25 6 8(在这个地方不止输入5个参数,难道rosrun addturtle addturtle这条命令没有算进去???!!!!!!!)
下面看一下CMakeLists文件




第五课5、ROS客户端2的更多相关文章
- 第四课4、ROS客户端
ROS客户端提供一些列库文件用于用户开发.它利用许多ROS概念并使它通过代码可以获取. 下面是ROS程序中的接口 ROSCPP客户端(c++客户端) 首先新建一个包 然后catkin_make一下 在 ...
- 【Linux探索之旅】第一部分第五课:Unity桌面,人生若只如初见
内容简介 1.第一部分第五课:Unity桌面,人生若只如初见 2.第一部分第六课预告:Linux如何安装在虚拟机中 Unity桌面,人生若只如初见 不容易啊,经过了前几课的学习,我们认识了Linux是 ...
- .NET高级代码审计(第五课) .NET Remoting反序列化漏洞
0x00 前言 最近几天国外安全研究员Soroush Dalili (@irsdl)公布了.NET Remoting应用程序可能存在反序列化安全风险,当服务端使用HTTP信道中的SoapServerF ...
- NeHe OpenGL教程 第四十五课:顶点缓存
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- kali linux 渗透测试视频教程 第五课 社会工程学工具集
第五课 社会工程学工具集 文/玄魂 教程地址:http://edu.51cto.com/course/course_id-1887.html 目录 第五课社会工程学工具集 SET SET的社会工程 ...
- Adafruit的树莓派教程第五课:使用控制电缆
Adafruit的树莓派教程第五课:使用控制电缆 时间 2014-05-09 01:11:20 极客范 原文 http://www.geekfan.net/9095/ 主题 Raspberry PiM ...
- NeHe OpenGL教程 第三十五课:播放AVI
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第二十五课:变形
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第十五课:纹理图形字
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第五课:3D空间
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
随机推荐
- 一步一步带你分析 requirejs
详细源代码一共就2000多行,来看我这篇分析的同学应该都下载下来了,好了,话不多说,开始: 代码的开头就出现3个全局变量: requirejs, require, define var require ...
- 删除power by dedecms的方法
在include/dedesql.class.php文件,会发现最新的include/dedesql.class.php文件会多出第588到第592行的那几段代码,代码如下图: $arrs1 = ar ...
- wget 实现web监控脚本
#!/bin/sbin timeout= times= url=https://1.1.1.1 while true;do wget --no-check-certificate --timeout= ...
- scikit-learn笔记之初次接触
一.加载数据: 然后看一下有多少个特征和类别以及它们的名字: 二.数据可视化:: 由于该套数据集有4个特征,所以只能选取2个特征进行显示. 可见红色和绿色的点混在一起,所以再选择其他特征作为坐标轴: ...
- 字典树 HDU 1075 What Are You Talking About
http://acm.hdu.edu.cn/showproblem.php?pid=1075 ;}
- java深入探究07-jdbc下
1.BeanUtils组件 1)使用:导入commons-beanutils-1.8.3.jar核心包,日志支持包: commons-logging-1.1.3.jar 缺少日志的jar文件报错:ja ...
- java深入探究05
通讯录小程序 需求说明: 功能: 添加联系人 修改联系人 删除联系人 查询所有联系人 要求: console控制 数据保存在xml 1.创建联系人类 /** * 联系人实体对象 * @author A ...
- 2.微信小程序-B站:需要先知道这些
文件结构 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page.一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 文件 必须 作用 app.js 是 小程序逻辑 app. ...
- Windows下控制Nginx的状态
Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍.1.启 ...
- php设计模式课程---8、适配器模式是什么
php设计模式课程---8.适配器模式是什么 一.总结 一句话总结: 充电过程中,手机充电器相对于手机和插座之间就是适配器 1.编程中的适配器是怎么回事? 写一个类(适配器),将传入的数据的格式或者内 ...