在ROS的列表中放置一些姿势

时间:2014-08-21 22:43:49

标签: python ros

我尝试使用类'geometry_msgs.msg._Pose.Pose'并通过python将连续姿势放在列表中。这是我的工作:

from geometry_msgs.msg import Pose
pose = Pose()
list = []
for i in range(5):
    pose.position.z = pose.position.z + 1
    list.append(pose)

所以我希望列表中的姿势是一个连续的姿势,对应于z的值从1到5.但结果是姿势在列表中是相同的......

我是python和ros的新手.....所以有人可以帮助我.....谢谢!

1 个答案:

答案 0 :(得分:1)

查看此Udacity帖子:

发生这种情况的原因是因为你只有一个" Pose,"并且列表中的所有元素都指向它(python假装没有指针,但确实如此)。要解决此问题,您需要为列表的每个元素生成新的姿势。

类似的东西:

from geometry_msgs.msg import Pose
list = []
for i in range(5):
    pose = Pose()
    if i > 0:
        pose.position.z = list[i - 1].position.z + 1
    list.append(pose)

for item in list:
    print item.position.z

会为你效劳。