maniskill_dataset_convertido_externalmente_a_rlds

  • Descripción :

Franka simulada realizando diversas tareas de manipulación.

Dividir Ejemplos
'train' 30.213
  • Estructura de características :
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),
    }),
})
  • Documentación de funciones :
Característica Clase Forma tipo D Descripción
FuncionesDict
episodio_metadatos FuncionesDict
metadatos_episodio/id_episodio Texto cadena ID del episodio.
metadatos_episodio/ruta_archivo Texto cadena Ruta al archivo de datos original.
pasos Conjunto de datos
pasos/acción Tensor (7,) flotador32 La acción del robot consta de [3x posición del objetivo delta del efector final, 3x orientación del objetivo delta del efector final en formato de ángulo de eje, 1x posición del objetivo de la pinza (imitación para dos dedos)]. Para la posición del objetivo delta, una acción de -1 se asigna a un movimiento del robot de -0,1 m, y la acción de 1 se asigna a un movimiento de 0,1 m. Para la orientación del objetivo delta, su ángulo codificado se asigna a un rango de [-0,1rad, 0,1rad] para la ejecución del robot. Por ejemplo, una acción de [1, 0, 0] significa girar a lo largo del eje x 0,1 rad. Para la posición objetivo de la pinza, una acción de -1 significa cerrar y una acción de 1 significa abrir.
pasos/descuento Escalar flotador32 Descuento si se proporciona, el valor predeterminado es 1.
pasos/es_primero Tensor booleano
pasos/es_último Tensor booleano
pasos/es_terminal Tensor booleano
pasos/idioma_incrustación Tensor (512,) flotador32 Incorporación del lenguaje Kona. Consulte https://tfhub.dev/google/universal-sentence-encoder-large/5
pasos/instrucción_idioma Texto cadena Instrucción de idiomas.
pasos/observación FuncionesDict
pasos/observación/base_pose Tensor (7,) flotador32 La pose de la base del robot en el marco del mundo consta de [x, y, z, qw, qx, qy, qz]. Las primeras tres dimensiones representan posiciones xyz en metros. Las últimas cuatro dimensiones son la representación cuaternión de la rotación.
pasos/observación/profundidad Imagen (256, 256, 1) uint16 Cámara principal Observación de profundidad. Divida el valor de profundidad por 2**10 para obtener la profundidad en metros.
pasos/observación/imagen Imagen (256, 256, 3) uint8 Observación RGB de la cámara principal.
pasos/observación/main_camera_cam2world_gl Tensor (4, 4) flotador32 Transformación del marco de la cámara principal al marco mundial en la convención OpenGL/Blender.
pasos/observación/main_camera_extrinsic_cv Tensor (4, 4) flotador32 Matriz extrínseca de la cámara principal en convención OpenCV.
pasos/observación/main_camera_intrinsic_cv Tensor (3, 3) flotador32 Matriz intrínseca de la cámara principal en la convención OpenCV.
pasos/observación/estado Tensor (18,) flotador32 El estado del robot consta de [7x ángulos de articulación del robot, 2x posición de la pinza, 7x velocidad del ángulo de la articulación del robot, 2x velocidad de la pinza]. Ángulo en radianes, posición en metros.
pasos/observación/objeto_objetivo_o_parte_final_pose Tensor (7,) flotador32 La postura final hacia la cual se debe manipular el objeto objetivo o la parte del objeto consiste en [x, y, z, qw, qx, qy, qz]. La pose está representada en el marco del mundo. Un episodio se considera exitoso si el objeto objetivo o la parte del objeto se manipula hasta esta postura.
pasos/observación/objeto_destino_o_parte_final_pose_valid Tensor (7,) uint8 Si cada dimensión de target_object_or_part_final_pose es válida en un entorno. 1 = válido; 0 = no válido (en cuyo caso se deben ignorar las dimensiones correspondientes en target_object_or_part_final_pose). "No válido" significa que no hay una verificación de éxito en la pose final del objeto objetivo o parte del objeto en las dimensiones correspondientes.
pasos/observación/target_object_or_part_initial_pose Tensor (7,) flotador32 La pose inicial del objeto objetivo o de la parte del objeto a manipular consta de [x, y, z, qw, qx, qy, qz]. La pose está representada en el marco del mundo. Esta variable se utiliza para especificar el objeto de destino o parte del objeto cuando hay varios objetos o partes de objetos presentes en un entorno.
pasos/observación/objeto_objetivo_o_parte_inicial_pose_valid Tensor (7,) uint8 Si cada dimensión de target_object_or_part_initial_pose es válida en un entorno. 1 = válido; 0 = no válido (en cuyo caso se deben ignorar las dimensiones correspondientes en target_object_or_part_initial_pose).
pasos/observación/tcp_pose Tensor (7,) flotador32 La pose del punto central de la herramienta del robot en el marco del mundo consta de [x, y, z, qw, qx, qy, qz]. El punto central de la herramienta es el centro entre los dos dedos de la pinza.
pasos/observación/wrist_camera_cam2world_gl Tensor (4, 4) flotador32 Transformación del marco de la cámara de muñeca al marco mundial en la convención OpenGL/Blender.
pasos/observación/wrist_camera_extrinsic_cv Tensor (4, 4) flotador32 Matriz extrínseca de cámara de muñeca en convención OpenCV.
pasos/observación/wrist_camera_intrinsic_cv Tensor (3, 3) flotador32 Matriz intrínseca de cámara de muñeca en convención OpenCV.
pasos/observación/profundidad_muñeca Imagen (256, 256, 1) uint16 Cámara de muñeca Observación de profundidad. Divida el valor de profundidad por 2**10 para obtener la profundidad en metros.
pasos/observación/imagen_muñeca Imagen (256, 256, 3) uint8 Cámara de muñeca de observación RGB.
pasos/recompensa Escalar flotador32 Recompensa si se proporciona, 1 en el paso final para demostraciones.
@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}
}