IK fails for pose acquired with FK for the same arm
Trying Joint Trajectory Action tutorial on cob_arm_kinematics
services, but get_ik
cannot find solution for any poses even for the ones returned by get_fk
from the same node. Tutorial code works well on PR2 services though.
I have tried to change seeds as suggested here, but no luck.
Any clues?
Thanks
EDIT #1:
I set value 0.5f
for all joints in FK and received following Cartesian pose:
Position: -0.435193,0.448097,1.33023
Orientation: 0.708541 0.328067 0.000000 0.624774
But it produces error
INFO: IK service call error code: -31
ERROR: IK solution not found for trajectory point number 0
when I am feeding this data back to IK with the following command:
$ rosservice call /executecartesianiktrajectory -- \
"{ \
header: { frameid: /base_link}, \
poses: [{ \
position: [-0.435193, 0.448097, 1.33023], \
orientation: [0.708541, 0.328067, 0.0, 0.624774] \
} \
]}"
I have tried to set seeds as follows
for(int i = 0; i < 7; i++)
ikrequest.ikrequest.ikseedstate.jointstate.position[i] = 0.5f; //startangles[i];
but result is the same.
Asked by Boris on 2012-09-20 06:40:25 UTC
Comments
What error message do you get? E.g. start state is collision-free and respects the joint limits?
Asked by bit-pirate on 2012-09-20 20:51:53 UTC
If you seed the IK solver with the actual solution, does it succeed?.
Asked by Adolfo Rodriguez T on 2012-09-20 21:09:29 UTC