- Description :
Franka simulé effectuant diverses tâches de manipulation
Page d'accueil : https://github.com/haosulab/ManiSkill2
Code source :
tfds.robotics.rtx.ManiskillDatasetConvertedExternallyToRlds
Versions :
-
0.1.0
(par défaut) : version initiale.
-
Taille du téléchargement :
Unknown size
Taille de l'ensemble de données :
151.05 GiB
Mise en cache automatique ( documentation ) : Non
Divisions :
Diviser | Exemples |
---|---|
'train' | 30 213 |
- Structure des fonctionnalités :
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.),
}),
})
- Documentation des fonctionnalités :
Fonctionnalité | Classe | Forme | Type D | Description |
---|---|---|---|---|
FonctionnalitésDict | ||||
épisode_métadonnées | FonctionnalitésDict | |||
épisode_metadata/episode_id | Texte | chaîne | ID de l'épisode. | |
épisode_metadata/file_path | Texte | chaîne | Chemin d'accès au fichier de données d'origine. | |
mesures | Ensemble de données | |||
étapes/actions | Tenseur | (7,) | flotteur32 | L'action du robot consiste en [3x positions cibles delta de l'effecteur terminal, 3x orientation de la cible delta de l'effecteur terminal au format axe-angle, 1x position cible de la pince (imitation pour deux doigts)]. Pour la position cible delta, une action de -1 correspond à un mouvement du robot de -0,1 m et une action de 1 correspond à un mouvement de 0,1 m. Pour l'orientation de la cible delta, son angle codé est mappé sur une plage de [-0,1rad, 0,1rad] pour l'exécution du robot. Par exemple, une action de [1, 0, 0] signifie une rotation le long de l'axe des x de 0,1 rad. Pour la position cible de la pince, une action de -1 signifie une fermeture et une action de 1 signifie une ouverture. |
étapes/remise | Scalaire | flotteur32 | Remise si fournie, par défaut à 1. | |
étapes/is_first | Tenseur | bouffon | ||
étapes/est_dernier | Tenseur | bouffon | ||
étapes/is_terminal | Tenseur | bouffon | ||
étapes/langue_embedding | Tenseur | (512,) | flotteur32 | Intégration du langage Kona. Voir https://tfhub.dev/google/universal-sentence-encoder-large/5 |
étapes/instruction_langue | Texte | chaîne | Enseignement des langues. | |
étapes/observation | FonctionnalitésDict | |||
étapes/observation/base_pose | Tenseur | (7,) | flotteur32 | Pose de base du robot dans le cadre du monde, composée de [x, y, z, qw, qx, qy, qz]. Les trois premières dimensions représentent les positions xyz en mètres. Les quatre dernières dimensions sont la représentation quaternion de la rotation. |
étapes/observation/profondeur | Image | (256, 256, 1) | uint16 | Caméra principale Observation de la profondeur. Divisez la valeur de profondeur par 2**10 pour obtenir la profondeur en mètres. |
étapes/observation/image | Image | (256, 256, 3) | uint8 | Observation RVB de la caméra principale. |
étapes/observation/main_camera_cam2world_gl | Tenseur | (4, 4) | flotteur32 | Transformation du cadre principal de la caméra en cadre mondial selon la convention OpenGL/Blender. |
étapes/observation/main_camera_extrinsic_cv | Tenseur | (4, 4) | flotteur32 | Matrice extrinsèque de la caméra principale dans la convention OpenCV. |
étapes/observation/main_camera_intrinsic_cv | Tenseur | (3, 3) | flotteur32 | Matrice intrinsèque de la caméra principale dans la convention OpenCV. |
étapes/observation/état | Tenseur | (18,) | flotteur32 | L'état du robot comprend [7x angles d'articulation du robot, 2x position de la pince, 7x vitesse de l'angle de l'articulation du robot, 2x vitesse de la pince]. Angle en radians, position en mètres. |
étapes/observation/target_object_or_part_final_pose | Tenseur | (7,) | flotteur32 | La pose finale vers laquelle l'objet cible ou la partie de l'objet doit être manipulée se compose de [x, y, z, qw, qx, qy, qz]. La pose est représentée dans le cadre du monde. Un épisode est considéré comme réussi si l'objet cible ou la partie de l'objet est manipulé dans cette pose. |
étapes/observation/target_object_or_part_final_pose_valid | Tenseur | (7,) | uint8 | Indique si chaque dimension de target_object_or_part_final_pose est valide dans un environnement. 1 = valide ; 0 = invalide (auquel cas il faut ignorer les dimensions correspondantes dans target_object_or_part_final_pose). "Invalide" signifie qu'il n'y a pas de contrôle de réussite sur la pose finale de l'objet cible ou de la partie d'objet dans les dimensions correspondantes. |
étapes/observation/target_object_or_part_initial_pose | Tenseur | (7,) | flotteur32 | La pose initiale de l'objet cible ou de la partie d'objet à manipuler se compose de [x, y, z, qw, qx, qy, qz]. La pose est représentée dans le cadre du monde. Cette variable est utilisée pour spécifier l'objet ou la partie d'objet cible lorsque plusieurs objets ou parties d'objet sont présents dans un environnement. |
étapes/observation/target_object_or_part_initial_pose_valid | Tenseur | (7,) | uint8 | Indique si chaque dimension de target_object_or_part_initial_pose est valide dans un environnement. 1 = valide ; 0 = invalide (auquel cas il faut ignorer les dimensions correspondantes dans target_object_or_part_initial_pose). |
étapes/observation/tcp_pose | Tenseur | (7,) | flotteur32 | La pose du point central de l'outil du robot dans le cadre du monde se compose de [x, y, z, qw, qx, qy, qz]. Le point central de l'outil est le centre entre les deux doigts de préhension. |
étapes/observation/wrist_camera_cam2world_gl | Tenseur | (4, 4) | flotteur32 | Transformation du cadre de la caméra-bracelet au cadre mondial dans la convention OpenGL/Blender. |
étapes/observation/wrist_camera_extrinsic_cv | Tenseur | (4, 4) | flotteur32 | Matrice extrinsèque de la caméra-bracelet dans la convention OpenCV. |
étapes/observation/wrist_camera_intrinsic_cv | Tenseur | (3, 3) | flotteur32 | Matrice intrinsèque de la caméra-bracelet dans la convention OpenCV. |
étapes/observation/profondeur_poignet | Image | (256, 256, 1) | uint16 | Caméra-bracelet Observation de la profondeur. Divisez la valeur de profondeur par 2**10 pour obtenir la profondeur en mètres. |
étapes/observation/image_poignet | Image | (256, 256, 3) | uint8 | Observation RVB par caméra-bracelet. |
étapes/récompense | Scalaire | flotteur32 | Récompense si fournie, 1 à la dernière étape pour les démos. |
Clés supervisées (Voir doc
as_supervised
) :None
Figure ( tfds.show_examples ) : non pris en charge.
Exemples ( tfds.as_dataframe ) :
- Citation :
@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}
}