[ros-users] Introducing A Better Inverse Kinematics Package
Patrick Beeson
pbeeson at traclabs.com
Mon Nov 16 19:48:52 UTC 2015
In an attempt to demonstrate how KDL works well with some platforms
(like the PR2), versus when it creates issues for other platforms (like
the Jaco-2 arm), I've started compiling a small table of IK results for
various platforms of KDL versus TRAC-IK.
https://bitbucket.org/traclabs/trac_ik
If you see issues with KDL or MoveIt! with your manipulation hardware, I
can run my tests on your URDF and add it to the results table. Coming
soon: the cleaned up executable that will allow anyone to run these
tests themselves for verification.
On 11/05/2015 04:11 PM, Patrick Beeson wrote:
> TRACLabs Inc. is glad to announce the public release of our Inverse
> Kinematics solver TRAC-IK. TRAC-IK is a faster, significantly more
> reliable drop-in replacement for KDL's pseudoinverse Jacobian solver.
>
> Source (including a MoveIt! plugin) can be found at:
> https://bitbucket.org/traclabs/trac_ik.git
>
> TRAC-IK has a very similar API to KDL's IK solver calls, except that
> the user passes a maximum time instead of a maximum number of search
> iterations. Additionally, TRAC-IK allows for error tolerances to be
> set independently for each Cartesian dimension (x,y,z,roll,pitch.yaw).
>
> More details:
>
> KDL's joint-limited pseudoinverse Jacobian implementation is the
> solver used by various ROS packages and MoveIt! for generic
> manipulation chains. In our research with Atlas humanoids in the DARPA
> Robotics Challenge and with NASA's Robotnaut-2 and Valkyrie humanoids,
> TRACLabs researchers experienced a high amount of solve errors when
> using KDL's inverse kinematics functions on robotic arms. We tracked
> the issues down to the fact that theoretically-sound Newton methods
> fail in the face of joint limits. As such, we have created TRAC-IK
> that concurrently runs two different IK methods: 1) an enhancment of
> KDL's solver (which detects and mitigates local minima that can occur
> when joint limits are encountered during gradient descent) and 2) a
> Sequential Quadratic Programming IK formulation that uses quasi-Newton
> methods that are known to better handle non-smooth search spaces. The
> results have been very positive. By combing the two approaches
> together, TRAC-IK outperforms both standalone IK methods with no
> additional overhead in runtime for small chains, and significant
> improvements in time for large chains.
>
> Details can be found here in our Humanoids 2015 paper here:
> https://personal.traclabs.com/~pbeeson/publications/b2hd-Beeson-humanoids-15.html
> <https://personal.traclabs.com/%7Epbeeson/publications/b2hd-Beeson-humanoids-15.html>
>
> A few high-level results are shown in the attached (low-res) figure.
>
--
Patrick Beeson
Senior Scientist
TRACLabs Inc.
More information about the ros-users
mailing list