Failing to generate ikfast solver for Adept Viper s650

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Failing to generate ikfast solver for Adept Viper s650

LenaFrieden
Hello list,

i tried to generate an ikfast solver for an Adept Viper s650. I followed the instructions on http://moveit.ros.org/wiki/Kinematics/IKFast for using ikfast and openrave for moveit. I converted my URDF-file to COLLADA, rounded it to 5 decimal places. After it didnt work i rounded to 2 decimal places since ist just stopped at some point without giving an error. With this second rounded file i tried again to generate a solver with the following command:

python `openrave-config --python-dir`/openravepy/_openravepy_/ikfast.py --robot=src/AV_s650/urdf/AV_s650.rounded2.dae --iktype=transform6d --baselink=0 --eelink=6 --savefile=/home/ros/catkin_ws/src/ikfast61_AV_s650_manipulator.cpp

There are some warnings and errors then (full output below!):
 1. could not import scipy.optimize.leastsq
 
    So what does that mean? I do always get that when using openrave!

2. /usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py:1437: RuntimeWarning: invalid value encountered in divide
  axisangle /= angle

    I don't know if this is a problem since program continues

3. WARNING: solving (cj0, sj0, cj1, sj1, cj2, sj2): CannotSolveError: could not find non-singular matrix (15, 16)

4.   File "/usr/local/lib/python2.7/dist-packages/sympy/matrices/matrices.py", line 1926, in inverse_GE
    raise ValueError("A Matrix must have non-zero determinant to invert.")
ValueError: A Matrix must have non-zero determinant to invert.

So I do not really understand how this matrix is generated so I have no idea why it has a zero determinant and how i can change?

Any hint is appreciated!

Thanks a lot,
Lena

Command:
python `openrave-config --python-dir`/openravepy/_openravepy_/ikfast.py --robot=src/AV_s650/urdf/AV_s650.rounded2.dae --iktype=transform6d --baselink=0 --eelink=6 --savefile=/home/ros/catkin_ws/src/ikfast61_AV_s650_manipulator.cpp

 Output:
could not import scipy.optimize.leastsq
/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py:1437: RuntimeWarning: invalid value encountered in divide
  axisangle /= angle

INFO: moved translation [0, 0, 2/25] to right end
INFO: moved translation [0, 0, 13/100] to left end
INFO: moved translation on intersecting axis [0, 0, 19/100] to left
INFO: [[1, 0, 0, 0],[0, 1, 0, 0],[0, 0, 1, 33/100]]
INFO: [[cos(j0), -sin(j0), 0, 0],[sin(j0), cos(j0), 0, 0],[0, 0, 1, 0]]
INFO: [[1, 0, 0, 7/100],[0, 0, 1, 0],[0, -1, 0, 0]]
INFO: [[cos(j1), -sin(j1), 0, 0],[sin(j1), cos(j1), 0, 0],[0, 0, 1, 0]]
INFO: [[1, 0, 0, 0],[0, 1, 0, -27/100],[0, 0, 1, 0]]
INFO: [[cos(j2), -sin(j2), 0, 0],[sin(j2), cos(j2), 0, 0],[0, 0, 1, 0]]
INFO: [[0, 0, 1, 3/10],[1, 0, 0, -9/100],[0, 1, 0, 0]]
INFO: [[cos(j3), -sin(j3), 0, 0],[sin(j3), cos(j3), 0, 0],[0, 0, 1, 0]]
INFO: [[0, 1, 0, 0],[0, 0, 1, -1/100],[1, 0, 0, 0]]
INFO: [[cos(j4), -sin(j4), 0, 0],[sin(j4), cos(j4), 0, 0],[0, 0, 1, 0]]
INFO: [[0, 0, 1, 0],[1, 0, 0, 0],[0, 1, 0, 0]]
INFO: [[cos(j5), -sin(j5), 0, 0],[sin(j5), cos(j5), 0, 0],[0, 0, 1, 0]]
INFO: [[0, 0, -1, 0],[0, 1, 0, 0],[1, 0, 0, 2/25]]
INFO: ikfast 6d: [j0, j1, j2, j3, j4, j5]
INFO: found 3 consecutive non-intersecting axes links[0:5], vars=[j0, j1, j2]
INFO: found 3 consecutive non-intersecting axes links[2:7], vars=[j1, j2, j3]
INFO: found 3 consecutive non-intersecting axes links[4:9], vars=[j2, j3, j4]
INFO: found 3 consecutive non-intersecting axes links[6:11], vars=[j3, j4, j5]
INFO: try first group 0/4
INFO: computed in 7.956781s
INFO: computed in 5.079719s
INFO: attempting li/woernle/hiller general ik method
INFO: allowed indices: [0]
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(-cj1*sj2 - sj1*cj2, cj1, sj1, cj2, sj2, htj0, domain='ZZ'), Poly(r22*cj4 - r20*sj4*cj5 + r21*sj4*sj5, cj4, sj4, cj5, sj5, htj0, domain='ZZ[r20,r21,r22]'))
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(-cj1*cj2*htj0**2 + cj1*cj2 + sj1*sj2*htj0**2 - sj1*sj2, cj1, sj1, cj2, sj2, htj0, domain='ZZ'), Poly(r02*cj4*htj0**2 + r02*cj4 - r00*sj4*cj5*htj0**2 - r00*sj4*cj5 + r01*sj4*sj5*htj0**2 + r01*sj4*sj5, cj4, sj4, cj5, sj5, htj0, domain='ZZ[r00,r01,r02]'))
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(2*cj1*cj2*htj0 - 2*sj1*sj2*htj0, cj1, sj1, cj2, sj2, htj0, domain='ZZ'), Poly(r12*cj4*htj0**2 + r12*cj4 - r10*sj4*cj5*htj0**2 - r10*sj4*cj5 + r11*sj4*sj5*htj0**2 + r11*sj4*sj5, cj4, sj4, cj5, sj5, htj0, domain='ZZ[r10,r11,r12]'))
INFO: assuming equation htj0 is non-zero
INFO: factors 1 reduced not unique: cj3*cj5*r21 + cj3*r20*sj5 + cj4*cj5*r20*sj3 - cj4*r21*sj3*sj5 + r22*sj3*sj4
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(9/100*cj1*cj2 - 3/10*cj1*sj2 + 27/100*cj1 - 3/10*sj1*cj2 - 9/100*sj1*sj2, cj1, sj1, cj2, sj2, htj0, domain='QQ'), Poly(r21/100*cj5 + r20/100*sj5 + pz, cj4, sj4, cj5, sj5, htj0, domain='QQ[r20,r21,pz]'))
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(-htj0**2, cj1, sj1, cj2, sj2, htj0, domain='ZZ'), Poly(r10*sj3*cj4*cj5*htj0**2 + r10*sj3*cj4*cj5 - r11*sj3*cj4*sj5*htj0**2 - r11*sj3*cj4*sj5 + r12*sj3*sj4*htj0**2 + r12*sj3*sj4 + cj3*r11*cj5*htj0**2 + cj3*r11*cj5 + cj3*r10*sj5*htj0**2 + cj3*r10*sj5 - 1, cj4, sj4, cj5, sj5, htj0, domain='ZZ[r10,r11,r12,cj3,sj3]'))
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(-cj1*cj2 + sj1*sj2, cj1, sj1, cj2, sj2, htj0, domain='ZZ'), Poly(cj3*r20*cj4*cj5 - cj3*r21*cj4*sj5 + cj3*r22*sj4 - r21*sj3*cj5 - r20*sj3*sj5, cj4, sj4, cj5, sj5, htj0, domain='ZZ[r20,r21,r22,cj3,sj3]'))
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(cj1*sj2*htj0**2 - cj1*sj2 + sj1*cj2*htj0**2 - sj1*cj2, cj1, sj1, cj2, sj2, htj0, domain='ZZ'), Poly(cj3*r00*cj4*cj5*htj0**2 + cj3*r00*cj4*cj5 - cj3*r01*cj4*sj5*htj0**2 - cj3*r01*cj4*sj5 + cj3*r02*sj4*htj0**2 + cj3*r02*sj4 - r01*sj3*cj5*htj0**2 - r01*sj3*cj5 - r00*sj3*sj5*htj0**2 - r00*sj3*sj5, cj4, sj4, cj5, sj5, htj0, domain='ZZ[r00,r01,r02,cj3,sj3]'))
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(-2*cj1*sj2*htj0 - 2*sj1*cj2*htj0, cj1, sj1, cj2, sj2, htj0, domain='ZZ'), Poly(cj3*r10*cj4*cj5*htj0**2 + cj3*r10*cj4*cj5 - cj3*r11*cj4*sj5*htj0**2 - cj3*r11*cj4*sj5 + cj3*r12*sj4*htj0**2 + cj3*r12*sj4 - r11*sj3*cj5*htj0**2 - r11*sj3*cj5 - r10*sj3*sj5*htj0**2 - r10*sj3*sj5, cj4, sj4, cj5, sj5, htj0, domain='ZZ[r10,r11,r12,cj3,sj3]'))
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(-30*cj1*cj2*htj0**2 + 30*cj1*cj2 - 9*cj1*sj2*htj0**2 + 9*cj1*sj2 - 9*sj1*cj2*htj0**2 + 9*sj1*cj2 + 30*sj1*sj2*htj0**2 - 30*sj1*sj2 - 27*sj1*htj0**2 + 27*sj1, cj1, sj1, cj2, sj2, htj0, domain='ZZ'), Poly(-7*r10*sj3*cj4*cj5*htj0**2 - 7*r10*sj3*cj4*cj5 + 7*r11*sj3*cj4*sj5*htj0**2 + 7*r11*sj3*cj4*sj5 - 7*r12*sj3*sj4*htj0**2 - 7*r12*sj3*sj4 + (-7*cj3*r11 + r01)*cj5*htj0**2 + (-7*cj3*r11 + r01)*cj5 + (-7*cj3*r10 + r00)*sj5*htj0**2 + (-7*cj3*r10 + r00)*sj5 + 100*px*htj0**2 + 100*px, cj4, sj4, cj5, sj5, htj0, domain='ZZ[r00,r01,r10,r11,r12,cj3,px,sj3]'))
INFO: not unique: [Poly(-cj1*sj2 - sj1*cj2, cj1, sj1, cj2, sj2, htj0, domain='ZZ'), Poly(r22*cj4 - r20*sj4*cj5 + r21*sj4*sj5, cj4, sj4, cj5, sj5, htj0, domain='ZZ[r20,r21,r22]')]
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(-cj1*sj2 - sj1*cj2, cj1, sj1, cj2, sj2, htj0, domain='ZZ'), Poly(r22*cj4 - r20*sj4*cj5 + r21*sj4*sj5, cj4, sj4, cj5, sj5, htj0, domain='ZZ[r20,r21,r22]'))
INFO: not unique: [Poly(9/100*cj1*cj2 - 3/10*cj1*sj2 + 27/100*cj1 - 3/10*sj1*cj2 - 9/100*sj1*sj2, cj1, sj1, cj2, sj2, htj0, domain='QQ'), Poly(r21/100*cj5 + r20/100*sj5 + pz, cj4, sj4, cj5, sj5, htj0, domain='QQ[r20,r21,pz]')]
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(9/100*cj1*cj2 - 3/10*cj1*sj2 + 27/100*cj1 - 3/10*sj1*cj2 - 9/100*sj1*sj2, cj1, sj1, cj2, sj2, htj0, domain='QQ'), Poly(r21/100*cj5 + r20/100*sj5 + pz, cj4, sj4, cj5, sj5, htj0, domain='QQ[r20,r21,pz]'))
INFO: assuming equation htj0 is non-zero
INFO: factors 1 reduced not unique: -cj4*cj5*r20/100 + cj4*r21*sj5/100 + cj4*rxp2_2 - cj5*rxp0_2*sj4 - r22*sj4/100 + rxp1_2*sj4*sj5
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(21/500*cj1*cj2 + 63/5000*cj1*sj2 + 63/5000*sj1*cj2 - 21/500*sj1*sj2 + 189/5000*sj1 + 243/5000*cj2 - 81/500*sj2, cj1, sj1, cj2, sj2, htj0, domain='QQ'), Poly(npy/50*cj5 + npx/50*sj5 + pp - 879/5000, cj4, sj4, cj5, sj5, htj0, domain='QQ[npx,npy,pp]'))
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(7/100*cj1*cj2 - 7/100*sj1*sj2 - 27/100*sj2, cj1, sj1, cj2, sj2, htj0, domain='QQ'), Poly(npz*cj4 - npx*sj4*cj5 + npy*sj4*sj5 - 3/10, cj4, sj4, cj5, sj5, htj0, domain='QQ[npx,npy,npz]'))
INFO: assuming equation htj0 is non-zero
INFO: not unique: (Poly(-27/500*cj1*cj2 + 1499/10000*cj1*sj2 - 81/500*cj1 + 41/10000*sj1*cj2 + 27/500*sj1*sj2 - 243/5000*sj1 - 189/5000*cj2, cj1, sj1, cj2, sj2, htj0, domain='QQ'), Poly(rxp0_2/50*cj4*cj5 - rxp1_2/50*cj4*sj5 + (-2*npz*pz + pp*r22 + r22/10000)*cj4 + (2*npx*pz - pp*r20 - r20/10000)*sj4*cj5 + (-2*npy*pz + pp*r21 + r21/10000)*sj4*sj5 + rxp2_2/50*sj4 + 63/5000, cj4, sj4, cj5, sj5, htj0, domain='QQ[r20,r21,r22,npx,npy,npz,pp,pz,rxp0_2,rxp1_2,rxp2_2]'))
INFO: matrix has 0 symbols
INFO: skipping dependent index 1
INFO: skipping dependent index 4
INFO: skipping dependent index 5
INFO: skipping dependent index 6
INFO: skipping dependent index 8
INFO: skipping dependent index 12
INFO: skipping dependent index 17
INFO: skipping dependent index 18
INFO: skipping dependent index 23
INFO: skipping dependent index 24
INFO: skipping dependent index 25
INFO: skipping dependent index 26
WARNING: solving (cj0, sj0, cj1, sj1, cj2, sj2): CannotSolveError: could not find non-singular matrix (15, 16)
INFO: attempting li/woernle/hiller general ik method
INFO: allowed indices: [0]
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-r22*cj4 + r20*sj4*cj5 - r21*sj4*sj5, cj4, sj4, cj5, sj5, htj3, domain='ZZ[r20,r21,r22]'), Poly(cj1*sj2 + sj1*cj2, cj1, sj1, cj2, sj2, htj3, domain='ZZ'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-r02*cj4 + r00*sj4*cj5 - r01*sj4*sj5, cj4, sj4, cj5, sj5, htj3, domain='ZZ[r00,r01,r02]'), Poly(-cj0*cj1*cj2 + cj0*sj1*sj2, cj1, sj1, cj2, sj2, htj3, domain='ZZ[cj0]'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-r12*cj4 + r10*sj4*cj5 - r11*sj4*sj5, cj4, sj4, cj5, sj5, htj3, domain='ZZ[r10,r11,r12]'), Poly(-sj0*cj1*cj2 + sj0*sj1*sj2, cj1, sj1, cj2, sj2, htj3, domain='ZZ[sj0]'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-2*r20*cj4*cj5*htj3 + 2*r21*cj4*sj5*htj3 - 2*r22*sj4*htj3 + r21*cj5*htj3**2 - r21*cj5 + r20*sj5*htj3**2 - r20*sj5, cj4, sj4, cj5, sj5, htj3, domain='ZZ[r20,r21,r22]'), Poly(0, cj1, sj1, cj2, sj2, htj3, domain='ZZ'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-r21/100*cj5 - r20/100*sj5, cj4, sj4, cj5, sj5, htj3, domain='QQ[r20,r21]'), Poly(-9/100*cj1*cj2 + 3/10*cj1*sj2 - 27/100*cj1 + 3/10*sj1*cj2 + 9/100*sj1*sj2 + pz, cj1, sj1, cj2, sj2, htj3, domain='QQ[pz]'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-2*r10*cj4*cj5*htj3 + 2*r11*cj4*sj5*htj3 - 2*r12*sj4*htj3 + r11*cj5*htj3**2 - r11*cj5 + r10*sj5*htj3**2 - r10*sj5, cj4, sj4, cj5, sj5, htj3, domain='ZZ[r10,r11,r12]'), Poly(-cj0*htj3**2 - cj0, cj1, sj1, cj2, sj2, htj3, domain='ZZ[cj0]'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-2*r00*cj4*cj5*htj3 + 2*r01*cj4*sj5*htj3 - 2*r02*sj4*htj3 + r01*cj5*htj3**2 - r01*cj5 + r00*sj5*htj3**2 - r00*sj5, cj4, sj4, cj5, sj5, htj3, domain='ZZ[r00,r01,r02]'), Poly(sj0*htj3**2 + sj0, cj1, sj1, cj2, sj2, htj3, domain='ZZ[sj0]'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(r20*cj4*cj5*htj3**2 - r20*cj4*cj5 - r21*cj4*sj5*htj3**2 + r21*cj4*sj5 + r22*sj4*htj3**2 - r22*sj4 + 2*r21*cj5*htj3 + 2*r20*sj5*htj3, cj4, sj4, cj5, sj5, htj3, domain='ZZ[r20,r21,r22]'), Poly(cj1*cj2*htj3**2 + cj1*cj2 - sj1*sj2*htj3**2 - sj1*sj2, cj1, sj1, cj2, sj2, htj3, domain='ZZ'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(r00*cj4*cj5*htj3**2 - r00*cj4*cj5 - r01*cj4*sj5*htj3**2 + r01*cj4*sj5 + r02*sj4*htj3**2 - r02*sj4 + 2*r01*cj5*htj3 + 2*r00*sj5*htj3, cj4, sj4, cj5, sj5, htj3, domain='ZZ[r00,r01,r02]'), Poly(cj0*cj1*sj2*htj3**2 + cj0*cj1*sj2 + cj0*sj1*cj2*htj3**2 + cj0*sj1*cj2, cj1, sj1, cj2, sj2, htj3, domain='ZZ[cj0]'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(r10*cj4*cj5*htj3**2 - r10*cj4*cj5 - r11*cj4*sj5*htj3**2 + r11*cj4*sj5 + r12*sj4*htj3**2 - r12*sj4 + 2*r11*cj5*htj3 + 2*r10*sj5*htj3, cj4, sj4, cj5, sj5, htj3, domain='ZZ[r10,r11,r12]'), Poly(sj0*cj1*sj2*htj3**2 + sj0*cj1*sj2 + sj0*sj1*cj2*htj3**2 + sj0*sj1*cj2, cj1, sj1, cj2, sj2, htj3, domain='ZZ[sj0]'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-r01/100*cj5 - r00/100*sj5, cj4, sj4, cj5, sj5, htj3, domain='QQ[r00,r01]'), Poly(-3*cj0/10*cj1*cj2 - 9*cj0/100*cj1*sj2 - 9*cj0/100*sj1*cj2 + 3*cj0/10*sj1*sj2 - 27*cj0/100*sj1 - 7*cj0/100 + px, cj1, sj1, cj2, sj2, htj3, domain='QQ[cj0,px]'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-r11/100*cj5 - r10/100*sj5, cj4, sj4, cj5, sj5, htj3, domain='QQ[r10,r11]'), Poly(-3*sj0/10*cj1*cj2 - 9*sj0/100*cj1*sj2 - 9*sj0/100*sj1*cj2 + 3*sj0/10*sj1*sj2 - 27*sj0/100*sj1 + py - 7*sj0/100, cj1, sj1, cj2, sj2, htj3, domain='QQ[py,sj0]'))
INFO: not unique: [Poly(r22*cj4 - r20*sj4*cj5 + r21*sj4*sj5, cj4, sj4, cj5, sj5, htj3, domain='ZZ[r20,r21,r22]'), Poly(-cj1*sj2 - sj1*cj2, cj1, sj1, cj2, sj2, htj3, domain='ZZ')]
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(r22*cj4 - r20*sj4*cj5 + r21*sj4*sj5, cj4, sj4, cj5, sj5, htj3, domain='ZZ[r20,r21,r22]'), Poly(-cj1*sj2 - sj1*cj2, cj1, sj1, cj2, sj2, htj3, domain='ZZ'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-npz*cj4 + npx*sj4*cj5 - npy*sj4*sj5, cj4, sj4, cj5, sj5, htj3, domain='ZZ[npx,npy,npz]'), Poly(-7/100*cj1*cj2 + 7/100*sj1*sj2 + 27/100*sj2 - 3/10, cj1, sj1, cj2, sj2, htj3, domain='QQ'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-r20/100*cj4*cj5 + r21/100*cj4*sj5 + rxp2_2*cj4 - rxp0_2*sj4*cj5 + rxp1_2*sj4*sj5 - r22/100*sj4, cj4, sj4, cj5, sj5, htj3, domain='QQ[r20,r21,r22,rxp0_2,rxp1_2,rxp2_2]'), Poly(0, cj1, sj1, cj2, sj2, htj3, domain='ZZ'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(npy/50*cj5 + npx/50*sj5, cj4, sj4, cj5, sj5, htj3, domain='QQ[npx,npy]'), Poly(21/500*cj1*cj2 + 63/5000*cj1*sj2 + 63/5000*sj1*cj2 - 21/500*sj1*sj2 + 189/5000*sj1 + 243/5000*cj2 - 81/500*sj2 - pp + 879/5000, cj1, sj1, cj2, sj2, htj3, domain='QQ[pp]'))
INFO: not unique: [Poly(-r21/100*cj5 - r20/100*sj5, cj4, sj4, cj5, sj5, htj3, domain='QQ[pz,r20,r21]'), Poly(-9/100*cj1*cj2 + 3/10*cj1*sj2 - 27/100*cj1 + 3/10*sj1*cj2 + 9/100*sj1*sj2 + pz, cj1, sj1, cj2, sj2, htj3, domain='QQ[pz]')]
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(-r21/100*cj5 - r20/100*sj5, cj4, sj4, cj5, sj5, htj3, domain='QQ[r20,r21]'), Poly(-9/100*cj1*cj2 + 3/10*cj1*sj2 - 27/100*cj1 + 3/10*sj1*cj2 + 9/100*sj1*sj2 + pz, cj1, sj1, cj2, sj2, htj3, domain='QQ[pz]'))
INFO: assuming equation htj3 is non-zero
INFO: not unique: (Poly(rxp0_2/50*cj4*cj5 - rxp1_2/50*cj4*sj5 + (-2*npz*pz + pp*r22 + r22/10000)*cj4 + (2*npx*pz - pp*r20 - r20/10000)*sj4*cj5 + (-2*npy*pz + pp*r21 + r21/10000)*sj4*sj5 + rxp2_2/50*sj4, cj4, sj4, cj5, sj5, htj3, domain='QQ[r20,r21,r22,npx,npy,npz,pp,pz,rxp0_2,rxp1_2,rxp2_2]'), Poly(-27/500*cj1*cj2 + 1499/10000*cj1*sj2 - 81/500*cj1 + 41/10000*sj1*cj2 + 27/500*sj1*sj2 - 243/5000*sj1 - 189/5000*cj2 - 63/5000, cj1, sj1, cj2, sj2, htj3, domain='QQ'))
INFO: matrix has 40 symbols
INFO: skipping dependent index 2
INFO: skipping dependent index 3
INFO: skipping dependent index 6
INFO: skipping dependent index 7
INFO: skipping dependent index 11
INFO: skipping dependent index 15
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 9229, in <module>
    chaintree = solver.generateIkSolver(options.baselink,options.eelink,options.freeindices,solvefn=solvefn)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 2257, in generateIkSolver
    chaintree = solvefn(self, LinksRaw, jointvars, isolvejointvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 2911, in solveFullIK_6D
    tree = self.solveFullIK_6DGeneral(T0links, T1links, solvejointvars, endbranchtree, usesolvers=1)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 3213, in solveFullIK_6DGeneral
    coupledsolutions,usedvars = solvemethod(rawpolyeqs,solvejointvars,endbranchtree=endbranchtree,AllEquationsExtra=AllEquationsExtra)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 4914, in solveLiWoernleHiller
    AUinv = AU.inv()
  File "/usr/local/lib/python2.7/dist-packages/sympy/matrices/matrices.py", line 739, in inv
    return self.inverse_GE(iszerofunc=iszerofunc)
  File "/usr/local/lib/python2.7/dist-packages/sympy/matrices/matrices.py", line 1926, in inverse_GE
    raise ValueError("A Matrix must have non-zero determinant to invert.")
ValueError: A Matrix must have non-zero determinant to invert.

Loading...