From kuka's website at youbot inverse kinematic :

The input data is a 6D-Pose consisting
of the x-y-z coordinates and the
roll-pitch-yaw orientation of the
gripper

So if you know the coordinates of the center of your object you can find the `roll`

, `pitch`

and `yaw`

required to face it and just specify it in the input.

EDIT as response to your comment :

do 6-D pose means that if the end effector move to a certain coordinate, it has 6 solution?

No, it means that the pose is not only `{ x; y; z}`

(`3-D`

) but it's `{ x; y; z; roll; pitch; yaw}`

(`6-D`

).

but how do I find the roll pitch and yaw required from the coordinate I put

If you want to find the orientation required to face the object you need the coordinates of your object and your end effector frame coordinates. You will need to do some steps :

- Using the transformation of arm link 1 to arm link 4 that you've calculated, you have to convert the
**object** coordinates from your global frame to the end_effector frame. - Once you have the object coordinates in end effector frame, you need to convert them from carthesian to spherical (you can have the conversion formulas here to have coordinates as
`{ z; theta; phi}`

. `theta`

being the angle around `z`

axis and `phi`

the angle around `x`

axis). - Assuming that it's the direction of the
`x`

axis of your end effector frame that determine what your end effector faces : You know that if the end effector is facing the object then `theta = 0`

and `phi=pi/2`

. You also know that `phi`

and `theta`

are the same as respectively `roll`

and `theta`

(you don't need the pitch). - Just by calculating the spherical coordinates you directly find the
`roll`

and `yaw`

that needs to be applied to properly set the end effector, so just by substracting those `roll`

and `yaw`

to the `roll`

and `yaw`

calculated at `step 1`

, you get the `roll`

, `pitch`

and `yaw`

required in the input data of your inverse kinematic code.