---
title: Lightwheel-Tasks-G1-WBC
canonical_url: "https://www.modelscope.cn/datasets/LightwheelAI/Lightwheel-Tasks-G1-WBC"
md_url: "https://www.modelscope.cn/datasets/LightwheelAI/Lightwheel-Tasks-G1-WBC.md"
repository: LightwheelAI/Lightwheel-Tasks-G1-WBC
last_updated: 2026-08-31
license: apache-2.0
downloads: 253
stars: 0
---

# Lightwheel-Tasks-G1-WBC

> Lightwheel-Tasks-G1-WBC - LightwheelAI 在 ModelScope 开源的数据集。This dataset was created using LeRobot.

LightwheelAI/Lightwheel-Tasks-G1-WBC 是 ModelScope 魔搭社区上的数据集，采用 apache-2.0 许可。

- **Repository**: LightwheelAI/Lightwheel-Tasks-G1-WBC
- **License**: apache-2.0
- **Downloads**: 253
- **Stars**: 0
- **Last updated**: 2026-08-31

Source: https://www.modelscope.cn/datasets/LightwheelAI/Lightwheel-Tasks-G1-WBC

---

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)]
