Modified DH Parameter for Puma 560

I'm trying to apply modified DH parameters (from Craig's version) to Puma 560.

As per modified DH says,

And the robot Puma 560 with axes and frame are,

As per above sign convention, the sign of d2 and d3 should be negative. However, for the correct result, it seems that the sign of d2 should be positive.

My question is, should the sign here be positive and if yes, then doesn't it contradict the sign convention for above mentioned modified DH convention?

• Where is $a_3$ in your schematic? – csg May 5 '18 at 20:19

I'm not sure if there's a typo in your question (maybe you're asking the question after working in a zero-based programming language?) but you're asking about the signs of d2 and d3, but I don't see a d2 anywhere in Picture 1 or Table 1. Do you mean d3 and d4? I'll assume this is the case for the answer.

$$\mbox{Offset length, } d_i \mbox{ is the distance from } x_{i-1} \mbox{ to } x_{i} \mbox{ measured along } z_i \\$$

So, start at $x_{i-1}$, go to $x_i$, and compare the direction you're going to the direction that $z_i$ points. If you're moving in the same direction, it's positive.

So, I get that both $d_3$ and $d_4$ are positive; here's my work:

Again, in the top image I'm comparing the line from $x_2$ to $x_3$ to the orientation of $z_3$. They point in the same direction, so $d_3$ is positive. The same goes for the bottom graphic.

• Sorry, my mistake. You are right, it is d3 and d4 (i changed the figure but didn't check for the d number, my mistake). – Nitin Kumar Mar 17 '17 at 16:49
• Thank you very much! I have now used the positive notation as you shown, it seems this example only solve if arm is up. I started with all joint angle zero, I used a robot simulator called RoboDK to see what position I get. When I attach frame when the arm is down like in figure, I get negative value for zero but if I attach frame if arm is up then I get correct values. This bring me another important question, how can one know which robot pose to start with? – Nitin Kumar Mar 17 '17 at 16:55
• @NitinKumar - Glad this helps. If this answers the question you asked, please accept it so the question is marked as complete (check mark between the up and down arrows). Regarding how you know the pose - the pose is dictated by the joint angles $\theta$. Each of the other parameters, $a$, $\alpha$, and $d$ work to describe how one joint relates physically to the next (or previous, as in modified DH) joint. The joint angles describe how the link is oriented. Remember that polarity counts for describing rotations; use the right hand rule!. – Chuck Mar 17 '17 at 17:42
• If your question is more detailed than this (or my brief comment here is insufficient), then please create a new question and add the specifics of what you're providing as the joint angles and what the particular answers are that you're getting. Questions are free, so please use as many as you want. If you would like to include this question to give the other one context, then simply click the "share" button under this question and paste that link into your new question. You can hyperlink text by using the following: [link text](http://robotics.stackexchange.com/q/11878/9720). – Chuck Mar 17 '17 at 17:44
• I can only assume that I am getting negative values for z axis when arm is down as in figure is because the robot's base is located where frame 1 is located and therefore, even though the convention say that we must take d4 positive w.r.t z3 axis but these dimensions should get sign as per direction of z axis at origin (z_origin). So d4 should be negative instead of positive OR we must assign all up or down z-axis after z_origin in the same direction as z_origin? What would you like to say on this? – Nitin Kumar Mar 17 '17 at 18:18