roboticslab-uc3m / teo-openrave-models

TEO OpenRAVE models.
http://roboticslab.uc3m.es/roboticslab/robot/teo-humanoid
GNU Lesser General Public License v2.1
0 stars 0 forks source link

generateIkfast.py breaks #23

Closed jgvictores closed 6 years ago

jgvictores commented 6 years ago

Tried twice, log:

openravepy.databases.inversekinematics: GetDefaultIndices, found 3-intersection centered on index 5
openravepy.databases.inversekinematics: GetDefaultIndices, found 3-intersection centered on index 7
Generating IK equation of: rightArm_trunk (one time computation)...
openravepy.databases.inversekinematics: GetDefaultIndices, found 3-intersection centered on index 5
openravepy.databases.inversekinematics: GetDefaultIndices, found 3-intersection centered on index 7
openravepy.databases.inversekinematics: generate, Generating inverse kinematics for manip rightArm_trunk: Transform6D [0, 1, 5, 6, 7, 8], precision=None, maxcasedepth=3 (this might take up to 10 min)
openravepy.databases.inversekinematics: generate, creating ik file /home/yo/.openrave/kinematics.96c0b1d7cc7831ea0b3b751b1a753790/ikfast0x1000004a.Transform6D.0_1_5_6_7_8_f4_9.cpp
openravepy.ikfast: forwardKinematicsChain, moved translation Matrix([[0, 0, 0]]) to right end
openravepy.ikfast: forwardKinematicsChain, moved translation Matrix([[0, 0, 0]]) to left end
openravepy.ikfast: forwardKinematicsChain, moved translation on intersecting axis Matrix([[0, 0, 0]]) to left
openravepy.ikfast: generateIkSolver, [[1, 0, 0, 0],[0, 1, 0, 0],[0, 0, 1, 483/2500]]
openravepy.ikfast: generateIkSolver, [[cos(j0), -sin(j0), 0, 0],[sin(j0), cos(j0), 0, 0],[0, 0, 1, 0]]
openravepy.ikfast: generateIkSolver, [[1, 0, 0, 0],[0, 0, 1, 0],[0, -1, 0, 0]]
openravepy.ikfast: generateIkSolver, [[cos(j1), -sin(j1), 0, 0],[sin(j1), cos(j1), 0, 0],[0, 0, 1, 0]]
openravepy.ikfast: generateIkSolver, [[1, 0, 0, 0],[0, -1, 0, -61/200],[0, 0, -1, -6573/25000]]
openravepy.ikfast: generateIkSolver, [[cos(j4), -sin(j4), 0, 0],[sin(j4), cos(j4), 0, 0],[0, 0, 1, 0]]
openravepy.ikfast: generateIkSolver, [[0, 0, 1, 0],[-1, 0, 0, 0],[0, -1, 0, 21/250]]
openravepy.ikfast: generateIkSolver, [[cos(j5), -sin(j5), 0, 0],[sin(j5), cos(j5), 0, 0],[0, 0, 1, 0]]
openravepy.ikfast: generateIkSolver, [[0, 0, 1, 329/1000],[0, -1, 0, 0],[1, 0, 0, 0]]
openravepy.ikfast: generateIkSolver, [[cos(j6), -sin(j6), 0, 0],[sin(j6), cos(j6), 0, 0],[0, 0, 1, 0]]
openravepy.ikfast: generateIkSolver, [[1, 0, 0, 0],[0, 0, 1, 0],[0, -1, 0, 0]]
openravepy.ikfast: generateIkSolver, [[cos(j7), -sin(j7), 0, 0],[sin(j7), cos(j7), 0, 0],[0, 0, 1, 0]]
openravepy.ikfast: generateIkSolver, [[1, 0, 0, 0],[0, 0, -1, -101/500],[0, 1, 0, 0]]
openravepy.ikfast: generateIkSolver, [[cos(j8), -sin(j8), 0, 0],[sin(j8), cos(j8), 0, 0],[0, 0, 1, 0]]
openravepy.ikfast: generateIkSolver, [[1, 0, 0, 0],[0, 0, 1, 0],[0, -1, 0, 0]]
openravepy.ikfast: generateIkSolver, [[cos(j9), -sin(j9), 0, 0],[sin(j9), cos(j9), 0, 0],[0, 0, 1, 0]]
openravepy.ikfast: generateIkSolver, [[1, 0, 0, 0],[0, 0, 1, -1/5],[0, -1, 0, 0]]
openravepy.ikfast: solveFullIK_6D, ikfast 6d: [j0, j1, j5, j6, j7, j8]
openravepy.ikfast: iterateThreeIntersectingAxes, found 3 consecutive intersecting axes links[8:13], rotvars=[j6, j7, j8], translationvars=[j0, j1, j5]
openravepy.ikfast: _SimplifyRotationNorm, equation too complex to simplify for rot norm: -px**2 - 101*px*r00*sin(j9)/250 - 101*px*r01*cos(j9)/250 + 8673*px*sin(j0)/12500 + 61*px*sin(j1)*cos(j0)/100 - py**2 - 101*py*r10*sin(j9)/250 - 101*py*r11*cos(j9)/250 + 61*py*sin(j0)*sin(j1)/100 - 8673*py*cos(j0)/12500 - pz**2 - 101*pz*r20*sin(j9)/250 - 101*pz*r21*cos(j9)/250 + 61*pz*cos(j1)/100 + 10201*r00**2*cos(j9)**2/250000 - 10201*r00**2/250000 - 10201*r00*r01*sin(j9)*cos(j9)/125000 + 875973*r00*sin(j0)*sin(j9)/6250000 + 6161*r00*sin(j1)*sin(j9)*cos(j0)/50000 - 10201*r01**2*cos(j9)**2/250000 + 875973*r01*sin(j0)*cos(j9)/6250000 + 6161*r01*sin(j1)*cos(j0)*cos(j9)/50000 + 10201*r10**2*cos(j9)**2/250000 - 10201*r10**2/250000 - 10201*r10*r11*sin(j9)*cos(j9)/125000 + 6161*r10*sin(j0)*sin(j1)*sin(j9)/50000 - 875973*r10*sin(j9)*cos(j0)/6250000 - 10201*r11**2*cos(j9)**2/250000 + 6161*r11*sin(j0)*sin(j1)*cos(j9)/50000 - 875973*r11*cos(j0)*cos(j9)/6250000 + 10201*r20**2*cos(j9)**2/250000 - 10201*r20**2/250000 - 10201*r20*r21*sin(j9)*cos(j9)/125000 + 6161*r20*sin(j9)*cos(j1)/50000 - 10201*r21**2*cos(j9)**2/250000 + 6161*r21*cos(j1)*cos(j9)/50000 - 65710929/625000000
openravepy.ikfast: _SimplifyRotationNorm, equation too complex to simplify for rot norm: -px**2 - 101*px*r00*sin(j9)/250 - 101*px*r01*cos(j9)/250 + 8673*px*sin(j0)/12500 + 61*px*sin(j1)*cos(j0)/100 - py**2 - 101*py*r10*sin(j9)/250 - 101*py*r11*cos(j9)/250 + 61*py*sin(j0)*sin(j1)/100 - 8673*py*cos(j0)/12500 - pz**2 - 101*pz*r20*sin(j9)/250 - 101*pz*r21*cos(j9)/250 + 61*pz*cos(j1)/100 + 10201*r00**2*cos(j9)**2/250000 - 10201*r00**2/250000 - 10201*r00*r01*sin(j9)*cos(j9)/125000 + 875973*r00*sin(j0)*sin(j9)/6250000 + 6161*r00*sin(j1)*sin(j9)*cos(j0)/50000 - 10201*r01**2*cos(j9)**2/250000 + 875973*r01*sin(j0)*cos(j9)/6250000 + 6161*r01*sin(j1)*cos(j0)*cos(j9)/50000 + 10201*r10**2*cos(j9)**2/250000 - 10201*r10**2/250000 - 10201*r10*r11*sin(j9)*cos(j9)/125000 + 6161*r10*sin(j0)*sin(j1)*sin(j9)/50000 - 875973*r10*sin(j9)*cos(j0)/6250000 - 10201*r11**2*cos(j9)**2/250000 + 6161*r11*sin(j0)*sin(j1)*cos(j9)/50000 - 875973*r11*cos(j0)*cos(j9)/6250000 + 10201*r20**2*cos(j9)**2/250000 - 10201*r20**2/250000 - 10201*r20*r21*sin(j9)*cos(j9)/125000 + 6161*r20*sin(j9)*cos(j1)/50000 - 10201*r21**2*cos(j9)**2/250000 + 6161*r21*cos(j1)*cos(j9)/50000 - 65710929/625000000
openravepy.ikfast: _SimplifyRotationNorm, equation too complex to simplify for rot norm: -px**2 - 101*px*r00*sin(j9)/250 - 101*px*r01*cos(j9)/250 + 8673*px*sin(j0)/12500 + 61*px*sin(j1)*cos(j0)/100 - py**2 - 101*py*r10*sin(j9)/250 - 101*py*r11*cos(j9)/250 + 61*py*sin(j0)*sin(j1)/100 - 8673*py*cos(j0)/12500 - pz**2 - 101*pz*r20*sin(j9)/250 - 101*pz*r21*cos(j9)/250 + 61*pz*cos(j1)/100 + 10201*r00**2*cos(j9)**2/250000 - 10201*r00**2/250000 - 10201*r00*r01*sin(j9)*cos(j9)/125000 + 875973*r00*sin(j0)*sin(j9)/6250000 + 6161*r00*sin(j1)*sin(j9)*cos(j0)/50000 - 10201*r01**2*cos(j9)**2/250000 + 875973*r01*sin(j0)*cos(j9)/6250000 + 6161*r01*sin(j1)*cos(j0)*cos(j9)/50000 + 10201*r10**2*cos(j9)**2/250000 - 10201*r10**2/250000 - 10201*r10*r11*sin(j9)*cos(j9)/125000 + 6161*r10*sin(j0)*sin(j1)*sin(j9)/50000 - 875973*r10*sin(j9)*cos(j0)/6250000 - 10201*r11**2*cos(j9)**2/250000 + 6161*r11*sin(j0)*sin(j1)*cos(j9)/50000 - 875973*r11*cos(j0)*cos(j9)/6250000 + 10201*r20**2*cos(j9)**2/250000 - 10201*r20**2/250000 - 10201*r20*r21*sin(j9)*cos(j9)/125000 + 6161*r20*sin(j9)*cos(j1)/50000 - 10201*r21**2*cos(j9)**2/250000 + 6161*r21*cos(j1)*cos(j9)/50000 - 65710929/625000000
openravepy.ikfast: _SimplifyRotationNorm, equation too complex to simplify for rot norm: -px**2 - 101*px*r00*sin(j9)/250 - 101*px*r01*cos(j9)/250 + 8673*px*sin(j0)/12500 + 61*px*sin(j1)*cos(j0)/100 - py**2 - 101*py*r10*sin(j9)/250 - 101*py*r11*cos(j9)/250 + 61*py*sin(j0)*sin(j1)/100 - 8673*py*cos(j0)/12500 - pz**2 - 101*pz*r20*sin(j9)/250 - 101*pz*r21*cos(j9)/250 + 61*pz*cos(j1)/100 + 10201*r00**2*cos(j9)**2/250000 - 10201*r00**2/250000 - 10201*r00*r01*sin(j9)*cos(j9)/125000 + 875973*r00*sin(j0)*sin(j9)/6250000 + 6161*r00*sin(j1)*sin(j9)*cos(j0)/50000 - 10201*r01**2*cos(j9)**2/250000 + 875973*r01*sin(j0)*cos(j9)/6250000 + 6161*r01*sin(j1)*cos(j0)*cos(j9)/50000 + 10201*r10**2*cos(j9)**2/250000 - 10201*r10**2/250000 - 10201*r10*r11*sin(j9)*cos(j9)/125000 + 6161*r10*sin(j0)*sin(j1)*sin(j9)/50000 - 875973*r10*sin(j9)*cos(j0)/6250000 - 10201*r11**2*cos(j9)**2/250000 + 6161*r11*sin(j0)*sin(j1)*cos(j9)/50000 - 875973*r11*cos(j0)*cos(j9)/6250000 + 10201*r20**2*cos(j9)**2/250000 - 10201*r20**2/250000 - 10201*r20*r21*sin(j9)*cos(j9)/125000 + 6161*r20*sin(j9)*cos(j1)/50000 - 10201*r21**2*cos(j9)**2/250000 + 6161*r21*cos(j1)*cos(j9)/50000 - 65710929/625000000
openravepy.ikfast: _SimplifyRotationNorm, equation too complex to simplify for rot norm: -px**2 - 101*px*r00*sin(j9)/250 - 101*px*r01*cos(j9)/250 + 8673*px*sin(j0)/12500 + 61*px*sin(j1)*cos(j0)/100 - py**2 - 101*py*r10*sin(j9)/250 - 101*py*r11*cos(j9)/250 + 61*py*sin(j0)*sin(j1)/100 - 8673*py*cos(j0)/12500 - pz**2 - 101*pz*r20*sin(j9)/250 - 101*pz*r21*cos(j9)/250 + 61*pz*cos(j1)/100 + 10201*r00**2*cos(j9)**2/250000 - 10201*r00**2/250000 - 10201*r00*r01*sin(j9)*cos(j9)/125000 + 875973*r00*sin(j0)*sin(j9)/6250000 + 6161*r00*sin(j1)*sin(j9)*cos(j0)/50000 - 10201*r01**2*cos(j9)**2/250000 + 875973*r01*sin(j0)*cos(j9)/6250000 + 6161*r01*sin(j1)*cos(j0)*cos(j9)/50000 + 10201*r10**2*cos(j9)**2/250000 - 10201*r10**2/250000 - 10201*r10*r11*sin(j9)*cos(j9)/125000 + 6161*r10*sin(j0)*sin(j1)*sin(j9)/50000 - 875973*r10*sin(j9)*cos(j0)/6250000 - 10201*r11**2*cos(j9)**2/250000 + 6161*r11*sin(j0)*sin(j1)*cos(j9)/50000 - 875973*r11*cos(j0)*cos(j9)/6250000 + 10201*r20**2*cos(j9)**2/250000 - 10201*r20**2/250000 - 10201*r20*r21*sin(j9)*cos(j9)/125000 + 6161*r20*sin(j9)*cos(j1)/50000 - 10201*r21**2*cos(j9)**2/250000 + 6161*r21*cos(j1)*cos(j9)/50000 - 65710929/625000000
openravepy.ikfast: _SimplifyRotationNorm, equation too complex to simplify for rot norm: -px**2 - 101*px*r00*sin(j9)/250 - 101*px*r01*cos(j9)/250 + 8673*px*sin(j0)/12500 + 61*px*sin(j1)*cos(j0)/100 - py**2 - 101*py*r10*sin(j9)/250 - 101*py*r11*cos(j9)/250 + 61*py*sin(j0)*sin(j1)/100 - 8673*py*cos(j0)/12500 - pz**2 - 101*pz*r20*sin(j9)/250 - 101*pz*r21*cos(j9)/250 + 61*pz*cos(j1)/100 + 10201*r00**2*cos(j9)**2/250000 - 10201*r00**2/250000 - 10201*r00*r01*sin(j9)*cos(j9)/125000 + 875973*r00*sin(j0)*sin(j9)/6250000 + 6161*r00*sin(j1)*sin(j9)*cos(j0)/50000 - 10201*r01**2*cos(j9)**2/250000 + 875973*r01*sin(j0)*cos(j9)/6250000 + 6161*r01*sin(j1)*cos(j0)*cos(j9)/50000 + 10201*r10**2*cos(j9)**2/250000 - 10201*r10**2/250000 - 10201*r10*r11*sin(j9)*cos(j9)/125000 + 6161*r10*sin(j0)*sin(j1)*sin(j9)/50000 - 875973*r10*sin(j9)*cos(j0)/6250000 - 10201*r11**2*cos(j9)**2/250000 + 6161*r11*sin(j0)*sin(j1)*cos(j9)/50000 - 875973*r11*cos(j0)*cos(j9)/6250000 + 10201*r20**2*cos(j9)**2/250000 - 10201*r20**2/250000 - 10201*r20*r21*sin(j9)*cos(j9)/125000 + 6161*r20*sin(j9)*cos(j1)/50000 - 10201*r21**2*cos(j9)**2/250000 + 6161*r21*cos(j1)*cos(j9)/50000 - 65710929/625000000
openravepy.ikfast: SolveAllEquations, depth=0 c=1, [j4, j9] [j0, j1, j5]: cases=None
openravepy.ikfast: SolveAllEquations, depth=0 c=3, [j4, j9, j5] [j0, j1]: cases=set([])
openravepy.ikfast: checkForDivideByZero, adding atan2(-101*cj9*r11/500 - py - 101*r10*sj9/500, 101*cj9*r01/500 + px + 101*r00*sj9/500) = Abs(101*cj9*r01/500 + px + 101*r00*sj9/500) + Abs(101*cj9*r11/500 + py + 101*r10*sj9/500) all zeros check
openravepy.ikfast: checkForDivideByZero, adding atan2(-101*cj9*r11/500 - py - 101*r10*sj9/500, 101*cj9*r01/500 + px + 101*r00*sj9/500) = Abs(101*cj9*r01/500 + px + 101*r00*sj9/500) + Abs(101*cj9*r11/500 + py + 101*r10*sj9/500) all zeros check
openravepy.ikfast: checkForDivideByZero, adding atan2(329*cj4*cj5/1000 - 61/200, 329*cj5*sj4/1000) = 329*Abs(cj5*sj4)/1000 + Abs(329*cj4*cj5/1000 - 61/200) all zeros check
openravepy.ikfast: checkForDivideByZero, adding atan2(329*cj4*cj5/1000 - 61/200, 329*cj5*sj4/1000) = 329*Abs(cj5*sj4)/1000 + Abs(329*cj4*cj5/1000 - 61/200) all zeros check
openravepy.ikfast: checkForDivideByZero, adding atan2(-101*cj9*r11/500 - py - 101*r10*sj9/500, 101*cj9*r01/500 + px + 101*r00*sj9/500) = Abs(101*cj9*r01/500 + px + 101*r00*sj9/500) + Abs(101*cj9*r11/500 + py + 101*r10*sj9/500) all zeros check
openravepy.ikfast: checkForDivideByZero, adding atan2(-101*cj9*r11/500 - py - 101*r10*sj9/500, 101*cj9*r01/500 + px + 101*r00*sj9/500) = Abs(101*cj9*r01/500 + px + 101*r00*sj9/500) + Abs(101*cj9*r11/500 + py + 101*r10*sj9/500) all zeros check
openravepy.ikfast: checkForDivideByZero, adding atan2(329*cj4*cj5/1000 - 61/200, 329*cj5*sj4/1000) = 329*Abs(cj5*sj4)/1000 + Abs(329*cj4*cj5/1000 - 61/200) all zeros check
openravepy.ikfast: checkForDivideByZero, adding atan2(329*cj4*cj5/1000 - 61/200, 329*cj5*sj4/1000) = 329*Abs(cj5*sj4)/1000 + Abs(329*cj4*cj5/1000 - 61/200) all zeros check
openravepy.ikfast: SolveAllEquations, depth=0 c=5, [j4, j9, j5, j0] [j1]: cases=set([])
openravepy.ikfast: solveSingleVariable, j1 solution: equations used for atan2: [329*cj4*cj5*cos(j1)/1000 + 329*cj5*sj4*sin(j1)/1000 + 101*cj9*r21/500 + pz + 101*r20*sj9/500 - 61*cos(j1)/200, -101*cj0*cj9*r01/500 - cj0*px - 101*cj0*r00*sj9/500 - 329*cj4*cj5*sin(j1)/1000 + 329*cj5*sj4*cos(j1)/1000 - 101*cj9*r11*sj0/500 - py*sj0 - 101*r10*sj0*sj9/500 + 61*sin(j1)/200, 6161*cj0*cj9*r01*sin(j1)/50000 - 875973*cj0*cj9*r11/6250000 + 61*cj0*px*sin(j1)/100 - 8673*cj0*py/12500 + 6161*cj0*r00*sj9*sin(j1)/50000 - 875973*cj0*r10*sj9/6250000 - 101*cj9*npy/250 + 875973*cj9*r01*sj0/6250000 + 6161*cj9*r11*sj0*sin(j1)/50000 + 6161*cj9*r21*cos(j1)/50000 - 101*npx*sj9/250 - pp + 8673*px*sj0/12500 + 61*py*sj0*sin(j1)/100 + 61*pz*cos(j1)/100 + 875973*r00*sj0*sj9/6250000 + 6161*r10*sj0*sj9*sin(j1)/50000 + 6161*r20*sj9*cos(j1)/50000 - 91213429/625000000, -101*cj0*cj4*cj9*r01*cos(j1)/500 - cj0*cj4*px*cos(j1) - 101*cj0*cj4*r00*sj9*cos(j1)/500 - 101*cj0*cj9*r01*sj4*sin(j1)/500 - cj0*px*sj4*sin(j1) - 101*cj0*r00*sj4*sj9*sin(j1)/500 - 101*cj4*cj9*r11*sj0*cos(j1)/500 + 101*cj4*cj9*r21*sin(j1)/500 - cj4*py*sj0*cos(j1) + cj4*pz*sin(j1) - 101*cj4*r10*sj0*sj9*cos(j1)/500 + 101*cj4*r20*sj9*sin(j1)/500 - 101*cj9*r11*sj0*sj4*sin(j1)/500 - 101*cj9*r21*sj4*cos(j1)/500 - py*sj0*sj4*sin(j1) - pz*sj4*cos(j1) - 101*r10*sj0*sj4*sj9*sin(j1)/500 - 101*r20*sj4*sj9*cos(j1)/500 + 61*sj4/200, 101*cj0*cj4*cj9*r01*sin(j1)/500 + cj0*cj4*px*sin(j1) + 101*cj0*cj4*r00*sj9*sin(j1)/500 - 101*cj0*cj9*r01*sj4*cos(j1)/500 - cj0*px*sj4*cos(j1) - 101*cj0*r00*sj4*sj9*cos(j1)/500 + 101*cj4*cj9*r11*sj0*sin(j1)/500 + 101*cj4*cj9*r21*cos(j1)/500 + cj4*py*sj0*sin(j1) + cj4*pz*cos(j1) + 101*cj4*r10*sj0*sj9*sin(j1)/500 + 101*cj4*r20*sj9*cos(j1)/500 - 61*cj4/200 + 329*cj5/1000 - 101*cj9*r11*sj0*sj4*cos(j1)/500 + 101*cj9*r21*sj4*sin(j1)/500 - py*sj0*sj4*cos(j1) + pz*sj4*sin(j1) - 101*r10*sj0*sj4*sj9*cos(j1)/500 + 101*r20*sj4*sj9*sin(j1)/500]
openravepy.ikfast: solveSingleVariable, j1 solution: equations used for atan2: [329*cj4*cj5*cos(j1)/1000 + 329*cj5*sj4*sin(j1)/1000 + 101*cj9*r21/500 + pz + 101*r20*sj9/500 - 61*cos(j1)/200, -101*cj0*cj9*r01/500 - cj0*px - 101*cj0*r00*sj9/500 - 329*cj4*cj5*sin(j1)/1000 + 329*cj5*sj4*cos(j1)/1000 - 101*cj9*r11*sj0/500 - py*sj0 - 101*r10*sj0*sj9/500 + 61*sin(j1)/200, 6161*cj0*cj9*r01*sin(j1)/50000 - 875973*cj0*cj9*r11/6250000 + 61*cj0*px*sin(j1)/100 - 8673*cj0*py/12500 + 6161*cj0*r00*sj9*sin(j1)/50000 - 875973*cj0*r10*sj9/6250000 - 101*cj9*npy/250 + 875973*cj9*r01*sj0/6250000 + 6161*cj9*r11*sj0*sin(j1)/50000 + 6161*cj9*r21*cos(j1)/50000 - 101*npx*sj9/250 - pp + 8673*px*sj0/12500 + 61*py*sj0*sin(j1)/100 + 61*pz*cos(j1)/100 + 875973*r00*sj0*sj9/6250000 + 6161*r10*sj0*sj9*sin(j1)/50000 + 6161*r20*sj9*cos(j1)/50000 - 91213429/625000000, -101*cj0*cj4*cj9*r01*cos(j1)/500 - cj0*cj4*px*cos(j1) - 101*cj0*cj4*r00*sj9*cos(j1)/500 - 101*cj0*cj9*r01*sj4*sin(j1)/500 - cj0*px*sj4*sin(j1) - 101*cj0*r00*sj4*sj9*sin(j1)/500 - 101*cj4*cj9*r11*sj0*cos(j1)/500 + 101*cj4*cj9*r21*sin(j1)/500 - cj4*py*sj0*cos(j1) + cj4*pz*sin(j1) - 101*cj4*r10*sj0*sj9*cos(j1)/500 + 101*cj4*r20*sj9*sin(j1)/500 - 101*cj9*r11*sj0*sj4*sin(j1)/500 - 101*cj9*r21*sj4*cos(j1)/500 - py*sj0*sj4*sin(j1) - pz*sj4*cos(j1) - 101*r10*sj0*sj4*sj9*sin(j1)/500 - 101*r20*sj4*sj9*cos(j1)/500 + 61*sj4/200, 101*cj0*cj4*cj9*r01*sin(j1)/500 + cj0*cj4*px*sin(j1) + 101*cj0*cj4*r00*sj9*sin(j1)/500 - 101*cj0*cj9*r01*sj4*cos(j1)/500 - cj0*px*sj4*cos(j1) - 101*cj0*r00*sj4*sj9*cos(j1)/500 + 101*cj4*cj9*r11*sj0*sin(j1)/500 + 101*cj4*cj9*r21*cos(j1)/500 + cj4*py*sj0*sin(j1) + cj4*pz*cos(j1) + 101*cj4*r10*sj0*sj9*sin(j1)/500 + 101*cj4*r20*sj9*cos(j1)/500 - 61*cj4/200 + 329*cj5/1000 - 101*cj9*r11*sj0*sj4*cos(j1)/500 + 101*cj9*r21*sj4*sin(j1)/500 - py*sj0*sj4*cos(j1) + pz*sj4*sin(j1) - 101*r10*sj0*sj4*sj9*cos(j1)/500 + 101*r20*sj4*sj9*sin(j1)/500]
openravepy.ikfast: solveSingleVariable, j1 solution: equations used for atan2: [329*cj4*cj5*cos(j1)/1000 + 329*cj5*sj4*sin(j1)/1000 + 101*cj9*r21/500 + pz + 101*r20*sj9/500 - 61*cos(j1)/200, -101*cj0*cj9*r01/500 - cj0*px - 101*cj0*r00*sj9/500 - 329*cj4*cj5*sin(j1)/1000 + 329*cj5*sj4*cos(j1)/1000 - 101*cj9*r11*sj0/500 - py*sj0 - 101*r10*sj0*sj9/500 + 61*sin(j1)/200, 6161*cj0*cj9*r01*sin(j1)/50000 - 875973*cj0*cj9*r11/6250000 + 61*cj0*px*sin(j1)/100 - 8673*cj0*py/12500 + 6161*cj0*r00*sj9*sin(j1)/50000 - 875973*cj0*r10*sj9/6250000 - 101*cj9*npy/250 + 875973*cj9*r01*sj0/6250000 + 6161*cj9*r11*sj0*sin(j1)/50000 + 6161*cj9*r21*cos(j1)/50000 - 101*npx*sj9/250 - pp + 8673*px*sj0/12500 + 61*py*sj0*sin(j1)/100 + 61*pz*cos(j1)/100 + 875973*r00*sj0*sj9/6250000 + 6161*r10*sj0*sj9*sin(j1)/50000 + 6161*r20*sj9*cos(j1)/50000 - 91213429/625000000, -101*cj0*cj4*cj9*r01*cos(j1)/500 - cj0*cj4*px*cos(j1) - 101*cj0*cj4*r00*sj9*cos(j1)/500 - 101*cj0*cj9*r01*sj4*sin(j1)/500 - cj0*px*sj4*sin(j1) - 101*cj0*r00*sj4*sj9*sin(j1)/500 - 101*cj4*cj9*r11*sj0*cos(j1)/500 + 101*cj4*cj9*r21*sin(j1)/500 - cj4*py*sj0*cos(j1) + cj4*pz*sin(j1) - 101*cj4*r10*sj0*sj9*cos(j1)/500 + 101*cj4*r20*sj9*sin(j1)/500 - 101*cj9*r11*sj0*sj4*sin(j1)/500 - 101*cj9*r21*sj4*cos(j1)/500 - py*sj0*sj4*sin(j1) - pz*sj4*cos(j1) - 101*r10*sj0*sj4*sj9*sin(j1)/500 - 101*r20*sj4*sj9*cos(j1)/500 + 61*sj4/200, 101*cj0*cj4*cj9*r01*sin(j1)/500 + cj0*cj4*px*sin(j1) + 101*cj0*cj4*r00*sj9*sin(j1)/500 - 101*cj0*cj9*r01*sj4*cos(j1)/500 - cj0*px*sj4*cos(j1) - 101*cj0*r00*sj4*sj9*cos(j1)/500 + 101*cj4*cj9*r11*sj0*sin(j1)/500 + 101*cj4*cj9*r21*cos(j1)/500 + cj4*py*sj0*sin(j1) + cj4*pz*cos(j1) + 101*cj4*r10*sj0*sj9*sin(j1)/500 + 101*cj4*r20*sj9*cos(j1)/500 - 61*cj4/200 + 329*cj5/1000 - 101*cj9*r11*sj0*sj4*cos(j1)/500 + 101*cj9*r21*sj4*sin(j1)/500 - py*sj0*sj4*cos(j1) + pz*sj4*sin(j1) - 101*r10*sj0*sj4*sj9*cos(j1)/500 + 101*r20*sj4*sj9*sin(j1)/500]
openravepy.ikfast: solveSingleVariable, j1 solution: equations used for atan2: [329*cj4*cj5*cos(j1)/1000 + 329*cj5*sj4*sin(j1)/1000 + 101*cj9*r21/500 + pz + 101*r20*sj9/500 - 61*cos(j1)/200, -101*cj0*cj9*r01/500 - cj0*px - 101*cj0*r00*sj9/500 - 329*cj4*cj5*sin(j1)/1000 + 329*cj5*sj4*cos(j1)/1000 - 101*cj9*r11*sj0/500 - py*sj0 - 101*r10*sj0*sj9/500 + 61*sin(j1)/200, 6161*cj0*cj9*r01*sin(j1)/50000 - 875973*cj0*cj9*r11/6250000 + 61*cj0*px*sin(j1)/100 - 8673*cj0*py/12500 + 6161*cj0*r00*sj9*sin(j1)/50000 - 875973*cj0*r10*sj9/6250000 - 101*cj9*npy/250 + 875973*cj9*r01*sj0/6250000 + 6161*cj9*r11*sj0*sin(j1)/50000 + 6161*cj9*r21*cos(j1)/50000 - 101*npx*sj9/250 - pp + 8673*px*sj0/12500 + 61*py*sj0*sin(j1)/100 + 61*pz*cos(j1)/100 + 875973*r00*sj0*sj9/6250000 + 6161*r10*sj0*sj9*sin(j1)/50000 + 6161*r20*sj9*cos(j1)/50000 - 91213429/625000000, -101*cj0*cj4*cj9*r01*cos(j1)/500 - cj0*cj4*px*cos(j1) - 101*cj0*cj4*r00*sj9*cos(j1)/500 - 101*cj0*cj9*r01*sj4*sin(j1)/500 - cj0*px*sj4*sin(j1) - 101*cj0*r00*sj4*sj9*sin(j1)/500 - 101*cj4*cj9*r11*sj0*cos(j1)/500 + 101*cj4*cj9*r21*sin(j1)/500 - cj4*py*sj0*cos(j1) + cj4*pz*sin(j1) - 101*cj4*r10*sj0*sj9*cos(j1)/500 + 101*cj4*r20*sj9*sin(j1)/500 - 101*cj9*r11*sj0*sj4*sin(j1)/500 - 101*cj9*r21*sj4*cos(j1)/500 - py*sj0*sj4*sin(j1) - pz*sj4*cos(j1) - 101*r10*sj0*sj4*sj9*sin(j1)/500 - 101*r20*sj4*sj9*cos(j1)/500 + 61*sj4/200, 101*cj0*cj4*cj9*r01*sin(j1)/500 + cj0*cj4*px*sin(j1) + 101*cj0*cj4*r00*sj9*sin(j1)/500 - 101*cj0*cj9*r01*sj4*cos(j1)/500 - cj0*px*sj4*cos(j1) - 101*cj0*r00*sj4*sj9*cos(j1)/500 + 101*cj4*cj9*r11*sj0*sin(j1)/500 + 101*cj4*cj9*r21*cos(j1)/500 + cj4*py*sj0*sin(j1) + cj4*pz*cos(j1) + 101*cj4*r10*sj0*sj9*sin(j1)/500 + 101*cj4*r20*sj9*cos(j1)/500 - 61*cj4/200 + 329*cj5/1000 - 101*cj9*r11*sj0*sj4*cos(j1)/500 + 101*cj9*r21*sj4*sin(j1)/500 - py*sj0*sj4*cos(j1) + pz*sj4*sin(j1) - 101*r10*sj0*sj4*sj9*cos(j1)/500 + 101*r20*sj4*sj9*sin(j1)/500]
openravepy.ikfast: SimplifyTransform, equation -500*pz*sj4/(101*(-329*cj0*cj9*r01/305 - 32900*cj0*px/6161 - 329*cj0*r00*sj9/305 - 329*cj9*r11*sj0/305 - 32900*py*sj0/6161 - 329*r10*sj0*sj9/305)) has rot symbols in denom, so skipping...
openravepy.ikfast: SimplifyTransform, equation -500*pz*sj4/(101*(-329*cj0*cj9*r01/305 - 32900*cj0*px/6161 - 329*cj0*r00*sj9/305 - 329*cj9*r11*sj0/305 - 32900*py*sj0/6161 - 329*r10*sj0*sj9/305)) has rot symbols in denom, so skipping...
openravepy.ikfast: SimplifyTransform, equation -500*cj0*px/(101*(-329*cj0*cj4*cj9*r01/305 - 32900*cj0*cj4*px/6161 - 329*cj0*cj4*r00*sj9/305 - 329*cj4*cj9*r11*sj0/305 - 32900*cj4*py*sj0/6161 - 329*cj4*r10*sj0*sj9/305 + 329*cj9*r21*sj4/305 + 32900*pz*sj4/6161 + 329*r20*sj4*sj9/305)) has rot symbols in denom, so skipping...
openravepy.ikfast: SimplifyTransform, equation -500*cj0*px/(101*(-329*cj0*cj4*cj9*r01/305 - 32900*cj0*cj4*px/6161 - 329*cj0*cj4*r00*sj9/305 - 329*cj4*cj9*r11*sj0/305 - 32900*cj4*py*sj0/6161 - 329*cj4*r10*sj0*sj9/305 + 329*cj9*r21*sj4/305 + 32900*pz*sj4/6161 + 329*r20*sj4*sj9/305)) has rot symbols in denom, so skipping...
QtDBus: cannot relay signals from parent QObject(0x7f15545aecd0 "") unless they are emitted in the object's thread QThread(0x7f15540103c0 ""). Current thread is QThread(0x2f1c830 "").
QtDBus: cannot relay signals from parent QObject(0x7f15545aecd0 "") unless they are emitted in the object's thread QThread(0x7f15540103c0 ""). Current thread is QThread(0x2f1c830 "").
[OpenraveYarpForceEstimator.cpp:419 DestroyPlugin] destroying plugin
[OpenraveYarpWorldRpcResponder.cpp:674 DestroyPlugin] destroying plugin
[qtcoinrave.cpp:80 DestroyPlugin] SoQt releasing all memory
Coin debug: socontexthandler_cleanup(): 448 context-bound resources not free'd before exit.
[OpenraveYarpCoupled.cpp:421 DestroyPlugin] destroying plugin
[OpenraveDumpManipulatorJointLinks.cpp:145 DestroyPlugin] destroying plugin
[OpenraveYarpPluginLoader.cpp:358 DestroyPlugin] destroying plugin
[OpenraveYarpPaintSquares.cpp:396 DestroyPlugin] destroying plugin
Traceback (most recent call last):
  File "generateIkfast.py", line 25, in <module>
    ikmodel.autogenerate()
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/databases/inversekinematics.py", line 658, in autogenerate
    self.generate(iktype=iktype,freejoints=freejoints,precision=precision,forceikbuild=forceikbuild,outputlang=outputlang,ipython=ipython,ikfastmaxcasedepth=ikfastmaxcasedepth)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/databases/inversekinematics.py", line 900, in generate
    chaintree = solver.generateIkSolver(baselink=baselink,eelink=eelink,freeindices=self.freeindices,solvefn=solvefn)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 2315, in generateIkSolver
    chaintree = solvefn(self, LinksRaw, jointvars, isolvejointvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/databases/inversekinematics.py", line 751, in solveFullIK_6D
    return self.ikfast.IKFastSolver.solveFullIK_6D(*args,**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 2910, in solveFullIK_6D
    tree = self.TestIntersectingAxes(solvejointvars,Links, LinksInv,endbranchtree)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 2998, in TestIntersectingAxes
    return self.solve6DIntersectingAxes(T0links,T1links,transvars,rotvars,solveRotationFirst=solveRotationFirst, endbranchtree=endbranchtree)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 3171, in solve6DIntersectingAxes
    transtree = self.SolveAllEquations(AllEquations,curvars=curvars,othersolvedvars=othersolvedvars[:],solsubs=solsubs,endbranchtree=newendbranchtree)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 6911, in SolveAllEquations
    return self.AddSolution(solutions,AllEquations,curvars,othersolvedvars,solsubs,endbranchtree,currentcases=currentcases, currentcasesubs=currentcasesubs, unknownvars=unknownvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 7277, in AddSolution
    nextsolutions[var] = self.SolveAllEquations(AllEquations,curvars=newvars,othersolvedvars=othersolvedvars+[var],solsubs=solsubs+self.Variable(var).subs,endbranchtree=endbranchtree,currentcases=currentcases, currentcasesubs=currentcasesubs, unknownvars=unknownvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 6911, in SolveAllEquations
    return self.AddSolution(solutions,AllEquations,curvars,othersolvedvars,solsubs,endbranchtree,currentcases=currentcases, currentcasesubs=currentcasesubs, unknownvars=unknownvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 7133, in AddSolution
    ss += self.solveSingleVariable([checksimplezeroexpr.subs([(sothervar,sin(othervar)),(cothervar,cos(othervar))])],othervar,othersolvedvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 8540, in solveSingleVariable
    if self.isValidSolution(s2):
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 9086, in isValidSolution
    if not IKFastSolver.isValidSolution(arg):
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 9084, in isValidSolution
    return IKFastSolver.isValidSolution(number.evalf())
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 9072, in isValidSolution
    if e.has(I) or isinf(e) or isnan(e):
  File "/usr/lib/python2.7/dist-packages/sympy/core/expr.py", line 224, in __float__
    raise TypeError("can't convert complex to float")
TypeError: can't convert complex to float

I recall that convexdecomposition autogenerate didn't work, we ended up calling generate and save.

@rsantos88 Any ideas for the current generateIkfast.py?

jgvictores commented 6 years ago

Blocks #19

rsantos88 commented 6 years ago

Apparently working at current master.

FYI (petition by @jgvictores ):

adium-theme-ubuntu (0.3.4)
apptools (4.1.0)
apt-xapian-index (0.45)
argparse (1.2.1)
astroid (1.0.1)
chardet (2.0.1)
colorama (0.2.5)
command-not-found (0.3)
configobj (4.7.2)
debtagshw (0.1)
decorator (3.4.0)
defer (1.0.6)
dirspec (13.10)
docutils (0.11)
dulwich (0.9.4)
duplicity (0.6.23)
envisage (4.1.0)
f.lux-indicator-applet (1.1.11-pre)
fastimport (0.9.2)
h5py (2.7.1)
html5lib (0.999)
httplib2 (0.8)
ipython (1.2.1)
Jinja2 (2.7.2)
lockfile (0.8)
logilab-common (0.61.0)
lxml (3.3.3)
MarkupSafe (0.18)
matplotlib (1.3.1)
mayavi (4.1.0)
mercurial (2.8.2)
numpy (1.13.3)
oauthlib (0.6.1)
oneconf (0.3.7.14.04.1)
openravepy (0.9.0)
PAM (0.4.2)
pandas (0.21.0)
pep8 (1.4.6)
pexpect (3.1)
Pillow (2.3.0)
pip (1.5.4)
piston-mini-client (0.7.5)
Pivy (0.5.0)
psutil (1.2.1)
pycrypto (2.6.1)
pycups (1.9.66)
pycurl (7.19.3)
pyface (4.1.0)
pyflakes (0.8.1)
Pygments (1.6)
pygobject (3.12.0)
pygpgme (0.3)
pylint (1.1.0)
pyOpenSSL (0.13)
pyparsing (2.0.1)
pyserial (2.6)
pysmbc (1.0.14.1)
pysqlite (1.0.1)
python-apt (0.9.3.5ubuntu2)
python-dateutil (2.6.1)
python-debian (0.1.21-nmu2ubuntu2)
pytz (2017.3)
pyxdg (0.25)
pyzmq (14.0.1)
rabbitvcs (0.15.2)
reportlab (3.0)
requests (2.2.1)
roman (2.0.0)
rope (0.9.2)
scipy (1.0.0)
sessioninstaller (0.0.0)
setuptools (3.3)
simplegeneric (0.8.1)
simplejson (3.3.1)
six (1.5.2)
software-center-aptd-plugins (0.0.0)
Sphinx (1.2.2)
spyder (2.2.5)
sympy (0.7.1)
system-service (0.1.6)
traits (4.1.0)
traitsui (4.1.0)
Twisted-Core (13.2.0)
Twisted-Web (13.2.0)
unity-lens-photos (1.0)
urlgrabber (3.9.1)
urllib3 (1.7.1)
vboxapi (1.0)
VTK (5.8.0)
wheel (0.24.0)
wsgiref (0.1.2)
wxPython (2.8.12.1)
wxPython-common (2.8.12.1)
xdiagnose (3.6.3build2)
yum-metadata-parser (1.1.4)
zope.interface (4.0.5)
rsantos88 commented 6 years ago

I normally use this scripts to install openrave and its dependences: https://github.com/crigroup/openrave-installation (if it were useful)

jgvictores commented 6 years ago

I normally use this scripts to install openrave and its dependences: https://github.com/crigroup/openrave-installation (if it were useful)

Yes, that is useful information.

rsantos88 commented 6 years ago

note for the flies: in my computer I have not installed OpenSceneGraph

jgvictores commented 6 years ago

My main suspect related to those guidelines and the error described above is currently here: Downgrading sympy to version 0.7.1.... Perhaps somewhere between sympy 0.7.1 and xenial sympy 0.7.6 they introduced a from math import * as described here.

jgvictores commented 6 years ago

Downgrading sympy to version 0.7.1 allows ikfast generation!

Going to upgrade to 1.1.1, perhaps it's due to a bug in 0.7.6.

jgvictores commented 6 years ago

Unfortunately, same old error with sympy 1.1.1.

Downgrading to 0.7.1 again, closing issue, and commenting at https://github.com/roboticslab-uc3m/installation-guides/issues/41 or https://github.com/roboticslab-uc3m/installation-guides in general

@rsantos88 Thanks for the help to determine this bug/error!

jgvictores commented 6 years ago

So, in fact turned out to be a duplicate of: https://github.com/rdiankov/openrave/issues/405

jgvictores commented 6 years ago

...and a corresponding open PR, https://github.com/rdiankov/openrave/pull/407 that aspires for sympy 1.0 but for now recommends 0.7.1