簡體   English   中英

ROS2,將自定義消息發布到主題時出現類型錯誤(python)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM