numpy pickkle python_尝试使用numpy在rospy中发布一组单词

该代码段展示了一个ROS节点,它订阅一个名为'DA_tags'的主题,接收到字符串消息后将其添加到一个数组中。数组长度始终保持为3,最新的单词替换最旧的单词。使用numpy将数据转换为字符串数组并发布到'tag_history'主题。在运行时遇到一个错误,提示数据字段必须是str类型。问题可能出在尝试发布非字符串数据到话题上。
摘要由CSDN通过智能技术生成

我试图创建一个订阅服务器,它接受一个单词(意味着一个字符串),然后将这些单词收集到一个数组中,然后发布这些单词的数组。在

我想用numpy来做这个。数组的长度总是必须是3,最后一个单词在后面。这样,我将有两个前一个单词,最后一个单词在数组的末尾。在

代码如下:#!/usr/bin/env python

import rospy

from std_msgs.msg import String

from rospy.numpy_msg import numpy_msg

import numpy

#added

def callback(data):

global c

pub = rospy.Publisher('tag_history',numpy_msg(String))

c.append(str(data.data))

if len(c)>3:

c=c[1:4]

d=numpy.array(c,dtype=numpy.str)

print c

pub.publish(d)

rospy.sleep(0.5)

def listener():

rospy.init_node('tag_history', anonymous=True)

rospy.Subscriber("DA_tags", String, callback)

rospy.spin()

if __name__ == '__main__':

global c

c=[]

listener()

运行此代码时,会出现以下错误:

^{pr2}$

这个错误“字段数据必须是str类型”是什么意思?如何删除它?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值