Given three sets of joint angles in which the end effector is in the same position, is it possible to find the DH parameters?

If the robot has 2 DOF in shoulder, 2 DOF in elbow, and 1 dof in wrist, with DH parameters as upper arm length, elbow offset in 1 axis, lower arm length, can this be solved, if so how?

I tried iterating through DH parameters to minimize position of end effector with forward kinematics, but this doesnt seem to work as DH parameters of 0 for everything makes 0 minimal distance.

Reason for this; given a physical robot, no DH parameters are known, and measuring by hand is not accurate.


1 Answer 1


For a 5-DOF manipulator you will have 15 DH parameters. Three sets of joint angles will yield 9 equations, so that will not be enough to determine the parameters. And this is assuming you know the end-effector position, whereas if you are simply trying to use the constraint that all three positions are equal then you will have even fewer equations to work with.

You should be able to estimate the $\alpha$ parameters simply by inspecting the robot -- hopefully they are all 0 deg or $\pm$90 deg.

If you are measuring the end-effector position then you can simply set up as many test points as are necessary to get all of the parameters. This can be done strategically to simplify the process. Start with the outermost link, rotate that joint only, and look at how the end-effector position changes, then you can determine that link's parameters. Then move to the next link and repeat.

Alternatively, you can use the forward kinematics in a differential form as would be used to determine end-effector velocity, $\dot{p}$, in terms of joint angle velocities, $\dot{\theta}$, based on the Jacobian, $J$.

$\dot{p} = J \dot{\theta}$

Consider this relationship in terms of differences in end-effector position related to differences in joint angles:

$\Delta p = J \Delta \theta$

The above relationship can then be used to solve for the DH parameters given a series of measured $\Delta p$ and $\Delta \theta$ values using a non-linear least-squares solution.

  • $\begingroup$ based on the actual robot, the only dh parameters are the ones i list, upper arm length, elbow offset x, lower arm length. The issue is not knowing exactly where the end effector is, as I can not measure the center of the shoulder joint (which is what I use as base frame so the shoulder has no offset). $\endgroup$ Commented Nov 2, 2015 at 5:14
  • $\begingroup$ Are you asking if your particular set of equations are determinate? $\endgroup$ Commented Nov 2, 2015 at 5:26
  • $\begingroup$ I am asking if there is a known method for solving dh parameters given some physical robot where the parameters are unknown, so it is not possible to measure inside the joint, and not possible to know the possition of the end effector relative to any frame within the robot. $\endgroup$ Commented Nov 2, 2015 at 8:06
  • $\begingroup$ If it is not possible to know the end-effector position then you cannot identify the DH parameters. Surely you must be measuring the end-effector position somehow? If so then just do as I said, work backwards from the outermost link. One method that you can use for identifying the link parameters is to setup fiduciary markers and use a camera, but that is quite a bit of work. $\endgroup$ Commented Nov 2, 2015 at 8:11
  • $\begingroup$ I can know end effector relative to another end effector location, but not the robot frame, if I could measure EE to robot frame (which is inside the robot), then I could measure the DH parameter. I do have a mocap sytem. $\endgroup$ Commented Nov 2, 2015 at 8:14

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.