第五课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管线 ...
随机推荐
- PHP操作MySQL事务处理
PHP操作MySQL事务处理 /*************** 用begin,rollback,commit来实现 ***************/ /*方法二*/ $conn = mysqli_co ...
- jquery 初篇
一.什么是jQuery对象? jQuery 对象就是通过jQuery包装DOM对象后产生的对象. jQuery 对象是 jQuery 独有的. 如果一个对象是 jQuery 对象, 那么它就可以使用 ...
- HTTPS协议原理透析
1.HTTPS本身并非协议,而是标准的HTTP协议架在SSL/TLS协议之上的一种结构.(一种不太合适的说法可以认为是两种协议的叠加).HTTP是工作在OSI7层模型的最上层,就是第7层:Applic ...
- 2014年互联网IT待遇
1. 13k*14~16k*145.美团 13k*15~16k*15,也有更高的.6.去哪儿 11k*16~15k*167.人人技术类(12K-14K)*14 (2014)8.58同城 20w+9.网 ...
- HDU2612 -暑假集训-搜索进阶N
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82828#problem/N这两天总是因为一些小错误耽误时间,我希望自己可以细心点.珍惜 ...
- HBase常用操作-HBaseUtil
package com.zhen.hbase; import java.io.IOException; import java.util.ArrayList; import java.util.Col ...
- java反射(二)
java的很多框架都是基于反射的.
- node cluster模块的使用和测试
首先安装async包 用到的有http.cluster包 http和cluster都会node自带的包,无需安装 1:创建cluster.js,代码如下,更具cpu创建多个进程 var cluster ...
- Spring源码分析_01_ idea搭建spring源码阅读环境
二.参考资料 1.Intellij Idea如何导入spring源码
- lombok_学习_00_资源帖
二.参考资料 Java界的神器-使用Lombok来消除你的冗余代码量 Lombok:让JAVA代码更优雅 Lombok开发指南