我正在学习机器人入门,并发现使用DH参数变换矩阵确定机器人末端执行器的位置和方向有不同的方程式,它们是:
1
Translate by d_i along the z_i-axis.
Rotate counterclockwise by theta_i about the z_i-axis.
Translate by a_{i-1} along the x_{i-1}-axis.
Rotate counterclockwise by alpha_{i-1} about the x_{i-1}-axis.
2
Rotate by theta_i about the Z_i-axis.
Translate by d_i along the z_i-axis.
Translate by a_(i-1) along the x(i-1)-axis.
Rotate by alpha_(i-1)along the x(i-1)-axis.
3
Rotate by alpha_(i-1)along the x(i-1)-axis.
Translate by a_(i-1)along the x(i-1)-axis.
Rotate by theta_i about the Z_i-axis.
Translate by d_i about the Z_i-axis.
他们之间有什么区别?结果会有所不同吗? 在计算位置和方向时我应该使用哪一个?
答案 0 :(得分:0)
据我所知,没有区别。他们都应该给你相同的最终结果,但要保持一致。选择一种形式并坚持下去。
当您尝试撤消该过程时,会出现主要问题。使用method 1
从t
到t+1
的时间很好,但是如果您想从t+1
转到t
,则需要使用{{1} }}。使用另一种方法进行变换(虽然它在技术上应该起作用)通常不会因为建模中的非线性和旋转的误差(cos和sin项)。
这并不令人惊讶,但是从本地参考(相对于机器人)到全局参考时遇到的问题也是如此。必须保持翻译和轮换顺序以进行前向和后向转换