Download index.html from Travor278/ReflexBench-Task-Examples: direct link, hf CLI and curl.
- Browser
- Download file 60.9 kB
-
https://huggingface.co/spaces/Travor278/ReflexBench-Task-Examples/resolve/main/index.html
- Command line
-
hf download hf://spaces/Travor278/ReflexBench-Task-Examples/index.html
-
curl -L -o index.html https://huggingface.co/spaces/Travor278/ReflexBench-Task-Examples/resolve/main/index.html
60.9 kB
| <html lang="zh-CN"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| <title>ReflexBench · Task browser</title> | |
| <style> | |
| :root{--paper:#f4f3ed;--white:#fffefa;--ink:#182522;--muted:#68746d;--line:#d9ded5;--rail:#172923;--accent:#e75b32;--green:#c1d997} | |
| *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Trebuchet MS','Microsoft YaHei',sans-serif;font-size:14px}button,input,a{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.mono{font-family:Consolas,'Liberation Mono',monospace}.app{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh}.rail{background:var(--rail);color:#f3f5ed;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:26px 18px 14px}.brand{font-family:Bahnschrift,'Trebuchet MS',sans-serif;font-weight:700;font-size:26px;letter-spacing:-1px}.brand span{color:var(--green)}.rail-caption{color:#a0b4a7;font-size:11px;letter-spacing:1.8px;margin:8px 0 22px}.search{width:100%;padding:11px 12px;border:1px solid #456052;background:#213b30;color:white;border-radius:3px}.search::placeholder{color:#acb9ad}.groups{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:12px 0 17px}.group{border:1px solid #385245;color:#bed0c2;background:none;padding:8px 6px;font-size:11px;text-align:left;border-radius:3px}.group.active{background:var(--green);border-color:var(--green);color:var(--rail)}.group span{float:right;opacity:.7}.list-head{display:flex;justify-content:space-between;font-size:11px;color:#a4b7a8;margin:0 3px 9px}.task-list{min-height:0;overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#527761 #172923}.task-link{width:100%;display:flex;gap:11px;align-items:center;text-align:left;border:0;border-bottom:1px solid #2b4136;background:none;color:#c7d5cb;padding:12px 9px;line-height:1.35}.task-link:hover{background:#243f31}.task-link.active{color:#172923;background:var(--white);border-radius:3px}.task-link .id{color:#a6c99b;font-size:13px;min-width:32px}.task-link.active .id{color:#a2462c}.task-link .name{font-size:12px}.rail-footer{font-size:11px;border-top:1px solid #3a5143;padding-top:14px;margin-top:13px;display:flex;gap:16px;color:#a8bbaa}.main{padding:27px clamp(20px,3.6vw,58px) 65px;min-width:0;max-width:1600px;width:100%;margin:auto}.topline{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:30px;color:var(--muted);font-size:12px}.topline b{color:var(--ink)}.toplinks{display:flex;gap:17px;align-items:center}.nav-buttons{display:flex;gap:6px}.small-button{border:1px solid var(--line);background:var(--white);color:var(--ink);padding:7px 11px;border-radius:3px}.small-button:disabled{opacity:.35;cursor:default}.eyebrow{font-size:11px;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:11px}.tag{display:inline-block;border:1px solid var(--line);padding:4px 7px;border-radius:2px;letter-spacing:0;text-transform:none}.task-heading{display:flex;align-items:baseline;gap:22px;margin:12px 0 20px}.big-id{font-size:64px;letter-spacing:-4px;line-height:1;color:var(--accent)}h1{font-family:Bahnschrift,'Trebuchet MS','Microsoft YaHei',sans-serif;font-size:clamp(27px,3.15vw,45px);line-height:1.1;letter-spacing:-1.3px;margin:0}.instruction{background:var(--white);border-left:4px solid var(--accent);padding:18px 22px;margin-bottom:14px}.label{font-size:10px;letter-spacing:1.8px;color:var(--muted);text-transform:uppercase}.instruction p{font-size:18px;line-height:1.55;margin:8px 0 0}.description{color:var(--muted);line-height:1.7;margin:12px 0 20px;max-width:1000px}.facts{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;padding-bottom:22px;border-bottom:1px solid var(--line)}.facts strong{display:block;margin-top:5px;font-weight:400;font-size:12px;color:var(--ink)}.warning{background:#f8e9d7;border:1px solid #e2c5a5;padding:14px 17px;margin:15px 0;font-size:12px;line-height:1.7}.section-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:30px 0 17px}h2{font-family:Bahnschrift,'Trebuchet MS','Microsoft YaHei',sans-serif;font-size:23px;letter-spacing:-.5px;margin:0}.section-note{color:var(--muted);font-size:11px;margin-top:5px}.mode{display:flex;gap:2px;background:#e4e7df;padding:3px;border-radius:4px}.mode button{border:0;border-radius:3px;padding:8px 11px;color:var(--muted);background:none;font-size:11px}.mode button.active{background:var(--white);color:var(--ink);box-shadow:0 1px 3px #0001}.episode{background:var(--white);border:1px solid var(--line);margin-bottom:21px;border-radius:4px;overflow:hidden}.episode-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);font-size:12px}.episode-head b{font-weight:400;font-size:14px}.episode-meta{font-size:11px;color:var(--muted);margin-top:5px}.episode-badge{color:var(--muted);font-size:10px;letter-spacing:1px}.combined{padding:12px;background:#13231d}video{display:block;width:100%;background:#101b17}.combined video{aspect-ratio:960/268}.view-labels{display:grid;grid-template-columns:repeat(3,1fr);background:#263c31;color:#cbd9cc;font-size:10px;letter-spacing:1.2px;padding:8px;text-align:center}.views-scroll{overflow-x:auto}.views{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));min-width:690px;gap:1px;background:#47604f}.view{background:#13231d}.view .camera{color:#d1ded1;font-size:10px;letter-spacing:1px;padding:9px 12px}.view video{aspect-ratio:4/3}.episode-foot{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:9px;padding:12px 16px;color:var(--muted);font-size:11px}.source-links{display:flex;gap:13px;flex-wrap:wrap}.sync-actions{display:flex;gap:5px}.sync-actions button{padding:5px 8px;font-size:11px;background:var(--white);border:1px solid var(--line);border-radius:3px}.demo-video{background:#14241c;padding:12px}.demo-video video{max-height:520px;min-height:160px}.scoring{border:1px solid var(--line);border-collapse:collapse;width:100%;background:var(--white);margin:15px 0}.scoring th{text-align:left;padding:12px 16px;background:#e6eadd;font-size:11px;text-transform:uppercase;letter-spacing:1px}.scoring td{padding:13px 16px;line-height:1.6;border-top:1px solid var(--line);vertical-align:top}.scoring td:first-child{width:88px;font-family:Consolas,monospace;font-size:20px;color:#a84428}.empty{padding:20px;border:1px solid var(--line);line-height:1.7;background:var(--white)}.source-footer{font-size:11px;color:var(--muted);line-height:1.8;border-top:1px solid var(--line);margin-top:27px;padding-top:20px}.source-footer a{margin-right:12px}.error{font-size:11px;color:#aa3d2c;padding:8px 16px;line-height:1.6}.reference{padding:25px 0;border-top:1px solid var(--line)}.reference video{max-height:500px;margin-top:12px}.axis{max-width:700px;width:100%;margin-top:15px}.no-results{color:#a7bcab;font-size:12px;padding:16px 8px}.stats{font-size:11px;letter-spacing:.4px}.muted{color:var(--muted)} | |
| @media(min-width:1600px){.main{padding-left:55px;padding-right:55px}}@media(max-width:900px){.app{grid-template-columns:218px minmax(0,1fr)}.rail{padding:20px 12px}.main{padding:21px 19px 50px}.big-id{font-size:48px}.task-heading{gap:13px}.toplinks a{font-size:10px}.stats{display:none}.section-bar{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.app{display:block}.rail{position:relative;height:auto;max-height:360px;padding:17px 14px}.brand{font-size:22px}.rail-caption{margin-bottom:12px}.groups{grid-template-columns:repeat(4,1fr);margin-bottom:9px}.task-list{max-height:125px;min-height:70px}.rail-footer{display:none}.main{padding:20px 14px 45px}.topline{margin-bottom:22px}.task-heading{align-items:center}.big-id{font-size:44px}h1{font-size:29px}.instruction{padding:14px 17px}.instruction p{font-size:16px}.episode-head{padding:12px}.episode-foot{padding:11px}.toplinks{gap:12px}.section-bar{gap:12px}.facts{gap:17px}.combined{padding:6px}.scoring td{font-size:12px;padding:11px}.scoring td:first-child{width:55px;font-size:18px}} | |
| @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}} | |
| .camera-unavailable{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:#eef1e7;color:#5d6d61;border-left:1px solid #d7ded1}.camera-unavailable b{font-size:15px;font-weight:400}.camera-unavailable span{font-size:12px;color:#8a5b45}.camera-unavailable small{font-size:10px;line-height:1.65;color:#819080}.random-camera-note{padding:12px 16px;line-height:1.8;font-size:11px;background:#f6f0e3;color:#776545;border-top:1px solid var(--line)}.random-camera-note b{font-weight:600;margin-right:6px} | |
| .combined video{aspect-ratio:640/348}.view video{aspect-ratio:1/1}.big-id{font-size:46px;letter-spacing:-2px}.benchmark-note{font-size:11px;line-height:1.8;color:var(--muted);padding:13px 16px;border:1px solid var(--line);margin-bottom:22px;background:#e7ecde}.metadata{font-size:12px;background:var(--white);border:1px solid var(--line);padding:13px 16px;margin:12px 0}.metadata summary{cursor:pointer}.metadata pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:11px}.success p{font-size:15px}.source-name{padding:0 16px 12px;overflow-wrap:anywhere}.task-heading{flex-wrap:wrap}.task-link .id{font-size:11px;min-width:40px}.toplinks{flex-wrap:wrap}</style> | |
| </head> | |
| <body> | |
| <div class="app"> | |
| <aside class="rail" aria-label="Task navigation"> | |
| <div class="brand">ReflexBench<span>.</span></div><div class="rail-caption">OFFICIAL TASK INDEX / VIDEO ATLAS</div> | |
| <input class="search" id="search" type="search" placeholder="序号 / 名称 / instruction" aria-label="搜索任务序号或名称"> | |
| <div class="groups" id="groups"></div><div class="list-head"><span>选择任务</span><span id="listCount"></span></div> | |
| <nav class="task-list" id="taskList" aria-label="任务列表"></nav> | |
| <div class="rail-footer"><a href="https://huggingface.co/datasets/Travor278/ReflexBench-Task-Examples" target="_blank" rel="noopener">HF 数据仓库 ↗</a></div> | |
| </aside> | |
| <main class="main" id="main"></main> | |
| </div> | |
| <script id="catalog" type="application/json">{"name":"ReflexBench","tasks":[{"task_index":0,"key":"ball_catching","name":"Ball Catching","category":"Reaction-critical","instruction":"hold the container with the gripper and catch the thrown ball in the container","description":"Catch a launched ball with a held container.","success_rule":"Episode success is task_phase == 4. The ball must remain in the virtual catch zone below the end effector for the configured consecutive-step threshold.","profile":{"gym_id":"BallCatching-Franka-DataCollection-v0","action_scale":0.1,"has_ik_override":false,"short_circuit_success":true,"success_type":"task_phase_4","phase_names":{"0":"wait","1":"launch","2":"predict","3":"position","4":"catch"}},"official_gym_id":"BallCatching-Franka-DataCollection-v0","doc_url":"https://github.com/LxRoboticsLab/ReflexBench/blob/8bb931485093c6d98f8729774ad01bf824964e16/source/reflexbench/reflexbench/tasks/manager_based/ball_catching/README.md","published_episode_count":200},{"task_index":1,"key":"conveyor_belt_pick_and_place","name":"Conveyor Belt Pick And Place","category":"Reaction-critical","instruction":"pick up the cube from the moving conveyor and place it into the bin","description":"Pick from the moving conveyor and release into the bin.","success_rule":"Success requires the object inside the bin in environment-local coordinates: x in [-0.2,0.2], y in [-0.6,-0.3], z in [0.0,0.08] m.","profile":{"gym_id":"ConveyorBeltPickAndPlace-Franka-DataCollection-v0","action_scale":0.1,"has_ik_override":true,"short_circuit_success":true,"success_type":"object_in_box","phase_names":{"0":"approach","1":"lift","2":"transport","3":"release","4":"return","5":"done"},"box_x_range":[-0.2,0.2],"box_y_range":[-0.6,-0.3],"box_z_range":[0.0,0.08]},"official_gym_id":"ConveyorBeltPickAndPlace-Franka-DataCollection-v0","doc_url":"https://github.com/LxRoboticsLab/ReflexBench/blob/8bb931485093c6d98f8729774ad01bf824964e16/source/reflexbench/reflexbench/tasks/manager_based/conveyor_belt_pick_and_place/README.md","published_episode_count":236},{"task_index":2,"key":"whack_a_mole","name":"Whack A Mole","category":"Reaction-critical","instruction":"hit the mole that pops up on the board with the closed gripper","description":"Strike the active mole using the closed gripper during its popup window.","success_rule":"Unified evaluation success is valid_hits > 0. A valid hit requires proximity to the active mole, closed gripper and the configured dwell. Current eval profile uses 2.0 s popup, 0.3 s gap, 0 s initial delay and 3.0 s evaluation length. Completing the window schedule alone is not success.","profile":{"gym_id":"WhackAMole-Franka-DataCollection-v0","action_scale":0.2,"has_ik_override":false,"short_circuit_success":false,"success_type":"whack_a_mole","popup_duration_s":2.0,"popup_gap_s":0.3,"popup_initial_delay_s":0.0,"eval_episode_length_s":3.0,"phase_names":{"0":"wait popup","1":"move","2":"strike","3":"return","4":"done"}},"official_gym_id":"WhackAMole-Franka-DataCollection-v0","doc_url":"https://github.com/LxRoboticsLab/ReflexBench/blob/8bb931485093c6d98f8729774ad01bf824964e16/source/reflexbench/reflexbench/tasks/manager_based/whack_a_mole/README.md","published_episode_count":200},{"task_index":3,"key":"rolling_ball_interception","name":"Rolling Ball Interception","category":"Reaction-critical","instruction":"hold the container with the gripper and catch the orange rolling down the ramp in the container","description":"Intercept the ball or orange rolling down the ramp.","success_rule":"Episode success is task_phase == 4. The rolling object must stay in the virtual catch zone for the configured hold threshold.","profile":{"gym_id":"RollingBallInterception-Franka-DataCollection-v0","action_scale":0.1,"has_ik_override":false,"short_circuit_success":true,"success_type":"task_phase_4","phase_names":{"0":"wait","1":"roll","2":"predict","3":"position","4":"catch"}},"official_gym_id":"RollingBallInterception-Franka-DataCollection-v0","doc_url":"https://github.com/LxRoboticsLab/ReflexBench/blob/8bb931485093c6d98f8729774ad01bf824964e16/source/reflexbench/reflexbench/tasks/manager_based/rolling_ball_interception/README.md","published_episode_count":200},{"task_index":4,"key":"ball_throwing","name":"Ball Throwing","category":"Reaction-critical","instruction":"toss the ball into the bin","description":"Throw the pre-grasped ball into the target bin.","success_rule":"Success is task_phase == 2, meaning the ball entered the target bin. Documentation bounds relative to bin center: |x-cx| <= 0.13, |y-cy| <= 0.09, z in [0.02,0.18] m.","profile":{"gym_id":"BallThrowing-Franka-DataCollection-v0","action_scale":0.1,"has_ik_override":false,"short_circuit_success":true,"success_type":"task_phase_2","phase_names":{"0":"swing","1":"release","2":"in box"}},"official_gym_id":"BallThrowing-Franka-DataCollection-v0","doc_url":"https://github.com/LxRoboticsLab/ReflexBench/blob/8bb931485093c6d98f8729774ad01bf824964e16/source/reflexbench/reflexbench/tasks/manager_based/ball_throwing/README.md","published_episode_count":200},{"task_index":5,"key":"rotating_peg_insertion","name":"Rotating Peg Insertion","category":"Reaction-critical","instruction":"insert the peg into the hole on the rotating disc","description":"Time peg insertion into the moving hole of a rotating disc.","success_rule":"Success is task_phase == 4. Peg tip enters the hole within its radius tolerance, descends at least 0.02 m below the disc surface, and holds for at least 5 control steps (task README).","profile":{"gym_id":"RotatingPegInsertion-Franka-DataCollection-v0","action_scale":0.1,"has_ik_override":false,"short_circuit_success":true,"success_type":"task_phase_4","phase_names":{"0":"pre-align","1":"track","2":"wait alignment","3":"insert","4":"done"}},"official_gym_id":"RotatingPegInsertion-Franka-DataCollection-v0","doc_url":"https://github.com/LxRoboticsLab/ReflexBench/blob/8bb931485093c6d98f8729774ad01bf824964e16/source/reflexbench/reflexbench/tasks/manager_based/rotating_peg_insertion/README.md","published_episode_count":200}],"samples":[{"task_index":0,"task_key":"ball_catching","episode_index":0,"frame_count":24,"fps":25,"instruction":"hold the container with the gripper and catch the thrown ball in the container","metadata":{"episode_index":0,"tasks":["hold the container with the gripper and catch the thrown ball in the container"],"length":24,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":0,"dataset_to_index":24,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":0.0,"videos/observation.images.fixed_cam/to_timestamp":0.96,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":0.0,"videos/observation.images.wrist_cam/to_timestamp":0.96,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/ball_catching/episode_000000/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":0.0,"to_timestamp":0.96,"output_sha256":"b3fa8b8b7ad653f9097ae9fe73471dda7bd623fd74673d41397ee0d30c4b2721"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/ball_catching/episode_000000/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":0.0,"to_timestamp":0.96,"output_sha256":"476c7c5811a96181256fa3b70b738bda3b59d47d7d8db66603f97e84400a55c2"}],"trajectory_path":"trajectories/ball_catching/episode_000000.parquet","composite_path":"media/ball_catching/episode_000000/synchronized.mp4","preview_path":"media/ball_catching/episode_000000/preview.jpg"},{"task_index":0,"task_key":"ball_catching","episode_index":100,"frame_count":27,"fps":25,"instruction":"hold the container with the gripper and catch the thrown ball in the container","metadata":{"episode_index":100,"tasks":["hold the container with the gripper and catch the thrown ball in the container"],"length":27,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":3112,"dataset_to_index":3139,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":124.48,"videos/observation.images.fixed_cam/to_timestamp":125.56,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":124.48,"videos/observation.images.wrist_cam/to_timestamp":125.56,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/ball_catching/episode_000100/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":124.48,"to_timestamp":125.56,"output_sha256":"75217ebf840a6d6a1a39cd78259eabfbf03ac507e454dda7b61cf1299bb331cf"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/ball_catching/episode_000100/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":124.48,"to_timestamp":125.56,"output_sha256":"6787697b256de09da2b0a8950a729b4a3b891bf964760032c2c3898b727c6666"}],"trajectory_path":"trajectories/ball_catching/episode_000100.parquet","composite_path":"media/ball_catching/episode_000100/synchronized.mp4","preview_path":"media/ball_catching/episode_000100/preview.jpg"},{"task_index":0,"task_key":"ball_catching","episode_index":199,"frame_count":37,"fps":25,"instruction":"hold the container with the gripper and catch the thrown ball in the container","metadata":{"episode_index":199,"tasks":["hold the container with the gripper and catch the thrown ball in the container"],"length":37,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":6168,"dataset_to_index":6205,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":246.72000000000025,"videos/observation.images.fixed_cam/to_timestamp":248.20000000000024,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":246.72000000000025,"videos/observation.images.wrist_cam/to_timestamp":248.20000000000024,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/ball_catching/episode_000199/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":246.72000000000025,"to_timestamp":248.20000000000024,"output_sha256":"6778a16a309d09a3970f145ae29a9fb3a909e879be79c204f17a3ad757d0ec75"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/ball_catching/episode_000199/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":246.72000000000025,"to_timestamp":248.20000000000024,"output_sha256":"fb2feb087068bedc8c95885dbf5bb06c3f94af602830c8708b6b71e8c00652fa"}],"trajectory_path":"trajectories/ball_catching/episode_000199.parquet","composite_path":"media/ball_catching/episode_000199/synchronized.mp4","preview_path":"media/ball_catching/episode_000199/preview.jpg"},{"task_index":1,"task_key":"conveyor_belt_pick_and_place","episode_index":200,"frame_count":31,"fps":25,"instruction":"pick up the cube from the moving conveyor and place it into the bin","metadata":{"episode_index":200,"tasks":["pick up the cube from the moving conveyor and place it into the bin"],"length":31,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":6205,"dataset_to_index":6236,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":248.2,"videos/observation.images.fixed_cam/to_timestamp":249.44,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":248.2,"videos/observation.images.wrist_cam/to_timestamp":249.44,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/conveyor_belt_pick_and_place/episode_000200/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":248.2,"to_timestamp":249.44,"output_sha256":"8f7143daa30c5b4a941f5625e884e98217263ad127b4630a94520a5f752379b1"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/conveyor_belt_pick_and_place/episode_000200/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":248.2,"to_timestamp":249.44,"output_sha256":"61939d8453040d436426dc1956fd8ac60a66a2992d952370efe0260f4a4846a5"}],"trajectory_path":"trajectories/conveyor_belt_pick_and_place/episode_000200.parquet","composite_path":"media/conveyor_belt_pick_and_place/episode_000200/synchronized.mp4","preview_path":"media/conveyor_belt_pick_and_place/episode_000200/preview.jpg"},{"task_index":1,"task_key":"conveyor_belt_pick_and_place","episode_index":318,"frame_count":37,"fps":25,"instruction":"pick up the cube from the moving conveyor and place it into the bin","metadata":{"episode_index":318,"tasks":["pick up the cube from the moving conveyor and place it into the bin"],"length":37,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":11045,"dataset_to_index":11082,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":452.60000000000014,"videos/observation.images.fixed_cam/to_timestamp":454.0800000000001,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":452.60000000000014,"videos/observation.images.wrist_cam/to_timestamp":454.0800000000001,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/conveyor_belt_pick_and_place/episode_000318/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":452.60000000000014,"to_timestamp":454.0800000000001,"output_sha256":"02eadb75131947c70fe406ca26c84fdbf521f6db7425d594c2fab89c829090ac"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/conveyor_belt_pick_and_place/episode_000318/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":452.60000000000014,"to_timestamp":454.0800000000001,"output_sha256":"d67657faf9d0d294ebb33d03a2d62ba68a71b0961738bd081a919f6eed004d21"}],"trajectory_path":"trajectories/conveyor_belt_pick_and_place/episode_000318.parquet","composite_path":"media/conveyor_belt_pick_and_place/episode_000318/synchronized.mp4","preview_path":"media/conveyor_belt_pick_and_place/episode_000318/preview.jpg"},{"task_index":1,"task_key":"conveyor_belt_pick_and_place","episode_index":435,"frame_count":36,"fps":25,"instruction":"pick up the cube from the moving conveyor and place it into the bin","metadata":{"episode_index":435,"tasks":["pick up the cube from the moving conveyor and place it into the bin"],"length":36,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":16288,"dataset_to_index":16324,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":673.48,"videos/observation.images.fixed_cam/to_timestamp":674.9200000000001,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":673.48,"videos/observation.images.wrist_cam/to_timestamp":674.9200000000001,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/conveyor_belt_pick_and_place/episode_000435/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":673.48,"to_timestamp":674.9200000000001,"output_sha256":"7cb5757b410b7cf08fca1ca5c86e2c27f706c66d1adadf7580c3b0ca4d8fca87"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/conveyor_belt_pick_and_place/episode_000435/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":673.48,"to_timestamp":674.9200000000001,"output_sha256":"475805b8739cab7a4e911729451435afd568dac1a480e985a47b7b1f4e6af1e8"}],"trajectory_path":"trajectories/conveyor_belt_pick_and_place/episode_000435.parquet","composite_path":"media/conveyor_belt_pick_and_place/episode_000435/synchronized.mp4","preview_path":"media/conveyor_belt_pick_and_place/episode_000435/preview.jpg"},{"task_index":2,"task_key":"whack_a_mole","episode_index":436,"frame_count":18,"fps":25,"instruction":"hit the mole that pops up on the board with the closed gripper","metadata":{"episode_index":436,"tasks":["hit the mole that pops up on the board with the closed gripper"],"length":18,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":16324,"dataset_to_index":16342,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":674.9200000000001,"videos/observation.images.fixed_cam/to_timestamp":675.6400000000001,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":674.9200000000001,"videos/observation.images.wrist_cam/to_timestamp":675.6400000000001,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/whack_a_mole/episode_000436/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":674.9200000000001,"to_timestamp":675.6400000000001,"output_sha256":"b47cebdcab839266aacc9d69a8b1d81b1a93df1e15fb4819f70549fa948ac484"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/whack_a_mole/episode_000436/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":674.9200000000001,"to_timestamp":675.6400000000001,"output_sha256":"5228c9a8cc7a6fd8e8c6b68afc5e242b9b280503a11ece7524744e8270fcf158"}],"trajectory_path":"trajectories/whack_a_mole/episode_000436.parquet","composite_path":"media/whack_a_mole/episode_000436/synchronized.mp4","preview_path":"media/whack_a_mole/episode_000436/preview.jpg"},{"task_index":2,"task_key":"whack_a_mole","episode_index":536,"frame_count":16,"fps":25,"instruction":"hit the mole that pops up on the board with the closed gripper","metadata":{"episode_index":536,"tasks":["hit the mole that pops up on the board with the closed gripper"],"length":16,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":18093,"dataset_to_index":18109,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":745.6800000000001,"videos/observation.images.fixed_cam/to_timestamp":746.32,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":745.6800000000001,"videos/observation.images.wrist_cam/to_timestamp":746.32,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/whack_a_mole/episode_000536/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":745.6800000000001,"to_timestamp":746.32,"output_sha256":"f199b576fe49805a044db85c06c42fa8da072ad2dbb60dc6dd25dd5e234bd691"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/whack_a_mole/episode_000536/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":745.6800000000001,"to_timestamp":746.32,"output_sha256":"3612c9cc2893997492636024ac4151a40ca236dff5b215da08c871cf703765b6"}],"trajectory_path":"trajectories/whack_a_mole/episode_000536.parquet","composite_path":"media/whack_a_mole/episode_000536/synchronized.mp4","preview_path":"media/whack_a_mole/episode_000536/preview.jpg"},{"task_index":2,"task_key":"whack_a_mole","episode_index":635,"frame_count":16,"fps":25,"instruction":"hit the mole that pops up on the board with the closed gripper","metadata":{"episode_index":635,"tasks":["hit the mole that pops up on the board with the closed gripper"],"length":16,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":19828,"dataset_to_index":19844,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":815.0800000000004,"videos/observation.images.fixed_cam/to_timestamp":815.7200000000003,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":815.0800000000004,"videos/observation.images.wrist_cam/to_timestamp":815.7200000000003,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/whack_a_mole/episode_000635/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":815.0800000000004,"to_timestamp":815.7200000000003,"output_sha256":"91a27e44c124966c02f4d5b4eb01875ff75aa2125e2f08d8ff2679110dfe7e9b"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/whack_a_mole/episode_000635/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":815.0800000000004,"to_timestamp":815.7200000000003,"output_sha256":"699407f42ee0050b36a348052cb6c2c5f87fba6ab52f14a71e9d62ab19e4e04f"}],"trajectory_path":"trajectories/whack_a_mole/episode_000635.parquet","composite_path":"media/whack_a_mole/episode_000635/synchronized.mp4","preview_path":"media/whack_a_mole/episode_000635/preview.jpg"},{"task_index":3,"task_key":"rolling_ball_interception","episode_index":636,"frame_count":26,"fps":25,"instruction":"hold the container with the gripper and catch the orange rolling down the ramp in the container","metadata":{"episode_index":636,"tasks":["hold the container with the gripper and catch the orange rolling down the ramp in the container"],"length":26,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":19844,"dataset_to_index":19870,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":815.72,"videos/observation.images.fixed_cam/to_timestamp":816.76,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":815.72,"videos/observation.images.wrist_cam/to_timestamp":816.76,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/rolling_ball_interception/episode_000636/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":815.72,"to_timestamp":816.76,"output_sha256":"bbef14f69be2c5bd51687a4a145bda6e2af4fee7979652f6632097c2f983b071"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/rolling_ball_interception/episode_000636/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":815.72,"to_timestamp":816.76,"output_sha256":"7fd88f7875d429dc4593d47489721210d9d133ce1c955d39b4b30554104e6d5a"}],"trajectory_path":"trajectories/rolling_ball_interception/episode_000636.parquet","composite_path":"media/rolling_ball_interception/episode_000636/synchronized.mp4","preview_path":"media/rolling_ball_interception/episode_000636/preview.jpg"},{"task_index":3,"task_key":"rolling_ball_interception","episode_index":736,"frame_count":26,"fps":25,"instruction":"hold the container with the gripper and catch the orange rolling down the ramp in the container","metadata":{"episode_index":736,"tasks":["hold the container with the gripper and catch the orange rolling down the ramp in the container"],"length":26,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":22444,"dataset_to_index":22470,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":919.7200000000003,"videos/observation.images.fixed_cam/to_timestamp":920.7600000000002,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":919.7200000000003,"videos/observation.images.wrist_cam/to_timestamp":920.7600000000002,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/rolling_ball_interception/episode_000736/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":919.7200000000003,"to_timestamp":920.7600000000002,"output_sha256":"e208b9882f2b2766925ff65234fdb71d631372532e2f3fdd664c830a9281017d"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/rolling_ball_interception/episode_000736/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":919.7200000000003,"to_timestamp":920.7600000000002,"output_sha256":"205606b02376ce4d780eee1b453745f8179ce1e2389a0404e890e8008591366e"}],"trajectory_path":"trajectories/rolling_ball_interception/episode_000736.parquet","composite_path":"media/rolling_ball_interception/episode_000736/synchronized.mp4","preview_path":"media/rolling_ball_interception/episode_000736/preview.jpg"},{"task_index":3,"task_key":"rolling_ball_interception","episode_index":835,"frame_count":26,"fps":25,"instruction":"hold the container with the gripper and catch the orange rolling down the ramp in the container","metadata":{"episode_index":835,"tasks":["hold the container with the gripper and catch the orange rolling down the ramp in the container"],"length":26,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":25018,"dataset_to_index":25044,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":1022.6799999999998,"videos/observation.images.fixed_cam/to_timestamp":1023.7199999999998,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":1022.6799999999998,"videos/observation.images.wrist_cam/to_timestamp":1023.7199999999998,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/rolling_ball_interception/episode_000835/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":1022.6799999999998,"to_timestamp":1023.7199999999998,"output_sha256":"796d0f85543fd5d719a2e247d51067d4dd610d018bc7e0b44c82bd7c61eb51d1"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/rolling_ball_interception/episode_000835/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":1022.6799999999998,"to_timestamp":1023.7199999999998,"output_sha256":"8ba5b0044a6653c64350e4f7953ace240b5400e9f1756430054482467e539cfa"}],"trajectory_path":"trajectories/rolling_ball_interception/episode_000835.parquet","composite_path":"media/rolling_ball_interception/episode_000835/synchronized.mp4","preview_path":"media/rolling_ball_interception/episode_000835/preview.jpg"},{"task_index":4,"task_key":"ball_throwing","episode_index":836,"frame_count":33,"fps":25,"instruction":"toss the ball into the bin","metadata":{"episode_index":836,"tasks":["toss the ball into the bin"],"length":33,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":25044,"dataset_to_index":25077,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":1023.72,"videos/observation.images.fixed_cam/to_timestamp":1025.04,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":1023.72,"videos/observation.images.wrist_cam/to_timestamp":1025.04,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/ball_throwing/episode_000836/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":1023.72,"to_timestamp":1025.04,"output_sha256":"ae68917c33e9e8e22eb3f3388d811452a0e992b74952f8f736a6fb7ff19d1731"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/ball_throwing/episode_000836/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":1023.72,"to_timestamp":1025.04,"output_sha256":"1c3bc895459a74b8a9233e1aa8f3a526b5e325b35d5435792113710e3b79e9fd"}],"trajectory_path":"trajectories/ball_throwing/episode_000836.parquet","composite_path":"media/ball_throwing/episode_000836/synchronized.mp4","preview_path":"media/ball_throwing/episode_000836/preview.jpg"},{"task_index":4,"task_key":"ball_throwing","episode_index":936,"frame_count":35,"fps":25,"instruction":"toss the ball into the bin","metadata":{"episode_index":936,"tasks":["toss the ball into the bin"],"length":35,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":28567,"dataset_to_index":28602,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":1164.64,"videos/observation.images.fixed_cam/to_timestamp":1166.0400000000002,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":1164.64,"videos/observation.images.wrist_cam/to_timestamp":1166.0400000000002,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/ball_throwing/episode_000936/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":1164.64,"to_timestamp":1166.0400000000002,"output_sha256":"dad4fc3198434355dc224604aaf1910689522a3b3997845fce44163a39aa7a42"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/ball_throwing/episode_000936/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":1164.64,"to_timestamp":1166.0400000000002,"output_sha256":"a15cb736d2fa4134c7c5ff823708f10fedaab8f90c4a2e399b56d4e1e451837e"}],"trajectory_path":"trajectories/ball_throwing/episode_000936.parquet","composite_path":"media/ball_throwing/episode_000936/synchronized.mp4","preview_path":"media/ball_throwing/episode_000936/preview.jpg"},{"task_index":4,"task_key":"ball_throwing","episode_index":1035,"frame_count":33,"fps":25,"instruction":"toss the ball into the bin","metadata":{"episode_index":1035,"tasks":["toss the ball into the bin"],"length":33,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":32013,"dataset_to_index":32046,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":1302.48,"videos/observation.images.fixed_cam/to_timestamp":1303.8000000000002,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":1302.48,"videos/observation.images.wrist_cam/to_timestamp":1303.8000000000002,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/ball_throwing/episode_001035/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":1302.48,"to_timestamp":1303.8000000000002,"output_sha256":"27fa7ca4273fbcc1999b531bff818272e5443a3b3ae758d82ff5b745321e5fd9"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/ball_throwing/episode_001035/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":1302.48,"to_timestamp":1303.8000000000002,"output_sha256":"46f7ee4673fef698b778aff4eb7ac0399f72905d4320daa6cc88aeb01d9d9deb"}],"trajectory_path":"trajectories/ball_throwing/episode_001035.parquet","composite_path":"media/ball_throwing/episode_001035/synchronized.mp4","preview_path":"media/ball_throwing/episode_001035/preview.jpg"},{"task_index":5,"task_key":"rotating_peg_insertion","episode_index":1036,"frame_count":28,"fps":25,"instruction":"insert the peg into the hole on the rotating disc","metadata":{"episode_index":1036,"tasks":["insert the peg into the hole on the rotating disc"],"length":28,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":32046,"dataset_to_index":32074,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":1303.8,"videos/observation.images.fixed_cam/to_timestamp":1304.9199999999998,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":1303.8,"videos/observation.images.wrist_cam/to_timestamp":1304.9199999999998,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/rotating_peg_insertion/episode_001036/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":1303.8,"to_timestamp":1304.9199999999998,"output_sha256":"eb9147bff7f6b81c02a3346694abe6fe08e558354948636597dcd6aabff979d1"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/rotating_peg_insertion/episode_001036/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":1303.8,"to_timestamp":1304.9199999999998,"output_sha256":"1dfb9da34cbd41f8486df97792a175c8cf5adf762c8aca45d7aef96f4ce39168"}],"trajectory_path":"trajectories/rotating_peg_insertion/episode_001036.parquet","composite_path":"media/rotating_peg_insertion/episode_001036/synchronized.mp4","preview_path":"media/rotating_peg_insertion/episode_001036/preview.jpg"},{"task_index":5,"task_key":"rotating_peg_insertion","episode_index":1136,"frame_count":59,"fps":25,"instruction":"insert the peg into the hole on the rotating disc","metadata":{"episode_index":1136,"tasks":["insert the peg into the hole on the rotating disc"],"length":59,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":36495,"dataset_to_index":36554,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":1481.76,"videos/observation.images.fixed_cam/to_timestamp":1484.12,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":1481.76,"videos/observation.images.wrist_cam/to_timestamp":1484.12,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/rotating_peg_insertion/episode_001136/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":1481.76,"to_timestamp":1484.12,"output_sha256":"a56b78f7d496556a535d0f303a419ce4ef5efec62d32639b4b35e7f7f4095137"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/rotating_peg_insertion/episode_001136/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":1481.76,"to_timestamp":1484.12,"output_sha256":"4a515196eb0cdc221d25975a0a29c656efb66e8759f789878ffa33a510ad6855"}],"trajectory_path":"trajectories/rotating_peg_insertion/episode_001136.parquet","composite_path":"media/rotating_peg_insertion/episode_001136/synchronized.mp4","preview_path":"media/rotating_peg_insertion/episode_001136/preview.jpg"},{"task_index":5,"task_key":"rotating_peg_insertion","episode_index":1235,"frame_count":34,"fps":25,"instruction":"insert the peg into the hole on the rotating disc","metadata":{"episode_index":1235,"tasks":["insert the peg into the hole on the rotating disc"],"length":34,"data/chunk_index":0,"data/file_index":0,"dataset_from_index":40835,"dataset_to_index":40869,"videos/observation.images.fixed_cam/chunk_index":0,"videos/observation.images.fixed_cam/file_index":0,"videos/observation.images.fixed_cam/from_timestamp":1655.36,"videos/observation.images.fixed_cam/to_timestamp":1656.72,"videos/observation.images.wrist_cam/chunk_index":0,"videos/observation.images.wrist_cam/file_index":0,"videos/observation.images.wrist_cam/from_timestamp":1655.36,"videos/observation.images.wrist_cam/to_timestamp":1656.72,"meta/episodes/chunk_index":0,"meta/episodes/file_index":0},"views":[{"camera":"fixed_cam","label":"FIXED CAMERA","path":"media/rotating_peg_insertion/episode_001235/fixed_cam.mp4","source_path":"videos/observation.images.fixed_cam/chunk-000/file-000.mp4","source_bytes":101787233,"from_timestamp":1655.36,"to_timestamp":1656.72,"output_sha256":"b13ace3ffb8425dc2f821e6446111f207e1002dfc790359f6078843679bf00e1"},{"camera":"wrist_cam","label":"WRIST CAMERA","path":"media/rotating_peg_insertion/episode_001235/wrist_cam.mp4","source_path":"videos/observation.images.wrist_cam/chunk-000/file-000.mp4","source_bytes":62481870,"from_timestamp":1655.36,"to_timestamp":1656.72,"output_sha256":"6bb2553dbcdb8b4af3e477690ae095d1a435caeb4e4516198ba8a68373d98200"}],"trajectory_path":"trajectories/rotating_peg_insertion/episode_001235.parquet","composite_path":"media/rotating_peg_insertion/episode_001235/synchronized.mp4","preview_path":"media/rotating_peg_insertion/episode_001235/preview.jpg"}],"source":{"benchmark":"ReflexBench","repo_id":"cyx337/ReflexBench_dataset","revision":"9295b6e9878609a992047f0b8b65421a493299e7","code_repository":"LxRoboticsLab/ReflexBench","code_revision":"8bb931485093c6d98f8729774ad01bf824964e16","note":"Six official task_index values 0–5. Single Franka arm; only fixed_cam and wrist_cam exist. Do not relabel the wrist as left/right. Success rules describe evaluation, not an unprovided per-demo score.","date":"2026-10-03","video_policy":"Complete selected episodes, converted to browser-friendly H.264 MP4 at original 25 FPS. No generated simulation rollouts.","actual_episode_score":"Not published in released LeRobot features; null, not assumed successful.","episode_selection":"First/middle/last episode per official task","camera_order":["fixed_cam","wrist_cam"]},"repo_url":"https://huggingface.co/datasets/Travor278/ReflexBench-Task-Examples","github_url":"https://github.com/LxRoboticsLab/ReflexBench","media_base":"https://huggingface.co/datasets/Travor278/ReflexBench-Task-Examples/resolve/473a751daeceb96bdb93c1f1c81866cf45bab14d/","file_base":"https://huggingface.co/datasets/Travor278/ReflexBench-Task-Examples/blob/473a751daeceb96bdb93c1f1c81866cf45bab14d/"}</script> | |
| <script> | |
| const DATA=JSON.parse(document.getElementById('catalog').textContent); | |
| const esc=x=>String(x??'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); | |
| const media=p=>DATA.media_base+p.split('/').map(encodeURIComponent).join('/'); | |
| const file=p=>DATA.file_base+p.split('/').map(encodeURIComponent).join('/'); | |
| const link=(u,t)=>`<a href="${esc(u)}" target="_blank" rel="noopener">${esc(t)}</a>`; | |
| const tasks=[...DATA.tasks].sort((a,b)=>a.task_index-b.task_index); | |
| const groups=[...new Set(tasks.map(t=>t.category))]; | |
| let current=null,query='',group='all',mode='combined'; | |
| function drawList(){ | |
| document.getElementById('groups').innerHTML=['all',...groups].map(g=>`<button class="group ${g===group?'active':''}" data-group="${esc(g)}" aria-pressed="${g===group}">${g==='all'?'全部':esc(g)}<span>${g==='all'?tasks.length:tasks.filter(t=>t.category===g).length}</span></button>`).join(''); | |
| const numeric=/^\d+$/.test(query.trim()); | |
| const shown=tasks.filter(t=>(numeric||group==='all'||t.category===group)&&(numeric?t.task_index===Number(query):`${t.name} ${t.instruction} ${t.source_filename??''}`.toLowerCase().includes(query.toLowerCase()))); | |
| document.getElementById('listCount').textContent=`${shown.length} / ${tasks.length}`; | |
| document.getElementById('taskList').innerHTML=shown.map(t=>`<button class="task-link ${current?.task_index===t.task_index?'active':''}" data-task="${t.task_index}"><span class="id mono">${t.task_index}</span><span class="name">${esc(t.name)}</span></button>`).join('')||'<div class="no-results">没有匹配的精选任务序号。</div>'; | |
| document.querySelectorAll('[data-group]').forEach(b=>b.onclick=()=>{group=b.dataset.group;drawList()}); | |
| document.querySelectorAll('[data-task]').forEach(b=>b.onclick=()=>{selectTask(b.dataset.task);window.scrollTo({top:0})}); | |
| } | |
| function selectTask(id,historyUpdate=true){document.querySelectorAll('video').forEach(v=>v.pause());current=tasks.find(t=>t.task_index===Number(id));if(historyUpdate)history.replaceState({},'',`?task=${id}`);drawList();drawTask();document.querySelector('.task-link.active')?.scrollIntoView({block:'nearest'});} | |
| function player(p,poster=''){return `<video controls playsinline preload="metadata" src="${esc(media(p))}" ${poster?`poster="${esc(media(poster))}"`:''}></video>`} | |
| function episode(s){ | |
| const n=s.views.length; | |
| const content=mode==='combined'?`<div class="view-labels" style="grid-template-columns:repeat(${n},1fr)">${s.views.map(v=>`<span>${esc(v.label)}</span>`).join('')}</div><div class="combined">${player(s.composite_path,s.preview_path)}</div>`:`<div class="views-scroll"><div class="views" style="grid-template-columns:repeat(${n},minmax(220px,1fr));min-width:${n*230}px">${s.views.map(v=>`<div class="view"><div class="camera">${esc(v.label)}</div>${player(v.path)}</div>`).join('')}</div></div>`; | |
| return `<article class="episode" data-episode="${s.episode_index}"><div class="episode-head"><div><b class="mono">EPISODE ${s.episode_index}</b><div class="episode-meta">官方 task_index=${s.task_index} · ${s.frame_count} frames · ${s.fps} FPS · ${(s.frame_count/s.fps).toFixed(2)} s</div></div><span class="episode-badge">OFFICIAL DATA EXTRACT</span></div>${content}<div class="episode-foot"><div class="source-links">${s.views.map(v=>link(file(v.path),v.label+' MP4')).join('')}${link(media(s.trajectory_path),'动作 / 状态 Parquet')}${link(file(s.composite_path),'同步 MP4 ↗')}</div>${mode==='original'?'<div class="sync-actions"><button data-play>同步播放</button><button data-pause>暂停</button><button data-reset>回到开头</button></div>':''}</div>${s.source_filename?`<div class="episode-meta source-name mono">${esc(s.source_filename)}</div>`:''}<div class="error" hidden></div></article>`; | |
| } | |
| function drawTask(){ | |
| const top=`<div class="topline"><span class="stats"><b>${esc(DATA.name)}</b> / ${DATA.samples.length} SELECTED EPISODES / ${DATA.source.camera_order.length} CAMERAS</span><div class="toplinks">${link(DATA.repo_url,'HF 数据仓库 ↗')}${link(DATA.github_url,'官方代码 ↗')}</div></div>`; | |
| if(!current){document.getElementById('main').innerHTML=top+'<h1>精选集中没有这个序号</h1><p>请从左侧选择,或输入已收录的官方 task_index。</p>';return} | |
| const t=current,idx=tasks.indexOf(t),ss=DATA.samples.filter(s=>s.task_index===t.task_index),dynamic=DATA.name==='DynamicVLA'; | |
| document.title=`Task ${t.task_index} · ${t.name} · ${DATA.name}`; | |
| let html=top+`<div class="benchmark-note">${dynamic?'DOM 有 3 类任务,但官方 task_index 对应具体语言 / 场景配置。本页是三类各 6 条精选示例,不是完整 140,932 条任务目录。':'ReflexBench 的全部 6 个官方 task_index,每任务 3 条精选完整 episode。上游记录本身多为约 1 秒,此处没有截短、慢放或补帧。'} 单臂 Franka;相机名称保留上游定义。</div><div class="eyebrow">${esc(t.category)} · SIMULATION</div><div class="task-heading"><span class="big-id mono">${t.task_index}</span><h1>${esc(t.name)}</h1></div><div class="toplinks" style="margin-bottom:20px"><span class="muted mono">OFFICIAL task_index = ${t.task_index}</span><div class="nav-buttons"><button class="small-button" id="previous" ${idx===0?'disabled':''}>← 上一个</button><button class="small-button" id="next" ${idx===tasks.length-1?'disabled':''}>下一个 →</button></div><a href="#success">成功标准 ↓</a></div><div class="instruction"><div class="label">Instruction ${dynamic?'· 可读呈现':'· 官方数据原文'}</div><p>${esc(t.instruction)}</p></div>`; | |
| if(t.instruction_note)html+=`<p class="description">${esc(t.instruction_note)}</p>`; | |
| if(t.instruction_metadata)html+=`<details class="metadata"><summary>原始 instruction 元数据与所有对象 / 容器别名</summary><pre>${esc(JSON.stringify(t.instruction_metadata,null,2))}</pre></details>`; | |
| html+=`<p class="description">${esc(t.description)}</p><div class="facts"><div class="label">Robot<strong>Franka · 单臂</strong></div><div class="label">Published cameras<strong>${esc(DATA.source.camera_order.join(' / '))}</strong></div><div class="label">Official reference<strong>${link(t.doc_url,'成功条件源码 / 文档 ↗')}</strong></div>${t.official_gym_id?`<div class="label">Gym ID<strong class="mono">${esc(t.official_gym_id)}</strong></div>`:''}</div><section><div class="section-bar"><div><h2>完整 MP4 示例</h2><div class="section-note">${dynamic?'OPPOSITE → WRIST → SIDE;每路均为同一个官方 episode。':'FIXED → WRIST;原始 LeRobot 合并视频按官方 episode 时间区间提取。'}</div></div><div class="mode"><button data-mode="combined" class="${mode==='combined'?'active':''}">相机同步 MP4</button><button data-mode="original" class="${mode==='original'?'active':''}">各路 MP4</button></div></div>${ss.map(episode).join('')}</section>`; | |
| html+=`<section id="success"><div class="section-bar"><h2>Success · 成功与评估标准</h2></div><div class="instruction success"><p>${esc(t.success_rule)}</p></div><div class="warning">这是任务的评估逻辑,不能据此为示例赋分。公开 LeRobot 特征未保存逐条示教的成功标记,actual_episode_success 为 null;没有另行运行模拟器验证示例结果。</div>`; | |
| if(t.profile)html+=`<details class="metadata"><summary>官方评估 profile / task phases</summary><pre>${esc(JSON.stringify(t.profile,null,2))}</pre></details>`; | |
| html+=`</section><footer class="source-footer"><p>${esc(DATA.source.note)}</p><p>视频是从官方记录选择并转为 H.264 的完整 episode,保持原始 25 FPS 与逐帧长度。数据源 revision:<span class="mono">${esc(DATA.source.revision)}</span>。</p>${link(DATA.repo_url,'精选数据仓库 ↗')}${link(`https://huggingface.co/datasets/${DATA.source.repo_id}`,'官方完整数据 ↗')}${link(t.doc_url,'官方评估标准 ↗')}<p>上游许可和来源文档保留在数据仓库 reference/。${dynamic?'S-Lab License 1.0,非商业用途。':'保留官方 BSD-3-Clause 许可与数据来源。'}</p></footer>`; | |
| document.getElementById('main').innerHTML=html; | |
| for(const [name,step] of [['previous',-1],['next',1]])document.getElementById(name).onclick=()=>{query='';document.getElementById('search').value='';selectTask(tasks[idx+step].task_index);window.scrollTo({top:0})}; | |
| document.querySelectorAll('[data-mode]').forEach(b=>b.onclick=()=>{const y=scrollY;document.querySelectorAll('video').forEach(v=>v.pause());mode=b.dataset.mode;drawTask();window.scrollTo({top:y})}); | |
| bindVideos(); | |
| } | |
| function bindVideos(){ | |
| document.querySelectorAll('[data-episode]').forEach(el=>{const vs=[...el.querySelectorAll('video')],error=el.querySelector('.error');vs.forEach(v=>v.onerror=()=>{error.hidden=false;error.textContent='此 MP4 加载失败,可用下方文件链接直接打开。'});if(vs.length===1)return;let timer=null;const pause=()=>{vs.forEach(v=>v.pause());clearInterval(timer);timer=null};el.querySelector('[data-play]').onclick=async()=>{try{vs.forEach(v=>{if(v.readyState)v.currentTime=vs[0].currentTime});await Promise.all(vs.map(v=>v.play()));clearInterval(timer);timer=setInterval(()=>{if(!el.isConnected){clearInterval(timer);return}for(const v of vs.slice(1))if(v.readyState&&Math.abs(v.currentTime-vs[0].currentTime)>.2)v.currentTime=vs[0].currentTime},300)}catch(e){pause();error.hidden=false;error.textContent='请点击原播放器,或切换到同步合并 MP4。'}};el.querySelector('[data-pause]').onclick=pause;el.querySelector('[data-reset]').onclick=()=>{pause();vs.forEach(v=>{if(v.readyState)v.currentTime=0})};vs[0].addEventListener('pause',pause);vs[0].addEventListener('ended',pause);}); | |
| } | |
| document.getElementById('search').oninput=e=>{query=e.target.value;drawList()}; | |
| selectTask(new URLSearchParams(location.search).get('task')??tasks[0].task_index,false); | |
| </script> | |
| </body> | |
| </html> | |