iktests and computation time

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

iktests and computation time


I've using OpenRAVE to solve IK of a 6DOF arm. I noticed some discrepancy when I tested the solution. I have two issues

When I run pertiming, the result I obtain is:
running time mean: 0.000623s, median: 0.000674s, min: 0.0u00200s, max: 0.133092s
This is the command I used to run the tests:
openrave.py --database inversekinematics --robot=testrobot.robot.xml --usecached --perftiming=1000000

However, when I use http://kaist-ros-pkg.googlecode.com/svn/trunk/arm_kinematics_tools/src/ikfastdemo/ikfastdemo.cpp
to test my code, the mean timing I get is just 2.8microseconds!

How is it possible that the computation time so different eventhough both are using the same IK solution?

When I run iktests many joint angles are shown as having no solution. Here's an example:

[ikfastmodule.cpp:928] FindIKSolution: No ik solution found, i = 999996
Joint Val: -0.5941069017257172 -2.922736363861143 -1.695739455200562 1.570796326794897 -1.570796326794897 2.216391391037823
Transform: 1728053249 -0.5104929659888089 -0.1491344767401178 0.6912010618101301 -0.4892820573819858 0.3466163672597883 -0.3548247244065963 -0.1428342665248151
raw ik command: -0.4343116790468002 -0.7057139147066082 -0.5597689130641532 0.3466163672597883 0.2933862800055378 0.4767239523430049 -0.8286487578986507 -0.3548247244065963 0.8516442074881161 -0.5241203524496435 -1.110223024625157e-16 -0.1428342665248151

However, when I tests these joint angles separately, I am able to get all the solutions. Can someone help me in understanding why this is happening?

This is the command I ran:
openrave.py --database inversekinematics --robot=testrobot.robot.xml --usecached --iktests=1000000