IK fails for pose acquired with FK for the same arm [closed]

asked 2012-09-20 06:40:25 -0500

updated 2012-09-20 23:28:51 -0500

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?


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 /execute_cartesian_ik_trajectory -- \
"{ \
  header: { frame_id: /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++) 
  ik_request.ik_request.ik_seed_state.joint_state.position[i] = 0.5f; //start_angles[i];

but result is the same.

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2015-04-23 03:28:40.327364


What error message do you get? E.g. start state is collision-free and respects the joint limits?

bit-pirate gravatar image bit-pirate  ( 2012-09-20 20:51:53 -0500 )edit

If you seed the IK solver with the actual solution, does it succeed?.

Adolfo Rodriguez T gravatar image Adolfo Rodriguez T  ( 2012-09-20 21:09:29 -0500 )edit