- Descrição :
Franka simulado realizando várias tarefas de manipulação
Página inicial : https://github.com/haosulab/ManiSkill2
Código fonte :
tfds.robotics.rtx.ManiskillDatasetConvertedExternallyToRlds
Versões :
-
0.1.0
(padrão): versão inicial.
-
Tamanho do download :
Unknown size
Tamanho do conjunto de dados :
151.05 GiB
Armazenado em cache automaticamente ( documentação ): Não
Divisões :
Dividir | Exemplos |
---|---|
'train' | 30.213 |
- Estrutura de recursos :
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.),
}),
})
- Documentação de recursos :
Recurso | Aula | Forma | Tipo D | Descrição |
---|---|---|---|---|
RecursosDict | ||||
episódio_metadados | RecursosDict | |||
episódio_metadados/episódio_id | Texto | corda | ID do episódio. | |
episódio_metadados/caminho_do_arquivo | Texto | corda | Caminho para o arquivo de dados original. | |
passos | Conjunto de dados | |||
etapas/ação | Tensor | (7,) | float32 | A ação do robô consiste em [3x posição do alvo delta do efetor final, 3x orientação do alvo delta do efetor final no formato de ângulo de eixo, 1x posição alvo da pinça (imitação para dois dedos)]. Para a posição alvo delta, uma ação de -1 mapeia um movimento do robô de -0,1m, e uma ação de 1 mapeia um movimento de 0,1m. Para orientação do alvo delta, seu ângulo codificado é mapeado para um intervalo de [-0,1rad, 0,1rad] para execução do robô. Por exemplo, uma ação de [1, 0, 0] significa girar ao longo do eixo x em 0,1 rad. Para a posição alvo da garra, uma ação de -1 significa fechar e uma ação de 1 significa abrir. |
passos/desconto | Escalar | float32 | Desconto, se fornecido, o padrão é 1. | |
passos/é_primeiro | Tensor | bool | ||
passos/é_último | Tensor | bool | ||
etapas/is_terminal | Tensor | bool | ||
etapas/idioma_incorporação | Tensor | (512,) | float32 | Incorporação da linguagem Kona. Consulte https://tfhub.dev/google/universal-sentence-encoder-large/5 |
etapas/instrução_idioma | Texto | corda | Instrução de Idiomas. | |
passos/observação | RecursosDict | |||
passos/observação/base_pose | Tensor | (7,) | float32 | Pose base do robô no quadro mundial, consiste em [x, y, z, qw, qx, qy, qz]. As primeiras três dimensões representam posições xyz em metros. As últimas quatro dimensões são a representação quatérnion da rotação. |
passos/observação/profundidade | Imagem | (256, 256, 1) | uint16 | Câmera principal Observação de profundidade. Divida o valor da profundidade por 2**10 para obter a profundidade em metros. |
passos/observação/imagem | Imagem | (256, 256, 3) | uint8 | Observação RGB da câmera principal. |
passos/observação/main_camera_cam2world_gl | Tensor | (4, 4) | float32 | Transformação do quadro principal da câmera para o quadro mundial na convenção OpenGL/Blender. |
etapas/observação/main_camera_extrinsic_cv | Tensor | (4, 4) | float32 | Matriz extrínseca da câmera principal na convenção OpenCV. |
etapas/observação/main_camera_intrinsic_cv | Tensor | (3, 3) | float32 | Matriz intrínseca da câmera principal na convenção OpenCV. |
etapas/observação/estado | Tensor | (18,) | float32 | O estado do robô consiste em [7x ângulos de articulação do robô, 2x posição da garra, 7x velocidade angular da articulação do robô, 2x velocidade da garra]. Ângulo em radianos, posição em metros. |
etapas/observação/target_object_or_part_final_pose | Tensor | (7,) | float32 | A pose final para a qual o objeto alvo ou parte do objeto precisa ser manipulado consiste em [x, y, z, qw, qx, qy, qz]. A pose é representada no quadro mundial. Um episódio é considerado bem-sucedido se o objeto alvo ou parte do objeto for manipulado para esta pose. |
etapas/observação/target_object_or_part_final_pose_valid | Tensor | (7,) | uint8 | Se cada dimensão de target_object_or_part_final_pose é válida em um ambiente. 1 = válido; 0 = inválido (nesse caso deve-se ignorar as dimensões correspondentes em target_object_or_part_final_pose). "Inválido" significa que não há verificação de sucesso na pose final do objeto alvo ou parte do objeto nas dimensões correspondentes. |
etapas/observação/target_object_or_part_initial_pose | Tensor | (7,) | float32 | A pose inicial do objeto alvo ou parte do objeto a ser manipulada consiste em [x, y, z, qw, qx, qy, qz]. A pose é representada no quadro mundial. Esta variável é usada para especificar o objeto alvo ou parte do objeto quando vários objetos ou partes do objeto estão presentes em um ambiente |
etapas/observação/target_object_or_part_initial_pose_valid | Tensor | (7,) | uint8 | Se cada dimensão de target_object_or_part_initial_pose é válida em um ambiente. 1 = válido; 0 = inválido (nesse caso, deve-se ignorar as dimensões correspondentes em target_object_or_part_initial_pose). |
etapas/observação/tcp_pose | Tensor | (7,) | float32 | A pose do ponto central da ferramenta do robô no quadro mundial consiste em [x, y, z, qw, qx, qy, qz]. O ponto central da ferramenta é o centro entre os dois dedos da pinça. |
passos/observação/wrist_camera_cam2world_gl | Tensor | (4, 4) | float32 | Transformação do quadro da câmera de pulso para o quadro mundial na convenção OpenGL/Blender. |
etapas/observação/wrist_camera_extrinsic_cv | Tensor | (4, 4) | float32 | Matriz extrínseca de câmera de pulso na convenção OpenCV. |
etapas/observação/wrist_camera_intrinsic_cv | Tensor | (3, 3) | float32 | Matriz intrínseca da câmera de pulso na convenção OpenCV. |
passos/observação/profundidade_do_pulso | Imagem | (256, 256, 1) | uint16 | Câmera de pulso Observação de profundidade. Divida o valor da profundidade por 2**10 para obter a profundidade em metros. |
passos/observação/imagem_de_pulso | Imagem | (256, 256, 3) | uint8 | Observação RGB da câmera de pulso. |
passos/recompensa | Escalar | float32 | Recompensa, se fornecida, 1 na etapa final para demonstrações. |
Chaves supervisionadas (consulte o documento
as_supervised
):None
Figura ( tfds.show_examples ): Não suportado.
Exemplos ( tfds.as_dataframe ):
- Citação :
@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}
}