- 설명 :
다양한 조작 작업을 수행하는 시뮬레이션된 Franka
소스 코드 :
tfds.robotics.rtx.ManiskillDatasetConvertedExternallyToRlds
버전 :
-
0.1.0
(기본값): 최초 릴리스입니다.
-
다운로드 크기 :
Unknown size
데이터세트 크기 :
151.05 GiB
자동 캐시 ( 문서 ): 아니요
분할 :
나뉘다 | 예 |
---|---|
'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개. |
감독되는 키 (
as_supervised
doc 참조):None
그림 ( tfds.show_examples ): 지원되지 않습니다.
예 ( tfds.as_dataframe ):
- 인용 :
@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}
}