I'm having some issues with a planar manipulator I have to deal with.

The first two moves are rotational and the third one is a prismatic one. The shoulder and elbow move around the X-axis, while the forearm moves forward and backward a distance "a" (d3).

I did all the direct and inverse kinematics, including the Jacobian. I think the third move around x is not done correctly.

Here is a picture about the x-y-z-axis and the DH Table we made:

enter image description here

I've seen an answer about this subject but I can't even understand that one. On the image you can see there are my two attempts, but neither of them worked for me.


2 Answers 2


There are 2 main rules in assigning frames following DH convention: source: Robot Modeling and Control, Spong et. al

  1. $x_i \perp z_{i-1}$
  2. $x_i$ intersects $z_{i-1}$

In your attempts,

  • Your first attempt is incorrect as your $z_2$ axis is not in the direction of actuation of the prismatic joint.
  • I'm not clear on your second attempt as $x_1$ appears to be named at 2 places. (Please correct your image).

One possible frame assigment I'm assuming is with the following correction to your second attempt image:

  • $x_1$ is in the direction of $z_2$ and $x_2 \perp z_2$ as in your second figure.

The only correction you need to make in your DH table is in second row, i.e. change $\theta_2$ to $\theta_2-\pi/2$ as you are rotating $x_1$ to $x_2$ around $z_1$ by $-\pi/2$.

Hope this helps your situation.



I answered a similar question DH parameters for a PPP arm, take a look for a detailed answer.

If your first joint is the origin, you start the parameters by looking to the next joint. In this case, the last line of the table will give you the parameters of the transformation between the last joint and the end effector.

For your RRP arm, the DH parameters would be

Link 1: d1 = 0, alpha1 = 0, a1 = a1, theta1 = theta1 (variable) (Parameters between joint 2 and 1)

Link 2: d2 = 0, alpha2 = 0, a2 = a2, theta2 = theta2 (variable) (Parameters between joint 3 and 2)

Link 3: d3 = d3, alpha3 = 0, a3 = 0, theta3 = 0 (Parameters between endeffector and joint 3)

  • $\begingroup$ Hello Felipe and thank you for the fast answer but im still confused with the position of the x-z axixes of the last joint with the end effector. With that table you made me, I calculated the A1-0, A2-1 and the A3-2 but the draw i get from this is the same as the one i have drawn on the question and if the d3 moves around the Z-axis it means the hand moves up and down and not forward and backwards. $\endgroup$
    – Julian
    Nov 6, 2019 at 9:58
  • $\begingroup$ Imagine that at the end of x2 you'll find another XYZ axes that represent the position of the end effector. This way, d3, which is variable, represents the motion of the last P joint in the X direction. $\endgroup$ Nov 8, 2019 at 20:22
  • $\begingroup$ but i want the arm to move forward and not up and down as your solution describes... prismatic movements go around the z-axis so that DH table is not correct or im missing something out. $\endgroup$
    – Julian
    Nov 9, 2019 at 16:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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