IK fails for pose acquired with FK for the same arm [closed]
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 /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.
What error message do you get? E.g. start state is collision-free and respects the joint limits?
If you seed the IK solver with the actual solution, does it succeed?.