我正在为大学的机器人课程进行关于DH参数的练习,但遇到了一个问题,因为我的解决方案与教授给出的解决方案不同。我计算了DH参数$ \ theta = \theta_1-90˚,d = 20m,a = 0,\ alpha =-90˚$。到目前为止,我的解决方案与我的教授之一相同。现在的下一个任务是使用计算出的DH参数来计算变换矩阵$ T_ {0,1} $。现在我计算出:
\ begin {equation}
T_ {0,1} =
\ left(\ begin {matrix}
\ cos(\ theta_1-90)&0 &-sin(\ theta_1-90)&0 \\
0&-1&0&20 \\
0&0&0&1
\ end {matrix} \ right)
\ end {equation}
现在我的教授的解决方案指出:
\ begin {equation}
T_ {0,1} =
\ left(\ begin {matrix}
\ cos(\ theta_1-90)&0&-sin(\ theta_1-90 )&0 \\
0&-1&0&20 \\
0& 0&0&1
\ end {matrix} \ right)
\ end {equation}
我几乎得到了什么,但不完全是因为他们把1放在了0在位置(2,2)。乘以单个DH参数的转换矩阵后,我发现位置(2,2)的值为$ \ cos(\ theta_i)\ cdot \ cos(\ alpha_i)$,从$ cos(-90˚)开始, $评估为0,应该为0,否则为0?我在哪里错了?

评论

您教授的解决方案似乎很糟糕。我将通过验证M * M ^ T = I(矩阵乘以其转置后得出的身份)来检查这两个矩阵是否实际上是旋转矩阵。

#1 楼

您的教授犯了一个错误,但他或她只是人。

左上3x3矩阵必须是正交旋转矩阵。该列的每一列都必须具有单位范数。第二列$ [0,1,-1] ^ T $具有范数$ \ sqrt {2} $,这使旋转矩阵无效。

评论


$ \ begingroup $
很抱歉回答这么晚。谢谢你的帮助。我没有费心检查,因为我以为我的教授做了
$ \ endgroup $
–最大
19年1月9日在21:03