Re: [ros-users] Introducing A Better Inverse Kinematics Pack…

Top Page
Message as email
+ (text/plain)
+ (text/html)
+ (text/plain)
Delete this message
Reply to this message
Author: Linas Vepstas via ros-users
To: Patrick Beeson, User discussions
Subject: Re: [ros-users] Introducing A Better Inverse Kinematics Package
Hi Patrick,

Not having looked at your code at all, can I make a request? I have some
joints that are not simple chains, and thus are not handled by any IK
solver I know of ... but should be.

The joint I have is a three-legged table; one of the legs is fixed, the
other two are driven by linkages; I need to be able to know joint angles,
given a desired table surface position and orientation.

I currently solve this using some fairly simple hand-written code,
integrated in a most awful hacky way, but it would be nice to see this
supported in an IK solver.


On Fri, Nov 6, 2015 at 6:11 AM, Patrick Beeson via ros-users <
> 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:
> 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:
> <>
> A few high-level results are shown in the attached (low-res) figure.
> _______________________________________________
> ros-users mailing list

ros-users mailing list