TRAC-IK: An Open-Source Library for Improved Solving of Generic Inverse Kinematics

Patrick Beeson and Barrett Ames. TRAC-IK: An Open-Source Library for Improved Solving of Generic Inverse Kinematics. In Proceedings of the IEEE RAS Humanoids Conference, Seoul, Korea, November 2015.

Abstract

The Inverse Kinematics (IK) algorithms implemented in the open-source Orocos Kinematics and Dynamics Library (KDL) are arguably the most widely-used generic IK solvers worldwide. However, KDL's only joint-limit-constrained IK implementation, a pseudoinverse Jacobian IK solver, repeatedly exhibits false-negative failures on various humanoid platforms. In order to find a better IK solver for generic manipulator chains, a variety of open-source, drop-in alternatives have been implemented and evaluated for this paper. This article provides quantitative comparisons, using multiple humanoid platforms, between an improved implementation of the KDL inverse Jacobian algorithm, a set of sequential quadratic programming (SQP) IK algorithms that use a variety of quadratic error metrics, and a combined algorithm that concurrently runs the best performing SQP algorithm and the improved inverse Jacobian implementation. The best alternative IK implementation finds solutions much more often than KDL, is faster on average than KDL for typical manipulation chains, and (when desired) allows tolerances on each Cartesian dimension, further improving speed and convergence when an exact Cartesian pose is not possible and/or necessary.

Additional Information

Selected for oral presentation

Talk slides

Source Code

BibTeX

@InProceedings{Beeson-humanoids-15,
  author =       {Patrick Beeson and Barrett Ames},
  title =        {{TRAC-IK}: An Open-Source Library for Improved Solving of
                  Generic Inverse Kinematics},
  booktitle =    {Proceedings of the IEEE RAS Humanoids Conference},
  year =         2015,
  address =      {Seoul, Korea},
  month =        {November},
  abstract =     {The Inverse Kinematics (IK) algorithms implemented in the
                  open-source Orocos Kinematics and Dynamics Library (KDL) are
                  arguably the most widely-used generic IK solvers worldwide.
                  However, KDL's only joint-limit-constrained IK
                  implementation, a pseudoinverse Jacobian IK solver,
                  repeatedly exhibits false-negative failures on various
                  humanoid platforms.  In order to find a better IK solver for
                  generic manipulator chains, a variety of open-source,
                  drop-in alternatives have been implemented and evaluated for
                  this paper.  This article provides quantitative comparisons,
                  using multiple humanoid platforms, between an improved
                  implementation of the KDL inverse Jacobian algorithm, a set
                  of sequential quadratic programming (SQP) IK algorithms that
                  use a variety of quadratic error metrics, and a combined
                  algorithm that concurrently runs the best performing SQP
                  algorithm and the improved inverse Jacobian implementation.
                  The best alternative IK implementation finds solutions much
                  more often than KDL, is faster on average than KDL for
                  typical manipulation chains, and (when desired) allows
                  tolerances on each Cartesian dimension, further improving
                  speed and convergence when an exact Cartesian pose is not
                  possible and/or necessary.},
  bib2html_pubtype ={Refereed Conference},
  bib2html_rescat ={Humanoids},
  bib2html_extra_info ={Selected for oral presentation<br><br><a
                  href="http://personal.traclabs.com/~pbeeson/talks/Beeson-humanoids-15_talk.pdf">
Talk slides</a><br><br><a href="https://bitbucket.org/traclabs/trac_ik.git">Source Code</a>}
}

Download:

[754.7KB pdf]