- Descrizione :
Simula Franka mentre esegue vari compiti di manipolazione
Home page : https://github.com/haosulab/ManiSkill2
Codice sorgente :
tfds.robotics.rtx.ManiskillDatasetConvertedExternallyToRlds
Versioni :
-
0.1.0
(predefinito): versione iniziale.
-
Dimensioni del download :
Unknown size
Dimensione del set di dati :
151.05 GiB
Memorizzazione nella cache automatica ( documentazione ): No
Divide :
Diviso | Esempi |
---|---|
'train' | 30.213 |
- Struttura delle caratteristiche :
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.),
}),
})
- Documentazione delle funzionalità :
Caratteristica | Classe | Forma | Tipo D | Descrizione |
---|---|---|---|---|
CaratteristicheDict | ||||
metadati_episodio | CaratteristicheDict | |||
metadati_episodio/id_episodio | Testo | corda | ID episodio. | |
metadati_episodio/percorso_file | Testo | corda | Percorso del file di dati originale. | |
passi | Set di dati | |||
passi/azione | Tensore | (7,) | float32 | L'azione del robot consiste in [3x posizione target delta dell'effettore finale, 3x orientamento target delta dell'effettore finale in formato asse-angolo, 1x posizione target della pinza (imitazione per due dita)]. Per la posizione target delta, un'azione di -1 è associata a un movimento del robot di -0,1 m e un'azione di 1 è associata a un movimento di 0,1 m. Per l'orientamento del target delta, il suo angolo codificato è mappato su un intervallo di [-0.1rad, 0.1rad] per l'esecuzione del robot. Ad esempio, un'azione di [1, 0, 0] significa ruotare lungo l'asse x di 0,1 rad. Per la posizione target della pinza, un'azione pari a -1 significa chiusura e un'azione pari a 1 significa apertura. |
passi/sconto | Scalare | float32 | Sconto se fornito, il valore predefinito è 1. | |
passi/è_primo | Tensore | bool | ||
passi/è_ultimo | Tensore | bool | ||
passi/è_terminale | Tensore | bool | ||
passaggi/incorporamento_lingua | Tensore | (512,) | float32 | Incorporamento del linguaggio Kona. Vedi https://tfhub.dev/google/universal-sentence-encoder-large/5 |
passi/lingua_istruzioni | Testo | corda | Insegnamento della lingua. | |
passi/osservazione | CaratteristicheDict | |||
passi/osservazione/base_posa | Tensore | (7,) | float32 | La posa base del robot nella cornice del mondo è composta da [x, y, z, qw, qx, qy, qz]. Le prime tre dimensioni rappresentano le posizioni xyz in metri. Le ultime quattro dimensioni sono la rappresentazione quaternionica della rotazione. |
passi/osservazione/profondità | Immagine | (256, 256, 1) | uint16 | Fotocamera principale Osservazione della profondità. Dividere il valore della profondità per 2**10 per ottenere la profondità in metri. |
passi/osservazione/immagine | Immagine | (256, 256, 3) | uint8 | Osservazione RGB della fotocamera principale. |
passaggi/osservazione/main_camera_cam2world_gl | Tensore | (4, 4) | float32 | Trasformazione dall'inquadratura della fotocamera principale all'inquadratura mondiale nella convenzione OpenGL/Blender. |
passi/osservazione/main_camera_extrinsic_cv | Tensore | (4, 4) | float32 | Matrice estrinseca della fotocamera principale nella convenzione OpenCV. |
passi/osservazione/main_camera_intrinsic_cv | Tensore | (3, 3) | float32 | Matrice intrinseca della fotocamera principale nella convenzione OpenCV. |
passi/osservazione/stato | Tensore | (18,) | float32 | Stato del robot, consiste di [7x angoli del giunto del robot, 2x posizione della pinza, 7x velocità dell'angolo del giunto del robot, 2x velocità della pinza]. Angolo in radianti, posizione in metri. |
passi/osservazione/target_object_or_part_final_pose | Tensore | (7,) | float32 | La posa finale verso la quale è necessario manipolare l'oggetto target o la parte dell'oggetto è composta da [x, y, z, qw, qx, qy, qz]. La posa è rappresentata nella cornice del mondo. Un episodio è considerato riuscito se l'oggetto target o la parte dell'oggetto viene manipolato in questa posa. |
passi/osservazione/target_object_or_part_final_pose_valid | Tensore | (7,) | uint8 | Indica se ciascuna dimensione di target_object_or_part_final_pose è valida in un ambiente. 1 = valido; 0 = non valido (nel qual caso si dovrebbero ignorare le dimensioni corrispondenti in target_object_or_part_final_pose). "Non valido" significa che non esiste alcun controllo di successo sulla posa finale dell'oggetto di destinazione o della parte dell'oggetto nelle dimensioni corrispondenti. |
passaggi/osservazione/target_object_or_part_initial_pose | Tensore | (7,) | float32 | La posa iniziale dell'oggetto target o della parte dell'oggetto da manipolare è composta da [x, y, z, qw, qx, qy, qz]. La posa è rappresentata nella cornice del mondo. Questa variabile viene utilizzata per specificare l'oggetto o la parte di oggetto di destinazione quando in un ambiente sono presenti più oggetti o parti di oggetto |
passaggi/osservazione/target_object_or_part_initial_pose_valid | Tensore | (7,) | uint8 | Indica se ciascuna dimensione di target_object_or_part_initial_pose è valida in un ambiente. 1 = valido; 0 = non valido (nel qual caso si dovrebbero ignorare le dimensioni corrispondenti in target_object_or_part_initial_pose). |
passi/osservazione/tcp_pose | Tensore | (7,) | float32 | La posa del punto centrale dello strumento del robot nella cornice del mondo, consiste di [x, y, z, qw, qx, qy, qz]. Il punto centrale dell'utensile è il centro tra le due dita della pinza. |
passi/osservazione/wrist_camera_cam2world_gl | Tensore | (4, 4) | float32 | Trasformazione dalla cornice della fotocamera da polso alla cornice del mondo nella convenzione OpenGL/Blender. |
passi/osservazione/wrist_camera_extrinsic_cv | Tensore | (4, 4) | float32 | Matrice estrinseca della fotocamera da polso nella convenzione OpenCV. |
passi/osservazione/wrist_camera_intrinsic_cv | Tensore | (3, 3) | float32 | Matrice intrinseca della fotocamera da polso nella convenzione OpenCV. |
passi/osservazione/profondità_polso | Immagine | (256, 256, 1) | uint16 | Fotocamera da polso Osservazione della profondità. Dividere il valore della profondità per 2**10 per ottenere la profondità in metri. |
passi/osservazione/immagine_polso | Immagine | (256, 256, 3) | uint8 | Osservazione RGB con fotocamera da polso. |
passi/ricompensa | Scalare | float32 | Ricompensa se fornita, 1 nel passaggio finale per le demo. |
Chiavi supervisionate (vedi il documento
as_supervised
):None
Figura ( tfds.show_examples ): non supportato.
Esempi ( tfds.as_dataframe ):
- Citazione :
@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}
}