OstermD / EAIK

EAIK: A Toolbox for Efficient Analytical Inverse Kinematics by Subproblem Decomposition
https://ostermd.github.io/EAIK/
GNU General Public License v3.0
12 stars 0 forks source link

EAIK does not find solutions for spherical redundant robots #15

Closed JonathanKuelz closed 1 week ago

JonathanKuelz commented 2 weeks ago

It seems that EAIK does not find solutions for some robots even thought they are spherical (hasKnownDecomposition == True).

I think all robots I have seen with this issue so far are redundant. Here is an example in DH parameters:

alpha_test = np.array([-1.5708,  1.5708,  1.5708,  1.5708,  1.5708, -1.5708])
a_test = np.array([0.2951, 0.4270, 0.0000, 0.0000, 0.0000, 0.1680])
d_test = np.array([0.0000, 0.9954, 0.6455, 0.0000, 0.0000, 0.0000])
# a_test = np.array([0.2951, 0.4270, 0.2000, 0.0000, 0.0000, 0.1680])  --> This fixes the issue

(this robot fails for basically any pose it can reach)

In theory, EAIK should be able to solve these, shouldn't it?

OstermD commented 1 week ago

This robot is indeed redundant in every configuration, as the last four axes intersect. As none of the other axes intersect, SP5 becomes part of its decomposition, which then fails for every desired pose.

See #17 for further information