[英]ROS2, TypeError when publishing custom message to Topic (python)
我定義了一條自定義消息: uint8[] data
自定義消息導入我的節點 class 沒有問題: from my_shared.msg import MyMessage
在同一個節點中,我使用以下命令創建發布者: self.my_publisher = self.create_publisher(MyMessage, 'topic_in', 200)
我發布消息: self.my_publisher.publish(my_msg)
my_msg 的構建方式如下:
payload_bitstream = np.fromstring(my_data, np.uint8)
my_msg = payload_bitstream.tolist()
可悲的是,我收到一個TypeError: File "/opt/ros/eloquent/lib/python3.6/site-packages/rclpy/publisher.py", line 68, in publish raise TypeError() TypeError
如果你知道我做錯了什么,你能幫忙嗎?
在此先感謝,G。
問題在於您對my_msg
的分配,這是 class MyMessage
的一個實例,其中包含在my_shared.msg
文件中定義的屬性,即my_msg.data
,其類型為uint8[]
。 您執行payload_bitstream.tolist()
以獲取具有 uint8 值的本機 python 整數列表是正確的,但您需要將其分配給data
屬性。 TL;博士:
my_msg.data = payload_bitstream.tolist()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.