The length of the last link (1.73) of my model (of a human finger) is not represented in any of the parameters that I calculated using the Denavit-Hartenberg algorithm, which I think can't be right. I suppose it should be represented in either a₃ or α₃, but those are both 0. It should be noted that the model has no end-effector/tool, but I aligned the z₃ with the approach vector anyway. If anyone has an idea where I'm messing up, that would be much appreciated! The model in question:

Denavit-Hartenberg representation of a human finger


3 Link Planar robot arm

Note that in your drawing theta_p and theta_d angle are negative according to the right hand rule. That's the first mistake you made, to elaborate, theta_1 is equal to -theta_p.

Also in the last row of your DH table, the translation of DP is in the negative Y direction. Do not forget that the order matters - although there are 5 different combinations of orders of matrix multiplications to calculate the homogeneous transformation matrix.

Forget about the 5 different combinations and stick with the standard one: First rotation about Z Second translation along Z Third translation along X Fourth rotation about X


I'm not sure why you're not following your own pattern. You have

a1 = PP;
a2 = IP;
a3 = 0;

Why would a3 not be DP?

  • $\begingroup$ Because it is zero according to the algorithm (Slide 17: cs.uu.nl/docs/vakken/moma/Kinematics_for_Arms.pdf). It has to do with the orientation of the last coordinate frame at the fingertip, but that is the official way of placing it. $\endgroup$
    – EmielBoss
    Oct 20 '17 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.