{
    "codebase_version": "v2.0",
    "robot_type": "Unitree_G1",
    "total_episodes": 963,
    "total_frames": 277592,
    "total_tasks": 1,
    "total_videos": 963,
    "total_chunks": 1,
    "chunks_size": 1000,
    "fps": 20,
    "splits": {
        "train": "0:963"
    },
    "data_path": "data/chunk-{episode_chunk:03d}/episode_{episode_index:06d}.parquet",
    "video_path": "videos/chunk-{episode_chunk:03d}/observation.images.ego_view/episode_{episode_index:06d}.mp4",
    "depth_path": "depth/chunk-{episode_chunk:03d}/episode_{episode_index:06d}",
    "features": {
        "observation.state": {
            "dtype": "float32",
            "shape": [
                28
            ],
            "names": [
                [
                    "kLeftShoulderPitch",
                    "kLeftShoulderRoll",
                    "kLeftShoulderYaw",
                    "kLeftElbow",
                    "kLeftWristRoll",
                    "kLeftWristPitch",
                    "kLeftWristYaw",
                    "kRightShoulderPitch",
                    "kRightShoulderRoll",
                    "kRightShoulderYaw",
                    "kRightElbow",
                    "kRightWristRoll",
                    "kRightWristPitch",
                    "kRightWristYaw",
                    "kLeftHandIndex1",
                    "kLeftHandIndex0",
                    "kLeftHandMiddle1",
                    "kLeftHandMiddle0",
                    "kLeftHandThumb2",
                    "kLeftHandThumb1",
                    "kLeftHandThumb0",
                    "kRightHandIndex1",
                    "kRightHandIndex0",
                    "kRightHandMiddle1",
                    "kRightHandMiddle0",
                    "kRightHandThumb2",
                    "kRightHandThumb1",
                    "kRightHandThumb0"
                ]
            ]
        },
        "action": {
            "dtype": "float32",
            "shape": [
                28
            ],
            "names": [
                [
                    "kLeftShoulderPitch",
                    "kLeftShoulderRoll",
                    "kLeftShoulderYaw",
                    "kLeftElbow",
                    "kLeftWristRoll",
                    "kLeftWristPitch",
                    "kLeftWristYaw",
                    "kRightShoulderPitch",
                    "kRightShoulderRoll",
                    "kRightShoulderYaw",
                    "kRightElbow",
                    "kRightWristRoll",
                    "kRightWristPitch",
                    "kRightWristYaw",
                    "kLeftHandIndex1",
                    "kLeftHandIndex0",
                    "kLeftHandMiddle1",
                    "kLeftHandMiddle0",
                    "kLeftHandThumb2",
                    "kLeftHandThumb1",
                    "kLeftHandThumb0",
                    "kRightHandIndex1",
                    "kRightHandIndex0",
                    "kRightHandMiddle1",
                    "kRightHandMiddle0",
                    "kRightHandThumb2",
                    "kRightHandThumb1",
                    "kRightHandThumb0"
                ]
            ]
        },
        "timestamp": {
            "dtype": "float64",
            "shape": [
                1
            ],
            "names": null
        },
        "next.reward": {
            "dtype": "float64",
            "shape": [
                1
            ],
            "names": null
        },
        "next.done": {
            "dtype": "bool",
            "shape": [
                1
            ],
            "names": null
        },
        "task_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "episode_index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "index": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "annotation.human.coarse_action": {
            "dtype": "int64",
            "shape": [
                1
            ],
            "names": null
        },
        "observation.images.ego_view": {
            "dtype": "video",
            "shape": [
                256,
                256,
                3
            ],
            "names": [
                "height",
                "width",
                "channel"
            ],
            "info": {
                "video.height": 256,
                "video.width": 256,
                "video.codec": "h264",
                "video.pix_fmt": "yuv420p",
                "video.is_depth_map": false,
                "video.fps": 20,
                "video.channels": 3,
                "has_audio": false
            }
        },
        "observation.images.depth": {
            "dtype": "float32",
            "shape": [
                256,
                256
            ],
            "names": [
                "height",
                "width"
            ],
            "info": {
                "description": "Depth image from rs_view camera",
                "units": "meters",
                "height": 256,
                "width": 256,
                "format": "npy",
                "path_template": "depth/chunk-{episode_chunk:03d}/episode_{episode_index:06d}/frame_{frame_index:06d}.npy",
                "note": "Depth values in meters from camera. Load with np.load()"
            }
        }
    }
}