universal_robot icon indicating copy to clipboard operation
universal_robot copied to clipboard

Added function to enumerate all possible joint angles per IK solution

Open a-price opened this issue 6 years ago • 6 comments

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

a-price avatar Jul 20 '17 22:07 a-price

this fork fixes a ton of issue, please take a look

maxgittelman avatar Aug 07 '17 17:08 maxgittelman

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.

gavanderhoorn avatar Sep 12 '17 23:09 gavanderhoorn

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?

a-price avatar Sep 13 '17 01:09 a-price

Also, is kinetic-devel the correct branch to push to? The Travis CI error seemed to be unhappy with package installation.

a-price avatar Sep 13 '17 01:09 a-price

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.

gavanderhoorn avatar Jun 25 '18 16:06 gavanderhoorn

I suggest closing this PR in favor of #358 which combines this one with #239 and resolves the conflicts between them.

mxgrey avatar Jul 11 '18 07:07 mxgrey