前面博客显示了单个发布者和订阅者的情况
现在在一个节点中可以拥有多个发布或订阅
利用以前博客的代码,即在创建一个可以同时发布和订阅的节点,可以将接受到的数据加倍后在发布出去。
该节点订阅发布连续整数的节点,然后将处理的数据发布给之前订阅连续整数节点的节点。需要将订阅话题的名字改成新建话题的名字
#!/usr/bin/env python import rospy from std_msgs.msg import Int32 rospy.init_node('doubler') def callback(msg): doubled = Int32() doubled.data = msg.data * 2 pub.publish(doubled) sub = rospy.Subscriber('number' , Int32 , callback) pub = rospy.Publisher('doubled' , Int32) rospy.spin()
需要将订阅话题的名字改成新建话题的名字:
#!/usr/bin/env python import rospy from std_msgs.msg import Int32 def callback(msg): print msg.data rospy.init_node('topic_subscriber') sub = rospy.Subscriber('doubled',Int32,callback) ##这一行订阅发布者的名字要改 rospy.spin()