[ros-users] Introducing A Better Inverse Kinematics Package

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
+ results2.png (image/png)
+ (text/plain)
Delete this message
Reply to this message
Author: Patrick Beeson
Date:  
To: ros-users
Subject: [ros-users] Introducing A Better Inverse Kinematics Package
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/%7Epbeeson/publications/b2hd-Beeson-humanoids-15.html>
https://personal.traclabs.com/~pbeeson/publications/b2hd-Beeson-humanoids-15.html

A few high-level results are shown in the attached (low-res) figure.

_______________________________________________
ros-users mailing list

http://lists.ros.org/mailman/listinfo/ros-users