我尝试使用类'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的新手.....所以有人可以帮助我.....谢谢!
答案 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
会为你效劳。