Quantcast

Errors when using ikfast with a 4DOF arm

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

Errors when using ikfast with a 4DOF arm

Sietse Achterop
This post has NOT been accepted by the mailing list yet.
  Hello list,
I get a "ShapeError" when I try to generate a solver using the following command:
python `openrave-config --python-dir`/openravepy/_openravepy_/ikfast.py --robot=smart_arm_robot_rounded.dae --iktype=translationxaxisangleznorm4d --baselink=1 --eelink=5 --savefile=ikf.cp --debug=3
The robot is a 4DOF arm, indented to be used by the AX18 arm from crustcrawler.
The URDF has already been tested fairly well with ros and gazebo.
These files, and the complete output from the command can be found in:
http://fwn06.housing.rug.nl/ros
I installed openrave0.9 from source: latest-stable.

There are some warnings at the beginning:
[plugindatabase.h:929 _SysLoadLibrary] /usr/local/share/openrave-0.9/plugins/openravepy_configurationcache.so: libconfigurationcache.so: cannot open shared object file: No such file or directory
[plugindatabase.h:857 _LoadPlugin] failed to load: /usr/local/share/openrave-0.9/plugins/openravepy_configurationcache.so
[colladareader.cpp:2130 FillGeometryColor] transparecy is 1.000000, which means the item will be rendered invisible, this must be a mistake so setting to opaque (1)
DEBUG: rotation angle of Links[0]: 0.000000, axis=[0.000000,0.000000,0.000000]
/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py:1437: RuntimeWarning: invalid value encountered in divide
and the output ends with:
INFO: trying to guess variable from [j0, j3]
DEBUG: CannotSolveError: cannot find a good variable
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 9206, 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 2259, in generateIkSolver
    chaintree.leftmultiply(Tleft=self.multiplyMatrix(LinksLeft), Tleftinv=self.multiplyMatrix(LinksLeftInv[::-1]))
  File "/usr/local/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 1102, in leftmultiply
    self.Pfk = Tleft[0:2,0:2]*self.Pfk+Tleft[0:2,3]
  File "/usr/local/lib/python2.7/dist-packages/sympy/matrices/matrices.py", line 409, in __mul__
    return matrix_multiply(self,a)
  File "/usr/local/lib/python2.7/dist-packages/sympy/matrices/matrices.py", line 2580, in matrix_multiply
    raise ShapeError()
sympy.matrices.matrices.ShapeError
Hopefully someone can give me a pointer,
Thanks in advance, Sietse
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Errors when using ikfast with a 4DOF arm

Sietse Achterop
To add to my question:

The file /usr/local/share/openrave-0.9/plugins/libconfigurationcache.so DOES exist!

A halve year ago I had an earlier try with it, using openrave version 0.8.2 if I remember correctly.
I used a little different urdf, it had one joint/link pair more (not in the arm), but that worked.
I still have the .cpp file

Finally I tested ikfast with an urdf for the pi_robot, and that does work.

   Thanks again,
      Sietse
Loading...