rdiankov / openrave

Open Robotics Automation Virtual Environment: An environment for testing, developing, and deploying robotics motion planning algorithms.
http://www.openrave.org
Other
729 stars 344 forks source link

Can't generate transform6d for Kinova's Jaco #378

Open mlauret opened 9 years ago

mlauret commented 9 years ago

Hello ! I am stuck on a problem for quite some time : I try to generate a ikfast .cpp for Kinova's Jaco V2 with 6 DOF. I'm using the latest version of Openrave (branch Master) 0.9 on a Ubuntu 14.04 32Bits with 4GB of RAM. I didn't succeed with the 2 attempt described below, I think it's a problem with the Jaco2 special kinematics but i'm not sure. Maybe you can understand if it's a bug from openrave or from me.

The .dae file i'm using is the one I created from the Kinova's Github : https://github.com/Kinovarobotics/kinova-ros/blob/master/jaco_model/urdf/standalone_arm.xacro

I used urdf_to_collada to generate the .dae, then I rounded it to 3 digits : https://drive.google.com/file/d/0B0BRMr7Z9cxfR1FDcDdRbjJua1U

Everything seem fine with openrave-robot.py jaco_arm.rounded3.dae --info links :

name index parents
root 0
jaco_link_base 1 root
jaco_link_1 2 jaco_link_base
jaco_link_2 3 jaco_link_1
jaco_link_3 4 jaco_link_2
jaco_link_4 5 jaco_link_3
jaco_link_5 6 jaco_link_4
jaco_link_hand 7 jaco_link_5
jaco_link_finger_1 8 jaco_link_hand
jaco_link_finger_2 9 jaco_link_hand
jaco_link_finger_3 10 jaco_link_hand

Then I launch :

~/catkin_ws/src/kinova-ros$ python `openrave-config --python-dir`/openravepy/_openravepy_/ikfast.py --robot=jaco_arm.rounded3.dae --iktype=transform6d --baselink=1 --eelink=7 --savefile=jaco_arm.cpp

The generation don't work, it compute for ~40min and when openrave ate all my RAM, it crash. The full log can be found here : http://justpaste.it/jacoikfastcrash (I don't know what's important or not, so I pasted everything... brave yourself, big equation are coming).

The log begin by :

[colladareader.cpp:2184 FillGeometryColor] transparecy is 1.000000, which means the item will be rendered invisible, this must be a mistake so setting to opaque (1)
INFO: moved translation [0, 0, 139247*1111110149**(1/2)/166666522350 + 717062502*4139417560063315159718369105**(1/2)/1218527987716250020523125] to right end
INFO: moved translation [0, 0, 59/500] to left end
INFO: moved translation on intersecting axis [0, 0, 33/500] to left
INFO: [[1, 0, 0, 0],[0, 1, 0, 0],[0, 0, 1, 271/1000]]
INFO: [[cos(j0), -sin(j0), 0, 0],[sin(j0), cos(j0), 0, 0],[0, 0, 1, 0]]
INFO: [[-1, 0, 0, 0],[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, -41/100],[0, -1, 0, 0],[0, 0, 1, 0]]
INFO: [[cos(j2), -sin(j2), 0, 0],[sin(j2), cos(j2), 0, 0],[0, 0, 1, 0]]
INFO: [[0, 1, 0, 0],[0, 0, 1, 273/1000],[1, 0, 0, 11/1000]]
INFO: [[cos(j3), -sin(j3), 0, 0],[sin(j3), cos(j3), 0, 0],[0, 0, 1, 0]]
INFO: [[-29160370163987151/50839629836012849, 0, 41645417200000000/50839629836012849, 17/500],[0, -1, 0, 0],[41645417200000000/50839629836012849, 0, 29160370163987151/50839629836012849, 0]]
INFO: [[cos(j4), -sin(j4), 0, 0],[sin(j4), cos(j4), 0, 0],[0, 0, 1, 0]]
INFO: [[57365*1111110149**(1/2)/3333330447, 4*1111110149**(1/2)/3333330447, -81910*1111110149**(1/2)/3333330447, -17/500 - 81910*1111110149**(1/2)*(-717062502*4139417560063315159718369105**(1/2)/1218527987716250020523125 - 139247*1111110149**(1/2)/166666522350)/3333330447],[-6730909694*3086414414198440541983105405**(1/2)/9259243242595321625949316215, 33333304469104*3086414414198440541983105405**(1/2)/1851848648519064325189863243, 3425069647*3086414414198440541983105405**(1/2)/9259243242595321625949316215, 3425069647*3086414414198440541983105405**(1/2)*(-717062502*4139417560063315159718369105**(1/2)/1218527987716250020523125 - 139247*1111110149**(1/2)/166666522350)/9259243242595321625949316215],[1365166668*4139417560063315159718369105**(1/2)/107230462919030001806035, 7097*4139417560063315159718369105**(1/2)/21446092583806000361207, 956083336*4139417560063315159718369105**(1/2)/107230462919030001806035, 956083336*4139417560063315159718369105**(1/2)*(-717062502*4139417560063315159718369105**(1/2)/1218527987716250020523125 - 139247*1111110149**(1/2)/166666522350)/107230462919030001806035 + 33/500]]
INFO: [[cos(j5), -sin(j5), 0, 0],[sin(j5), cos(j5), 0, 0],[0, 0, 1, 0]]
INFO: [[0, 1, 0, 0],[1, 0, 0, 0],[0, 0, -1, 139247*1111110149**(1/2)/166666522350 + 717062502*4139417560063315159718369105**(1/2)/1218527987716250020523125]]
INFO: ikfast 6d: [j0, j1, j2, j3, j4, j5]
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: found 3 consecutive non-intersecting axes links[0:5], vars=[j0, j1, j2]
INFO: try first group 0/4
INFO: computed in 26.591491s
WARNING: raghavan roth equation (11,1) too complex
WARNING: raghavan roth equation (12,1) too complex
WARNING: raghavan roth equation (13,1) too complex
INFO: computed in 245.490833s

And end by :

INFO: attempting li/woernle/hiller general ik method
INFO: allowed indices: [0]

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 9307, 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 2262, in generateIkSolver
    chaintree = solvefn(self, LinksRaw, jointvars, isolvejointvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 2916, 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 3229, in solveFullIK_6DGeneral
    coupledsolutions,usedvars = solvemethod(rawpolyeqs,solvejointvars,endbranchtree=endbranchtree,AllEquationsExtra=AllEquationsExtraPruned)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 4446, in solveLiWoernleHiller
    peq2[1] = peq2[1]*monomcoeff - c*monomvalue
  File "/usr/local/lib/python2.7/dist-packages/sympy/core/decorators.py", line 75, in __sympifyit_wrapper
    return func(a, sympify(b, strict=True))
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/polytools.py", line 3340, in __sub__
    return f.sub(g)
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/polytools.py", line 1268, in sub
    result = F.sub(G)
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/polyclasses.py", line 425, in sub
    return per(dmp_sub(F, G, lev, dom))
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/densearith.py", line 685, in dmp_sub
    return dmp_strip([ dmp_sub(a, b, v, K) for a, b in zip(f, g) ], u)
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/densearith.py", line 685, in dmp_sub
    return dmp_strip([ dmp_sub(a, b, v, K) for a, b in zip(f, g) ], u)
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/densearith.py", line 694, in dmp_sub
    return h + [ dmp_sub(a, b, v, K) for a, b in zip(f, g) ]
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/densearith.py", line 685, in dmp_sub
    return dmp_strip([ dmp_sub(a, b, v, K) for a, b in zip(f, g) ], u)
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/densearith.py", line 670, in dmp_sub
    return dup_sub(f, g, K)
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/densearith.py", line 641, in dup_sub
    return dup_strip([ a - b for a, b in zip(f, g) ])
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/domains/expressiondomain.py", line 60, in __sub__
    return f.simplify(f.ex-f.__class__(g).ex)
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/domains/expressiondomain.py", line 45, in simplify
    return f.__class__(ex.cancel())
  File "/usr/local/lib/python2.7/dist-packages/sympy/core/expr.py", line 1983, in cancel
    return cancel(self, *gens, **args)
  File "/usr/local/lib/python2.7/dist-packages/sympy/polys/polytools.py", line 5208, in cancel
    p, q = f.as_numer_denom()
  File "/usr/local/lib/python2.7/dist-packages/sympy/core/add.py", line 267, in as_numer_denom
    for i in r]), Mul(*denoms)
  File "/usr/local/lib/python2.7/dist-packages/sympy/core/cache.py", line 101, in wrapper
    func_cache_it_cache[k] = r = func(*args, **kw_args)
  File "/usr/local/lib/python2.7/dist-packages/sympy/core/operations.py", line 41, in __new__
    c_part, nc_part, order_symbols = cls.flatten(args)
  File "/usr/local/lib/python2.7/dist-packages/sympy/core/mul.py", line 97, in flatten
    coeff *= o
  File "/usr/local/lib/python2.7/dist-packages/sympy/core/numbers.py", line 1060, in __mul__
    return Integer(a.p * b.p)
MemoryError

So, I tried with another urdf from https://github.com/iki-wgt/jaco-ros/blob/master/kinova_description/urdf/standalone_jaco2.xacro :

~/catkin_ws/src/kinova_description/kinova_description/urdf$ openrave-robot.py jaco2.dae --info links
name index parents
world 0
root 1 world
jaco2_link_base 2 root
jaco2_link_1 3 jaco2_link_base
jaco2_link_2 4 jaco2_link_1
jaco2_link_3 5 jaco2_link_2
jaco2_link_4 6 jaco2_link_3
jaco2_link_5 7 jaco2_link_4
jaco2_link_hand 8 jaco2_link_5
jaco2_link_finger_1 9 jaco2_link_hand
jaco2_link_finger_2 10 jaco2_link_hand
jaco2_link_finger_3 11 jaco2_link_hand
jaco2_end_effector 12 jaco2_link_hand
jaco2_api_origin 13 jaco2_link_base

And then :

~/catkin_ws/src/kinova_description/kinova_description/urdf$ python `openrave-config --python-dir`/openravepy/_openravepy_/ikfast.py --robot=jaco2.dae --iktype=transform6d --baselink=1 --eelink=8 --savefile=jaco_arm.cpp

but the result is pretty much the same :

[colladareader.cpp:2184 FillGeometryColor] transparecy is 1.000000, which means the item will be rendered invisible, this must be a mistake so setting to opaque (1)
INFO: moved translation [0, 0, 801/25000 + 37*3**(1/2)/2000] to right end
INFO: moved translation [0, 0, 237/2000] to left end
INFO: moved translation on intersecting axis [0, 0, 801/12500] to left
INFO: [[1, 0, 0, 0],[0, 1, 0, 0],[0, 0, 1, 34/125]]
INFO: [[cos(j0), -sin(j0), 0, 0],[sin(j0), cos(j0), 0, 0],[0, 0, 1, 0]]
INFO: [[-1, 0, 0, 0],[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, -41/100],[0, -1, 0, 0],[0, 0, 1, 0]]
INFO: [[cos(j2), -sin(j2), 0, 0],[sin(j2), cos(j2), 0, 0],[0, 0, 1, 0]]
INFO: [[0, 1, 0, 0],[0, 0, 1, 6777/25000],[1, 0, 0, 9/800]]
INFO: [[cos(j3), -sin(j3), 0, 0],[sin(j3), cos(j3), 0, 0],[0, 0, 1, 0]]
INFO: [[-266666791/533333209, 0, 461880000/533333209, 37/1000],[0, -1, 0, 0],[461880000/533333209, 0, 266666791/533333209, 0]]
INFO: [[cos(j4), -sin(j4), 0, 0],[sin(j4), cos(j4), 0, 0],[0, 0, 1, 0]]
INFO: [[1/2, 0, -3**(1/2)/2, -37/1000 - 3**(1/2)*(-37*3**(1/2)/2000 - 801/25000)/2],[0, 1, 0, 0],[3**(1/2)/2, 0, 1/2, -37*3**(1/2)/4000 + 2403/50000]]
INFO: [[cos(j5), -sin(j5), 0, 0],[sin(j5), cos(j5), 0, 0],[0, 0, 1, 0]]
INFO: [[0, 1, 0, 0],[1, 0, 0, 0],[0, 0, -1, 801/25000 + 37*3**(1/2)/2000]]
INFO: ikfast 6d: [j0, j1, j2, j3, j4, j5]
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: found 3 consecutive non-intersecting axes links[0:5], vars=[j0, j1, j2]
INFO: try first group 0/4
INFO: computed in 5.996638s
INFO: computed in 7.253829s
WARNING: equation too complex to simplify for rot norm: -3**(1/2)*px**2*r00**2*r22/2 + 3**(1/2)*px**2*r00*r02*r20 - 3**(1/2)*px**2*r01**2*r22/2 + 3**(1/2)*px**2*r01*r02*r21 + 3**(1/2)*px**2*r02**2*r22/2 - 3**(1/2)*px*py*r00*r10*r22 + 3**(1/2)*px*py*r00*r12*r20 - 3**(1/2)*px*py*r01*r11*r22 + 3**(1/2)*px*py*r01*r12*r21 + 3**(1/2)*px*py*r02*r10*r20 + 3**(1/2)*px*py*r02*r11*r21 + 3**(1/2)*px*py*r02*r12*r22 + 3**(1/2)*px*pz*r02*r20**2 + 3**(1/2)*px*pz*r02*r21**2 + 3**(1/2)*px*pz*r02*r22**2 - 37*px*r00*r20/2000 + 801*3**(1/2)*px*r00*r20/25000 - 37*px*r01*r21/2000 + 801*3**(1/2)*px*r01*r21/25000 - 37*px*r02*r22/2000 + 801*3**(1/2)*px*r02*r22/25000 - 3**(1/2)*py**2*r10**2*r22/2 + 3**(1/2)*py**2*r10*r12*r20 - 3**(1/2)*py**2*r11**2*r22/2 + 3**(1/2)*py**2*r11*r12*r21 + 3**(1/2)*py**2*r12**2*r22/2 + 3**(1/2)*py*pz*r12*r20**2 + 3**(1/2)*py*pz*r12*r21**2 + 3**(1/2)*py*pz*r12*r22**2 - 37*py*r10*r20/2000 + 801*3**(1/2)*py*r10*r20/25000 - 37*py*r11*r21/2000 + 801*3**(1/2)*py*r11*r21/25000 - 37*py*r12*r22/2000 + 801*3**(1/2)*py*r12*r22/25000 + 3**(1/2)*pz**2*r20**2*r22/2 + 3**(1/2)*pz**2*r21**2*r22/2 + 3**(1/2)*pz**2*r22**3/2 - 37*pz*r20**2/2000 + 801*3**(1/2)*pz*r20**2/25000 - 37*pz*r21**2/2000 + 801*3**(1/2)*pz*r21**2/25000 - 37*pz*r22**2/2000 + 801*3**(1/2)*pz*r22**2/25000 - 8554837*3**(1/2)*r22/5000000000 + 88911*r22/50000000

Then a lot of equation too complex to simplify then :

INFO: attempting li/woernle/hiller general ik method
WARNING: could not find any variable where number of equations is exacty 8, trying all possibilities
INFO: allowed indices: [0, 2, 4]
WARNING: allowedindex 0 found 0 equations where coefficients of equations match
WARNING: allowedindex 2 found 0 equations where coefficients of equations match
WARNING: allowedindex 4 found 0 equations where coefficients of equations match
WARNING: solving (cj1, sj1, cj2, sj2, cj3, sj3): CannotSolveError: found 0 equations where coefficients of equations match! need at least 8
INFO: attempting li/woernle/hiller general ik method
INFO: allowed indices: [0]
INFO: assuming equation htj1 is non-zero
INFO: not unique: (Poly(-923760000/533333209*cj2*sj3*htj1 + 266666791/533333209*cj2*htj1**2 - 266666791/533333209*cj2 + 461880000/533333209*sj2*sj3*htj1**2 - 461880000/533333209*sj2*sj3 + 533333582/533333209*sj2*htj1, cj2, sj2, cj3, sj3, htj1, domain='QQ'), Poly(3**(1/2)*r20/2*cj5*htj1**2 + 3**(1/2)*r20/2*cj5 - 3**(1/2)*r21/2*sj5*htj1**2 - 3**(1/2)*r21/2*sj5 + r22/2*htj1**2 + r22/2, cj0, sj0, cj5, sj5, htj1, domain='EX'))
INFO: assuming equation htj1 is non-zero
INFO: not unique: (Poly(461880000/533333209*cj3, cj2, sj2, cj3, sj3, htj1, domain='QQ'), Poly(3**(1/2)*r10/2*cj0*cj5 - 3**(1/2)*r11/2*cj0*sj5 + r12/2*cj0 - 3**(1/2)*r00/2*sj0*cj5 + 3**(1/2)*r01/2*sj0*sj5 - r02/2*sj0, cj0, sj0, cj5, sj5, htj1, domain='EX'))
INFO: assuming equation htj1 is non-zero
INFO: assuming equation htj1 is non-zero
INFO: not unique: (Poly(461880000/533333209*cj2*sj3*htj1**2 - 461880000/533333209*cj2*sj3 + 533333582/533333209*cj2*htj1 + 923760000/533333209*sj2*sj3*htj1 - 266666791/533333209*sj2*htj1**2 + 266666791/533333209*sj2, cj2, sj2, cj3, sj3, htj1, domain='QQ'), Poly(-3**(1/2)*r00/2*cj0*cj5*htj1**2 - 3**(1/2)*r00/2*cj0*cj5 + 3**(1/2)*r01/2*cj0*sj5*htj1**2 + 3**(1/2)*r01/2*cj0*sj5 - r02/2*cj0*htj1**2 - r02/2*cj0 - 3**(1/2)*r10/2*sj0*cj5*htj1**2 - 3**(1/2)*r10/2*sj0*cj5 + 3**(1/2)*r11/2*sj0*sj5*htj1**2 + 3**(1/2)*r11/2*sj0*sj5 - r12/2*sj0*htj1**2 - r12/2*sj0, cj0, sj0, cj5, sj5, htj1, domain='EX'))
INFO: assuming equation htj1 is non-zero
INFO: factors 1 reduced not unique: cj0*cj5*(-49330599133*3**(1/2)*r10/1066666418000 + 8544780*r10/533333209) + cj0*sj5*(-8544780*r11/533333209 + 49330599133*3**(1/2)*r11/1066666418000) + cj0*(461880000*py/533333209 - 37*r12/2000) + cj5*sj0*(-8544780*r00/533333209 + 49330599133*3**(1/2)*r00/1066666418000) + sj0*sj5*(-49330599133*3**(1/2)*r01/1066666418000 + 8544780*r01/533333209) + sj0*(-461880000*px/533333209 + 37*r02/2000) - 5196150/533333209
INFO: assuming equation htj1 is non-zero
INFO: not unique: (Poly(37/1000*cj2*sj3*htj1**2 - 37/1000*cj2*sj3 + 6777/12500*cj2*htj1 + 37/500*sj2*sj3*htj1 - 6777/25000*sj2*htj1**2 + 6777/25000*sj2 + 41/100*htj1**2, cj2, sj2, cj3, sj3, htj1, domain='QQ'), Poly((-37*r00/2000 + 801*3**(1/2)*r00/25000)*cj0*cj5*htj1**2 + (-37*r00/2000 + 801*3**(1/2)*r00/25000)*cj0*cj5 + (-801*3**(1/2)*r01/25000 + 37*r01/2000)*cj0*sj5*htj1**2 + (-801*3**(1/2)*r01/25000 + 37*r01/2000)*cj0*sj5 - px*cj0*htj1**2 - px*cj0 + (-37*r10/2000 + 801*3**(1/2)*r10/25000)*sj0*cj5*htj1**2 + (-37*r10/2000 + 801*3**(1/2)*r10/25000)*sj0*cj5 + (-801*3**(1/2)*r11/25000 + 37*r11/2000)*sj0*sj5*htj1**2 + (-801*3**(1/2)*r11/25000 + 37*r11/2000)*sj0*sj5 - py*sj0*htj1**2 - py*sj0 + 41/100, cj0, sj0, cj5, sj5, htj1, domain='EX'))
INFO: factors 0 reduced not unique: 0
INFO: factors 1 reduced not unique: cj0*cj5*(-49330599133*3**(1/2)*r10/1066666418000 + 8544780*r10/533333209) + cj0*sj5*(-8544780*r11/533333209 + 49330599133*3**(1/2)*r11/1066666418000) + cj0*(461880000*py/533333209 - 37*r12/2000) + cj5*sj0*(-8544780*r00/533333209 + 49330599133*3**(1/2)*r00/1066666418000) + sj0*sj5*(-49330599133*3**(1/2)*r01/1066666418000 + 8544780*r01/533333209) + sj0*(-461880000*px/533333209 + 37*r02/2000) - 5196150/533333209
INFO: assuming equation htj1 is non-zero
INFO: factors 1 reduced not unique: cj0*cj5*(-49330599133*3**(1/2)*r10/1066666418000 + 8544780*r10/533333209) + cj0*sj5*(-8544780*r11/533333209 + 49330599133*3**(1/2)*r11/1066666418000) + cj0*(461880000*py/533333209 - 37*r12/2000) + cj5*sj0*(-8544780*r00/533333209 + 49330599133*3**(1/2)*r00/1066666418000) + sj0*sj5*(-49330599133*3**(1/2)*r01/1066666418000 + 8544780*r01/533333209) + sj0*(-461880000*px/533333209 + 37*r02/2000) - 5196150/533333209
INFO: assuming equation htj1 is non-zero
INFO: not unique: (Poly(-10933338431/53333320900*cj2 - 189370800/533333209*sj2*sj3 + 115339759133/533333209000*sj3, cj2, sj2, cj3, sj3, htj1, domain='QQ'), Poly((-801*3**(1/2)*r11/50000 + 37*r11/4000 + 3**(1/2)*rxp0_1/2)*cj0*cj5 + (-801*3**(1/2)*r10/50000 + 37*r10/4000 - 3**(1/2)*rxp1_1/2)*cj0*sj5 + rxp2_1/2*cj0 + (-37*r01/4000 + 801*3**(1/2)*r01/50000 - 3**(1/2)*rxp0_0/2)*sj0*cj5 + (-37*r00/4000 + 801*3**(1/2)*r00/50000 + 3**(1/2)*rxp1_0/2)*sj0*sj5 - rxp2_0/2*sj0, cj0, sj0, cj5, sj5, htj1, domain='EX'))
INFO: assuming equation htj1 is non-zero
INFO: not unique: (Poly(70067196/2666666045*cj2*sj3 - 12833659116/66666651125*sj2, cj2, sj2, cj3, sj3, htj1, domain='QQ'), Poly(-333*3**(1/2)*r10/800000*cj0*cj5 + 333*3**(1/2)*r11/800000*cj0*sj5 - 333*r12/800000*cj0 + 333*3**(1/2)*r00/800000*sj0*cj5 - 333*3**(1/2)*r01/800000*sj0*sj5 + 333*r02/800000*sj0 + (-147986352*3**(1/2)*npx/2666666045 + 17089560*npx/533333209)*cj5 + (-17089560*npy/533333209 + 147986352*3**(1/2)*npy/2666666045)*sj5 + 461880000*pp/533333209 - 27673308578727/133333302250000 - 342218439*3**(1/2)/333333255625, cj0, sj0, cj5, sj5, htj1, domain='EX'))
INFO: assuming equation htj1 is non-zero
INFO: not unique: (Poly(87466585104000000/284444311822237681*cj2*sj3 - 50498903545102800/284444311822237681*sj2, cj2, sj2, cj3, sj3, htj1, domain='QQ'), Poly(-2598075*3**(1/2)*r10/533333209*cj0*cj5 + 2598075*3**(1/2)*r11/533333209*cj0*sj5 - 2598075*r12/533333209*cj0 + 2598075*3**(1/2)*r00/533333209*sj0*cj5 - 2598075*3**(1/2)*r01/533333209*sj0*sj5 + 2598075*r02/533333209*sj0 + 230940000*3**(1/2)*npx/533333209*cj5 - 230940000*3**(1/2)*npy/533333209*sj5 + 230940000*npz/533333209 - 265603141900936908/1422221559111188405 + 4272390*3**(1/2)/533333209, cj0, sj0, cj5, sj5, htj1, domain='EX'))
INFO: assuming equation htj1 is non-zero
INFO: not unique: (Poly(-1967998164840000/284444311822237681*cj2*sj3 - 218419824588235164/1422221559111188405*sj2*cj3 + 1136225329764813/284444311822237681*sj2, cj2, sj2, cj3, sj3, htj1, domain='QQ'), Poly((-461880000*3**(1/2)*npx*py/533333209 + 230940000*3**(1/2)*pp*r10/533333209 - 1339042818707991*3**(1/2)*r10/13333330225000000 + 1026655317*r10/666666511250 - 8544780*rxp1_1/533333209 + 73993176*3**(1/2)*rxp1_1/2666666045)*cj0*cj5 + (461880000*3**(1/2)*npy*py/533333209 - 230940000*3**(1/2)*pp*r11/533333209 - 1026655317*r11/666666511250 + 1339042818707991*3**(1/2)*r11/13333330225000000 - 8544780*rxp0_1/533333209 + 73993176*3**(1/2)*rxp0_1/2666666045)*cj0*sj5 + (-461880000*npz*py/533333209 + 230940000*pp*r12/533333209 - 8544780*3**(1/2)*py/533333209 + 221979528*py/2666666045 - 1299529737572391*r12/13333330225000000 - 342218439*3**(1/2)*r12/666666511250)*cj0 + (461880000*3**(1/2)*npx*px/533333209 - 230940000*3**(1/2)*pp*r00/533333209 - 1026655317*r00/666666511250 + 1339042818707991*3**(1/2)*r00/13333330225000000 - 73993176*3**(1/2)*rxp1_0/2666666045 + 8544780*rxp1_0/533333209)*sj0*cj5 + (-461880000*3**(1/2)*npy*px/533333209 + 230940000*3**(1/2)*pp*r01/533333209 - 1339042818707991*3**(1/2)*r01/13333330225000000 + 1026655317*r01/666666511250 - 73993176*3**(1/2)*rxp0_0/2666666045 + 8544780*rxp0_0/533333209)*sj0*sj5 + (461880000*npz*px/533333209 - 230940000*pp*r02/533333209 - 221979528*px/2666666045 + 8544780*3**(1/2)*px/533333209 + 342218439*3**(1/2)*r02/666666511250 + 1299529737572391*r02/13333330225000000)*sj0 + 232209691763247261/71111077955559420250, cj0, sj0, cj5, sj5, htj1, domain='EX'))
INFO: matrix has 0 symbols
INFO: computed non-singular AU matrix
INFO: special structure in equations detected, try to solve through elimination
INFO: depth=0 c=1, [] [j0]: cases=None
INFO: CannotSolveError: SolveAllEquations failed to find a variable to solve
INFO: depth=0 c=2, [] [j5]: cases=None
INFO: CannotSolveError: SolveAllEquations failed to find a variable to solve
INFO: try to solve first two variables pairwise
WARNING: converting polyeq "Poly(0, htj0, htj5, domain='ZZ')" to "Poly(0, htj0, htj5, domain='ZZ')"
WARNING: failed to compute determinant: Index out of range: a[(0, 0)]
WARNING: failed to compute determinant: Index out of range: a[(0, 0)]
INFO: not all eigenvalues are > 0. min is 0.000000e+00
INFO: not all eigenvalues are > 0. min is 0.000000e+00
INFO: not all eigenvalues are > 0. min is 0.000000e+00
INFO: not all eigenvalues are > 0. min is 0.000000e+00
INFO: not all eigenvalues are > 0. min is 0.000000e+00
INFO: not all eigenvalues are > 0. min is 0.000000e+00
INFO: not all eigenvalues are > 0. min is 0.000000e+00
INFO: not all eigenvalues are > 0. min is 0.000000e+00
INFO: reducing 4 equations
WARNING: failed with leftvar htj0: CannotSolveError: solveDialytically: more unknowns than equations 8>6
WARNING: solving (cj1, sj1, cj2, sj2, cj3, sj3): CannotSolveError: failed to solve dialytically
WARNING: CannotSolveError: 6D general method failed, raghavan roth equations might be too complex
INFO: try first group 1/4
INFO: computed in 8.164474s
INFO: computed in 2.023409s
INFO: attempting li/woernle/hiller general ik method
INFO: allowed indices: [0]
INFO: assuming equation htj2 is non-zero
INFO: not unique: (Poly(266666791*3**(1/2)/1066666418*cj3*cj4 + 230940000/533333209*cj3 - 3**(1/2)/2*sj3*sj4, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(r12*cj0 - r02*sj0, cj0, sj0, cj1, sj1, htj2, domain='ZZ[r02,r12]'))
INFO: assuming equation htj2 is non-zero
INFO: not unique: (Poly((-213600099591*3**(1/2)/26666660450000 + 9866671267/2133332836000)*cj3*cj4 + (-4272390*3**(1/2)/533333209 + 41931281533/533333209000)*cj3 + (-37/4000 + 801*3**(1/2)/50000)*sj3*sj4, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(py*cj0 - px*sj0 - 9/800, cj0, sj0, cj1, sj1, htj2, domain='QQ[px,py]'))
INFO: assuming equation htj2 is non-zero
INFO: not unique: (Poly(3**(1/2)*cj3*sj4*htj2 + 266666791*3**(1/2)/533333209*sj3*cj4*htj2 + 461880000/533333209*sj3*htj2 + 230940000*3**(1/2)/533333209*cj4*htj2**2 - 230940000*3**(1/2)/533333209*cj4 - 266666791/1066666418*htj2**2, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(-r02*cj0*sj1*htj2**2 - r02*cj0*sj1 - r12*sj0*sj1*htj2**2 - r12*sj0*sj1 - r22*cj1*htj2**2 - r22*cj1 - 266666791/1066666418, cj0, sj0, cj1, sj1, htj2, domain='QQ[r02,r12,r22]'))
INFO: assuming equation htj2 is non-zero
INFO: assuming equation htj2 is non-zero
INFO: not unique: (Poly((-801*3**(1/2)/25000 + 37/2000)*cj3*sj4*htj2 + (-213600099591*3**(1/2)/13333330225000 + 9866671267/1066666418000)*sj3*cj4*htj2 + (-8544780*3**(1/2)/533333209 + 41931281533/266666604500)*sj3*htj2 + (-36996588*3**(1/2)/2666666045 + 4272390/533333209)*cj4*htj2**2 + (-4272390/533333209 + 36996588*3**(1/2)/2666666045)*cj4 + (-7869598613559/26666660450000 + 9866671267*3**(1/2)/2133332836000)*htj2**2, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(-px*cj0*sj1*htj2**2 - px*cj0*sj1 - py*sj0*sj1*htj2**2 - py*sj0*sj1 - pz*cj1*htj2**2 - pz*cj1 - 7869598613559/26666660450000 + 9866671267*3**(1/2)/2133332836000, cj0, sj0, cj1, sj1, htj2, domain='EX'))
INFO: assuming equation htj2 is non-zero
INFO: not unique: [Poly(266666791*3**(1/2)/1066666418*cj3*cj4 + 230940000/533333209*cj3 - 3**(1/2)/2*sj3*sj4, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(r12*cj0 - r02*sj0, cj0, sj0, cj1, sj1, htj2, domain='ZZ[r02,r12]')]
INFO: assuming equation htj2 is non-zero
INFO: not unique: (Poly(266666791*3**(1/2)/1066666418*cj3*cj4 + 230940000/533333209*cj3 - 3**(1/2)/2*sj3*sj4, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(r12*cj0 - r02*sj0, cj0, sj0, cj1, sj1, htj2, domain='ZZ[r02,r12]'))
INFO: not unique: [Poly((-213600099591*3**(1/2)/26666660450000 + 9866671267/2133332836000)*cj3*cj4 + (-4272390*3**(1/2)/533333209 + 41931281533/533333209000)*cj3 + (-37/4000 + 801*3**(1/2)/50000)*sj3*sj4, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(py*cj0 - px*sj0 - 9/800, cj0, sj0, cj1, sj1, htj2, domain='QQ[px,py]')]
INFO: assuming equation htj2 is non-zero
INFO: not unique: (Poly((-213600099591*3**(1/2)/26666660450000 + 9866671267/2133332836000)*cj3*cj4 + (-4272390*3**(1/2)/533333209 + 41931281533/533333209000)*cj3 + (-37/4000 + 801*3**(1/2)/50000)*sj3*sj4, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(py*cj0 - px*sj0 - 9/800, cj0, sj0, cj1, sj1, htj2, domain='QQ[px,py]'))
INFO: assuming equation htj2 is non-zero
INFO: not unique: (Poly((-9866671267/1066666418000 + 161663974263*3**(1/2)/1066666418000)*cj3*sj4 + (-37/2000 + 123553585737*3**(1/2)/1066666418000)*sj3*cj4 + 115339759133/1066666418000*sj3, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(-41*r02/100*cj0*sj1 + rxp2_1*cj0 - 41*r12/100*sj0*sj1 - rxp2_0*sj0 - 41*r22/100*cj1, cj0, sj0, cj1, sj1, htj2, domain='QQ[r02,r12,r22,rxp2_0,rxp2_1]'))
INFO: assuming equation htj2 is non-zero
INFO: not unique: (Poly((-1922400896319*3**(1/2)/10666664180000000 + 88800041403/853333134400000)*cj3*cj4 + (-3845151*3**(1/2)/21333328360 + 377381533797/213333283600000)*cj3 + (-333/1600000 + 7209*3**(1/2)/20000000)*sj3*sj4 + (-4267571087921/1066666418000000 + 92387147065533*3**(1/2)/13333330225000000)*cj4, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(-41*px/50*cj0*cj1 - 41*py/50*sj0*cj1 + 41*pz/50*sj1 + pp + 4571482672269*3**(1/2)/1066666418000000 + 392480205673429931/5333332090000000000, cj0, sj0, cj1, sj1, htj2, domain='EX'))
INFO: assuming equation htj2 is non-zero
INFO: not unique: (Poly(2400001119*3**(1/2)/853333134400*cj3*cj4 + 2598075/533333209*cj3 - 9*3**(1/2)/1600*sj3*sj4 - 115339759133*3**(1/2)/1066666418000*cj4, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(-41*r02/100*cj0*cj1 - 41*r12/100*sj0*cj1 + 41*r22/100*sj1 + npz - 2234439842607/26666660450000, cj0, sj0, cj1, sj1, htj2, domain='QQ[r02,r12,r22,npz]'))
INFO: assuming equation htj2 is non-zero
INFO: not unique: (Poly((-291175148701683/26666660450000000 + 479036713861279869*3**(1/2)/10666664180000000000)*cj3*cj4 + (-342218439*3**(1/2)/666666511250 + 368517468707991/13333330225000000)*cj3 + (-531339499993140131*3**(1/2)/10666664180000000000 + 212767737298317/26666660450000000)*sj3*sj4 + 1038057832197*3**(1/2)/426666567200000*cj4, cj3, sj3, cj4, sj4, htj2, domain='EX'), Poly(41*rxp2_0/50*cj0*sj1 + (-2*npz*py + pp*r12 + 1681*r12/10000)*cj0 + 41*rxp2_1/50*sj0*sj1 + (2*npz*px - pp*r02 - 1681*r02/10000)*sj0 + 41*rxp2_2/50*cj1 + 20109958583463/10666664180000000, cj0, sj0, cj1, sj1, htj2, domain='QQ[r02,r12,npz,pp,px,py,rxp2_0,rxp2_1,rxp2_2]'))
INFO: matrix has 0 symbols
INFO: skipping dependent index 11
INFO: skipping dependent index 15

And now it had been running for 1h and a half and taking only 14% of my RAM. Nothing more appeared. Do all these log mean something to you ?

Thanks you for your time!

RYANZYC commented 5 years ago

HI! I have a similar problem WARNING: equation too complex to simplify for rot norm.not unique.Have you solved it?

ddl-hust commented 5 years ago

I also wander if it is my openrave's problem?

anubhav1772 commented 5 years ago

Hi, I am getting similar errors/warnings. Have you able to solve this ?

WARNING: equation too complex to simplify for rot norm
WARNING: raghavan roth equation (11,1) too complex
WARNING: raghavan roth equation (12,1) too complex
WARNING: raghavan roth equation (13,1) too complex

I would really appreciate some help.