线程评级:
  • 0 (s) - 0平均投票
  • 1
  • 2
  • 3
  • 4
  • 5
有一个问题当索引robot.Pose ()
# 1
你好,

有不正确的程序。我做在线编程库卡的方式呈现4。

如果我这样做:

构成=自我.robot.Pose ()
打印(构成)
一个=构成(:3,:3]
打印(np.array (a))


自我的地方。机器人=自我.robot=自我.RDK.Item (“库卡KR 60-3”ITEM_TYPE_ROBOT)和np numpy。

姿势是这样的:

构成(1718.216,26.280,1023.377,-132.634,-31.332,-165.801):
[(-0.828,0.210,-0.520,1718.216),
(-0.205,0.750,0.628,26.280),
(0.522,0.627,-0.579,1023.377),
(0.000,0.000,0.000,1.000)]

和一个是这样的:

[[-0.82807276 -0.20474388 0.52189602]
(0.20951249 0.75045489 0.62683489)
[-0.52000002 0.62840863 -0.57853485]]

为什么不同?请注意,有一个“-”符号在0.210 0.520索引和没有负号。这些符号是干扰我的程序的变化。请让我知道尽快。谢谢。
# 2
嗨Tharisata,

我没有使用Numpy,但似乎没有它是你的问题,因为一切都看起来好。



杰里米
找到有用的信息通过访问我们的关于RoboDK及其特性在线文档看我们的教程Youtube频道


# 3
嗨,杰里米,

道歉以前的文章是错误的:印刷版本是np.array (a)不是一个。

是的,姿势很好当你像你那样指数。然而,如果你叫np。一个rray on it or even do a.tolist() it changes certain values into negative numbers.

我不认为这是一个Numpy情况作为.tolist它不起作用()。解决这个问题的办法是要做到这一点,通过索引每一行分别和调用numpy:

def _get_rot33(自我,姿势):
”“”
有一个问题构成矩阵,它改变了信号转换
numpy数组。这种方法打击。
”“”
rot_mat =姿势(:3:3)
row0 = np.transpose (np.array (rot_mat [0])) 1 # ndim x3
第一行= np.transpose (np.array (rot_mat [1]))
row2 = np.transpose (np.array (rot_mat [2]))

rot33 = np.vstack ((row0,第一行,row2))
返回rot33

…但这不该是个问题放在第一位。也许是RoboDK定义方式的姿势()?




用户浏览这个线程:
1客人(年代)