线程评分:
  • 0投票 - 0平均
  • 1
  • 2
  • 3
  • 4
  • 5
使用API​​旋转矩阵?
你好,

有没有办法提取旋转矩阵?调用机器人时返回的垫子包含有关机器人姿势的信息,其中最后一列的前三个元素代表x,y,z位置。MAT的3x3(前三个COL和前三行)是旋转矩阵吗?如果我使用pose_2_txyzrxyz,然后使用Euler Angle guntive rotz*roty*rotx构建旋转矩阵(我不确定此方法是否正确),我最终得到了与MAT 3x3不同的结果。我将不胜感激任何帮助。

此致
这是不正确的。

调用以下功能:
姿势= txyzrxyz_2_pose([x,y,z,rx,ry,rz])
其中x,y,z是mm和rx中的翻译,ry,rz是弧度的旋转。

它与以下内容相同:
姿势= transl(x,y,z)*rotx(rx)*roty(ry)*rotz(rz)

您可以恢复此操作:
x,y,z,rx,ry,rz = pose_2_txyzrxyz(姿势)

更多信息在这里:
//www.w5838.com/doc/en/pythonapi/robo...2_txyzrxyz

如果您使用的是Python API,并且只需要做的旋转矩阵:
旋转=姿势[0:3,0:3]

另一个提示:
您可以以以下方式更改点的坐标系:
point_ref1 = [x,y,z,1]
point_ref2 =姿势 * point_ref1

您可以以以下方式更改向量的坐标系:
vector_ref1 = [u,v,w]
vector_ref2 =姿势 * vector_ref1
感谢你的回复。我已经使用DH表构建了转换矩阵,并使用MATLAB对其进行了计算。当所有关节为零时,我想出了不同的旋转和翻译。当所有关节设置为0时,Robodk表明沿X,Y,Z的翻译分别为[-817,-191,-4.45]。计算出的是[-817,-9.53,-5.33]。因此,我们有不同的Y和Z翻译。旋转矩阵不同两个,但我没有附加它们。这样做的原因是什么?我从中获得了DH参数http://rsewiki.elektro.dtu.dk/index.php/ur5






用户浏览此线程:
1位客人