gpt4 book ai didi

python - ROS Python msg,发送整数列表

转载 作者:行者123 更新时间:2023-11-30 23:17:51 26 4
gpt4 key购买 nike

我有一个包含整数的列表:

perc = [0, 70, 85, 13, 54, 60, 67, 26]

我想将其发送到另一个 ROS 节点。我有以下 .msg 文件:

#File name: emotion_percentage.msg
Header header
uint8 percentage

我的发布商代码:

obj = emotion_percentage()
obj.percentage = str(perc)
self.emo_pub.publish(obj)

我的监听器代码:

def callback(self, emo_perc):
print(emo_perc.percentage)
print(type(emo_perc.percentage))

监听器代码中的类型显示:(类型“str”),即使我从发布者代码中删除了 str(perc) 中的 str() 也是如此。但是,如果我删除 str(),输出将是乱码。

从 ROS wiki ( http://wiki.ros.org/msg ) 我得知“字符串”是正确的格式。

问题

现在我的监听器节点中有一个字符串,但如何将其转换回带有整数的列表?将我的列表转换为字符串真的是正确的方法吗?

代码错误

perc = [int(i) for i in emo_perc.percentage]

给出错误:以 10 为基数的 int() 的文字无效:'['

map() 也不起作用

最佳答案

只有 uint8 被视为字符串,所以我的问题可以用 uint16[] 解决:

Header header
uint16[] percentage

关于python - ROS Python msg,发送整数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27131740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com