测试消息发布器和订阅器
简介: 本教程将测试上一教程所写的消息发布器和订阅器。
难度: 初级
下节: 写一个简单的服务端和客户端: C++版本
相关资料:测试消息发布器和订阅器
本示例的模版在
/opt/ros_ws/src/ros_tutorials/roscpp_tutorials/
,如果出现自己程序无法运行时,可以将beginner_tutorials替换为roscpp_tutorials或rospy_tutorials进行实验,并结合示例对错误进行排查。
1 启动发布器
确保roscore可用,并运行:
$ roscore
catkin specific 如果使用catkin,确保你在调用catkin_make后,在运行你自己的程序前,已经source了catkin工作空间下的setup.sh文件:
# In your catkin workspace
$ cd ~/catkin_ws
$ source /home/shiyanlou/catkin_ws/devel/setup.zsh
在上一节中,我们编写了一个发布器"talker",现在运行它:
$ rosrun beginner_tutorials talker (C++)
如果出错,请仔细检查错误,直接查看示例使用如下命令:
$ rosrun roscpp_tutorials talker (C++)
你将看到如下的输出信息:
[INFO] [WallTime: 1314931831.774057] hello world 1314931831.77
[INFO] [WallTime: 1314931832.775497] hello world 1314931832.77
[INFO] [WallTime: 1314931833.778937] hello world 1314931833.78
[INFO] [WallTime: 1314931834.782059] hello world 1314931834.78
[INFO] [WallTime: 1314931835.784853] hello world 1314931835.78
[INFO] [WallTime: 1314931836.788106] hello world 1314931836.79
发布器节点已经启动运行。现在需要一个订阅器节点来接受发布的消息。
2 启动订阅器
上一教程,我们编写了一个名为"listener"的订阅器节点。现在运行它:
$ rosrun beginner_tutorials listener (C++)
你将会看到如下的输出信息:
[INFO] [WallTime: 1314931969.258941] /listener_17657_1314931968795I heard hello world 1314931969.26
[INFO] [WallTime: 1314931970.262246] /listener_17657_1314931968795I heard hello world 1314931970.26
[INFO] [WallTime: 1314931971.266348] /listener_17657_1314931968795I heard hello world 1314931971.26
[INFO] [WallTime: 1314931972.270429] /listener_17657_1314931968795I heard hello world 1314931972.27
[INFO] [WallTime: 1314931973.274382] /listener_17657_1314931968795I heard hello world 1314931973.27
[INFO] [WallTime: 1314931974.277694] /listener_17657_1314931968795I heard hello world 1314931974.28
[INFO] [WallTime: 1314931975.283708] /listener_17657_1314931968795I heard hello world 1314931975.28
你已经测试完了发布器和订阅器,下面我们来编写一个服务和客户端 (c++)。