- Descripción :
Franka simulada realizando diversas tareas de manipulación.
Página de inicio : https://github.com/haosulab/ManiSkill2
Código fuente :
tfds.robotics.rtx.ManiskillDatasetConvertedExternallyToRlds
Versiones :
-
0.1.0
(predeterminado): versión inicial.
-
Tamaño de descarga :
Unknown size
Tamaño del conjunto de datos :
151.05 GiB
Almacenamiento en caché automático ( documentación ): No
Divisiones :
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, 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.),
}),
})
- 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. |
Claves supervisadas (ver documento
as_supervised
):None
Figura ( tfds.show_examples ): no compatible.
Ejemplos ( tfds.as_dataframe ):
- Cita :
@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}
}