universal_robot
universal_robot copied to clipboard
Added function to enumerate all possible joint angles per IK solution
As discussed in #300, there may be many possible joint configurations for a single kinematic IK solution. This patch recursively adds joints satisfying q[i][j] + 2pi and the joint limits.
Addresses #300, and possibly #276 and #252
this fork fixes a ton of issue, please take a look
This should be reviewed together with #239 and #316.
I won't do that before ROSCon however, and in any case would like some additional eyes on this.
As mentioned in #316, this fix leaves quite a few solutions to sort through. When I wrote this, I was trying to get something working that would give the correct answer with a minimum of changes to the existing code. I think a better solution would be to pass the weights and seed state into the recursion, and perform a branch-and-bound-esque pruning of the solution tree as it's built. It might also be possible to sort each joint solution individually, but we'd have to be careful to avoid the error in the original implementation. Thoughts?
Also, is kinetic-devel the correct branch to push to? The Travis CI error seemed to be unhappy with package installation.
Tagging this PR with wrid18
as this is a PR that would be nice to review.
#239 and #316 should be taken into account / considered as well.
I suggest closing this PR in favor of #358 which combines this one with #239 and resolves the conflicts between them.