I am specifically interested in DH parameters versus other representations in terms of kinematic calibration. The best (clearest) source of information I could find on kinematic calibration is in the book "Robotics: Modelling, Planning and Control" by Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, Giuseppe Oriolo, chapter 2.11. Which requires a description of the arm in DH parameters, multiplying out the kinematics equation, partial differentiation w.r.t. each DH parameter, then a least-squares fit (with the left pseudo-inverse), then iterate.

Is there some fundamental reason why DH parameters are used instead of a different representation (like xyz + euler angles). I understand that there are fewer parameters (4 versus 6 or more), but for a calibration procedure like this I will be taking much more data than unknowns anyway. All the robotics textbooks i have read just present DH parameters and say "this is what you should use", but don't really go into why. Presumably this argument can be found in the original paper by Denavit, but I can't track it down.


2 Answers 2


I have been doing a lot of reading up on kinematic calibration and here is what I found:

From [1]:

A kinematic model should meet three basic requirements for kinematic-parameter identification:

1) Completeness: A complete model must have enough parameters to describe any possible deviation of the actual kinematic parameters from the nominal values.

2) Continuity: Small changes in the geometric structure of the robot must correspond to small changes in the kinematic parameters. In mathematics, the model is a continuous function of the kinematic parameters.

3) Minimality: The kinematic model must include only a minimal number of parameters. The error model for the kinematic calibration should not have redundant parameters.

While DH parameters are complete and minimal, they are not continuous. In addition, there is a singularity when two consecutive joints have parallel axes. From [2]:

Our assumption is that small variations in the position and orientation of two consecutive links can be modeled by small variations of the link parameters. This assumption is violated if we use the Denavit and Hartenberg link geometry characterization when the two consecutive joints have parallel or near parallel axes.

This has led a number of researchers to propose alternative models. Namely the Hayati model [2], Veitschegger and Wu’s model [3], Stone and Sanderson’s S-model [4], and the "Complete and Parametrically Continuous" (CPC) model [5].

These models typically involve adding parameters. Which creates redundancy that has to be dealt with. Or they are specifically tailored to the geometry of their robot. Which eliminates generality.

One alternative is the Product of Exponentials formulation [6]. The kinematic parameters of in POE model vary smoothly with changes in joint axes and can handle kinematic singularities naturally. However, due to the use of joint twists, this method is not minimal. This led Yang et al. [7] to propose a POE formulation with only 4 parameters per joint which is minimal, continuous, complete, and general. They do this by choosing joint frames very specifically. (Which actually vaguely resemble D-H frames).

[1]: Ruibo He; Yingjun Zhao; Shunian Yang; Shuzi Yang, "Kinematic-Parameter Identification for Serial-Robot Calibration Based on POE Formula," in Robotics, IEEE Transactions on , vol.26, no.3, pp.411-423, June 2010

[2]: Hayati, S.A., "Robot arm geometric link parameter estimation," in Decision and Control, 1983. The 22nd IEEE Conference on , vol., no., pp.1477-1483, - Dec. 1983

[3]: W. Veitschegger and C. Wu, “Robot accuracy analysis based on kinematics,” IEEE Trans. Robot. Autom., vol. RA-2, no. 3, pp. 171–179, Sep. 1986.

[4]: H. Stone and A. Sanderson, “A prototype arm signature identification system,” in Proc. IEEE Conf. Robot. Autom., Apr. 1987, pp. 175–182.

[5]: H. Zhuang, Z. S. Roth, and F. Hamano, “A complete and parametrically continuous kinematic model for robot manipulators,” IEEE Trans. Robot. Autom., vol. 8, no. 4, pp. 451–463, Aug. 1992.

[6]: I. Chen, G. Yang, C. Tan, and S. Yeo, “Local POE model for robot kinematic calibration,” Mech. Mach. Theory, vol. 36, no. 11/12, pp. 1215– 1239, 2001.

[7]: Xiangdong Yang, Liao Wu, Jinquan Li, and Ken Chen. 2014. A minimal kinematic model for serial robot calibration using POE formula. Robot. Comput.-Integr. Manuf. 30, 3 (June 2014), 326-334.


The link, What are the advantages of using the Denavit-Hartenberg representation?, in Paul's comment provides a correct synopsis.

Additional, practical benefits are:

  1. DH provides a guaranteed minimal representation. Very good for linear algebra computations, as you want to use the most compact form that's available.

  2. DH matrices are very straight-forward to solve. Fast computations are often needed for velocities, accelerations, rotations, translations, center of gravity, all variations of Jacobian derivations, essentially all kinematics.

  3. Using DH with a least-squares technique will help in the reduction of error faster, i.e. faster convergence of the estimated states.

If you keep reading "Robotics: M P C," you'll see the same style of linear algebra derivations popping up. The authors derived these equations to all work with the simple DH matrices. You can use any other representation, but you'll have to re-derive the kinematics.

  • 1
    $\begingroup$ I agree. As I had mentioned earlier, "Regarding your question about DH parameters: they are so widely used that there are some pretty standard methods established if you've defined your system with them so you don't wind up re-deriving everything from scratch." $\endgroup$
    – Chuck
    Commented Aug 11, 2015 at 11:41
  • $\begingroup$ Exactly, and if you get used to this notation, you'll get used to the math much easier. $\endgroup$ Commented Aug 11, 2015 at 17:50

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.