I am using KDL Inverse Kinematic Solver (LMA) for a kinematic chain of 8 DOF. The problem is that the convergence to solution depends on the initial values. I run the algorithm with many initial values (ca 100 times) to increase the success rate. To generate the initial values I generate database consisting of thousands of joint value and cartesian pose pairs (using forward kinematics) in the neighborhood of my expected workspace. Before running IK, I search the database to get poses closest to the desired cartesian pose and use the paired joint space values as the initial guess. In this way I find a solution for almost all cases, however it is very time consuming.
My questions:
- Is it a good approach at all to generate such database of (joint space value, cartesian pose) pairs and perform the search?
- Are there other approaches to mitigate the initial value problem?
Thanks.