Last updated
Last updated
将listener.py文件下载到脚本目录中
文件内容看起来为:
不要忘记给该节点增加执行权限
listener.py的代码与talker.py类似,只是我们引入了一个新的基于回调的订阅消息机制。
这声明你的节点订阅了类型为std_msgs.msgs.String的chatter话题。当收到新消息时,回调将作为第一个参数与消息一起调用。
我们也改变了对rospy.init_node()的调用。我们添加了anonymous = True关键字参数。 ROS要求每个节点都有唯一的名称。如果一个名字相同的节点出现,它会颠覆之前的节点。这样可以很容易地将故障节点从网络中踢出。 anonymous = True标志告诉rospy为节点生成一个唯一的名称,以便您可以轻松地运行多个listener.py节点。
最后加上,rospy.spin()只是让你的节点退出,直到节点关闭。与roscpp不同,rospy.spin()不影响订阅者回调函数,因为这些函数有自己的线程。