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文件