ROS之发布着订阅者协同工作

前面博客显示了单个发布者和订阅者的情况

现在在一个节点中可以拥有多个发布或订阅

利用以前博客的代码,即在创建一个可以同时发布和订阅的节点,可以将接受到的数据加倍后在发布出去。

该节点订阅发布连续整数的节点,然后将处理的数据发布给之前订阅连续整数节点的节点。需要将订阅话题的名字改成新建话题的名字

#!/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() 
原文地址:https://www.cnblogs.com/miaorn/p/11743607.html