Quantcast

Openrave Compatibility

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

Openrave Compatibility

fortin.pascal
Hi everyone,

         I would like to have information concerning the compatibility of openrave with different versions of ROS and ubuntu. I am currently running Ubuntu 14.04 LTS along with ROS Indigo and can't make any example or installation work.

I would like to know if anyone has succeeded in using openrave with such a configuration or could you please your  share the configuration you are using and confirm if you are able to fully use Openrave.

thank you,
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Openrave Compatibility

秋纫
I installed OpenRAVE a few days ago on my Fedora 32-bit machine. I compiled version 0.9 from github source code, with just simple steps: cmake -> make -> make install. And it all works fine.

If you're not sure your configuration is right, try command:
    $ openrave.py
This will show an OpenRAVE window. If it works fine, try:
    $ openrave.py --example hanoi
This command will show a PUMA robot playing hanoi tower game.

If it doesn't work right, feel free to describe the details of the errors.

Sincerely,

秋纫(Dugucloud)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Openrave Compatibility

fortin.pascal
Actually, I managed to complete the isntallation by downgrading my Ubuntu from 14.04 LTS (trusty) to 12.04 LTS (precise). I have been to install everything from the repository. However, I am having an issue when I try to run it.

So to sum up my configuration, I am running Ubuntu 12.04 LTS 64 bits, using ROS hydro.
I am trying to follow this tutorial :
http://moveit.ros.org/wiki/Kinematics/IKFast#Install_OpenRave

I crated the collada file from the URDF successfully and I am able to visualize it using

openrave0.8-robot.py <myrobot_name>.dae --info links

However when I try to run the next line, I get the following errors:

nope@NoN:~/catkin_ws$ openrave0.8 ericc_collada.dae
[plugindatabase.h:929] /usr/share/openrave-0.8/plugins/libbulletrave.so: /usr/share/openrave-0.8/plugins/libbulletrave.so: undefined symbol: _ZNK16btCollisionShape17getBoundingSphereER9btVector3Rd
Segmentation fault (core dumped)

I searched online for this issue and found 3 threads.
This one proposes an interesting solution
http://rll.berkeley.edu/trajopt/doc/sphinx_build/html/install.html

They say that this is caused by a collision between system installation of bullet and another version. They propose to remove the path to the bullet plugin. They say that OpenRAVE uses ODE rather than Bullet by default. I have no interest in bullet specifically. I will try this.

Thank you



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Openrave Compatibility

fortin.pascal
Just as a quick follow-up, The method stated above did work in order to remove the libbulletrave.so error and I am now able to run it.

When I try to generate the IK solver for our 5 DOF robot, it is not able to find one. Here is the steps that I take:

First I verify the Collada file generated previously
nope@NoN:~/catkin_ws/src/myrobot_description/urdf$ openrave0.8-robot.py ericc_collada.dae --info links
name    index parents
---------------------
base    0            
epaule  1     base  
bras    2     epaule
coude   3     bras  
poignet 4     coude  
pince   5     poignet
---------------------
name    index parents

This is french so for a quick translation; epaule = shoulder, bras = arm, coude = elbow, poignet = wrist, pince = gripper
As you may see, this is a 5 DOF robot.

Then when I try to generate the IK solver, I get the following messages.
nope@NoN:~/catkin_ws/src/myrobot_description/urdf$ python `openrave-config --python-dir`/openravepy/_openravepy_/ikfast.py --robot=ericc_collada.dae --iktype=translationdirection5d --baselink=0 --eelink=5 --savefile=output_ikfast5.cpp
/usr/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py:1122: RuntimeWarning: invalid value encountered in divide
  axisangle /= angle
INFO: moved translation [0, 0, 9248483/50000000] to right end
INFO: moved translation [0, 0, 13081/40000] to left end
INFO: moved translation on intersecting axis [0, 0, 889/40000] to left
INFO: [[1, 0, 0, -17399/62500],[0, 1, 0, 2093341/5000000],[0, 0, 1, 13843/40000]]
INFO: [[cos(j0), -sin(j0), 0, 0],[sin(j0), cos(j0), 0, 0],[0, 0, 1, 0]]
INFO: [[1, 0, 0, 21463/2500000],[0, 0, 1, -1397/20000],[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, 1302639/5000000],[0, 1, 0, 0],[0, 0, 1, 889/40000]]
INFO: [[cos(j2), -sin(j2), 0, 0],[sin(j2), cos(j2), 0, 0],[0, 0, 1, 0]]
INFO: [[1, 0, 0, 19431/62500],[0, 1, 0, 0],[0, 0, 1, 0]]
INFO: [[cos(j3), -sin(j3), 0, 0],[sin(j3), cos(j3), 0, 0],[0, 0, 1, 0]]
INFO: [[0, 0, 1, 0],[0, 1, 0, 0],[-1, 0, 0, 26797/625000]]
INFO: [[cos(j4), -sin(j4), 0, 0],[sin(j4), cos(j4), 0, 0],[0, 0, 1, 0]]
INFO: [[1, 0, 0, 0],[0, 1, 0, 0],[0, 0, 1, 9248483/50000000]]
INFO: ikfast translation direction 5d: [j0, j1, j2, j3, j4]
INFO: attempting li/woernle/hiller general ik method
WARNING: 'Kohli/Osvatic method requires 3 unknown variables, has 2'
INFO: attempting li/woernle/hiller general ik method
WARNING: 'need exactly 8 equations of one variable'
INFO: attempting kohli/osvatic general ik method
WARNING: 'Kohli/Osvatic method requires 3 unknown variables'
INFO: attempting kohli/osvatic general ik method
WARNING: 'need 8 or less equations of one variable'
INFO: attempting manocha/canny general ik method
INFO: solving for all pairwise variables in (cj2, sj2, cj3, sj3), number of symbol coeffs are 0
INFO: finished with 12 equations
WARNING: 'number of equations 5 less than 6'
INFO: attempting manocha/canny general ik method
INFO: solving for all pairwise variables in (cj3, sj3), number of symbol coeffs are 0
INFO: finished with 8 equations
INFO: solving simultaneously for symbols: (cj0, sj0, cj1, sj1, cj2, sj2)
WARNING: solveDialytically equations 20 > 12, should be equal...
INFO: solved coupled variables: [j0, j1, j2]
INFO: [j0, j1, j2] [j3, j4]
INFO: j3 solution: equations used for atan2: [cj0*cj1*cj2*r00 - cj0*r00*sj1*sj2 + cj1*cj2*r01*sj0 - cj1*r02*sj2 - cj2*r02*sj1 - r01*sj0*sj1*sj2 - cos(j3), -cj0*cj1*r00*sj2 - cj0*cj2*r00*sj1 - cj1*cj2*r02 - cj1*r01*sj0*sj2 - cj2*r01*sj0*sj1 + r02*sj1*sj2 - sin(j3), cj0*cj1*cj2*px - cj0*px*sj1*sj2 + cj1*cj2*py*sj0 - 21463*cj1*cj2/2500000 - cj1*pz*sj2 - cj2*pz*sj1 - 1302639*cj2/5000000 - py*sj0*sj1*sj2 + 21463*sj1*sj2/2500000 - 9248483*cos(j3)/50000000 - 19431/62500, -cj0*cj1*px*sj2 - cj0*cj2*px*sj1 - cj1*cj2*pz - cj1*py*sj0*sj2 + 21463*cj1*sj2/2500000 - cj2*py*sj0*sj1 + 21463*cj2*sj1/2500000 + pz*sj1*sj2 + 1302639*sj2/5000000 - 9248483*sin(j3)/50000000]
INFO: j3 solution: equations used for atan2: [cj0*cj1*cj2*r00 - cj0*r00*sj1*sj2 + cj1*cj2*r01*sj0 - cj1*r02*sj2 - cj2*r02*sj1 - r01*sj0*sj1*sj2 - cos(j3), -cj0*cj1*r00*sj2 - cj0*cj2*r00*sj1 - cj1*cj2*r02 - cj1*r01*sj0*sj2 - cj2*r01*sj0*sj1 + r02*sj1*sj2 - sin(j3), cj0*cj1*cj2*px - cj0*px*sj1*sj2 + cj1*cj2*py*sj0 - 21463*cj1*cj2/2500000 - cj1*pz*sj2 - cj2*pz*sj1 - 1302639*cj2/5000000 - py*sj0*sj1*sj2 + 21463*sj1*sj2/2500000 - 9248483*cos(j3)/50000000 - 19431/62500, -cj0*cj1*px*sj2 - cj0*cj2*px*sj1 - cj1*cj2*pz - cj1*py*sj0*sj2 + 21463*cj1*sj2/2500000 - cj2*py*sj0*sj1 + 21463*cj2*sj1/2500000 + pz*sj1*sj2 + 1302639*sj2/5000000 - 9248483*sin(j3)/50000000]
INFO: [j0, j1, j2, j3] [j4]
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 6121, in <module>
    chaintree = solver.generateIkSolver(options.baselink,options.eelink,options.freeindices,solvefn=solvefn)
  File "/usr/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 1639, in generateIkSolver
    chaintree = solvefn(self, LinksRaw, jointvars, isolvejointvars)
  File "/usr/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 2055, in solveFullIK_TranslationDirection5D
    endbranchtree2 += self.solveAllEquations(AllEquations,curvars=curvars,othersolvedvars = self.freejointvars+usedvars,solsubs = solsubs,endbranchtree=endbranchtree)
  File "/usr/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 4264, in solveAllEquations
    return self.addSolution(solutions,AllEquations,curvars,othersolvedvars,solsubs,endbranchtree,currentcases=currentcases)
  File "/usr/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 4340, in addSolution
    return [solution[0].subs(solsubs)]+self.solveAllEquations(AllEquations,curvars=newvars,othersolvedvars=othersolvedvars+[var],solsubs=solsubs+self.Variable(var).subs,endbranchtree=endbranchtree,currentcases=currentcases)
  File "/usr/lib/python2.7/dist-packages/openravepy/_openravepy_/ikfast.py", line 4321, in solveAllEquations
    raise self.CannotSolveError('failed to find a variable to solve')
__main__.CannotSolveError: 'failed to find a variable to solve'

has anyone already encountered this error ?






Loading...