maniskill_dataset_converted_externally_to_rlds

  • 설명 :

다양한 조작 작업을 수행하는 시뮬레이션된 Franka

나뉘다
'train' 30,213
  • 기능 구조 :
FeaturesDict({
    'episode_metadata': FeaturesDict({
        'episode_id': Text(shape=(), dtype=string),
        'file_path': Text(shape=(), dtype=string),
    }),
    'steps': Dataset({
        'action': Tensor(shape=(7,), dtype=float32, description=Robot action, consists of [3x end effector delta target position, 3x end effector delta target orientation in axis-angle format, 1x gripper target position (mimic for two fingers)]. For delta target position, an action of -1 maps to a robot movement of -0.1m, and action of 1 maps to a movement of 0.1m. For delta target orientation, its encoded angle is mapped to a range of [-0.1rad, 0.1rad] for robot execution. For example, an action of [1, 0, 0] means rotating along the x-axis by 0.1 rad. For gripper target position, an action of -1 means close, and an action of 1 means open.),
        'discount': Scalar(shape=(), dtype=float32, description=Discount if provided, default to 1.),
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'language_embedding': Tensor(shape=(512,), dtype=float32, description=Kona language embedding. See https://tfhub.dev/google/universal-sentence-encoder-large/5),
        'language_instruction': Text(shape=(), dtype=string),
        'observation': FeaturesDict({
            'base_pose': Tensor(shape=(7,), dtype=float32, description=Robot base pose in the world frame, consists of [x, y, z, qw, qx, qy, qz]. The first three dimensions represent xyz positions in meters. The last four dimensions are the quaternion representation of rotation.),
            'depth': Image(shape=(256, 256, 1), dtype=uint16, description=Main camera Depth observation. Divide the depth value by 2**10 to get the depth in meters.),
            'image': Image(shape=(256, 256, 3), dtype=uint8, description=Main camera RGB observation.),
            'main_camera_cam2world_gl': Tensor(shape=(4, 4), dtype=float32, description=Transformation from the main camera frame to the world frame in OpenGL/Blender convention.),
            'main_camera_extrinsic_cv': Tensor(shape=(4, 4), dtype=float32, description=Main camera extrinsic matrix in OpenCV convention.),
            'main_camera_intrinsic_cv': Tensor(shape=(3, 3), dtype=float32, description=Main camera intrinsic matrix in OpenCV convention.),
            'state': Tensor(shape=(18,), dtype=float32, description=Robot state, consists of [7x robot joint angles, 2x gripper position, 7x robot joint angle velocity, 2x gripper velocity]. Angle in radians, position in meters.),
            'target_object_or_part_final_pose': Tensor(shape=(7,), dtype=float32, description=The final pose towards which the target object or object part needs be manipulated, consists of [x, y, z, qw, qx, qy, qz]. The pose is represented in the world frame. An episode is considered successful if the target object or object part is manipulated to this pose.),
            'target_object_or_part_final_pose_valid': Tensor(shape=(7,), dtype=uint8, description=Whether each dimension of target_object_or_part_final_pose is valid in an environment. 1 = valid; 0 = invalid (in which case one should ignore the corresponding dimensions in target_object_or_part_final_pose). "Invalid" means that there is no success check on the final pose of target object or object part in the corresponding dimensions.),
            'target_object_or_part_initial_pose': Tensor(shape=(7,), dtype=float32, description=The initial pose of the target object or object part to be manipulated, consists of [x, y, z, qw, qx, qy, qz]. The pose is represented in the world frame. This variable is used to specify the target object or object part when multiple objects or object parts are present in an environment),
            'target_object_or_part_initial_pose_valid': Tensor(shape=(7,), dtype=uint8, description=Whether each dimension of target_object_or_part_initial_pose is valid in an environment. 1 = valid; 0 = invalid (in which case one should ignore the corresponding dimensions in target_object_or_part_initial_pose).),
            'tcp_pose': Tensor(shape=(7,), dtype=float32, description=Robot tool-center-point pose in the world frame, consists of [x, y, z, qw, qx, qy, qz]. Tool-center-point is the center between the two gripper fingers.),
            'wrist_camera_cam2world_gl': Tensor(shape=(4, 4), dtype=float32, description=Transformation from the wrist camera frame to the world frame in OpenGL/Blender convention.),
            'wrist_camera_extrinsic_cv': Tensor(shape=(4, 4), dtype=float32, description=Wrist camera extrinsic matrix in OpenCV convention.),
            'wrist_camera_intrinsic_cv': Tensor(shape=(3, 3), dtype=float32, description=Wrist camera intrinsic matrix in OpenCV convention.),
            'wrist_depth': Image(shape=(256, 256, 1), dtype=uint16, description=Wrist camera Depth observation. Divide the depth value by 2**10 to get the depth in meters.),
            'wrist_image': Image(shape=(256, 256, 3), dtype=uint8, description=Wrist camera RGB observation.),
        }),
        'reward': Scalar(shape=(), dtype=float32, description=Reward if provided, 1 on final step for demos.),
    }),
})
  • 기능 문서 :
특징 수업 모양 Dtype 설명
특징Dict
에피소드_메타데이터 특징Dict
Episode_metadata/episode_id 텍스트 에피소드 ID.
에피소드_메타데이터/파일_경로 텍스트 원본 데이터 파일의 경로입니다.
단계 데이터세트
단계/작업 텐서 (7,) float32 로봇 동작은 [3x 엔드 이펙터 델타 목표 위치, 3x 축 각도 형식의 엔드 이펙터 델타 목표 방향, 1x 그리퍼 목표 위치(두 손가락에 대한 모방)]로 구성됩니다. 델타 대상 위치의 경우 -1의 동작은 -0.1m의 로봇 이동으로 매핑되고, 1의 동작은 0.1m의 이동으로 매핑됩니다. 델타 타겟 방향의 경우 인코딩된 각도는 로봇 실행을 위해 [-0.1rad, 0.1rad] 범위에 매핑됩니다. 예를 들어, [1, 0, 0] 동작은 x축을 따라 0.1rad만큼 회전한다는 의미입니다. 그리퍼 대상 위치의 경우 -1 동작은 닫힘을 의미하고 1 동작은 열림을 의미합니다.
걸음수/할인 스칼라 float32 할인이 제공되면 기본값은 1입니다.
걸음수/is_first 텐서 부울
걸음수/is_last 텐서 부울
단계/is_terminal 텐서 부울
단계/언어_임베딩 텐서 (512,) float32 코나 언어 임베딩. https://tfhub.dev/google/universal-sentence-encoder-large/5를 참조하세요.
단계/언어_지시 텍스트 언어 교육.
단계/관찰 특징Dict
단계/관찰/base_pose 텐서 (7,) float32 월드 프레임의 로봇 베이스 포즈는 [x, y, z, qw, qx, qy, qz]로 구성됩니다. 처음 세 개의 치수는 미터 단위의 xyz 위치를 나타냅니다. 마지막 4개 차원은 회전의 쿼터니언 표현입니다.
단계/관찰/깊이 영상 (256, 256, 1) 단위16 메인 카메라 깊이 관찰. 깊이 값을 2**10으로 나누어 미터 단위의 깊이를 얻습니다.
단계/관찰/이미지 영상 (256, 256, 3) uint8 메인 카메라 RGB 관찰.
단계/관찰/main_camera_cam2world_gl 텐서 (4, 4) float32 OpenGL/Blender 규칙에 따라 기본 카메라 프레임에서 월드 프레임으로 변환됩니다.
단계/관찰/main_camera_extrinsic_cv 텐서 (4, 4) float32 OpenCV 규칙의 기본 카메라 외부 매트릭스.
단계/관찰/main_camera_intrinsic_cv 텐서 (3, 3) float32 OpenCV 규칙의 기본 카메라 내장 매트릭스.
단계/관찰/상태 텐서 (18,) float32 로봇 상태는 [7x 로봇 관절 각도, 2x 그리퍼 위치, 7x 로봇 관절 각도 속도, 2x 그리퍼 속도]로 구성됩니다. 각도(라디안), 위치(미터)입니다.
단계/관찰/target_object_or_part_final_pose 텐서 (7,) float32 대상 객체 또는 객체 부분을 조작해야 하는 최종 포즈는 [x, y, z, qw, qx, qy, qz]로 구성됩니다. 포즈는 월드 프레임에 표현됩니다. 대상 개체나 개체 부분이 이 포즈로 조작되면 에피소드가 성공한 것으로 간주됩니다.
단계/관찰/target_object_or_part_final_pose_valid 텐서 (7,) uint8 target_object_or_part_final_pose의 각 차원이 환경에서 유효한지 여부입니다. 1 = 유효함; 0 = 유효하지 않음(이 경우 target_object_or_part_final_pose의 해당 치수를 무시해야 함) "잘못"은 해당 치수의 대상 개체 또는 개체 부분의 최종 포즈에 대한 성공 확인이 없음을 의미합니다.
단계/관찰/target_object_or_part_initial_pose 텐서 (7,) float32 대상 객체 또는 조작하려는 객체 부분의 초기 포즈는 [x, y, z, qw, qx, qy, qz]로 구성됩니다. 포즈는 월드 프레임에 표현됩니다. 이 변수는 환경에 여러 개체 또는 개체 부분이 존재할 때 대상 개체 또는 개체 부분을 지정하는 데 사용됩니다.
단계/관찰/target_object_or_part_initial_pose_valid 텐서 (7,) uint8 target_object_or_part_initial_pose의 각 차원이 환경에서 유효한지 여부입니다. 1 = 유효함; 0 = 유효하지 않음(이 경우 target_object_or_part_initial_pose의 해당 치수를 무시해야 함)
단계/관찰/tcp_pose 텐서 (7,) float32 월드 프레임의 로봇 도구 중심점 포즈는 [x, y, z, qw, qx, qy, qz]로 구성됩니다. 공구 중심점은 두 그리퍼 핑거 사이의 중심입니다.
걸음 수/관찰/wrist_camera_cam2world_gl 텐서 (4, 4) float32 OpenGL/Blender 규칙에 따라 손목 카메라 프레임에서 월드 프레임으로 변환됩니다.
걸음수/관찰/wrist_camera_extrinsic_cv 텐서 (4, 4) float32 OpenCV 규칙의 손목 카메라 외부 매트릭스.
걸음 수/관찰/wrist_camera_intrinsic_cv 텐서 (3, 3) float32 OpenCV 규칙의 손목 카메라 내장 매트릭스.
걸음 수/관찰/손목 깊이 영상 (256, 256, 1) 단위16 손목 카메라 깊이 관찰. 깊이 값을 2**10으로 나누어 미터 단위의 깊이를 얻습니다.
걸음 수/관찰/wrist_image 영상 (256, 256, 3) uint8 손목 카메라 RGB 관찰.
걸음 수/보상 스칼라 float32 제공되는 경우 보상, 데모의 마지막 단계에서 1개.
  • 인용 :
@inproceedings{gu2023maniskill2,
  title={ManiSkill2: A Unified Benchmark for Generalizable Manipulation Skills},
  author={Gu, Jiayuan and Xiang, Fanbo and Li, Xuanlin and Ling, Zhan and Liu, Xiqiang and Mu, Tongzhou and Tang, Yihe and Tao, Stone and Wei, Xinyue and Yao, Yunchao and Yuan, Xiaodi and Xie, Pengwei and Huang, Zhiao and Chen, Rui and Su, Hao},
  booktitle={International Conference on Learning Representations},
  year={2023}
}