maniskill_dataset_converted_externally_to_rlds

  • Description :

Franka simulé effectuant diverses tâches de manipulation

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),
        '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),
    }),
})
  • 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.
pas Base 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 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.
@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}
}