1
$\begingroup$

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?

enter image description here

$\endgroup$
  • $\begingroup$ where did you get that picture? $\endgroup$ – jsotola Apr 3 at 1:14
  • $\begingroup$ I was googling for 'dh parameters PPP arm' and found it under the image search result. Why do you ask? $\endgroup$ – blueether Apr 3 at 13:15
  • $\begingroup$ 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 $\endgroup$ – jsotola Apr 3 at 16:00
  • $\begingroup$ 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. $\endgroup$ – blueether Apr 3 at 16:59
2
$\begingroup$

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).

For link 2:

  • $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).

For link 3:

  • $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.

$\endgroup$
  • $\begingroup$ 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). $\endgroup$ – sempaiscuba Apr 3 at 23:56
  • $\begingroup$ thank you, this makes sense to me. Also, I believe you meant d1 for link 1 in your table at the bottom? $\endgroup$ – blueether Apr 3 at 23:58
  • $\begingroup$ Yes, it's d1. I edited. Glad to help. $\endgroup$ – Felipe Henrique Apr 3 at 23:59

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.