python回调上的广告整数

时间:2015-04-27 21:49:01

标签: python ros

我在基于python的ROS中编写插件,所以当我运行包并按下我的GUI中的按钮时,它将在get_queue回调上通告一个整数值1,表示为true。我将回调定义为:

  

def getqueue_cb(self):

     

self.get_queue_pub.publish(1)

在我的代码中

及以上:

  

self.get_queue_pub = rospy.Publisher(' get_queue',int(1),queue_size = 10)

当我在ROS中运行包时,它会出现故障。当我注释掉我在这里编写的代码的第二部分时,GUI的其余部分会弹出并运行正常。我觉得我的问题在于整数的语法。如果可以的话,让我知道我做错了什么。

1 个答案:

答案 0 :(得分:0)

您无法直接发布整数,但您必须使用其中一个"整数消息"在std_msgs中定义。请尝试以下方法:

from std_msgs.msg import Int32
self.get_queue_pub = rospy.Publisher('get_queue', Int32, queue_size=10)

Publisher的第二个参数需要消息类型,而不是实际值。)