我定义了一个自定义消息: uint8[] data
自定义消息导入到我的 Node 类中,没有问题: 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
,它是MyMessage
包含my_shared.msg
文件中定义的属性的类的实例,即my_msg.data
类型为uint8[]
. payload_bitstream.tolist()
获取具有 uint8 值的本机 python 整数列表是正确的,但您需要将其分配给data
属性。特尔;博士:
my_msg.data = payload_bitstream.tolist()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句