crigroup / openrave-installation

Bash scripts to install OpenRAVE from source
164 stars 77 forks source link

Segmentation fault (core dumped) when creating cpp file with IKFast #11

Open jonarriza96 opened 4 years ago

jonarriza96 commented 4 years ago

Hello!

I am trying to get an analytical inverse kinematics solution for my robot. To do so, I followed this tutorial (http://docs.ros.org/melodic/api/moveit_tutorials/html/doc/ikfast/ikfast_tutorial.html). It is worth to highlight that I installed OpenRave following the instructions given in https://github.com/crigroup/openrave-installation. I am using Melodic and my robot (I attach the urdf file) has got 3DOF.

As a starting point, in order to choose the baselink and eelink I run:


openrave-robot.py jurp1_1.dae --info links


and I get:


name index parents

base_link 0 Shoulder_Link 1 base_link Elbow_Link 2 Shoulder_Link Wrist_Link 3 Elbow_Link EE_Link 4 Wrist_Link


In order to generate the cpp file with the analytical solution, I chose "Translation3D" as the inverse kinematic type. .

To do so, I run this command:


python openrave-config --python-dir/openravepy/openravepy/ikfast.py --robot=jurp1.dae --iktype=translation3d --baselink=0 --eelink=3 --freeindex=4 --savefile=~/Desktop/ikfast61_jurp_arm.cpp


I get the following:


INFO: moved translation [0, 0, 0] to right end INFO: moved translation [0, 0, 133/1000] to left end INFO: [[0, 0, 1, 11367/50000],[0, 1, 0, 0],[-1, 0, 0, 13/10]] INFO: [[cos(j0), -sin(j0), 0, 0],[sin(j0), cos(j0), 0, 0],[0, 0, 1, 0]] INFO: [[0, 0, 1, 0],[1, 0, 0, 0],[0, 1, 0, 0]] INFO: [[cos(j1), -sin(j1), 0, 0],[sin(j1), cos(j1), 0, 0],[0, 0, 1, 0]] INFO: [[0, 0, -1, 0],[-1, 0, 0, 0],[0, 1, 0, 227/1000]] INFO: [[cos(j2), -sin(j2), 0, 0],[sin(j2), cos(j2), 0, 0],[0, 0, 1, 0]] INFO: [[0, 0, 1, 0],[1, 0, 0, 0],[0, 1, 0, 0]] INFO: ikfast translation3d: [j0, j1, j2] INFO: depth=0 c=1, [] [j0, j1, j2]: cases=None INFO: j0 solution: equations used for atan2: [pxsin(j0) - pycos(j0), -pxcos(j0) - pysin(j0) + 227/1000] INFO: adding atan2(227py, 227px) = 227Abs(px) + 227Abs(py) all zeros check INFO: adding atan2(227py, 227px) = 227Abs(px) + 227Abs(py) all zeros check INFO: depth=0 c=3, [j0] [j1, j2]: cases=set([]) INFO: adding atan2(pz, -cj0py + pxsj0) = Abs(pz) + Abs(-cj0py + pxsj0) all zeros check INFO: adding atan2(pz, -cj0py + pxsj0) = Abs(pz) + Abs(-cj0py + pxsj0) all zeros check INFO: adding atan2(cj0py - pxsj0, pz) = Abs(pz) + Abs(cj0py - pxsj0) all zeros check INFO: adding atan2(cj0py - pxsj0, pz) = Abs(pz) + Abs(cj0py - pxsj0) all zeros check INFO: adding atan2(pz, -cj0py + pxsj0) = Abs(pz) + Abs(-cj0py + pxsj0) all zeros check INFO: adding atan2(pz, -cj0py + pxsj0) = Abs(pz) + Abs(-cj0py + pxsj0) all zeros check INFO: adding atan2(cj0py - pxsj0, pz) = Abs(pz) + Abs(cj0py - pxsj0) all zeros check INFO: adding atan2(cj0py - pxsj0, pz) = Abs(pz) + Abs(cj0py - pxsj0) all zeros check INFO: depth=0 c=5, [j0, j1] [j2]: cases=set([]) INFO: trying to guess variable from [j2] INFO: have only one variable left j2 and most likely it is not in equations [-pz, pxsin(j0) - pycos(j0), -pxcos(j0) - pysin(j0) + 227/1000, -px2 - py2 - pz**2 + 51529/1000000, pxsin(j0)sin(j1) - pysin(j1)cos(j0) + pzcos(j1), -pxsin(j0)cos(j1) + pycos(j0)cos(j1) + pzsin(j1)] INFO: depth=0, c=2, iter=0/2, starting newcases: set([py, px]) INFO: depth=2 c=6, [] [j0, j1, j2]: cases=set([py, px]) INFO: depth=0, c=2, iter=1/2, starting newcases: set([Abs(px) + Abs(py)]) INFO: depth=1 c=7, [] [j0, j1, j2]: cases=set([Abs(px) + Abs(py)]) INFO: generating cpp code... INFO: c=1 var=j0 INFO: c=2 var=j1 INFO: c=3 var=j2 INFO: c=4, store solution INFO: c=5 var=j1 INFO: c=6 var=j2 INFO: c=7, store solution Segmentation fault (core dumped)


Even if it says "INFO: generating cpp code...". The cpp file is never generated. Firstly, I have decrease the amount of decimals in the dae file, so that it would be easier for IKfast to solve. Unfortunately, it did not work. Trying to solve this issue I have played around with the inverse kinematics type and baselink/eelink/freeindex numbers (also with no freeindex at all), but I always end up with "Segmentation fault (core dumped)" message.

If someone could help me, I will be grateful.

Jon jurp1.zip

mohdwaseem27 commented 3 years ago

I've got the same problem did it solved?

Varun221 commented 3 years ago

hey I've got the same problem, did you find the solution? @mohdwaseem27

mohdwaseem27 commented 3 years ago

@Varun221 try this it gave segfault but it did generate the cpp code

ChildofUngolianth commented 3 years ago

I am having the same problem. The posted solution did not change a thing for me, still no cpp.