NVlabs / curobo

CUDA Accelerated Robot Library
https://curobo.org
Other
796 stars 125 forks source link

IK uses incorrect rotation for given ee-frame when it is not tool0 #183

Closed Fzaero closed 8 months ago

Fzaero commented 8 months ago

If it’s not a bug, please use discussions: https://github.com/NVlabs/curobo/discussions

Please provide the below information in addition to your issue:

  1. cuRobo installation mode (choose from [python, isaac sim, docker python, docker isaac sim]): python
  2. python version: 3.8

Issue Details

When I use a frame other than tool0 frame in IK, robot still uses rotation of tool0 frame even if rotation of end-effector frame is different. I am not sure if this is specific to tool0 frame.

To better explain, check the following images:

grasp_center_and_tool0_frame This image shows the tool0 and grasp_center frames. I tested using both of these frames for planning with curobo:

Curobo_plan_for_tool0

This is the plan for tool0 frame for given pose.

Curobo_plan_with_grasp_center

This is the plan for grasp_center frame for given pose.

As you see, curobo uses correct translations for grasp_center and tool0 frames, but still same rotation.

balakumar-s commented 8 months ago

cuRobo's quaternion format is w,x,y,z. Are you using this format when calling IK?

Fzaero commented 8 months ago

Yes, I am using that format.

I believe way that I give coordinate is correct as IK works correctly for tool0 frame, but not for grasp_center frame, as you can see in the images.

balakumar-s commented 8 months ago

I'm assuming that you are sending the same goal pose in these two cases. Then the end effector will reach that same position and orientation.

Can you render the goal frame, gripper frame and tool0 frame in the two cases?

Fzaero commented 8 months ago

I think I found the issue. It was on my side. Sorry about this.