# Revision history [back]

The Inverse Kinematics is returning an invalid result as you are not supplying a desired orientation for the pose. Without setting an orientation, the default Pose::Quaternion is a vector of all zeros [0,0,0,0], which is an invalid Quaternion. I would recommend either

• read a bit on Quaternions in order to calculate your own

-or-

• move Baxter's end effector into the desired orientation with respect to the base of the robot, check the arm's current Pose::Quaternion, and use that:

$rostopic echo -n1 /robot/limb/left/endpoint_state header: ... pose: position: x: 0.529521061953 y: 0.205000088025 z: -0.287943031364 orientation: x: -0.229715175883 y: 0.970497091367 z: 0.00287481046527 w: 0.0731988325182  Whether or not the latter method will work at an arbitrary Pose::Position is arm-configuration dependent. The Inverse Kinematics is returning an invalid result as you are not supplying a desired orientation for the pose. Without setting an orientation, the default Pose::Quaternion is a vector of all zeros [0,0,0,0], which is an invalid Quaternion. I would recommend either • read a bit on Quaternions in order to calculate your own -or- • move Baxter's end effector into the desired orientation with respect to the base of the robot, check the arm's current Pose::Quaternion, and use that: $ rostopic echo -n1 /robot/limb/left/endpoint_state
...
pose:
position:
x: 0.529521061953
y: 0.205000088025
z: -0.287943031364
orientation:
x: -0.229715175883
y: 0.970497091367
z: 0.00287481046527
w: 0.0731988325182



Whether or not the latter method will work at an arbitrary Pose::Position is arm-configuration dependent.