Je suis resté bloqué quand je voulais publier un tableau dans ROS alors je le partagerai
Au début, vous pouvez imiter comment écrire du C ++ et faire cela! Je veux dire ...
import rospy
from std_msgs.msg import Float32MultiArray
def talker():
    pub = rospy.Publisher('/hoge', Float32MultiArray, queue_size=10)
    array=Float32MultiArray()
    array.data.resize(5)
    i=0
    for p in range(5):
        array.data[i]=p
        i+=1
    pub.publish(array)
AttributeError: 'list' object has no attribute 'resize'
Était en colère
La phrase correcte est la suivante
import rospy
from std_msgs.msg import Float32MultiArray
def talker():
    pub = rospy.Publisher('/hoge', Float32MultiArray, queue_size=10)
    array=[]
    for p in range(5):
        array.append(p)
    array_forPublish = Float32MultiArray(data=array)
    pub.publish(array_forPublish)
Vous pouvez le convertir en MultiArray après l'avoir mis une fois dans un type Liste.
Recommended Posts