# Episode 0 of ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701

- format: LeRobot v3.0
- robot: franka
- robot family, as the index files it: Franka
- kind, as the index files it: recording; teleop (inferred from the name)
- frames per second: 15
- frames in this episode: 464
- task: routing_d1
- episodes in the dataset: 750
- licence: apache-2.0
- dataset page: https://huggingface.co/datasets/ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701

LeRobot v3 keeps many episodes in one file. Download the data file and keep the rows whose episode_index is 0. Each video file holds several episodes back to back: cut it to episode_seconds. Or load it with LeRobot: LeRobotDataset('ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701', episodes=[0]).

Columns of the data file:

- `observation.state`: float32, shape 7 (cart_pos_x, cart_pos_y, cart_pos_z, cart_rot_x, cart_rot_y, cart_rot_z, gripper_position)
- `action`: float32, shape 7 (vel_x, vel_y, vel_z, vel_roll, vel_pitch, vel_yaw, gripper_action)
- `steps_to_go`: int64, shape 1 (steps_to_go)
- `source`: int64, shape 1 (source_id)
- `intervention`: int64, shape 1 (intervention_flag)
- `success`: int64, shape 1 (success_flag)
- `is_valid`: int64, shape 1 (is_valid_flag)
- `reward`: float32, shape 1 (reward)
- `done`: int64, shape 1 (done_flag)
- `policy_id`: int64, shape 1 (policy_id)
- `round_id`: int64, shape 1 (round_id)
- `action.cartesian_velocity`: float32, shape 6 (x, y, z, roll, pitch, yaw)
- `action.cartesian_position`: float32, shape 6 (x, y, z, roll, pitch, yaw)
- `action.joint_velocity`: float32, shape 7 (joint_0, joint_1, joint_2, joint_3, joint_4, joint_5, joint_6)
- `action.joint_position`: float32, shape 7 (joint_0, joint_1, joint_2, joint_3, joint_4, joint_5, joint_6)
- `action.gripper_position`: float32, shape 1 (gripper)
- `action.gripper_velocity`: float32, shape 1 (gripper)
- `observation.state.cartesian_position`: float32, shape 6 (x, y, z, roll, pitch, yaw)
- `observation.state.joint_position`: float32, shape 7 (joint_0, joint_1, joint_2, joint_3, joint_4, joint_5, joint_6)
- `observation.state.joint_velocity`: float32, shape 7 (joint_0, joint_1, joint_2, joint_3, joint_4, joint_5, joint_6)
- `observation.state.cartesian_velocity`: float32, shape 6 (x, y, z, roll, pitch, yaw)
- `observation.state.gripper_position`: float32, shape 1 (gripper)
- `telemetry.franka.motor_torques_external`: float32, shape 7 (joint_0, joint_1, joint_2, joint_3, joint_4, joint_5, joint_6)
- `telemetry.franka.ee_wrench`: float32, shape 6 (fx, fy, fz, mx, my, mz)
- `telemetry.franka.motor_torques_measured`: float32, shape 7 (joint_0, joint_1, joint_2, joint_3, joint_4, joint_5, joint_6)
- `telemetry.franka.joint_torques_computed`: float32, shape 7 (joint_0, joint_1, joint_2, joint_3, joint_4, joint_5, joint_6)
- `manifest_idx`: int64, shape 1 (manifest_idx)
- `rope_x`: float32, shape 1 (rope_x)
- `clip_left_x`: float32, shape 1 (clip_left_x)
- `clip_left_y`: float32, shape 1 (clip_left_y)
- `clip_left_yaw`: float32, shape 1 (clip_left_yaw)
- `clip_left_oidx`: float32, shape 1 (clip_left_oidx)
- `clip_right_x`: float32, shape 1 (clip_right_x)
- `clip_right_y`: float32, shape 1 (clip_right_y)
- `clip_right_yaw`: float32, shape 1 (clip_right_yaw)
- `clip_right_oidx`: float32, shape 1 (clip_right_oidx)
- `timestamp`: float32, shape 1

| file | camera | size | this episode | link |
|---|---|---|---|---|
| data |  | 276.3 KB | rows where episode_index == 0 (global frames 0 to 463, 464 frames) | https://huggingface.co/datasets/ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701/resolve/main/data/chunk-000/file-000.parquet |
| video | observation.images.wrist_left | 4.5 MB | seconds 0.0 to 30.933 | https://huggingface.co/datasets/ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701/resolve/main/videos/observation.images.wrist_left/chunk-000/file-000.mp4 |
| video | observation.images.wrist_right | 4.3 MB | seconds 0.0 to 30.933 | https://huggingface.co/datasets/ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701/resolve/main/videos/observation.images.wrist_right/chunk-000/file-000.mp4 |
| video | observation.images.side_1 | 5.8 MB | seconds 0.0 to 30.933 | https://huggingface.co/datasets/ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701/resolve/main/videos/observation.images.side_1/chunk-000/file-000.mp4 |
| video | observation.images.side_2 | 7.4 MB | seconds 0.0 to 30.933 | https://huggingface.co/datasets/ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701/resolve/main/videos/observation.images.side_2/chunk-000/file-000.mp4 |

If your network cannot reach Hugging Face, this site fetches the episode's rows for you, and only that episode's: https://datasets.gurasees.com/episode-data/ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701?episode=0 (parquet) or https://datasets.gurasees.com/episode-data/ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701?episode=0&format=json (JSON). Videos are not relayed.

- next episode: https://datasets.gurasees.com/episodes/ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701.md?episode=1
- last episode: https://datasets.gurasees.com/episodes/ankile/real01b-routing-d1-umirel-lineage-15arm-heldout-sobol50-s2026090701.md?episode=749
