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)