# DH parameters for a PPP arm

I found this picture on the web and was working through it to make sure I understood the derivation for a PPP arm. I believe for link 2, alpha_2 ought to be -90 and not +90.

Additionally, I don't understand why theta_3 is -90, give that link_3 is only a translation of link_2.

Am I misunderstanding something or are the provided DH parameters incorrect with respect to the provided drawing?

• where did you get that picture? Apr 3 '19 at 1:14
• I was googling for 'dh parameters PPP arm' and found it under the image search result. Why do you ask? Apr 3 '19 at 13:15
• i did not ask you how did you find the picture? ...... i guess that i should have said please provide a link to the picture ...... the reason that i ask is that there may have been a link to an explanation regarding the calculation Apr 3 '19 at 16:00
• ah, apologies for misunderstanding. I found the picture here - reddit.com/r/robotics/comments/5fga3d/dh_parameter_check. The link has some short discussion but doesn't seem to agree on an answer. Apr 3 '19 at 16:59

The DH parameters comes from the common normal between two consecutive Z axes. Every time you're in doubt about the DH parameters, you can follow common guidelines between two consecutive axes.

In this case, $$d_i$$ is the distance along previous Z starting from the previous origin O to the intersection of the new X and previous Z axis, which is variable in the case of prismatic joints.

$$r_i$$ (or $$a_i$$) is the distance in current X starting from current origin O to the intersection between previous Z and current X.

$$\theta_i$$ is the angle in previous Z to align the previous X with the new X.

$$\alpha_i$$ is the angle in current X to align previous Z to current Z.

From the picture, starting with link 1:

• $$d$$: The distance from previous O to the intersection of previous Z and current X is variable, so it's d1.

• $$a$$: The distance in current X starting from current O to the intersection between previous Z and current X is 0.

• $$\theta$$: The angle in previous Z to align previous X with the new X is 0.

• $$\alpha$$: The angle in current X to align previous Z to current Z is -90 (right hand rule).

• $$d$$: The distance from previous O to the intersection of previous Z and current X is variable, so it's d2.

• $$a$$: The distance in current X starting from current O to the intersection between previous Z and current X is 0.

• $$\theta$$: The angle in previous Z to align previous X with the new X is 90 (right hand rule).

• $$\alpha$$: The angle in current X to align previous Z to current Z is -90 (right hand rule).

• $$d$$: The distance from previous O to the intersection of previous Z and current X is variable, so it's d3.

• $$a$$: The distance in current X starting from current O to the intersection between previous Z and current X is 0.

• $$\theta$$: The angle in previous Z to align previous X with the new X is 0 (right hand rule).

• $$\alpha$$: The angle in current X to align previous Z to current Z is 0 (right hand rule).

So the correct DH Table for this robot would be:

Link 1: $$a=0$$, $$\alpha=-90$$, $$d=d1$$, $$\theta=0$$

Link 2: $$a=0$$, $$\alpha=-90$$, $$d=d2$$, $$\theta=90$$

Link 3: $$a=0$$, $$\alpha=0$$, $$d=d3$$, $$\theta=0$$

You can see some guidelines here.

• I did try to edit, but it was rejected. You have an error in your final table of D-H parameters for link 1. d should be d1, not d2 (as noted earlier in your answer). Apr 3 '19 at 23:56
• thank you, this makes sense to me. Also, I believe you meant d1 for link 1 in your table at the bottom? Apr 3 '19 at 23:58
• Yes, it's d1. I edited. Glad to help. Apr 3 '19 at 23:59