You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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). 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.cppI 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
The text was updated successfully, but these errors were encountered: