ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Is there any docs about the principle of IK provided by KDL?

asked 2012-11-15 13:09:29 -0600

recently i'm using the inverse kinematics(IK) service provided by KDL. it works great! but i want to know its principles. is there any docs, papers about this?

thanks in advance.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2012-11-15 16:59:18 -0600

jbohren gravatar image

updated 2012-11-15 17:01:28 -0600

It depends on which solver you're talking about.

Of the solvers listed here, there are "IK velocity" solvers and "IK position" solvers. There's only really one type of "position" solver listed (with variants that do and do not enforce joint limits). This is the Newton-Raphson solver (ChainIKSolverPos_NR_*). This is an iterative solver which requires a way to compute the gradient of the jacobian at each iteration. This gradient is computed by one of the several "velocity" solvers (ChainIKSolverVel_*) and each solver computes this gradient in a different way. You can see how the Newton-Raphson "position solver" calls the "velocity solver" here (I'm linking to a fork of mine for the sake of syntax hilighting via github).

Not listed there, however, is the Levenberg-Marquardt solver (ChainIKSolverPos_LMA), the source of which can be seen here (header) and here (source).

This primer gives a pretty good overview of some of these methods:

edit flag offensive delete link more


thanks man. i will take a look at these.

yangyangcv gravatar image yangyangcv  ( 2012-11-15 20:11:28 -0600 )edit

Question Tools

1 follower


Asked: 2012-11-15 13:09:29 -0600

Seen: 650 times

Last updated: Nov 15 '12