遇见数据集

Lightwheel-Tasks-G1-WBC

收藏
魔搭社区2026-09-06 更新2026-09-06 收录
官方服务:

资源简介:

This dataset was created using [LeRobot](https://github.com/huggingface/lerobot). # 1 Dataset Description This dataset includes 32 Lightwheel-Robocasa-Tasks, collected using the g1-wbc robot in environments provided by LW-BenchHub. The robot configuration used during data collection is **`G1-Controller-DecoupledWBC`**, using `UnitreeG1ControllerDecoupledWBCEnvCfg` inherits from `UnitreeG1ControllerEnvCfg`. --- ## 1.1 Robot State The robot state recorded in the environment is stored in: **observation.state** - **Dimension**: 43 - **Description**: Joint positions of the robot - **Joint mapping**: The exact joint ordering and semantics can be found in the **Dataset Structure** section below. --- ## 1.2 Robot Action The robot actions are recorded in: **action** - **Dimension**: 23 The action is ordered as: left hand (1), right hand (1), left arm (7), right arm (7), base (7). | Component | Dimension | Description | |:----------------|:---------:|:------------------------------------| | Hand action | 2 | Continuous gripper control | | Arm action | 14 | Left arm + right arm (end-effector poses) | | Base action | 7 | Base motion and torso orientation commands | The g1-wbc robot uses `G1DecoupledWBCActionsCfg` to implement whole-body control for all components except the grippers. ```python self.action_config = G1DecoupledWBCActionsCfg() self.action_config.left_hand_action = self.gripper_cfg.left_hand_action_cfg()[self.hand_action_mode] # here self.hand_action_mode = "handle" self.action_config.right_hand_action = self.gripper_cfg.right_hand_action_cfg()[self.hand_action_mode] ``` ## 1.2.1 Gripper Action Grippers are controlled using continuous values. In the action data, `-1.0` indicates fully open, `+1.0` indicates fully closed. - **Action values**: - `-1.0`: fully open gripper - `+1.0`: fully closed gripper - Continuous values in between represent partial opening/closing - **Left gripper** (index 0): Continuous value from -1.0 (open) to 1.0 (closed) - **Right gripper** (index 1): Continuous value from -1.0 (open) to 1.0 (closed) - **Source**: VR trigger mapping - `trigger=0.0` (not pressed) → `-1.0` (open) - `trigger=1.0` (fully pressed) → `1.0` (closed) ## 1.2.2 Arm Action The arm actions control the end-effector poses (position + orientation) in the robot frame. The left and right arm actions are processed in `G1DecoupledWBCAction.process_actions()` and converted into 14-dimensional arm joint positions via inverse kinematics. - **Left arm action** (indices 2-8): - `left_arm_pos_x` (index 2): X position in robot frame - `left_arm_pos_y` (index 3): Y position in robot frame - `left_arm_pos_z` (index 4): Z position in robot frame - `left_arm_quat_w` (index 5): Quaternion w component - `left_arm_quat_x` (index 6): Quaternion x component - `left_arm_quat_y` (index 7): Quaternion y component - `left_arm_quat_z` (index 8): Quaternion z component - **Right arm action** (indices 9-15): - `right_arm_pos_x` (index 9): X position in robot frame - `right_arm_pos_y` (index 10): Y position in robo frame - `right_arm_pos_z` (index 11): Z position in robot frame - `right_arm_quat_w` (index 12): Quaternion w component - `right_arm_quat_x` (index 13): Quaternion x component - `right_arm_quat_y` (index 14): Quaternion y component - `right_arm_quat_z` (index 15): Quaternion z component - **Coordinate frame**: Robot frame ## 1.2.3 Base Action The base action controls base motion and torso orientation using task space commands in the local robot frame. The base action commands are processed by `G1DecoupledWBCAction.process_actions()` and converted into 15-dimensional lower-body joint positions (15). - **Controlled dimensions** (indices 16-22): - `base_lin_x_local` (index 16): Forward/backward command in local frame (range: -1.0 to 1.0) - `base_lin_y_local` (index 17): Left/right command in local frame (range: -1.0 to 1.0) - `base_ang_z_local` (index 18): Rotation (yaw) command in local frame (range: -1.0 to 1.0) - `base_height_cmd` (index 19): Base height command (typically 0.2 to 0.75, default 0.75 for standing) - `torso_orientation_roll_cmd` (index 20): Torso roll orientation command (range: -0.5 to 0.5 (clamped), typically 0 in data) - `torso_orientation_pitch_cmd` (index 21): Torso pitch orientation command (range: -1.5 to 1.5 (clamped), typically 0 in data) - `torso_orientation_yaw_cmd` (index 22): Torso yaw orientation command (range: -2.0 to 2.0 (clamped), typically 0 in data) - **Coordinate frame**: Robot frame --- ## Dataset Structure [meta/info.json](meta/info.json): ```json { "codebase_version": "v3.0", "robot_type": "g1_wbc", "total_episodes": 1600, "total_frames": 1474930, "total_tasks": 32, "chunks_size": 1000, "fps": 50, "splits": { "train": "0:1600" }, "data_path": "data/chunk-{chunk_index:03d}/file-{file_index:03d}.parquet", "video_path": "videos/{video_key}/chunk-{chunk_index:03d}/file-{file_index:03d}.mp4", "features": { "observation.images.left_hand": { "dtype": "video", "shape": [ 480, 640, 3 ], "names": [ "height", "width", "channel" ], "video_info": { "video.width": 640, "video.height": 480, "video.fps": 50.0, "video.codec": "h264", "video.pix_fmt": "yuv420p", "video.channels": 3, "video.is_depth_map": false, "has_audio": false } }, "observation.images.first_person": { "dtype": "video", "shape": [ 480, 640, 3 ], "names": [ "height", "width", "channel" ], "video_info": { "video.width": 640, "video.height": 480, "video.fps": 50.0, "video.codec": "h264", "video.pix_fmt": "yuv420p", "video.channels": 3, "video.is_depth_map": false, "has_audio": false } }, "observation.images.right_hand": { "dtype": "video", "shape": [ 480, 640, 3 ], "names": [ "height", "width", "channel" ], "video_info": { "video.width": 640, "video.height": 480, "video.fps": 50.0, "video.codec": "h264", "video.pix_fmt": "yuv420p", "video.channels": 3, "video.is_depth_map": false, "has_audio": false } }, "observation.state": { "dtype": "float32", "shape": [ 43 ], "names": [ "left_hip_pitch_joint", "right_hip_pitch_joint", "waist_yaw_joint", "left_hip_roll_joint", "right_hip_roll_joint", "waist_roll_joint", "left_hip_yaw_joint", "right_hip_yaw_joint", "waist_pitch_joint", "left_knee_joint", "right_knee_joint", "left_shoulder_pitch_joint", "right_shoulder_pitch_joint", "left_ankle_pitch_joint", "right_ankle_pitch_joint", "left_shoulder_roll_joint", "right_shoulder_roll_joint", "left_ankle_roll_joint", "right_ankle_roll_joint", "left_shoulder_yaw_joint", "right_shoulder_yaw_joint", "left_elbow_joint", "right_elbow_joint", "left_wrist_roll_joint", "right_wrist_roll_joint", "left_wrist_pitch_joint", "right_wrist_pitch_joint", "left_wrist_yaw_joint", "right_wrist_yaw_joint", "left_hand_index_0_joint", "left_hand_middle_0_joint", "left_hand_thumb_0_joint", "right_hand_index_0_joint", "right_hand_middle_0_joint", "right_hand_thumb_0_joint", "left_hand_index_1_joint", "left_hand_middle_1_joint", "left_hand_thumb_1_joint", "right_hand_index_1_joint", "right_hand_middle_1_joint", "right_hand_thumb_1_joint", "left_hand_thumb_2_joint", "right_hand_thumb_2_joint" ], "fps": 50 }, "action": { "dtype": "float32", "shape": [ 23 ], "names": [ "left_gripper", "right_gripper", "left_arm_pos_x", "left_arm_pos_y", "left_arm_pos_z", "left_arm_quat_w", "left_arm_quat_x", "left_arm_quat_y", "left_arm_quat_z", "right_arm_pos_x", "right_arm_pos_y", "right_arm_pos_z", "right_arm_quat_w", "right_arm_quat_x", "right_arm_quat_y", "right_arm_quat_z", "base_lin_x_local", "base_lin_y_local", "base_ang_z_local", "base_height_cmd", "torso_orientation_roll_cmd", "torso_orientation_pitch_cmd", "torso_orientation_yaw_cmd" ], "fps": 50 }, "processed_action": { "dtype": "float32", "shape": [ 43 ], "names": [ "left_hip_pitch_joint", "right_hip_pitch_joint", "waist_yaw_joint", "left_hip_roll_joint", "right_hip_roll_joint", "waist_roll_joint", "left_hip_yaw_joint", "right_hip_yaw_joint", "waist_pitch_joint", "left_knee_joint", "right_knee_joint", "left_shoulder_pitch_joint", "right_shoulder_pitch_joint", "left_ankle_pitch_joint", "right_ankle_pitch_joint", "left_shoulder_roll_joint", "right_shoulder_roll_joint", "left_ankle_roll_joint", "right_ankle_roll_joint", "left_shoulder_yaw_joint", "right_shoulder_yaw_joint", "left_elbow_joint", "right_elbow_joint", "left_wrist_roll_joint", "right_wrist_roll_joint", "left_wrist_pitch_joint", "right_wrist_pitch_joint", "left_wrist_yaw_joint", "right_wrist_yaw_joint", "left_hand_index_0_joint", "left_hand_middle_0_joint", "left_hand_thumb_0_joint", "right_hand_index_0_joint", "right_hand_middle_0_joint", "right_hand_thumb_0_joint", "left_hand_index_1_joint", "left_hand_middle_1_joint", "left_hand_thumb_1_joint", "right_hand_index_1_joint", "right_hand_middle_1_joint", "right_hand_thumb_1_joint", "left_hand_thumb_2_joint", "right_hand_thumb_2_joint" ], "fps": 50 }, "timestamp": { "dtype": "float32", "shape": [ 1 ], "names": null, "fps": 50 }, "episode_index": { "dtype": "int64", "shape": [ 1 ], "names": null, "fps": 50 }, "task_index": { "dtype": "int64", "shape": [ 1 ], "names": null, "fps": 50 }, "index": { "dtype": "int64", "shape": [ 1 ], "names": null, "fps": 50 }, "frame_index": { "dtype": "int64", "shape": [ 1 ], "names": null, "fps": 50 } }, "data_files_size_in_mb": 100, "video_files_size_in_mb": 500 } ``` ## Homepage: [[Lightwheel-BenchHub](https://docs.lightwheel.net/lw_benchhub/)] ## License: [[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)]

提供机构:
maas
创建时间:
2026-08-31
二维码
社区交流群
二维码
科研交流群
商业服务