Quantcast

6D Ik

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

6D Ik

Praveen
Dear All,

We have a six joint arm for which we try to create a Ik solver, however trying to get ikfast working yields in following error :

Traceback (most recent call last):
  File "/usr/local/bin/openrave.py", line 126, in <module>
    database.run(args=args)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/databases/inversekinematics.py", line 1073, in run
    InverseKinematicsModel.RunFromParser(*args,**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/databases/inversekinematics.py", line 1046, in RunFromParser
    model = DatabaseGenerator.RunFromParser(Model=Model,parser=parser,robotatts=robotatts,args=args,**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/databases/__init__.py", line 252, in RunFromParser
    model.autogenerate(options=options)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/databases/inversekinematics.py", line 624, in autogenerate
    self.generate(iktype=iktype,freejoints=freejoints,precision=precision,forceikbuild=forceikbuild,outputlang=outputlang,ipython=ipython)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/databases/inversekinematics.py", line 846, in generate
    chaintree = solver.generateIkSolver(baselink=baselink,eelink=eelink,freeindices=self.freeindices,solvefn=solvefn)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/ikfast.py", line 1836, in generateIkSolver
    chaintree = solvefn(self, LinksRaw, jointvars, isolvejointvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/databases/inversekinematics.py", line 715, in solveFullIK_6D
    return self.ikfast.IKFastSolver.solveFullIK_6D(*args,**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/ikfast.py", line 2373, in solveFullIK_6D
    tree = self.solveFullIK_6DGeneral(T0links, T1links, solvejointvars, endbranchtree)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/ikfast.py", line 2651, in solveFullIK_6DGeneral
    leftovertree = self.SolveAllEquations(AllEquations,curvars=curvars,othersolvedvars = self.freejointvars+usedvars,solsubs = solsubs,endbranchtree=origendbranchtree)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/ikfast.py", line 5154, in SolveAllEquations
    return self.AddSolution(solutions,AllEquations,curvars,othersolvedvars,solsubs,endbranchtree,currentcases=currentcases)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/ikfast.py", line 5690, in AddSolution
    newtree = self.SolveAllEquations(NewEquationsClean,curvars,othersolvedvars,solsubs,endbranchtree,currentcases=newcases)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/ikfast.py", line 5154, in SolveAllEquations
    return self.AddSolution(solutions,AllEquations,curvars,othersolvedvars,solsubs,endbranchtree,currentcases=currentcases)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/ikfast.py", line 5690, in AddSolution
    newtree = self.SolveAllEquations(NewEquationsClean,curvars,othersolvedvars,solsubs,endbranchtree,currentcases=newcases)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/ikfast.py", line 5234, in SolveAllEquations
    rawsolutions=self.SolvePairVariables(raweqns,var0,var1,othersolvedvars,unknownvars=curvars+unknownvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/ikfast.py", line 6812, in SolvePairVariables
    return self.SolvePairVariablesHalfAngle(raweqns,var0,var1,othersolvedvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/ikfast.py", line 5913, in SolvePairVariablesHalfAngle
    Mall, allmonoms = self.solveDialytically(newreducedeqs,ileftvar,returnmatrix=True)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_0_9/ikfast.py", line 4791, in solveDialytically
    Anumpy = numpy.array(numpy.array(A), numpy.float64)
  File "/usr/lib/python2.7/dist-packages/sympy/core/expr.py", line 125, in __float__
    result = self.evalf()
  File "/usr/lib/python2.7/dist-packages/sympy/core/evalf.py", line 1016, in evalf
    prec = dps_to_prec(n)
  File "/usr/lib/python2.7/dist-packages/sympy/mpmath/libmp/libmpf.py", line 67, in dps_to_prec
    return max(1, int(round((int(n)+1)*3.3219280948873626)))
  File "/usr/lib/python2.7/dist-packages/sympy/core/expr.py", line 125, in __float__
    result = self.evalf()
  File "/usr/lib/python2.7/dist-packages/sympy/core/evalf.py", line 1016, in evalf
    prec = dps_to_prec(n)
  File "/usr/lib/python2.7/dist-packages/sympy/mpmath/libmp/libmpf.py", line 67, in dps_to_prec
    return max(1, int(round((int(n)+1)*3.3219280948873626)))
  File "/usr/lib/python2.7/dist-packages/sympy/core/numbers.py", line 163, in __float__
    return mlib.to_float(self._as_mpf_val(53))
  File "/usr/lib/python2.7/dist-packages/sympy/mpmath/libmp/libmpf.py", line 448, in to_float
    return math.ldexp(man, exp)
  File "/usr/lib/python2.7/dist-packages/sympy/core/numbers.py", line 163, in __float__
    return mlib.to_float(self._as_mpf_val(53))
  File "/usr/lib/python2.7/dist-packages/sympy/mpmath/libmp/libmpf.py", line 448, in to_float
    return math.ldexp(man, exp)
  File "/usr/lib/python2.7/dist-packages/sympy/core/numbers.py", line 163, in __float__
    return mlib.to_float(self._as_mpf_val(53))
  File "/usr/lib/python2.7/dist-packages/sympy/mpmath/libmp/libmpf.py", line 448, in to_float
    return math.ldexp(man, exp)
  File "/usr/lib/python2.7/dist-packages/sympy/core/expr.py", line 125, in __float__
    result = self.evalf()
  File "/usr/lib/python2.7/dist-packages/sympy/core/evalf.py", line 1016, in evalf
    prec = dps_to_prec(n)
  File "/usr/lib/python2.7/dist-packages/sympy/mpmath/libmp/libmpf.py", line 67, in dps_to_prec
    return max(1, int(round((int(n)+1)*3.3219280948873626)))
  File "/usr/lib/python2.7/dist-packages/sympy/core/expr.py", line 129, in __float__
    raise ValueError("Symbolic value, can't compute")
ValueError: Symbolic value, can't compute

Please let me know if I need to share the whole output or is there something basically wrong.

* TranslationDirection5D with 1st joint as free works fine.

Best Regards
Praveen
Loading...