Cannot generate IKFast closed solutions for regular 6DOF Arm
Hello everybody!
I'm trying to generate closed analytical solutions for custom 6Dof arm manipulator that we are creating. I managed to obtain container with required software packages (openrave and ikfast plugin). I followed this tutorial: https://adrlab.bitbucket.io/ct/v2.2/c...
Everything seems to work fine - I'm able to load my .dae file and get some informations (indices list). It looks OK. But process of generation final file with solutions last for ages - it never ends...
I also tried to use this online generator: https://www.hamzamerzic.info/ikfast_g...
The result is exactly the same. Process always gets stuck on lines:
INFO: skipping dependent index 3, numausymbols=0, numausymbols=6
INFO: skipping dependent index 5, numausymbols=0, numausymbols=7
INFO: skipping dependent index 6, numausymbols=0, numausymbols=7
I'm assuming that there is something wrong with my .urdf file. Can anyone be so kind and check what can be causing the problem?
<?xml version="1.0"?>
<robot name="pseudobot">
<material name="blue">
<color rgba="0 0 0.8 1"/>
</material>
<material name="white">
<color rgba="1 1 1 1"/>
</material>
<link name="basis">
<visual>
<origin xyz="0 0 0.05" rpy="0 0 0"/>
<geometry>
<box size="0.404 0.404 0.1"/>
</geometry>
<material name="blue"/>
</visual>
</link>
<link name="base_link">
<visual>
<origin xyz="0 0 0.165" rpy="0 0 0"/>
<geometry>
<cylinder radius="0.085" length="0.33"/>
</geometry>
<material name="white"/>
</visual>
</link>
<link name="arm_link_1">
<visual>
<origin xyz="0 0 0.059" rpy="0 0 0"/>
<geometry>
<cylinder radius="0.07" length="0.288"/>
</geometry>
<material name="white"/>
</visual>
</link>
<link name="arm_link_1_1">
<visual>
<origin xyz="0 0 0.135" rpy="0 0 0"/>
<geometry>
<cylinder radius="0.055" length="0.4105"/>
</geometry>
<material name="white"/>
</visual>
</link>
<link name="arm_link_2">
<visual>
<origin xyz="0 0 0.08125" rpy="0 0 0"/>
<geometry>
<cylinder radius="0.064" length="0.2625"/>
</geometry>
<material name="white"/>
</visual>
</link>
<link name="arm_link_2_1">
<visual>
<origin xyz="0 0 0.135" rpy="0 0 0"/>
<geometry>
<cylinder radius="0.055" length="0.3805"/>
</geometry>
<material name="white"/>
</visual>
</link>
<link name="arm_link_3">
<visual>
<origin xyz="0 0 0.07615" rpy="0 0 0"/>
<geometry>
<cylinder radius="0.060" length="0.2523"/>
</geometry>
<material name="white"/>
</visual>
</link>
<link name="arm_link_4">
<visual>
<origin xyz="0 0 0.07615" rpy="0 0 0"/>
<geometry>
<cylinder radius="0.060" length="0.23993"/>
</geometry>
<material name="white"/>
</visual>
</link>
<link name="arm_link_5">
<visual>
<origin xyz="0.01 0 0" rpy="0 1.57 0"/>
<geometry>
<cylinder radius="0.060" length="0.12"/>
</geometry>
<material name="white"/>
</visual>
</link>
<joint name="base_joint" type="revolute">
<parent link="basis"/>
<child link="base_link"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<limit lower="-3.1416" upper="3.1416" effort="0.2" velocity="0.2"/>
<axis xyz="0 0 1"/>
</joint>
<joint name="joint_1" type="revolute">
<parent link="base_link"/>
<child link="arm_link_1"/>
<origin xyz="0 0 0.274" rpy="1.57 0 0 ...
I don't know whether it's a factor here, but the docker image that is used in the tutorial you link was last updated a year ago. OpenRAVE is quite actively developed, so I would suggest trying with a more recent version first.
I tried following the procedure that You have described here: https://answers.ros.org/question/2639... The result is exactly the same! I think that it must be something wrong with my urdf... Although it is working fine with default moveit planner...
Hi! Have you solved the issue? I'm having the same trouble here, following the steps described in the same link you sent. (#q263925). EDIT: I tried again with a fresh OpenRAVE install on a docker image that I've built, following the tutorial pointed on MoveIT site. It passed the first frozen state, and apparently was running ok. A few minutes later, when it was on the "addSolution" steps, it threw an error "GeneratorsNeeded" from sympy.
Yes, in the end, I managed to build IKFast solution. I changed some parameters in the script which was starting the calculations on the docker-machine... The parameter was called maxDepthSomethingSomething and I reduced it. Sorry, I don't remember much :( After all that IKFast solution was not better/faster than TracIK, so I'm using the latter one.
Thank you very much! it helped and I managed to build it, too! The parameter name is --maxcasedepth, and setting it to 1 or 2 made the build possible! Setting it to 3 resulted on the same error I commented on the edit (on the docker image i've made). Although the test success rate was below 50%, so I'll try the TracIK.