| from gr00t.configs.data.embodiment_configs import register_modality_config | |
| from gr00t.data.embodiment_tags import EmbodimentTag | |
| from gr00t.data.types import ( | |
| ActionConfig, | |
| ActionFormat, | |
| ActionRepresentation, | |
| ActionType, | |
| ModalityConfig, | |
| ) | |
| human_hand_config = { | |
| "video": ModalityConfig( | |
| delta_indices=[0], | |
| modality_keys=["top"], | |
| ), | |
| "state": ModalityConfig( | |
| delta_indices=[0], | |
| modality_keys=["gripper"], # single_arm removed — MediaPipe coords don't map to robot EEF | |
| ), | |
| "action": ModalityConfig( | |
| delta_indices=list(range(0, 16)), | |
| modality_keys=["single_arm", "gripper"], | |
| action_configs=[ | |
| ActionConfig( | |
| rep=ActionRepresentation.ABSOLUTE, | |
| type=ActionType.NON_EEF, | |
| format=ActionFormat.DEFAULT, | |
| ), | |
| ActionConfig( | |
| rep=ActionRepresentation.ABSOLUTE, | |
| type=ActionType.NON_EEF, | |
| format=ActionFormat.DEFAULT, | |
| ), | |
| ], | |
| ), | |
| "language": ModalityConfig( | |
| delta_indices=[0], | |
| modality_keys=["annotation.human.task_description"], | |
| ), | |
| } | |
| register_modality_config(human_hand_config, embodiment_tag=EmbodimentTag.NEW_EMBODIMENT) | |