I am working on an implementation of inverse kinematics using the jacobian transpose method. The implementation seems to be working as it does find the "theta" vector, although sometimes it might take an insane amount of steps to do so, which makes me believe that it is not correctly implemented.

So after reading a bit on it, it appears as if each step is guaranteed to be closer to the end effector than the previous step. Is this a correct assumption?

In my implementation it is not always closer for every step, so it might be a decent indication that there is something wrong

  • $\begingroup$ Could you write more about your chain? How many joints? DOFs? How large is your step? If everything is in order, it should be closer, but it is too rich assumption, there might be some singularity or ill-conditioning. What do you expect from answer? $\endgroup$ – Evil Feb 6 '19 at 20:44
  • $\begingroup$ Currently running with 3 joints moving in 2 dimensions, and with a step parameter of 0.0035. but I think that you answered what I was after that it should be closer. in pretty much all cases that I've tried it moves away from the target at some point $\endgroup$ – munHunger Feb 6 '19 at 20:53
  • 2
    $\begingroup$ Do you use analytic or numerical solution? Have you considered closed-form solution instead? Maybe system is underconstrained? $\endgroup$ – Evil Feb 6 '19 at 21:52
  • $\begingroup$ medium.com/unity3danimation/… I am using that as a reference. but I spent a couple of hours last night trying to see what the issue was and my implementation was wrong(in short I ran transpose on the jacobian matrix twice). Really did help knowing that I should always move closer to the target :) $\endgroup$ – munHunger Feb 7 '19 at 9:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.