- Opis :
Symulowana Franka wykonująca różne zadania manipulacyjne
Strona główna : https://github.com/haosulab/ManiSkill2
Kod źródłowy :
tfds.robotics.rtx.ManiskillDatasetConvertedExternallyToRlds
Wersje :
-
0.1.0
(domyślnie): Wersja pierwsza.
-
Rozmiar pobierania :
Unknown size
Rozmiar zbioru danych :
151.05 GiB
Automatyczne buforowanie ( dokumentacja ): Nie
Podziały :
Podział | Przykłady |
---|---|
'train' | 30213 |
- Struktura funkcji :
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.),
}),
})
- Dokumentacja funkcji :
Funkcja | Klasa | Kształt | Typ D | Opis |
---|---|---|---|---|
FunkcjeDykt | ||||
metadane_odcinka | FunkcjeDykt | |||
metadane_odcinka/id_odcinka | Tekst | smyczkowy | Identyfikator odcinka. | |
metadane_odcinka/ścieżka_pliku | Tekst | smyczkowy | Ścieżka do oryginalnego pliku danych. | |
kroki | Zbiór danych | |||
kroki/akcja | Napinacz | (7,) | pływak32 | Działanie robota obejmuje [3x położenie docelowe delta efektora końcowego, 3x orientację celu delta efektora końcowego w formacie kąta osi, 1x położenie docelowe chwytaka (naśladujące dwa palce)]. W przypadku pozycji docelowej delta działanie -1 odwzorowuje ruch robota o -0,1 m, a działanie 1 odwzorowuje ruch o 0,1 m. W przypadku orientacji celu delta jego zakodowany kąt jest odwzorowywany w zakresie [-0,1rad, 0,1rad] w celu wykonania robota. Na przykład działanie [1, 0, 0] oznacza obrót wzdłuż osi x o 0,1 rad. Dla pozycji docelowej chwytaka akcja -1 oznacza zamknięcie, a akcja 1 oznacza otwarcie. |
kroki/rabat | Skalarny | pływak32 | Rabat, jeśli jest podany, domyślnie wynosi 1. | |
kroki/jest_pierwszy | Napinacz | bool | ||
kroki/jest_ostatni | Napinacz | bool | ||
kroki/is_terminal | Napinacz | bool | ||
kroki/osadzanie_języka | Napinacz | (512,) | pływak32 | Osadzanie języka Kona. Zobacz https://tfhub.dev/google/universal-sentence-encoder-large/5 |
kroki/instrukcja_językowa | Tekst | smyczkowy | Instrukcja językowa. | |
kroki/obserwacje | FunkcjeDykt | |||
kroki/obserwacja/poza_bazowa | Napinacz | (7,) | pływak32 | Podstawowa pozycja robota w układzie świata składa się z [x, y, z, qw, qx, qy, qz]. Pierwsze trzy wymiary reprezentują pozycje xyz w metrach. Ostatnie cztery wymiary to kwaternionowa reprezentacja obrotu. |
kroki/obserwacja/głębokość | Obraz | (256, 256, 1) | uint16 | Główna kamera Obserwacja głębi. Podziel wartość głębokości przez 2**10, aby uzyskać głębokość w metrach. |
kroki/obserwacja/obraz | Obraz | (256, 256, 3) | uint8 | Główna kamera obserwacji RGB. |
kroki/obserwacja/main_camera_cam2world_gl | Napinacz | (4, 4) | pływak32 | Transformacja z głównego kadru kamery na kadr świata w konwencji OpenGL/Blender. |
kroki/obserwacja/main_camera_extrinsic_cv | Napinacz | (4, 4) | pływak32 | Zewnętrzna matryca głównego aparatu w konwencji OpenCV. |
kroki/obserwacja/main_camera_intrinsic_cv | Napinacz | (3, 3) | pływak32 | Wewnętrzna matryca aparatu głównego w konwencji OpenCV. |
kroki/obserwacja/stan | Napinacz | (18,) | pływak32 | Stan robota, składa się z [7x kątów przegubów robota, 2x położenia chwytaka, 7x prędkości kąta przegubów robota, 2x prędkości chwytaka]. Kąt w radianach, położenie w metrach. |
kroki/obserwacja/obiekt_docelowy_lub_część_ostateczna_poza | Napinacz | (7,) | pływak32 | Ostateczna pozycja, w kierunku której należy manipulować docelowym obiektem lub częścią obiektu, składa się z [x, y, z, qw, qx, qy, qz]. Poza jest reprezentowana w ramie świata. Odcinek uważa się za udany, jeśli docelowy obiekt lub jego część zostanie ustawiona w tej pozycji. |
kroki/obserwacja/obiekt_docelowy_lub_część_final_pose_valid | Napinacz | (7,) | uint8 | Określa, czy każdy wymiar target_object_or_part_final_pose jest prawidłowy w środowisku. 1 = ważny; 0 = nieprawidłowe (w takim przypadku należy zignorować odpowiednie wymiary w target_object_or_part_final_pose). „Nieprawidłowy” oznacza, że nie ma kontroli powodzenia ostatecznej pozycji obiektu docelowego lub części obiektu w odpowiednich wymiarach. |
kroki/obserwacja/obiekt_docelowy_lub_część_pozycja_początkowa | Napinacz | (7,) | pływak32 | Początkowa pozycja docelowego obiektu lub części obiektu, którą należy manipulować, składa się z [x, y, z, qw, qx, qy, qz]. Poza jest reprezentowana w ramie świata. Ta zmienna służy do określenia docelowego obiektu lub części obiektu, gdy w środowisku znajduje się wiele obiektów lub części obiektu |
kroki/obserwacja/obiekt_docelowy_lub_część_initial_pose_valid | Napinacz | (7,) | uint8 | Określa, czy każdy wymiar target_object_or_part_initial_pose jest prawidłowy w środowisku. 1 = ważny; 0 = nieprawidłowe (w takim przypadku należy zignorować odpowiednie wymiary w target_object_or_part_initial_pose). |
kroki/obserwacja/tcp_pose | Napinacz | (7,) | pływak32 | Pozycja robota w punkcie środkowym narzędzia w ramie świata składa się z [x, y, z, qw, qx, qy, qz]. Punkt środkowy narzędzia to środek pomiędzy dwoma palcami chwytaka. |
kroki/obserwacja/wrist_camera_cam2world_gl | Napinacz | (4, 4) | pływak32 | Transformacja z ramki aparatu nadgarstkowego na ramkę świata w konwencji OpenGL/Blender. |
kroki/obserwacja/wrist_camera_extrinsic_cv | Napinacz | (4, 4) | pływak32 | Zewnętrzna matryca aparatu naręcznego w konwencji OpenCV. |
kroki/obserwacja/kamera_nadgarstka_intrinsic_cv | Napinacz | (3, 3) | pływak32 | Wewnętrzna matryca aparatu naręcznego w konwencji OpenCV. |
kroki/obserwacja/głębokość_nadgarstka | Obraz | (256, 256, 1) | uint16 | Kamera na nadgarstku Obserwacja głębokości. Podziel wartość głębokości przez 2**10, aby uzyskać głębokość w metrach. |
kroki/obserwacja/obraz_nadgarstka | Obraz | (256, 256, 3) | uint8 | Kamera na nadgarstek do obserwacji RGB. |
kroki/nagroda | Skalarny | pływak32 | Nagroda, jeśli jest zapewniona, 1 na ostatnim etapie w przypadku wersji demonstracyjnych. |
Klucze nadzorowane (zobacz dokument
as_supervised
):None
Rysunek ( tfds.show_examples ): Nieobsługiwany.
Przykłady ( tfds.as_dataframe ):
- Cytat :
@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}
}