第五课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文件

 

posted on 2017-02-01 00:36  gary_123  阅读(240)  评论(0编辑  收藏  举报

导航