2015-04-27 17 views
0

我在基於python的ROS中編寫插件,所以當我運行包並在我的GUI中按下按鈕時,它會在get_queue回調中發出一個整數值1,表示信號爲真。我定義回調爲:python callback上的廣告整數

DEF getqueue_cb(個體):

self.get_queue_pub.publish(1)

和上述代碼中的我有:

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

當我在ROS中運行包時,它會發生故障。當我註釋掉我在這裏編寫的代碼的第二部分時,GUI的其餘部分彈出並運行良好。我覺得我的問題是整數的語法。如果可以,讓我知道我做錯了什麼。

+0

嗨,我在想,如果我的我的回答解決你的問題。如果是的話,請接受答案(另請參閱[這裏](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work);如果不是,離開會很愉快一些評論,它沒有工作,這有助於我們組織這個網站,因爲我和其他用戶可以看到,如果問題得到解決或仍然需要幫助(最後但並非最不重要的是,它給了我一些反饋如果我的回答是正確的) – luator

回答

0

您不能直接發佈整數,但必須使用std_msgs中定義的「整數消息」之一。請嘗試以下操作:

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

(的Publisher的第二個參數預計,消息類型,而不是實際值)。

+0

工作,非常感謝。 – deciduoustiger