maniskill_dataset_converted_externally_to_rlds

  • Descrição :

Franka simulado realizando várias tarefas de manipulação

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),
        'discount': Scalar(shape=(), dtype=float32),
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'language_embedding': Tensor(shape=(512,), dtype=float32),
        'language_instruction': Text(shape=(), dtype=string),
        'observation': FeaturesDict({
            'base_pose': Tensor(shape=(7,), dtype=float32),
            'depth': Image(shape=(256, 256, 1), dtype=uint16),
            'image': Image(shape=(256, 256, 3), dtype=uint8),
            'main_camera_cam2world_gl': Tensor(shape=(4, 4), dtype=float32),
            'main_camera_extrinsic_cv': Tensor(shape=(4, 4), dtype=float32),
            'main_camera_intrinsic_cv': Tensor(shape=(3, 3), dtype=float32),
            'state': Tensor(shape=(18,), dtype=float32),
            'target_object_or_part_final_pose': Tensor(shape=(7,), dtype=float32),
            'target_object_or_part_final_pose_valid': Tensor(shape=(7,), dtype=uint8),
            'target_object_or_part_initial_pose': Tensor(shape=(7,), dtype=float32),
            'target_object_or_part_initial_pose_valid': Tensor(shape=(7,), dtype=uint8),
            'tcp_pose': Tensor(shape=(7,), dtype=float32),
            'wrist_camera_cam2world_gl': Tensor(shape=(4, 4), dtype=float32),
            'wrist_camera_extrinsic_cv': Tensor(shape=(4, 4), dtype=float32),
            'wrist_camera_intrinsic_cv': Tensor(shape=(3, 3), dtype=float32),
            'wrist_depth': Image(shape=(256, 256, 1), dtype=uint16),
            'wrist_image': Image(shape=(256, 256, 3), dtype=uint8),
        }),
        'reward': Scalar(shape=(), dtype=float32),
    }),
})
  • 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 do 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.
etapas/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.
passos/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.
  • 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}
}