Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standardizing End-Effector Frame Conventions for Robot-Gripper Compatibility #625

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

Dingry
Copy link
Contributor

@Dingry Dingry commented Jan 23, 2025

Issue:
Current code shows misaligned gripper mounting orientations, requiring custom gripper_mount_pose adjustments for different robot-gripper combinations.

51737573992_ pic 61737574544_ pic

Proposed frame convention:

Robot end-effector frame:

  • Z: gripper mounting direction
  • Y: lateral direction, pointing to the left in front view
  • X: Y × Z
111737593724_ pic 121737597215_ pic

Gripper frame:

  • Z: mounting direction (same as robot end-effector frame)
  • X: Palm normal/gripper closing direction
  • Y: Z × X
91737589932_ pic 211737614400_ pic

It makes all robot end-effector and gripper base frames consistent, enabling plug-and-play gripper changes without pose adjustments. Also eliminates the need for custom gripper_mount_quat_offset configurations for PandaDexLH and PandaDexRH.

More examples:
171737613331_ pic
181737613355_ pic

191737613525_ pic 201737613737_ pic

PS: We'd better add some unit tests to verify frame consistency in new robot and gripper integrations.

@kevin-thankyou-lin
Copy link
Contributor

This is really nice @Dingry , thanks!

Going to CC @xieleo5 @Steve-Tod: does this change require updating anything for our datasets? Also, @Dingry does this change anything for the 1) franka + panda gripper / 2) GR1 + inspire/fourier hand datasets?

@xieleo5
Copy link
Contributor

xieleo5 commented Jan 31, 2025

Yes I believe if you change the site orientation, very likely we need to re-generate the data on latest robosuite because the IK target will change. But I also think this unification is important if in the future we want to add more grippers.

@Dingry
Copy link
Contributor Author

Dingry commented Jan 31, 2025

Well, I did not realized the impact to the generated dataset before. I tried to playback the dataset of GR1+Fourier hand collected before, and found it works well. If other datasets are the same case, maybe we can simply replay them and record the necessary robot states as the new dataset without re-generation.

@kevin-thankyou-lin
Copy link
Contributor

Agreed with unification @xieleo5; @Dingry gotcha, does action playback also work?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants