maniskill_dataset_converted_externally_to_rlds

  • คำอธิบาย :

จำลอง Franka ทำหน้าที่จัดการต่างๆ

แยก ตัวอย่าง
'train' 30,213
  • โครงสร้างคุณสมบัติ :
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.),
    }),
})
  • เอกสารคุณสมบัติ :
คุณสมบัติ ระดับ รูปร่าง ประเภทD คำอธิบาย
คุณสมบัติDict
ตอนที่_ข้อมูลเมตา คุณสมบัติDict
ตอนที่_ข้อมูลเมตา/episode_id ข้อความ เชือก รหัสตอน
ตอนที่_metadata/file_path ข้อความ เชือก เส้นทางไปยังไฟล์ข้อมูลต้นฉบับ
ขั้นตอน ชุดข้อมูล
ขั้นตอน/การดำเนินการ เทนเซอร์ (7,) ลอย32 การทำงานของหุ่นยนต์ ประกอบด้วย [ตำแหน่งเป้าหมายเดลต้าเอฟเฟกต์ปลายเอฟเฟกต์ 3x, การวางแนวเป้าหมายเดลต้าเอฟเฟกต์ปลายเอฟเฟกต์ 3x ในรูปแบบมุมแกน, ตำแหน่งเป้าหมายกริปเปอร์ 1x (เลียนแบบสำหรับสองนิ้ว)] สำหรับตำแหน่งเป้าหมายเดลต้า การกระทำของ -1 แผนที่ต่อการเคลื่อนที่ของหุ่นยนต์ -0.1m และการกระทำของ 1 แผนที่ต่อการเคลื่อนที่ 0.1m สำหรับการวางแนวเป้าหมายเดลต้า มุมที่เข้ารหัสของมันจะถูกแมปกับช่วง [-0.1rad, 0.1rad] สำหรับการทำงานของหุ่นยนต์ ตัวอย่างเช่น การกระทำของ [1, 0, 0] หมายถึงการหมุนตามแกน x ด้วย 0.1 rad สำหรับตำแหน่งเป้าหมายของมือจับ การกระทำของ -1 หมายถึงปิด และการกระทำของ 1 หมายถึงเปิด
ขั้นตอน/ส่วนลด สเกลาร์ ลอย32 ส่วนลดหากมีให้ ค่าเริ่มต้นคือ 1
ขั้นตอน/is_first เทนเซอร์ บูล
ขั้นตอน/is_last เทนเซอร์ บูล
ขั้นตอน/is_terminal เทนเซอร์ บูล
ขั้นตอน/ภาษา_embedding เทนเซอร์ (512,) ลอย32 การฝังภาษาโคน่า ดู https://tfhub.dev/google/universal-sentence-encoder-large/5
ขั้นตอน/Language_instruction ข้อความ เชือก การสอนภาษา.
ขั้นตอน/การสังเกต คุณสมบัติDict
ขั้นตอน/การสังเกต/base_pose เทนเซอร์ (7,) ลอย32 ท่าฐานหุ่นยนต์ในกรอบโลก ประกอบด้วย [x, y, z, qw, qx, qy, qz] สามมิติแรกแสดงถึงตำแหน่ง xyz มีหน่วยเป็นเมตร สี่มิติสุดท้ายคือการแสดงการหมุนแบบควอเทอร์เนียน
ขั้นตอน/การสังเกต/ความลึก ภาพ (256, 256, 1) uint16 กล้องหลัก การสังเกตความลึก หารค่าความลึกด้วย 2**10 เพื่อให้ได้ความลึกเป็นเมตร
ขั้นตอน/การสังเกต/ภาพ ภาพ (256, 256, 3) uint8 การสังเกต RGB ของกล้องหลัก
ขั้นตอน/ข้อสังเกต/main_camera_cam2world_gl เทนเซอร์ (4, 4) ลอย32 การแปลงจากเฟรมกล้องหลักไปเป็นเฟรมโลกในรูปแบบ OpenGL/Blender
ขั้นตอน/การสังเกต/main_cam_extrinsic_cv เทนเซอร์ (4, 4) ลอย32 เมทริกซ์ภายนอกของกล้องหลักในรูปแบบ OpenCV
ขั้นตอน/การสังเกต/main_camera_intrinsic_cv เทนเซอร์ (3, 3) ลอย32 เมทริกซ์ภายในของกล้องหลักในรูปแบบ OpenCV
ขั้นตอน/การสังเกต/สถานะ เทนเซอร์ (18,) ลอย32 สถานะของหุ่นยนต์ประกอบด้วย [7x มุมข้อต่อของหุ่นยนต์, ตำแหน่งมือจับ 2x, ความเร็วมุมของข้อต่อหุ่นยนต์ 7x, ความเร็วของมือจับ 2x] มุมเป็นเรเดียน ตำแหน่งเป็นเมตร
ขั้นตอน/การสังเกต/target_object_or_part_final_pose เทนเซอร์ (7,) ลอย32 ท่าสุดท้ายที่วัตถุเป้าหมายหรือส่วนของวัตถุจำเป็นต้องได้รับการจัดการ ประกอบด้วย [x, y, z, qw, qx, qy, qz] ท่าทางจะแสดงอยู่ในกรอบโลก ตอนหนึ่งจะถือว่าประสบความสำเร็จหากวัตถุเป้าหมายหรือส่วนของวัตถุถูกปรับเปลี่ยนในท่านี้
ขั้นตอน/การสังเกต/target_object_or_part_final_pose_valid เทนเซอร์ (7,) uint8 แต่ละมิติของ target_object_or_part_final_pose ถูกต้องในสภาพแวดล้อมหรือไม่ 1 = ถูกต้อง; 0 = ไม่ถูกต้อง (ในกรณีนี้ควรละเว้นมิติที่เกี่ยวข้องใน target_object_or_part_final_pose) "ไม่ถูกต้อง" หมายความว่าไม่มีการตรวจสอบความสำเร็จในท่าทางสุดท้ายของวัตถุเป้าหมายหรือส่วนของวัตถุในมิติที่เกี่ยวข้อง
ขั้นตอน/การสังเกต/target_object_or_part_initial_pose เทนเซอร์ (7,) ลอย32 ท่าทางเริ่มต้นของวัตถุเป้าหมายหรือส่วนของวัตถุที่จะจัดการ ประกอบด้วย [x, y, z, qw, qx, qy, qz] ท่าทางจะแสดงอยู่ในกรอบโลก ตัวแปรนี้ใช้เพื่อระบุออบเจ็กต์เป้าหมายหรือส่วนของออบเจ็กต์เมื่อมีออบเจ็กต์หรือส่วนของออบเจ็กต์หลายรายการในสภาพแวดล้อม
ขั้นตอน/การสังเกต/target_object_or_part_initial_pose_valid เทนเซอร์ (7,) uint8 แต่ละมิติของ target_object_or_part_initial_pose ถูกต้องในสภาพแวดล้อมหรือไม่ 1 = ถูกต้อง; 0 = ไม่ถูกต้อง (ซึ่งในกรณีนี้ควรละเว้นมิติที่เกี่ยวข้องใน target_object_or_part_initial_pose)
ขั้นตอน/การสังเกต/tcp_pose เทนเซอร์ (7,) ลอย32 ท่าจุดศูนย์กลางเครื่องมือหุ่นยนต์ในกรอบโลก ประกอบด้วย [x, y, z, qw, qx, qy, qz] จุดศูนย์กลางเครื่องมือคือจุดศูนย์กลางระหว่างนิ้วจับทั้งสองนิ้ว
ขั้นตอน/การสังเกต/wrist_camera_cam2world_gl เทนเซอร์ (4, 4) ลอย32 การเปลี่ยนแปลงจากกรอบกล้องที่ข้อมือไปเป็นกรอบโลกในรูปแบบ OpenGL/Blender
ขั้นตอน/การสังเกต/ข้อมือ_กล้อง_extrinsic_cv เทนเซอร์ (4, 4) ลอย32 เมทริกซ์ภายนอกของกล้องข้อมือในรูปแบบ OpenCV
ขั้นตอน/การสังเกต/wrist_camera_intrinsic_cv เทนเซอร์ (3, 3) ลอย32 เมทริกซ์ภายในของกล้องข้อมือในรูปแบบ OpenCV
ขั้นตอน/การสังเกต/ข้อมือ_ความลึก ภาพ (256, 256, 1) uint16 กล้องข้อมือ การสังเกตความลึก หารค่าความลึกด้วย 2**10 เพื่อให้ได้ความลึกเป็นเมตร
ขั้นตอน/การสังเกต/wrist_image ภาพ (256, 256, 3) uint8 การสังเกต RGB ของกล้องข้อมือ
ขั้นตอน/รางวัล สเกลาร์ ลอย32 รางวัลหากมีให้ 1 ในขั้นตอนสุดท้ายสำหรับการสาธิต
  • การอ้างอิง :
@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}
}