Robotics: Homogenous Transformation Matrix for DH parameters

689 Views Asked by At

I'm studying Introduction to robotic and found there is different equations to determine the position and orientation for the end effector of a robot using DH parameters transformation matrix, they are :

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.

What is the difference between them? Will the result be different? Which one should I use when calculating the position and orientation?

1

There are 1 best solutions below

0
On BEST ANSWER

As far as I know there is no difference. They should all give you the same end result, but be consistent. pick one form and stick with it.

The main problem comes when you are trying to reverse the process. Using method 1 to got from time t to t+1 is fine, but if you wanted to go from t+1 to t you would need to use method 1. Using another method to do the transform (though it should technically work) usually doesn't because nonlinearities in modeling and rounding errors for rotation (cos and sin terms).

This isn't really surprising though, it's the same issue you encounter when going from a local reference(with respect to a robot) to a global reference. The order of translations and rotations must be maintained for forward and backword transformations