机器人学:DH 参数的齐次变换矩阵
Robotics: Homogenous Transformation Matrix for DH parameters
我正在学习机器人简介,发现有不同的方程式可以使用 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.
它们有什么区别?结果会不一样吗?
计算位置和方向应该用哪一个?
据我所知没有区别。它们都应该给你相同的最终结果,但要保持一致。选择一种形式并坚持下去。
主要问题出现在您试图逆转该过程时。使用 method 1
从时间 t
到 t+1
很好,但是如果你想从 t+1
到 t
你需要使用 method 1
.使用另一种方法进行转换(尽管它在技术上应该有效)通常不会因为建模中的非线性和旋转的舍入误差(cos 和 sin 项)。
不过这并不奇怪,这与您在从本地参考(关于机器人)到全局参考时遇到的问题相同。正向和反向词转换必须保持平移和旋转的顺序
我正在学习机器人简介,发现有不同的方程式可以使用 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.
它们有什么区别?结果会不一样吗? 计算位置和方向应该用哪一个?
据我所知没有区别。它们都应该给你相同的最终结果,但要保持一致。选择一种形式并坚持下去。
主要问题出现在您试图逆转该过程时。使用 method 1
从时间 t
到 t+1
很好,但是如果你想从 t+1
到 t
你需要使用 method 1
.使用另一种方法进行转换(尽管它在技术上应该有效)通常不会因为建模中的非线性和旋转的舍入误差(cos 和 sin 项)。
不过这并不奇怪,这与您在从本地参考(关于机器人)到全局参考时遇到的问题相同。正向和反向词转换必须保持平移和旋转的顺序