bc_z

  • Description :

Un robot Google téléopé fait principalement du choix depuis une table

Diviser Exemples
'train' 39 350
'val' 3 914
  • Structure des fonctionnalités :
FeaturesDict({
    'steps': Dataset({
        'action': FeaturesDict({
            'future/axis_angle_residual': Tensor(shape=(30,), dtype=float32, description=The next 10 actions for the rotation. Each action is a 3D delta to add to the current axis angle.),
            'future/target_close': Tensor(shape=(10,), dtype=int64, description=The next 10 actions for the gripper. Each action is the value the gripper closure should be changed to (notably it is *not* a delta.)),
            'future/xyz_residual': Tensor(shape=(30,), dtype=float32, description=The next 10 actions for the positions. Each action is a 3D delta to add to current position.),
        }),
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'observation': FeaturesDict({
            'episode_success': float32,
            'image': Image(shape=(171, 213, 3), dtype=uint8, description=Camera image of the robot, downsampled 3x),
            'natural_language_embedding': Tensor(shape=(512,), dtype=float32, description=An embedding of the task via Universal Sentence Encoder (https://tfhub.dev/google/universal-sentence-encoder/4)),
            'natural_language_instruction': string,
            'present/autonomous': int64,
            'present/axis_angle': Tensor(shape=(3,), dtype=float32, description=The current rotation of the end effector in axis-angle representation.),
            'present/intervention': int64,
            'present/sensed_close': Tensor(shape=(1,), dtype=float32, description=How much the gripper is currently closed. Scaled from 0 to 1, but not all values from 0 to 1 are reachable. The range in the data is about 0.2 to 1),
            'present/xyz': Tensor(shape=(3,), dtype=float32, description=The current position of the end effector in axis-angle representation, in robot frame),
            'sequence_length': int64,
        }),
        'reward': Scalar(shape=(), dtype=float32),
    }),
})
  • Documentation des fonctionnalités :
Fonctionnalité Classe Forme Type D Description
FonctionnalitésDict
mesures Ensemble de données
étapes/actions FonctionnalitésDict
étapes/action/futur/axis_angle_residual Tenseur (30,) flotteur32 Les 10 prochaines actions pour la rotation. Chaque action est un delta 3D à ajouter à l'angle de l'axe actuel.
étapes/action/futur/target_close Tenseur (10,) int64 Les 10 prochaines actions pour le préhenseur. Chaque action correspond à la valeur à laquelle la fermeture de la pince doit être modifiée (il ne s'agit notamment pas d'un delta.)
étapes/action/futur/xyz_residual Tenseur (30,) flotteur32 Les 10 prochaines actions pour les postes. Chaque action est un delta 3D à ajouter à la position actuelle.
étapes/is_first Tenseur bouffon
étapes/est_dernier Tenseur bouffon
étapes/is_terminal Tenseur bouffon
étapes/observation FonctionnalitésDict
étapes/observation/episode_success Tenseur flotteur32 Un label de réussite 0-1
étapes/observation/image Image (171, 213, 3) uint8 Image de la caméra du robot, sous-échantillonnée 3x
étapes/observation/natural_lingual_embedding Tenseur (512,) flotteur32 Une intégration de la tâche via Universal Sentence Encoder ( https://tfhub.dev/google/universal-sentence-encoder/4 )
étapes/observation/instruction_langue_naturelle Tenseur chaîne La tâche que le robot a été chargé d'accomplir.
étapes/observation/présent/autonome Tenseur int64 Les épisodes sont collectés via DAgger. Il s'agit d'une étiquette 0/1 indiquant si l'action provient de la politique ou du téléopérateur. 1 = de la politique.
étapes/observation/présent/axis_angle Tenseur (3,) flotteur32 La rotation actuelle de l'effecteur final dans la représentation axe-angle.
étapes/observation/présent/intervention Tenseur int64 Les épisodes sont collectés via DAgger. Il s'agit d'une étiquette 0/1 indiquant si l'action provient de la politique ou du téléopérateur. 1 = du téléopérateur. C’est exactement le contraire de présent/autonome
étapes/observation/présent/sensed_close Tenseur (1,) flotteur32 Dans quelle mesure la pince est actuellement fermée. Échelle de 0 à 1, mais toutes les valeurs de 0 à 1 ne sont pas accessibles. La plage des données est d'environ 0,2 à 1
étapes/observation/présent/xyz Tenseur (3,) flotteur32 La position actuelle de l'effecteur final dans la représentation axe-angle, dans le cadre du robot
étapes/observation/sequence_length Tenseur int64 Durée de l'épisode
étapes/récompense Scalaire flotteur32
  • Citation :
@inproceedings{jang2021bc,
title={ {BC}-Z: Zero-Shot Task Generalization with Robotic Imitation Learning},
author={Eric Jang and Alex Irpan and Mohi Khansari and Daniel Kappler and Frederik Ebert and Corey Lynch and Sergey Levine and Chelsea Finn},
booktitle={5th Annual Conference on Robot Learning},
year={2021},
url={https://openreview.net/forum?id=8kbp23tSGYv} }