我在基于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的其余部分会弹出并运行正常。我觉得我的问题在于整数的语法。如果可以的话,让我知道我做错了什么。
答案 0 :(得分:0)
您无法直接发布整数,但您必须使用其中一个"整数消息"在std_msgs
中定义。请尝试以下方法:
from std_msgs.msg import Int32
self.get_queue_pub = rospy.Publisher('get_queue', Int32, queue_size=10)
(Publisher
的第二个参数需要消息类型,而不是实际值。)