maniskill_dataset_converted_externally_to_rlds

  • Opis :

Symulowana Franka wykonująca różne zadania manipulacyjne

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.
  • 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}
}