ikfast generation for TranslationDirection5D fails with "raghavan roth equations too complex"

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

ikfast generation for TranslationDirection5D fails with "raghavan roth equations too complex"

ruddick
Hi,

I'm trying to generate inverse kinematics for a 5 DOF arm, but it keeps failing with "raghavan roth equations too complex." As a test, I tried generating the inverse kinematics for the KUKA YouBot (https://github.com/rdiankov/openrave/blob/master/src/robots/kuka-youbot.zae), and it failed with the same error. Am I doing something wrong? Below is the code I used:

test.py
===================================
from openravepy._openravepy_ import ikfast
import openravepy

openravepy.RaveSetDebugLevel(openravepy.DebugLevel.Verbose)
openravepy.misc.InitOpenRAVELogging()
env = openravepy.Environment()

kinbody = env.ReadRobotXMLFile(
  '/usr/src/app/kuka-youbot.zae')
kinbody.SetActiveManipulator('arm')
env.Add(kinbody)

solver = ikfast.IKFastSolver(kinbody=kinbody)
chaintree = solver.generateIkSolver(
  1,
  6,
  freeindices=[],
  solvefn=ikfast.IKFastSolver.solveFullIK_TranslationDirection5D)
code = solver.writeIkSolver(chaintree)
with open('ik.cpp', 'w') as f:
  f.write(code)
===================================


And here's the error output:
===================================
Traceback (most recent call last):
  File "./test.py", line 37, in <module>
    main()
  File "./test.py", line 30, in main
    solvefn=ikfast.IKFastSolver.solveFullIK_TranslationDirection5D)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 2264, in generateIkSolver
    chaintree = solvefn(self, LinksRaw, jointvars, isolvejointvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 2785, in solveFullIK_TranslationDirection5D
    raise self.CannotSolveError('raghavan roth equations too complex')
openravepy._openravepy_.ikfast.CannotSolveError: CannotSolveError: raghavan roth equations too complex
===================================

Any help is appreciated.

Thanks!
Ruddick

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ikfast generation for TranslationDirection5D fails with "raghavan roth equations too complex"

Shawn Schaerer
I get the thing with our 5-DOF robot.  still trying to figure out what to do next.


On Tue, Apr 19, 2016 at 7:18 PM, Ruddick Lawrence <[hidden email]> wrote:
Hi,

I'm trying to generate inverse kinematics for a 5 DOF arm, but it keeps failing with "raghavan roth equations too complex." As a test, I tried generating the inverse kinematics for the KUKA YouBot (https://github.com/rdiankov/openrave/blob/master/src/robots/kuka-youbot.zae), and it failed with the same error. Am I doing something wrong? Below is the code I used:

test.py
===================================
from openravepy._openravepy_ import ikfast
import openravepy

openravepy.RaveSetDebugLevel(openravepy.DebugLevel.Verbose)
openravepy.misc.InitOpenRAVELogging()
env = openravepy.Environment()

kinbody = env.ReadRobotXMLFile(
  '/usr/src/app/kuka-youbot.zae')
kinbody.SetActiveManipulator('arm')
env.Add(kinbody)

solver = ikfast.IKFastSolver(kinbody=kinbody)
chaintree = solver.generateIkSolver(
  1,
  6,
  freeindices=[],
  solvefn=ikfast.IKFastSolver.solveFullIK_TranslationDirection5D)
code = solver.writeIkSolver(chaintree)
with open('ik.cpp', 'w') as f:
  f.write(code)
===================================


And here's the error output:
===================================
Traceback (most recent call last):
  File "./test.py", line 37, in <module>
    main()
  File "./test.py", line 30, in main
    solvefn=ikfast.IKFastSolver.solveFullIK_TranslationDirection5D)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 2264, in generateIkSolver
    chaintree = solvefn(self, LinksRaw, jointvars, isolvejointvars)
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 2785, in solveFullIK_TranslationDirection5D
    raise self.CannotSolveError('raghavan roth equations too complex')
openravepy._openravepy_.ikfast.CannotSolveError: CannotSolveError: raghavan roth equations too complex
===================================

Any help is appreciated.

Thanks!
Ruddick

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users



------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Loading...