Ask Your Question

Revision history [back]

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

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
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.

click to hide/show revision 3
Something wrong with tags

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

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];//start_angles[i];

but result is the same.

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

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.

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 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.

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]: 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.