Linslab commited on
Commit
d7a31d7
·
verified ·
1 Parent(s): 044c27e

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/bank_provenance.json +28 -0
  2. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/controller.py +67 -0
  3. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/demo_manifest.json +1488 -0
  4. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/environment.lock +249 -0
  5. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/findings.md +48 -0
  6. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/freeze_manifest.json +90 -0
  7. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/handoff.md +13 -0
  8. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/model_tool_manifest.yaml +124 -0
  9. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/policy_runner.py +25 -0
  10. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/response_bank_provenance.json +21 -0
  11. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/skills.md +7 -0
  12. agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/worker_api.py +81 -0
  13. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/build_memory.py +30 -0
  14. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/checks.json +20 -0
  15. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/controller.py +113 -0
  16. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/demo_analysis.md +89 -0
  17. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/demo_manifest.json +2168 -0
  18. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/environment.lock +249 -0
  19. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/findings.md +43 -0
  20. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/freeze_manifest.json +104 -0
  21. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/handoff.md +9 -0
  22. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/localization.py +17 -0
  23. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/model_tool_manifest.yaml +99 -0
  24. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/policy_runner.py +25 -0
  25. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/skills.md +10 -0
  26. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/synthetic_check.py +36 -0
  27. agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/worker_api.py +81 -0
  28. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/bank_integrity.json +11 -0
  29. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/build_reference_bank.py +43 -0
  30. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/check_synthetic.py +42 -0
  31. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/controller.py +12 -0
  32. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/demo_manifest.json +2368 -0
  33. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/environment.lock +249 -0
  34. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/episode07_bank_provenance.json +115 -0
  35. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/exploration_bank_provenance.json +109 -0
  36. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/exploration_findings.md +18 -0
  37. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/findings.md +20 -0
  38. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/freeze_manifest.json +175 -0
  39. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/handoff.md +16 -0
  40. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/kinematics.py +11 -0
  41. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/model_tool_manifest.yaml +319 -0
  42. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/policy_runner.py +25 -0
  43. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/pose_controller.py +82 -0
  44. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/reference_access_log.json +4181 -0
  45. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/registered_exploration_provenance.json +41 -0
  46. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/retrieval.py +127 -0
  47. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/skills.md +13 -0
  48. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/sparse_exploration_provenance.json +12 -0
  49. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/synthetic_check_results.json +9 -0
  50. agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/vision.py +22 -0
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/bank_provenance.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "source": "/demonstrations via /worker_api.py API.read_demo",
3
+ "demo_ids": [
4
+ "demo_00",
5
+ "demo_01",
6
+ "demo_02",
7
+ "demo_03",
8
+ "demo_04",
9
+ "demo_05",
10
+ "demo_06",
11
+ "demo_07",
12
+ "demo_08",
13
+ "demo_09",
14
+ "demo_10",
15
+ "demo_11",
16
+ "demo_12",
17
+ "demo_13",
18
+ "demo_14",
19
+ "demo_15",
20
+ "demo_16",
21
+ "demo_17",
22
+ "demo_18",
23
+ "demo_19"
24
+ ],
25
+ "rows": 11038,
26
+ "automatic_rgb_frames": "All action-aligned frames 0 through length-1 in all four cameras; separate from human/assistant visual inspection log.",
27
+ "neural_training": false
28
+ }
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/controller.py ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Task-local non-neural demo trajectory tracking with empirical joint feedback."""
2
+ from pathlib import Path
3
+ import numpy as np
4
+ import cv2
5
+ CAMERAS=('front_camera','left_camera','robot_camera','top_camera')
6
+ _BANK=None
7
+ _RESPONSE=None
8
+ _cursor=None
9
+ _demo=None
10
+ _last_step=None
11
+ _previous_phase=None
12
+ _cached_action=None
13
+ _cached_step=None
14
+
15
+ def image_feature(rgb):
16
+ x=np.asarray(rgb).squeeze();h,w=x.shape[:2]
17
+ whole=cv2.resize(x,(24,18),interpolation=cv2.INTER_AREA).reshape(-1)
18
+ crop=x[int(.1*h):int(.9*h),int(.1*w):int(.9*w)]
19
+ detail=cv2.resize(cv2.cvtColor(crop,cv2.COLOR_RGB2GRAY),(24,24),interpolation=cv2.INTER_AREA).reshape(-1)
20
+ return np.concatenate((whole,detail))
21
+ def reset_episode():
22
+ global _cursor,_demo,_last_step,_previous_phase,_cached_action,_cached_step
23
+ _cursor=None;_demo=None;_last_step=None;_previous_phase=None;_cached_action=None;_cached_step=None
24
+
25
+ def _decide(obs):
26
+ global _BANK,_RESPONSE,_cursor,_demo,_last_step,_previous_phase
27
+ step=int(obs['step_id'])
28
+ if step>=850:return None
29
+ if _BANK is None:
30
+ with np.load(Path(__file__).with_name('demo_bank.npz')) as z:_BANK={k:z[k] for k in z.files}
31
+ with np.load(Path(__file__).with_name('response_bank.npz')) as z:_RESPONSE={k:z[k] for k in z.files}
32
+ b=_BANK;q=np.asarray(obs['proprioception']['agent/qpos']).reshape(-1)
33
+ visual=np.stack([image_feature(obs['rgb'][c]) for c in CAMERAS]).astype(float)
34
+ if _cursor is None:
35
+ err=((b['visual'][b['offsets'][:-1]].astype(float)-visual)/255)**2
36
+ scene_score=err.mean((1,2));scene_score[np.diff(b['offsets'])>650]=np.inf
37
+ _demo=int(np.argmin(scene_score));_cursor=float(b['offsets'][_demo]);_last_step=step
38
+ lo=int(b['offsets'][_demo]);hi=int(b['offsets'][_demo+1])
39
+ # Re-localize within a short phase neighborhood while keeping forward progress.
40
+ center=int(_cursor);ids=np.arange(max(lo,center-8),min(hi,center+21))
41
+ dq=((b['q'][ids]-q)/b['q_scale'])**2
42
+ err=.7*dq[:,:7].mean(1)+.3*dq[:,7:].mean(1)
43
+ err+=12*(((b['visual'][ids].astype(float)-visual)/255)**2).mean((1,2))
44
+ best=int(ids[np.argmin(err)])
45
+ elapsed=max(1,step-_last_step)
46
+ _cursor=min(hi-1,max(_cursor+.65*elapsed, min(best+1,_cursor+2*elapsed)))
47
+ ref=min(hi-1,int(_cursor)+3);action=b['actions'][ref].copy()
48
+ # Empirical local differential response, fitted only from legal demo transitions.
49
+ rb=_RESPONSE;dist=((rb['q']-q[:7])**2).sum(1);nn=np.argpartition(dist,249)[:250]
50
+ x=rb['a'][nn];y=rb['dq'][nn];w=1/(.02+dist[nn]);w/=w.max()
51
+ mat=np.linalg.solve(x.T@(w[:,None]*x)+np.eye(4)*.002,x.T@(w[:,None]*y))
52
+ delta=(b['q'][ref,:7]-q[:7])*.06
53
+ correction=np.linalg.solve(mat@mat.T+np.eye(4)*.003,mat@delta)
54
+ action[[0,1,2,5]]+=np.clip(correction,-.04,.04)
55
+ action[6:]+=np.clip(.3*(b['q'][ref,7:]-q[7:]),-.08,.08)
56
+ _last_step=step;_previous_phase=float((_cursor-lo)/(hi-lo))
57
+ return np.clip(action,-1,1).astype(np.float32)
58
+
59
+
60
+ def act(obs):
61
+ global _cached_action,_cached_step
62
+ step=int(obs['step_id'])
63
+ if step>=850:return None
64
+ if _cached_step is not None and step<_cached_step:reset_episode()
65
+ if _cached_action is None or step-_cached_step>=5:
66
+ _cached_action=_decide(obs);_cached_step=step
67
+ return _cached_action.copy()
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/demo_manifest.json ADDED
@@ -0,0 +1,1488 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "task_id": "DexOpenDoor-v1",
3
+ "status": "released",
4
+ "selection_rule": "prefer existing pinned D20, otherwise numeric trajectory ID sort before reading data",
5
+ "lineage_status": "pinned_comparator",
6
+ "episodes": [
7
+ {
8
+ "demo_id": "demo_00",
9
+ "file": "demo_00.h5",
10
+ "length": 523,
11
+ "fields": [
12
+ {
13
+ "path": "actions",
14
+ "shape": [
15
+ 523,
16
+ 22
17
+ ],
18
+ "dtype": "float32"
19
+ },
20
+ {
21
+ "path": "obs/agent/qpos",
22
+ "shape": [
23
+ 524,
24
+ 23
25
+ ],
26
+ "dtype": "float32"
27
+ },
28
+ {
29
+ "path": "obs/agent/qvel",
30
+ "shape": [
31
+ 524,
32
+ 23
33
+ ],
34
+ "dtype": "float32"
35
+ },
36
+ {
37
+ "path": "obs/sensor_data/front_camera/rgb",
38
+ "shape": [
39
+ 524,
40
+ 240,
41
+ 320,
42
+ 3
43
+ ],
44
+ "dtype": "uint8"
45
+ },
46
+ {
47
+ "path": "obs/sensor_data/left_camera/rgb",
48
+ "shape": [
49
+ 524,
50
+ 240,
51
+ 320,
52
+ 3
53
+ ],
54
+ "dtype": "uint8"
55
+ },
56
+ {
57
+ "path": "obs/sensor_data/robot_camera/rgb",
58
+ "shape": [
59
+ 524,
60
+ 240,
61
+ 320,
62
+ 3
63
+ ],
64
+ "dtype": "uint8"
65
+ },
66
+ {
67
+ "path": "obs/sensor_data/top_camera/rgb",
68
+ "shape": [
69
+ 524,
70
+ 320,
71
+ 240,
72
+ 3
73
+ ],
74
+ "dtype": "uint8"
75
+ }
76
+ ],
77
+ "trajectory_sha256": "731befb6c138e7ee5fe8ae2f04b760795e0be3ef855e5239a6c7e675f86eb609",
78
+ "source_sha256": "2a061389ba5b4a25086eed6d3a4f7e8658f865c1213125dc963650a3caa9b600",
79
+ "view_sha256": "7edab06ee1a33bd59b0799f3f08beffc4aa2e593a99d4c6ebb14266afbdf67c5"
80
+ },
81
+ {
82
+ "demo_id": "demo_01",
83
+ "file": "demo_01.h5",
84
+ "length": 559,
85
+ "fields": [
86
+ {
87
+ "path": "actions",
88
+ "shape": [
89
+ 559,
90
+ 22
91
+ ],
92
+ "dtype": "float32"
93
+ },
94
+ {
95
+ "path": "obs/agent/qpos",
96
+ "shape": [
97
+ 560,
98
+ 23
99
+ ],
100
+ "dtype": "float32"
101
+ },
102
+ {
103
+ "path": "obs/agent/qvel",
104
+ "shape": [
105
+ 560,
106
+ 23
107
+ ],
108
+ "dtype": "float32"
109
+ },
110
+ {
111
+ "path": "obs/sensor_data/front_camera/rgb",
112
+ "shape": [
113
+ 560,
114
+ 240,
115
+ 320,
116
+ 3
117
+ ],
118
+ "dtype": "uint8"
119
+ },
120
+ {
121
+ "path": "obs/sensor_data/left_camera/rgb",
122
+ "shape": [
123
+ 560,
124
+ 240,
125
+ 320,
126
+ 3
127
+ ],
128
+ "dtype": "uint8"
129
+ },
130
+ {
131
+ "path": "obs/sensor_data/robot_camera/rgb",
132
+ "shape": [
133
+ 560,
134
+ 240,
135
+ 320,
136
+ 3
137
+ ],
138
+ "dtype": "uint8"
139
+ },
140
+ {
141
+ "path": "obs/sensor_data/top_camera/rgb",
142
+ "shape": [
143
+ 560,
144
+ 320,
145
+ 240,
146
+ 3
147
+ ],
148
+ "dtype": "uint8"
149
+ }
150
+ ],
151
+ "trajectory_sha256": "269741ed0a4db26d47c12503ce0d2463551b6946c85d65bd9dd77253d730acda",
152
+ "source_sha256": "fbca30f7b6da9d9e25bcfe3c4311a6d813491290cc0a4beb0a47d12bc29df8bd",
153
+ "view_sha256": "0c38d9aecdc8f3b5c98f2e133a8e5df62904d4b7992093493408698335fc0127"
154
+ },
155
+ {
156
+ "demo_id": "demo_02",
157
+ "file": "demo_02.h5",
158
+ "length": 752,
159
+ "fields": [
160
+ {
161
+ "path": "actions",
162
+ "shape": [
163
+ 752,
164
+ 22
165
+ ],
166
+ "dtype": "float32"
167
+ },
168
+ {
169
+ "path": "obs/agent/qpos",
170
+ "shape": [
171
+ 753,
172
+ 23
173
+ ],
174
+ "dtype": "float32"
175
+ },
176
+ {
177
+ "path": "obs/agent/qvel",
178
+ "shape": [
179
+ 753,
180
+ 23
181
+ ],
182
+ "dtype": "float32"
183
+ },
184
+ {
185
+ "path": "obs/sensor_data/front_camera/rgb",
186
+ "shape": [
187
+ 753,
188
+ 240,
189
+ 320,
190
+ 3
191
+ ],
192
+ "dtype": "uint8"
193
+ },
194
+ {
195
+ "path": "obs/sensor_data/left_camera/rgb",
196
+ "shape": [
197
+ 753,
198
+ 240,
199
+ 320,
200
+ 3
201
+ ],
202
+ "dtype": "uint8"
203
+ },
204
+ {
205
+ "path": "obs/sensor_data/robot_camera/rgb",
206
+ "shape": [
207
+ 753,
208
+ 240,
209
+ 320,
210
+ 3
211
+ ],
212
+ "dtype": "uint8"
213
+ },
214
+ {
215
+ "path": "obs/sensor_data/top_camera/rgb",
216
+ "shape": [
217
+ 753,
218
+ 320,
219
+ 240,
220
+ 3
221
+ ],
222
+ "dtype": "uint8"
223
+ }
224
+ ],
225
+ "trajectory_sha256": "6f243c7bd2c0f0d1b5ebe5695cafee689092554440c835bb775662c883785622",
226
+ "source_sha256": "ccd614a8c352293f6636348ecdf7cc0e9dbb4666f2b9ecfe57e811ea21ff4c9a",
227
+ "view_sha256": "97ddf520907299646899a10d67a558ddbcea59be98a16b730321d5543644a549"
228
+ },
229
+ {
230
+ "demo_id": "demo_03",
231
+ "file": "demo_03.h5",
232
+ "length": 520,
233
+ "fields": [
234
+ {
235
+ "path": "actions",
236
+ "shape": [
237
+ 520,
238
+ 22
239
+ ],
240
+ "dtype": "float32"
241
+ },
242
+ {
243
+ "path": "obs/agent/qpos",
244
+ "shape": [
245
+ 521,
246
+ 23
247
+ ],
248
+ "dtype": "float32"
249
+ },
250
+ {
251
+ "path": "obs/agent/qvel",
252
+ "shape": [
253
+ 521,
254
+ 23
255
+ ],
256
+ "dtype": "float32"
257
+ },
258
+ {
259
+ "path": "obs/sensor_data/front_camera/rgb",
260
+ "shape": [
261
+ 521,
262
+ 240,
263
+ 320,
264
+ 3
265
+ ],
266
+ "dtype": "uint8"
267
+ },
268
+ {
269
+ "path": "obs/sensor_data/left_camera/rgb",
270
+ "shape": [
271
+ 521,
272
+ 240,
273
+ 320,
274
+ 3
275
+ ],
276
+ "dtype": "uint8"
277
+ },
278
+ {
279
+ "path": "obs/sensor_data/robot_camera/rgb",
280
+ "shape": [
281
+ 521,
282
+ 240,
283
+ 320,
284
+ 3
285
+ ],
286
+ "dtype": "uint8"
287
+ },
288
+ {
289
+ "path": "obs/sensor_data/top_camera/rgb",
290
+ "shape": [
291
+ 521,
292
+ 320,
293
+ 240,
294
+ 3
295
+ ],
296
+ "dtype": "uint8"
297
+ }
298
+ ],
299
+ "trajectory_sha256": "2e874d3d960269fd388a0503fba8c5a081357dd414cb84d25e7731e2d6e049c2",
300
+ "source_sha256": "197f4ce951cc3eb46298045277d55ef96a107696c628348d46b9b3bd78e13826",
301
+ "view_sha256": "1a7955b2a98698c21a7d8846b63177b9a01e31fa86861f9c9aca71bce549411f"
302
+ },
303
+ {
304
+ "demo_id": "demo_04",
305
+ "file": "demo_04.h5",
306
+ "length": 515,
307
+ "fields": [
308
+ {
309
+ "path": "actions",
310
+ "shape": [
311
+ 515,
312
+ 22
313
+ ],
314
+ "dtype": "float32"
315
+ },
316
+ {
317
+ "path": "obs/agent/qpos",
318
+ "shape": [
319
+ 516,
320
+ 23
321
+ ],
322
+ "dtype": "float32"
323
+ },
324
+ {
325
+ "path": "obs/agent/qvel",
326
+ "shape": [
327
+ 516,
328
+ 23
329
+ ],
330
+ "dtype": "float32"
331
+ },
332
+ {
333
+ "path": "obs/sensor_data/front_camera/rgb",
334
+ "shape": [
335
+ 516,
336
+ 240,
337
+ 320,
338
+ 3
339
+ ],
340
+ "dtype": "uint8"
341
+ },
342
+ {
343
+ "path": "obs/sensor_data/left_camera/rgb",
344
+ "shape": [
345
+ 516,
346
+ 240,
347
+ 320,
348
+ 3
349
+ ],
350
+ "dtype": "uint8"
351
+ },
352
+ {
353
+ "path": "obs/sensor_data/robot_camera/rgb",
354
+ "shape": [
355
+ 516,
356
+ 240,
357
+ 320,
358
+ 3
359
+ ],
360
+ "dtype": "uint8"
361
+ },
362
+ {
363
+ "path": "obs/sensor_data/top_camera/rgb",
364
+ "shape": [
365
+ 516,
366
+ 320,
367
+ 240,
368
+ 3
369
+ ],
370
+ "dtype": "uint8"
371
+ }
372
+ ],
373
+ "trajectory_sha256": "36c243fd71503f5c046d21ffc4184cdab0c593ad477868245c7052538a3703a6",
374
+ "source_sha256": "eb5b567700e6cdeddce441e612c26934143fae42826b1ae211ebe5093b406621",
375
+ "view_sha256": "3b360b5d8b7484751591614e01260aa90a39d17f8bfecc60f4dd733658197f6e"
376
+ },
377
+ {
378
+ "demo_id": "demo_05",
379
+ "file": "demo_05.h5",
380
+ "length": 491,
381
+ "fields": [
382
+ {
383
+ "path": "actions",
384
+ "shape": [
385
+ 491,
386
+ 22
387
+ ],
388
+ "dtype": "float32"
389
+ },
390
+ {
391
+ "path": "obs/agent/qpos",
392
+ "shape": [
393
+ 492,
394
+ 23
395
+ ],
396
+ "dtype": "float32"
397
+ },
398
+ {
399
+ "path": "obs/agent/qvel",
400
+ "shape": [
401
+ 492,
402
+ 23
403
+ ],
404
+ "dtype": "float32"
405
+ },
406
+ {
407
+ "path": "obs/sensor_data/front_camera/rgb",
408
+ "shape": [
409
+ 492,
410
+ 240,
411
+ 320,
412
+ 3
413
+ ],
414
+ "dtype": "uint8"
415
+ },
416
+ {
417
+ "path": "obs/sensor_data/left_camera/rgb",
418
+ "shape": [
419
+ 492,
420
+ 240,
421
+ 320,
422
+ 3
423
+ ],
424
+ "dtype": "uint8"
425
+ },
426
+ {
427
+ "path": "obs/sensor_data/robot_camera/rgb",
428
+ "shape": [
429
+ 492,
430
+ 240,
431
+ 320,
432
+ 3
433
+ ],
434
+ "dtype": "uint8"
435
+ },
436
+ {
437
+ "path": "obs/sensor_data/top_camera/rgb",
438
+ "shape": [
439
+ 492,
440
+ 320,
441
+ 240,
442
+ 3
443
+ ],
444
+ "dtype": "uint8"
445
+ }
446
+ ],
447
+ "trajectory_sha256": "5caa1d4c56b940c2ae90fc92fc67561e2d112bd44210b4d5ae5cbad3a76b2361",
448
+ "source_sha256": "1cba68f654a167937909702a91b7efed93e5da8e6403105fbdf075da982b1489",
449
+ "view_sha256": "cc98d993ae03987b80b7993250c848843802cbf81a8d6725783061ed2f40d41b"
450
+ },
451
+ {
452
+ "demo_id": "demo_06",
453
+ "file": "demo_06.h5",
454
+ "length": 567,
455
+ "fields": [
456
+ {
457
+ "path": "actions",
458
+ "shape": [
459
+ 567,
460
+ 22
461
+ ],
462
+ "dtype": "float32"
463
+ },
464
+ {
465
+ "path": "obs/agent/qpos",
466
+ "shape": [
467
+ 568,
468
+ 23
469
+ ],
470
+ "dtype": "float32"
471
+ },
472
+ {
473
+ "path": "obs/agent/qvel",
474
+ "shape": [
475
+ 568,
476
+ 23
477
+ ],
478
+ "dtype": "float32"
479
+ },
480
+ {
481
+ "path": "obs/sensor_data/front_camera/rgb",
482
+ "shape": [
483
+ 568,
484
+ 240,
485
+ 320,
486
+ 3
487
+ ],
488
+ "dtype": "uint8"
489
+ },
490
+ {
491
+ "path": "obs/sensor_data/left_camera/rgb",
492
+ "shape": [
493
+ 568,
494
+ 240,
495
+ 320,
496
+ 3
497
+ ],
498
+ "dtype": "uint8"
499
+ },
500
+ {
501
+ "path": "obs/sensor_data/robot_camera/rgb",
502
+ "shape": [
503
+ 568,
504
+ 240,
505
+ 320,
506
+ 3
507
+ ],
508
+ "dtype": "uint8"
509
+ },
510
+ {
511
+ "path": "obs/sensor_data/top_camera/rgb",
512
+ "shape": [
513
+ 568,
514
+ 320,
515
+ 240,
516
+ 3
517
+ ],
518
+ "dtype": "uint8"
519
+ }
520
+ ],
521
+ "trajectory_sha256": "13e121637efab71cd20182a542a5e46628f385335102f7900507154d4823749f",
522
+ "source_sha256": "43eabbea916e5668879515024b0d658b44fbdbf827d5e9479773ca46a3eb12d6",
523
+ "view_sha256": "30c3a56b8e0f3194bd459807591fefef9f33a02f03bea795ac97b335d35c1f24"
524
+ },
525
+ {
526
+ "demo_id": "demo_07",
527
+ "file": "demo_07.h5",
528
+ "length": 483,
529
+ "fields": [
530
+ {
531
+ "path": "actions",
532
+ "shape": [
533
+ 483,
534
+ 22
535
+ ],
536
+ "dtype": "float32"
537
+ },
538
+ {
539
+ "path": "obs/agent/qpos",
540
+ "shape": [
541
+ 484,
542
+ 23
543
+ ],
544
+ "dtype": "float32"
545
+ },
546
+ {
547
+ "path": "obs/agent/qvel",
548
+ "shape": [
549
+ 484,
550
+ 23
551
+ ],
552
+ "dtype": "float32"
553
+ },
554
+ {
555
+ "path": "obs/sensor_data/front_camera/rgb",
556
+ "shape": [
557
+ 484,
558
+ 240,
559
+ 320,
560
+ 3
561
+ ],
562
+ "dtype": "uint8"
563
+ },
564
+ {
565
+ "path": "obs/sensor_data/left_camera/rgb",
566
+ "shape": [
567
+ 484,
568
+ 240,
569
+ 320,
570
+ 3
571
+ ],
572
+ "dtype": "uint8"
573
+ },
574
+ {
575
+ "path": "obs/sensor_data/robot_camera/rgb",
576
+ "shape": [
577
+ 484,
578
+ 240,
579
+ 320,
580
+ 3
581
+ ],
582
+ "dtype": "uint8"
583
+ },
584
+ {
585
+ "path": "obs/sensor_data/top_camera/rgb",
586
+ "shape": [
587
+ 484,
588
+ 320,
589
+ 240,
590
+ 3
591
+ ],
592
+ "dtype": "uint8"
593
+ }
594
+ ],
595
+ "trajectory_sha256": "8ff206086b2cad99c552c434ba39ae5e7a45d6993cad88c35dd8f28f0bcb7c69",
596
+ "source_sha256": "30618266169e941b50bdabe700f1d6ecd1f2035bb238ffc8c82b372ce5a26d1b",
597
+ "view_sha256": "56dfb836e5c6164798382e836cc11a29aaebb8ffcc44aa9bfb2fc181fcf7206c"
598
+ },
599
+ {
600
+ "demo_id": "demo_08",
601
+ "file": "demo_08.h5",
602
+ "length": 529,
603
+ "fields": [
604
+ {
605
+ "path": "actions",
606
+ "shape": [
607
+ 529,
608
+ 22
609
+ ],
610
+ "dtype": "float32"
611
+ },
612
+ {
613
+ "path": "obs/agent/qpos",
614
+ "shape": [
615
+ 530,
616
+ 23
617
+ ],
618
+ "dtype": "float32"
619
+ },
620
+ {
621
+ "path": "obs/agent/qvel",
622
+ "shape": [
623
+ 530,
624
+ 23
625
+ ],
626
+ "dtype": "float32"
627
+ },
628
+ {
629
+ "path": "obs/sensor_data/front_camera/rgb",
630
+ "shape": [
631
+ 530,
632
+ 240,
633
+ 320,
634
+ 3
635
+ ],
636
+ "dtype": "uint8"
637
+ },
638
+ {
639
+ "path": "obs/sensor_data/left_camera/rgb",
640
+ "shape": [
641
+ 530,
642
+ 240,
643
+ 320,
644
+ 3
645
+ ],
646
+ "dtype": "uint8"
647
+ },
648
+ {
649
+ "path": "obs/sensor_data/robot_camera/rgb",
650
+ "shape": [
651
+ 530,
652
+ 240,
653
+ 320,
654
+ 3
655
+ ],
656
+ "dtype": "uint8"
657
+ },
658
+ {
659
+ "path": "obs/sensor_data/top_camera/rgb",
660
+ "shape": [
661
+ 530,
662
+ 320,
663
+ 240,
664
+ 3
665
+ ],
666
+ "dtype": "uint8"
667
+ }
668
+ ],
669
+ "trajectory_sha256": "07490059ab573c430821ff9ea915b78abcea8b62670ee558ff745ec9d1dc1d3a",
670
+ "source_sha256": "508a68ad2be19d10274cecf604fac84d9413895178dab4db1486afa522134104",
671
+ "view_sha256": "4e13ff5539507471160e43835ff9dff55af83a07d35dbca0026ded46238f57c8"
672
+ },
673
+ {
674
+ "demo_id": "demo_09",
675
+ "file": "demo_09.h5",
676
+ "length": 562,
677
+ "fields": [
678
+ {
679
+ "path": "actions",
680
+ "shape": [
681
+ 562,
682
+ 22
683
+ ],
684
+ "dtype": "float32"
685
+ },
686
+ {
687
+ "path": "obs/agent/qpos",
688
+ "shape": [
689
+ 563,
690
+ 23
691
+ ],
692
+ "dtype": "float32"
693
+ },
694
+ {
695
+ "path": "obs/agent/qvel",
696
+ "shape": [
697
+ 563,
698
+ 23
699
+ ],
700
+ "dtype": "float32"
701
+ },
702
+ {
703
+ "path": "obs/sensor_data/front_camera/rgb",
704
+ "shape": [
705
+ 563,
706
+ 240,
707
+ 320,
708
+ 3
709
+ ],
710
+ "dtype": "uint8"
711
+ },
712
+ {
713
+ "path": "obs/sensor_data/left_camera/rgb",
714
+ "shape": [
715
+ 563,
716
+ 240,
717
+ 320,
718
+ 3
719
+ ],
720
+ "dtype": "uint8"
721
+ },
722
+ {
723
+ "path": "obs/sensor_data/robot_camera/rgb",
724
+ "shape": [
725
+ 563,
726
+ 240,
727
+ 320,
728
+ 3
729
+ ],
730
+ "dtype": "uint8"
731
+ },
732
+ {
733
+ "path": "obs/sensor_data/top_camera/rgb",
734
+ "shape": [
735
+ 563,
736
+ 320,
737
+ 240,
738
+ 3
739
+ ],
740
+ "dtype": "uint8"
741
+ }
742
+ ],
743
+ "trajectory_sha256": "ff67881accd95e549a9336fac8fcdaa4bac246a6d15996c0f1478332c347269e",
744
+ "source_sha256": "aa0e67f8cd34eb17b37711ef1984f0bb6d160925d2c661ddfcc7248ba378ba9c",
745
+ "view_sha256": "245ab0a7378f2680acf08402ddfc5cff23e3c28a0dabab7f3d83624c7de5db61"
746
+ },
747
+ {
748
+ "demo_id": "demo_10",
749
+ "file": "demo_10.h5",
750
+ "length": 467,
751
+ "fields": [
752
+ {
753
+ "path": "actions",
754
+ "shape": [
755
+ 467,
756
+ 22
757
+ ],
758
+ "dtype": "float32"
759
+ },
760
+ {
761
+ "path": "obs/agent/qpos",
762
+ "shape": [
763
+ 468,
764
+ 23
765
+ ],
766
+ "dtype": "float32"
767
+ },
768
+ {
769
+ "path": "obs/agent/qvel",
770
+ "shape": [
771
+ 468,
772
+ 23
773
+ ],
774
+ "dtype": "float32"
775
+ },
776
+ {
777
+ "path": "obs/sensor_data/front_camera/rgb",
778
+ "shape": [
779
+ 468,
780
+ 240,
781
+ 320,
782
+ 3
783
+ ],
784
+ "dtype": "uint8"
785
+ },
786
+ {
787
+ "path": "obs/sensor_data/left_camera/rgb",
788
+ "shape": [
789
+ 468,
790
+ 240,
791
+ 320,
792
+ 3
793
+ ],
794
+ "dtype": "uint8"
795
+ },
796
+ {
797
+ "path": "obs/sensor_data/robot_camera/rgb",
798
+ "shape": [
799
+ 468,
800
+ 240,
801
+ 320,
802
+ 3
803
+ ],
804
+ "dtype": "uint8"
805
+ },
806
+ {
807
+ "path": "obs/sensor_data/top_camera/rgb",
808
+ "shape": [
809
+ 468,
810
+ 320,
811
+ 240,
812
+ 3
813
+ ],
814
+ "dtype": "uint8"
815
+ }
816
+ ],
817
+ "trajectory_sha256": "3849236e3db828e4e8ee7de1ad0c8483a5c725ba783af749bbde551b52af686f",
818
+ "source_sha256": "e92b7ec94145e282849c74cf59d2a74e5f3a819932e1422f956e57df410e2e6f",
819
+ "view_sha256": "e2d1e2828addc37ffacc03e8ced863b1f7e233be15cb82a640d00061cd2e7c65"
820
+ },
821
+ {
822
+ "demo_id": "demo_11",
823
+ "file": "demo_11.h5",
824
+ "length": 616,
825
+ "fields": [
826
+ {
827
+ "path": "actions",
828
+ "shape": [
829
+ 616,
830
+ 22
831
+ ],
832
+ "dtype": "float32"
833
+ },
834
+ {
835
+ "path": "obs/agent/qpos",
836
+ "shape": [
837
+ 617,
838
+ 23
839
+ ],
840
+ "dtype": "float32"
841
+ },
842
+ {
843
+ "path": "obs/agent/qvel",
844
+ "shape": [
845
+ 617,
846
+ 23
847
+ ],
848
+ "dtype": "float32"
849
+ },
850
+ {
851
+ "path": "obs/sensor_data/front_camera/rgb",
852
+ "shape": [
853
+ 617,
854
+ 240,
855
+ 320,
856
+ 3
857
+ ],
858
+ "dtype": "uint8"
859
+ },
860
+ {
861
+ "path": "obs/sensor_data/left_camera/rgb",
862
+ "shape": [
863
+ 617,
864
+ 240,
865
+ 320,
866
+ 3
867
+ ],
868
+ "dtype": "uint8"
869
+ },
870
+ {
871
+ "path": "obs/sensor_data/robot_camera/rgb",
872
+ "shape": [
873
+ 617,
874
+ 240,
875
+ 320,
876
+ 3
877
+ ],
878
+ "dtype": "uint8"
879
+ },
880
+ {
881
+ "path": "obs/sensor_data/top_camera/rgb",
882
+ "shape": [
883
+ 617,
884
+ 320,
885
+ 240,
886
+ 3
887
+ ],
888
+ "dtype": "uint8"
889
+ }
890
+ ],
891
+ "trajectory_sha256": "2190acadb69eb7cece24c181e45db2f81df03a305bb6727122fa369c74e55bfb",
892
+ "source_sha256": "c034e9c3b9053d81640ac37d74132445408661d92d1f7bc33bfb85a08766470e",
893
+ "view_sha256": "ee3ca2e208b884873a8d20505bae5149651fa159b7dbb57b078eb26f68c30524"
894
+ },
895
+ {
896
+ "demo_id": "demo_12",
897
+ "file": "demo_12.h5",
898
+ "length": 503,
899
+ "fields": [
900
+ {
901
+ "path": "actions",
902
+ "shape": [
903
+ 503,
904
+ 22
905
+ ],
906
+ "dtype": "float32"
907
+ },
908
+ {
909
+ "path": "obs/agent/qpos",
910
+ "shape": [
911
+ 504,
912
+ 23
913
+ ],
914
+ "dtype": "float32"
915
+ },
916
+ {
917
+ "path": "obs/agent/qvel",
918
+ "shape": [
919
+ 504,
920
+ 23
921
+ ],
922
+ "dtype": "float32"
923
+ },
924
+ {
925
+ "path": "obs/sensor_data/front_camera/rgb",
926
+ "shape": [
927
+ 504,
928
+ 240,
929
+ 320,
930
+ 3
931
+ ],
932
+ "dtype": "uint8"
933
+ },
934
+ {
935
+ "path": "obs/sensor_data/left_camera/rgb",
936
+ "shape": [
937
+ 504,
938
+ 240,
939
+ 320,
940
+ 3
941
+ ],
942
+ "dtype": "uint8"
943
+ },
944
+ {
945
+ "path": "obs/sensor_data/robot_camera/rgb",
946
+ "shape": [
947
+ 504,
948
+ 240,
949
+ 320,
950
+ 3
951
+ ],
952
+ "dtype": "uint8"
953
+ },
954
+ {
955
+ "path": "obs/sensor_data/top_camera/rgb",
956
+ "shape": [
957
+ 504,
958
+ 320,
959
+ 240,
960
+ 3
961
+ ],
962
+ "dtype": "uint8"
963
+ }
964
+ ],
965
+ "trajectory_sha256": "6eb03eb670dca01c12d1bed340cb6dbc5759fa35b03a6114e593b5a1a363684f",
966
+ "source_sha256": "cc068d0cae807b8794d2415ca6dcb33bb120a64110a1ded3162585a67d6d4542",
967
+ "view_sha256": "b02bfee14836b7ce35740628b37aa82180679dd241b8f4e1d4c27a33eb11c952"
968
+ },
969
+ {
970
+ "demo_id": "demo_13",
971
+ "file": "demo_13.h5",
972
+ "length": 797,
973
+ "fields": [
974
+ {
975
+ "path": "actions",
976
+ "shape": [
977
+ 797,
978
+ 22
979
+ ],
980
+ "dtype": "float32"
981
+ },
982
+ {
983
+ "path": "obs/agent/qpos",
984
+ "shape": [
985
+ 798,
986
+ 23
987
+ ],
988
+ "dtype": "float32"
989
+ },
990
+ {
991
+ "path": "obs/agent/qvel",
992
+ "shape": [
993
+ 798,
994
+ 23
995
+ ],
996
+ "dtype": "float32"
997
+ },
998
+ {
999
+ "path": "obs/sensor_data/front_camera/rgb",
1000
+ "shape": [
1001
+ 798,
1002
+ 240,
1003
+ 320,
1004
+ 3
1005
+ ],
1006
+ "dtype": "uint8"
1007
+ },
1008
+ {
1009
+ "path": "obs/sensor_data/left_camera/rgb",
1010
+ "shape": [
1011
+ 798,
1012
+ 240,
1013
+ 320,
1014
+ 3
1015
+ ],
1016
+ "dtype": "uint8"
1017
+ },
1018
+ {
1019
+ "path": "obs/sensor_data/robot_camera/rgb",
1020
+ "shape": [
1021
+ 798,
1022
+ 240,
1023
+ 320,
1024
+ 3
1025
+ ],
1026
+ "dtype": "uint8"
1027
+ },
1028
+ {
1029
+ "path": "obs/sensor_data/top_camera/rgb",
1030
+ "shape": [
1031
+ 798,
1032
+ 320,
1033
+ 240,
1034
+ 3
1035
+ ],
1036
+ "dtype": "uint8"
1037
+ }
1038
+ ],
1039
+ "trajectory_sha256": "de58982a53304ee9d2634e36521c63b49bd94e695cae4e12576a62db73e7559f",
1040
+ "source_sha256": "e1f73d54a63e3e1329d73a450805f560b8b33ed53516eac63248f9caa2a771a3",
1041
+ "view_sha256": "3f2dc0ab9f7896d6ccb73693b647289631140d0d392951af328bf9a4d76882d4"
1042
+ },
1043
+ {
1044
+ "demo_id": "demo_14",
1045
+ "file": "demo_14.h5",
1046
+ "length": 468,
1047
+ "fields": [
1048
+ {
1049
+ "path": "actions",
1050
+ "shape": [
1051
+ 468,
1052
+ 22
1053
+ ],
1054
+ "dtype": "float32"
1055
+ },
1056
+ {
1057
+ "path": "obs/agent/qpos",
1058
+ "shape": [
1059
+ 469,
1060
+ 23
1061
+ ],
1062
+ "dtype": "float32"
1063
+ },
1064
+ {
1065
+ "path": "obs/agent/qvel",
1066
+ "shape": [
1067
+ 469,
1068
+ 23
1069
+ ],
1070
+ "dtype": "float32"
1071
+ },
1072
+ {
1073
+ "path": "obs/sensor_data/front_camera/rgb",
1074
+ "shape": [
1075
+ 469,
1076
+ 240,
1077
+ 320,
1078
+ 3
1079
+ ],
1080
+ "dtype": "uint8"
1081
+ },
1082
+ {
1083
+ "path": "obs/sensor_data/left_camera/rgb",
1084
+ "shape": [
1085
+ 469,
1086
+ 240,
1087
+ 320,
1088
+ 3
1089
+ ],
1090
+ "dtype": "uint8"
1091
+ },
1092
+ {
1093
+ "path": "obs/sensor_data/robot_camera/rgb",
1094
+ "shape": [
1095
+ 469,
1096
+ 240,
1097
+ 320,
1098
+ 3
1099
+ ],
1100
+ "dtype": "uint8"
1101
+ },
1102
+ {
1103
+ "path": "obs/sensor_data/top_camera/rgb",
1104
+ "shape": [
1105
+ 469,
1106
+ 320,
1107
+ 240,
1108
+ 3
1109
+ ],
1110
+ "dtype": "uint8"
1111
+ }
1112
+ ],
1113
+ "trajectory_sha256": "6b6a8c1dc700317c47c09b4c2cb964910813e43a0472aa33fb500f98323b4d84",
1114
+ "source_sha256": "534c4586f76adc89478545de89e03c1aae490e0933aa270aa59b919fa2b07238",
1115
+ "view_sha256": "74bd697ff20e2425aa47be4f9fb7a867a422ed5cdbb65faa6960c63e30ed65d8"
1116
+ },
1117
+ {
1118
+ "demo_id": "demo_15",
1119
+ "file": "demo_15.h5",
1120
+ "length": 512,
1121
+ "fields": [
1122
+ {
1123
+ "path": "actions",
1124
+ "shape": [
1125
+ 512,
1126
+ 22
1127
+ ],
1128
+ "dtype": "float32"
1129
+ },
1130
+ {
1131
+ "path": "obs/agent/qpos",
1132
+ "shape": [
1133
+ 513,
1134
+ 23
1135
+ ],
1136
+ "dtype": "float32"
1137
+ },
1138
+ {
1139
+ "path": "obs/agent/qvel",
1140
+ "shape": [
1141
+ 513,
1142
+ 23
1143
+ ],
1144
+ "dtype": "float32"
1145
+ },
1146
+ {
1147
+ "path": "obs/sensor_data/front_camera/rgb",
1148
+ "shape": [
1149
+ 513,
1150
+ 240,
1151
+ 320,
1152
+ 3
1153
+ ],
1154
+ "dtype": "uint8"
1155
+ },
1156
+ {
1157
+ "path": "obs/sensor_data/left_camera/rgb",
1158
+ "shape": [
1159
+ 513,
1160
+ 240,
1161
+ 320,
1162
+ 3
1163
+ ],
1164
+ "dtype": "uint8"
1165
+ },
1166
+ {
1167
+ "path": "obs/sensor_data/robot_camera/rgb",
1168
+ "shape": [
1169
+ 513,
1170
+ 240,
1171
+ 320,
1172
+ 3
1173
+ ],
1174
+ "dtype": "uint8"
1175
+ },
1176
+ {
1177
+ "path": "obs/sensor_data/top_camera/rgb",
1178
+ "shape": [
1179
+ 513,
1180
+ 320,
1181
+ 240,
1182
+ 3
1183
+ ],
1184
+ "dtype": "uint8"
1185
+ }
1186
+ ],
1187
+ "trajectory_sha256": "f16585322e610da47a5b04c343b1dabc8409d47ed07ee0b86e5d95edc6d0c555",
1188
+ "source_sha256": "fc1a2c37895076783cb827c62fe5160cd930d285aa89cd09648671702a0c7f27",
1189
+ "view_sha256": "a0f11094a66993e8e8b05d7bc4dc06643e719f91b8f5f3c08ef495530fcbfff8"
1190
+ },
1191
+ {
1192
+ "demo_id": "demo_16",
1193
+ "file": "demo_16.h5",
1194
+ "length": 537,
1195
+ "fields": [
1196
+ {
1197
+ "path": "actions",
1198
+ "shape": [
1199
+ 537,
1200
+ 22
1201
+ ],
1202
+ "dtype": "float32"
1203
+ },
1204
+ {
1205
+ "path": "obs/agent/qpos",
1206
+ "shape": [
1207
+ 538,
1208
+ 23
1209
+ ],
1210
+ "dtype": "float32"
1211
+ },
1212
+ {
1213
+ "path": "obs/agent/qvel",
1214
+ "shape": [
1215
+ 538,
1216
+ 23
1217
+ ],
1218
+ "dtype": "float32"
1219
+ },
1220
+ {
1221
+ "path": "obs/sensor_data/front_camera/rgb",
1222
+ "shape": [
1223
+ 538,
1224
+ 240,
1225
+ 320,
1226
+ 3
1227
+ ],
1228
+ "dtype": "uint8"
1229
+ },
1230
+ {
1231
+ "path": "obs/sensor_data/left_camera/rgb",
1232
+ "shape": [
1233
+ 538,
1234
+ 240,
1235
+ 320,
1236
+ 3
1237
+ ],
1238
+ "dtype": "uint8"
1239
+ },
1240
+ {
1241
+ "path": "obs/sensor_data/robot_camera/rgb",
1242
+ "shape": [
1243
+ 538,
1244
+ 240,
1245
+ 320,
1246
+ 3
1247
+ ],
1248
+ "dtype": "uint8"
1249
+ },
1250
+ {
1251
+ "path": "obs/sensor_data/top_camera/rgb",
1252
+ "shape": [
1253
+ 538,
1254
+ 320,
1255
+ 240,
1256
+ 3
1257
+ ],
1258
+ "dtype": "uint8"
1259
+ }
1260
+ ],
1261
+ "trajectory_sha256": "07e516f86775a9118adb7ff0c28682f88bcdf26b4c8c52c8315d439902ab8e5f",
1262
+ "source_sha256": "92cfe03a37d2096575c34da46f287b4b0d70c578fee19288c5cef739a8aae6c0",
1263
+ "view_sha256": "7b78c36b7cc3725a82b125ed38928a2c8bce06c2deae54ff1993487f9c65fbf7"
1264
+ },
1265
+ {
1266
+ "demo_id": "demo_17",
1267
+ "file": "demo_17.h5",
1268
+ "length": 552,
1269
+ "fields": [
1270
+ {
1271
+ "path": "actions",
1272
+ "shape": [
1273
+ 552,
1274
+ 22
1275
+ ],
1276
+ "dtype": "float32"
1277
+ },
1278
+ {
1279
+ "path": "obs/agent/qpos",
1280
+ "shape": [
1281
+ 553,
1282
+ 23
1283
+ ],
1284
+ "dtype": "float32"
1285
+ },
1286
+ {
1287
+ "path": "obs/agent/qvel",
1288
+ "shape": [
1289
+ 553,
1290
+ 23
1291
+ ],
1292
+ "dtype": "float32"
1293
+ },
1294
+ {
1295
+ "path": "obs/sensor_data/front_camera/rgb",
1296
+ "shape": [
1297
+ 553,
1298
+ 240,
1299
+ 320,
1300
+ 3
1301
+ ],
1302
+ "dtype": "uint8"
1303
+ },
1304
+ {
1305
+ "path": "obs/sensor_data/left_camera/rgb",
1306
+ "shape": [
1307
+ 553,
1308
+ 240,
1309
+ 320,
1310
+ 3
1311
+ ],
1312
+ "dtype": "uint8"
1313
+ },
1314
+ {
1315
+ "path": "obs/sensor_data/robot_camera/rgb",
1316
+ "shape": [
1317
+ 553,
1318
+ 240,
1319
+ 320,
1320
+ 3
1321
+ ],
1322
+ "dtype": "uint8"
1323
+ },
1324
+ {
1325
+ "path": "obs/sensor_data/top_camera/rgb",
1326
+ "shape": [
1327
+ 553,
1328
+ 320,
1329
+ 240,
1330
+ 3
1331
+ ],
1332
+ "dtype": "uint8"
1333
+ }
1334
+ ],
1335
+ "trajectory_sha256": "75c7c380394ff639b82d8d853a45858cd6ccdde257785e1b173c236eb46b0f23",
1336
+ "source_sha256": "f19edb0df2a44ad9c2a33913de1ae71580eeaa4510de6f5c10efbafb39af37bc",
1337
+ "view_sha256": "d4b6da3746a9c938cd42db129107ff15531271eb3543a9147ce7ff90db250b8b"
1338
+ },
1339
+ {
1340
+ "demo_id": "demo_18",
1341
+ "file": "demo_18.h5",
1342
+ "length": 507,
1343
+ "fields": [
1344
+ {
1345
+ "path": "actions",
1346
+ "shape": [
1347
+ 507,
1348
+ 22
1349
+ ],
1350
+ "dtype": "float32"
1351
+ },
1352
+ {
1353
+ "path": "obs/agent/qpos",
1354
+ "shape": [
1355
+ 508,
1356
+ 23
1357
+ ],
1358
+ "dtype": "float32"
1359
+ },
1360
+ {
1361
+ "path": "obs/agent/qvel",
1362
+ "shape": [
1363
+ 508,
1364
+ 23
1365
+ ],
1366
+ "dtype": "float32"
1367
+ },
1368
+ {
1369
+ "path": "obs/sensor_data/front_camera/rgb",
1370
+ "shape": [
1371
+ 508,
1372
+ 240,
1373
+ 320,
1374
+ 3
1375
+ ],
1376
+ "dtype": "uint8"
1377
+ },
1378
+ {
1379
+ "path": "obs/sensor_data/left_camera/rgb",
1380
+ "shape": [
1381
+ 508,
1382
+ 240,
1383
+ 320,
1384
+ 3
1385
+ ],
1386
+ "dtype": "uint8"
1387
+ },
1388
+ {
1389
+ "path": "obs/sensor_data/robot_camera/rgb",
1390
+ "shape": [
1391
+ 508,
1392
+ 240,
1393
+ 320,
1394
+ 3
1395
+ ],
1396
+ "dtype": "uint8"
1397
+ },
1398
+ {
1399
+ "path": "obs/sensor_data/top_camera/rgb",
1400
+ "shape": [
1401
+ 508,
1402
+ 320,
1403
+ 240,
1404
+ 3
1405
+ ],
1406
+ "dtype": "uint8"
1407
+ }
1408
+ ],
1409
+ "trajectory_sha256": "e56ff6a16ccc1bd9b52dd279b2c5a12689cfb1506133e6506a50428af0242c09",
1410
+ "source_sha256": "0074e834973cc73eb42aff4bbbc36dfc20cbf90d84f054afcf89303231e97f0a",
1411
+ "view_sha256": "18691a89db690dddddc01f12b677a28d41cae4b857716c6f6a1d03b385e0499a"
1412
+ },
1413
+ {
1414
+ "demo_id": "demo_19",
1415
+ "file": "demo_19.h5",
1416
+ "length": 578,
1417
+ "fields": [
1418
+ {
1419
+ "path": "actions",
1420
+ "shape": [
1421
+ 578,
1422
+ 22
1423
+ ],
1424
+ "dtype": "float32"
1425
+ },
1426
+ {
1427
+ "path": "obs/agent/qpos",
1428
+ "shape": [
1429
+ 579,
1430
+ 23
1431
+ ],
1432
+ "dtype": "float32"
1433
+ },
1434
+ {
1435
+ "path": "obs/agent/qvel",
1436
+ "shape": [
1437
+ 579,
1438
+ 23
1439
+ ],
1440
+ "dtype": "float32"
1441
+ },
1442
+ {
1443
+ "path": "obs/sensor_data/front_camera/rgb",
1444
+ "shape": [
1445
+ 579,
1446
+ 240,
1447
+ 320,
1448
+ 3
1449
+ ],
1450
+ "dtype": "uint8"
1451
+ },
1452
+ {
1453
+ "path": "obs/sensor_data/left_camera/rgb",
1454
+ "shape": [
1455
+ 579,
1456
+ 240,
1457
+ 320,
1458
+ 3
1459
+ ],
1460
+ "dtype": "uint8"
1461
+ },
1462
+ {
1463
+ "path": "obs/sensor_data/robot_camera/rgb",
1464
+ "shape": [
1465
+ 579,
1466
+ 240,
1467
+ 320,
1468
+ 3
1469
+ ],
1470
+ "dtype": "uint8"
1471
+ },
1472
+ {
1473
+ "path": "obs/sensor_data/top_camera/rgb",
1474
+ "shape": [
1475
+ 579,
1476
+ 320,
1477
+ 240,
1478
+ 3
1479
+ ],
1480
+ "dtype": "uint8"
1481
+ }
1482
+ ],
1483
+ "trajectory_sha256": "93254118160d0253f544853ccd0087414c4b6e75da6e1b990f480bbc651791b0",
1484
+ "source_sha256": "15c0afe19710f77f81aa6871d20b942acafcaf60a0ea2a6edd4d17e4789b9111",
1485
+ "view_sha256": "ef20d71ab91677a20d96cc1f23ee0dd1d2da0da9d40d90ce9747cb8b02477d83"
1486
+ }
1487
+ ]
1488
+ }
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/environment.lock ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==2.4.0
2
+ accelerate==1.13.0
3
+ addict==2.4.0
4
+ aiohappyeyeballs==2.6.1
5
+ aiohttp==3.13.5
6
+ aiosignal==1.4.0
7
+ annotated-types==0.7.0
8
+ anyio==4.13.0
9
+ anytree==2.13.0
10
+ asttokens==3.0.1
11
+ async-timeout==5.0.1
12
+ attrs==26.1.0
13
+ av==15.1.0
14
+ blinker==1.9.0
15
+ casadi==3.7.2
16
+ certifi==2026.4.22
17
+ cffi==2.0.0
18
+ charset-normalizer==3.4.7
19
+ click==8.3.3
20
+ cloudpickle==3.1.2
21
+ cmake==4.1.3
22
+ coacd==1.0.11
23
+ colorama==0.4.6
24
+ colorlog==6.10.1
25
+ comm==0.2.3
26
+ ConfigArgParse==1.7.5
27
+ contourpy==1.3.2
28
+ cuda-bindings==12.9.4
29
+ cuda-pathfinder==1.5.4
30
+ cycler==0.12.1
31
+ dacite==1.9.2
32
+ dash==4.1.0
33
+ dataclasses-json==0.6.7
34
+ datasets==4.8.5
35
+ decorator==5.2.1
36
+ deepdiff==8.6.2
37
+ Deprecated==1.3.1
38
+ diffusers==0.35.2
39
+ dill==0.4.1
40
+ docstring_parser==0.18.0
41
+ draccus==0.10.0
42
+ einops==0.8.2
43
+ embreex==4.4.0
44
+ etils==1.13.0
45
+ evdev==1.9.3
46
+ exceptiongroup==1.3.1
47
+ executing==2.2.1
48
+ Farama-Notifications==0.0.6
49
+ fast_simplification==0.1.13
50
+ fastjsonschema==2.21.2
51
+ filelock==3.29.0
52
+ Flask==3.1.3
53
+ fonttools==4.63.0
54
+ freetype-py==2.5.1
55
+ frozenlist==1.8.0
56
+ fsspec==2026.2.0
57
+ genesis-world @ file:///data/gck/genesis-world
58
+ git-filter-repo==2.47.0
59
+ gitdb==4.0.12
60
+ GitPython==3.1.50
61
+ glfw==2.10.0
62
+ gs-madrona==0.0.5
63
+ gstaichi==3.3.0
64
+ gym==0.26.2
65
+ gym-notices==0.1.0
66
+ gymnasium==1.3.0
67
+ h11==0.16.0
68
+ h5py==3.16.0
69
+ hf-xet==1.5.0
70
+ hf_transfer==0.1.9
71
+ httpcore==1.0.9
72
+ httpx==0.28.1
73
+ huggingface-hub==0.35.3
74
+ idna==3.15
75
+ ImageIO==2.37.3
76
+ imageio-ffmpeg==0.6.0
77
+ importlib_metadata==9.0.0
78
+ importlib_resources==7.1.0
79
+ inquirerpy==0.3.4
80
+ ipython==8.39.0
81
+ ipywidgets==8.1.8
82
+ itsdangerous==2.2.0
83
+ jedi==0.20.0
84
+ Jinja2==3.1.6
85
+ joblib==1.5.3
86
+ jsonlines==4.0.0
87
+ jsonschema==4.26.0
88
+ jsonschema-specifications==2025.9.1
89
+ jupyter_core==5.9.1
90
+ jupyterlab_widgets==3.0.16
91
+ kiwisolver==1.5.0
92
+ lazy-loader==0.5
93
+ lerobot==0.4.4
94
+ libigl==2.6.2
95
+ llvmlite==0.47.0
96
+ loguru==0.7.3
97
+ lxml==6.1.0
98
+ manifold3d==3.4.1
99
+ -e git+ssh://git@github.com/HeegerGao/maniladder.git@f6eed17496816bb41ce484f2d7580990a908d3e6#egg=maniladder
100
+ mapbox_earcut==2.0.0
101
+ markdown-it-py==4.2.0
102
+ MarkupSafe==3.0.3
103
+ marshmallow==3.26.2
104
+ matplotlib==3.10.9
105
+ matplotlib-inline==0.2.2
106
+ mdurl==0.1.2
107
+ mergedeep==1.3.4
108
+ moviepy==2.2.1
109
+ mpmath==1.3.0
110
+ msgspec==0.21.1
111
+ mujoco==3.8.1
112
+ multidict==6.7.1
113
+ multiprocess==0.70.19
114
+ mypy_extensions==1.1.0
115
+ nbformat==5.10.4
116
+ nest-asyncio==1.6.0
117
+ networkx==3.4.2
118
+ ninja==1.13.0
119
+ nlopt==2.10.0
120
+ numba==0.65.1
121
+ numpy @ file:///home/conda/feedstock_root/build_artifacts/numpy_1747544640217/work/dist/numpy-2.2.6-cp310-cp310-linux_x86_64.whl#sha256=d6d964caeef85d00073d27cd62b46883d275b3d8162f723f0fcabbd0b3cc3f9d
122
+ nvidia-cublas-cu12==12.8.4.1
123
+ nvidia-cuda-cupti-cu12==12.8.90
124
+ nvidia-cuda-nvrtc-cu12==12.8.93
125
+ nvidia-cuda-runtime-cu12==12.8.90
126
+ nvidia-cudnn-cu12==9.10.2.21
127
+ nvidia-cufft-cu12==11.3.3.83
128
+ nvidia-cufile-cu12==1.13.1.3
129
+ nvidia-curand-cu12==10.3.9.90
130
+ nvidia-cusolver-cu12==11.7.3.90
131
+ nvidia-cusparse-cu12==12.5.8.93
132
+ nvidia-cusparselt-cu12==0.7.1
133
+ nvidia-nccl-cu12==2.27.5
134
+ nvidia-nvjitlink-cu12==12.8.93
135
+ nvidia-nvshmem-cu12==3.4.5
136
+ nvidia-nvtx-cu12==12.8.90
137
+ open3d==0.19.0
138
+ opencv-python==4.13.0.92
139
+ opencv-python-headless==4.12.0.88
140
+ OpenEXR==3.4.11
141
+ orderly-set==5.5.0
142
+ packaging==25.0
143
+ pandas==2.3.3
144
+ parso==0.8.7
145
+ pexpect==4.9.0
146
+ pfzy==0.3.4
147
+ pillow==11.3.0
148
+ pin==4.0.0
149
+ pip @ file:///home/task_177498883471825/croot/pip_1774988882575/work
150
+ platformdirs==4.9.6
151
+ plotly==5.24.1
152
+ polyscope==2.6.1
153
+ proglog==0.1.12
154
+ prompt_toolkit==3.0.52
155
+ propcache==0.5.2
156
+ protobuf==6.33.6
157
+ psutil==7.2.2
158
+ ptyprocess==0.7.0
159
+ pure_eval==0.2.3
160
+ py-cpuinfo==9.0.0
161
+ py-spy==0.4.2
162
+ pyarrow==24.0.0
163
+ pycollada==0.9.3
164
+ pycparser==3.0
165
+ pydantic==2.13.4
166
+ pydantic_core==2.46.4
167
+ PyGEL3D==0.6.1
168
+ pyglet==2.1.14
169
+ pygltflib==1.16.0
170
+ Pygments==2.20.0
171
+ pymeshlab==2025.7.post1
172
+ pynput==1.8.2
173
+ PyOpenGL==3.1.10
174
+ pyparsing==3.3.2
175
+ pyperclip==1.11.0
176
+ PyQt6==6.11.0
177
+ PyQt6-Qt6==6.11.0
178
+ PyQt6_sip==13.11.1
179
+ pyquaternion==0.9.9
180
+ pyserial==3.5
181
+ pysplashsurf==0.12.0.2
182
+ python-dateutil==2.9.0.post0
183
+ python-dotenv==1.2.2
184
+ python-xlib==0.33
185
+ pytransform3d==3.15.0
186
+ pytz==2026.2
187
+ pyuipc @ file:///tmp/claude-1005/-mnt4-gck-maniladder/9f005e67-04f6-4368-bd0e-9f40896c7dbf/scratchpad/pyuipc_dl/pyuipc-0.0.25-cp310-cp310-manylinux_2_34_x86_64.whl#sha256=76ff13554e1971ea4401db2c875369cf32352ae3a5a4c398c45193231b5cbf00
188
+ PyYAML==6.0.3
189
+ pyyaml-include==1.4.1
190
+ referencing==0.37.0
191
+ regex==2026.5.9
192
+ requests==2.34.2
193
+ rerun-sdk==0.26.2
194
+ retrying==1.4.2
195
+ rich==14.3.4
196
+ rpds-py==0.30.0
197
+ rtree==1.4.1
198
+ safetensors==0.7.0
199
+ sapien==3.0.3
200
+ scikit-image==0.25.2
201
+ scikit-learn==1.7.2
202
+ scipy @ file:///home/conda/feedstock_root/build_artifacts/scipy-split_1739790642651/work/dist/scipy-1.15.2-cp310-cp310-linux_x86_64.whl#sha256=9e52bad6c3294d1a5b04a13632118ca2157130603c6c018c2d710162b223b27e
203
+ sentry-sdk==2.60.0
204
+ setuptools==80.10.2
205
+ shapely==2.1.2
206
+ six==1.17.0
207
+ smmap==5.0.3
208
+ stack-data==0.6.3
209
+ svg.path==7.0
210
+ sympy==1.14.0
211
+ tenacity==9.1.4
212
+ termcolor==3.3.0
213
+ tetgen==0.8.4
214
+ threadpoolctl==3.6.0
215
+ tifffile==2025.5.10
216
+ timm==1.0.27
217
+ toml==0.10.2
218
+ torch==2.10.0
219
+ torchaudio==2.11.0
220
+ torchcodec==0.10.0
221
+ torchvision==0.25.0
222
+ tqdm==4.67.3
223
+ traitlets==5.15.0
224
+ transforms3d==0.4.2
225
+ trimesh==4.12.2
226
+ triton==3.6.0
227
+ typeguard==4.5.2
228
+ typing-inspect==0.9.0
229
+ typing-inspection==0.4.2
230
+ typing_extensions==4.15.0
231
+ tyro==1.0.13
232
+ tzdata==2026.2
233
+ urllib3==2.7.0
234
+ vhacdx==0.0.10
235
+ viser==1.0.27
236
+ vtk==9.6.1
237
+ wandb==0.24.2
238
+ wcwidth==0.7.0
239
+ websockets==16.0
240
+ Werkzeug==3.1.8
241
+ wheel==0.46.3
242
+ widgetsnbextension==4.0.15
243
+ wrapt==2.1.2
244
+ xxhash==3.7.0
245
+ yarl==1.23.0
246
+ yourdfpy==0.0.60
247
+ z3-solver==4.16.0.0
248
+ zipp==3.23.1
249
+ zstandard==0.25.0
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/findings.md ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Task-local findings for the simpler candidate
2
+
3
+ Current bundle: no added downward hold; five-step cached trajectory tracking with empirical joint feedback. The earlier sections below retain the development history.
4
+
5
+ All data came from this task's 20 authorized D20 demonstrations and trusted API exploration. No other task artifacts, simulator source, direct resets, seeds, hidden scene state, network services, or neural weight updates were used. Original actual demonstration inspection is retained in ../demo_analysis.md and ../evidence/inspection_indices.json. The original preparation report is historical, not a claim about the final controller.
6
+
7
+ | Slot | Controller/test | Final native step | Native success |
8
+ |---|---|---:|---|
9
+ | 1 | Original RGB/proprio action retrieval | 850 | None |
10
+ | 2 | Retrieval with bounded lookahead | 551 | False |
11
+ | 3 | Lookahead plus initial-scene preference | 550 | False |
12
+ | 4 | Empirical joint-feedback trajectory tracker | 492 | True |
13
+ | 5 | Unchanged tracker repeat | 434 | True |
14
+ | 6 | Independent per-step tracker rehearsal | 850 | False |
15
+ | 7 | Explicit five-step cadence; long reference | 461 | False |
16
+ | 8 | Soft preference for shorter references | 386 | False |
17
+ | 9 | Slower phase progression | 612 | True |
18
+ | 10 | Unchanged slower tracker | 850 | False |
19
+ | 11 | End-of-reference regrasp attempt | 850 | False |
20
+ | 12 | Short references and bounded regrasp | 850 | False |
21
+ | 13 | Removed empirical arm correction | 850 | False |
22
+ | 14 | Downward hold before side grasp | 417 | True |
23
+ | 15 | Unchanged final-controller repeat | 850 | False |
24
+ | 16 | Unchanged final-controller repeat | 850 | False |
25
+
26
+ Slots 2, 3, 7 and 8 ended after observed stalls or loss of contact, before the horizon. Their unsuccessful endpoints do not prove that every possible continuation would fail. Each slot used a fresh placement; these are exploratory comparisons, not controlled ablations or an unbiased success-rate estimate.
27
+
28
+ ## Localization and pose
29
+ Initial qpos is identical across demonstrations, so scene selection uses the first legal post-hold RGB. Current RGB and qpos re-localize within a short reference window. Fine pose differences can still be lost by downsampling. Long references 02 and 13 produced major retreats in exploration; the final policy selects among the other 18 references. All 20 still supply local empirical response samples. This does not label the source demonstrations as unsuccessful.
30
+
31
+ ## Timing, grasp, and recovery
32
+ Direct action retrieval stalled on nearly static handle frames. Bounded phase progression escaped those traps but could outrun contact. A slower variant succeeded in slot9, yet failed on other placements. The added-hold candidate tested in slots14-16 retains the faster tracker that succeeded in slots4/5, makes its five-step decision cadence explicit, and adds a 25-native-step downward hold before a demonstration-derived hand-closing transition. Slot14 succeeded with this configuration. Finger posture feedback is retained. There is no calibrated contact, latch-release, handle-release, or completion detector.
33
+
34
+ Partial opening and hand/handle separation were common failures. A one-time late regrasp was explored in slots11-13 without native success and is not retained. Removing empirical arm correction also failed in slot13 and is not retained. The added-hold candidate tested in slots14-16 cannot guarantee recovery after a missed grasp; it may continue reference commands after contact is lost.
35
+
36
+ ## Program and audit limitations
37
+ An initial API-wrapper KeyError after the first action in slot1 was corrected while resuming the same slot. Its first submitted action was deterministically reconstructed from the retained observation and baseline source; later actions were recorded. Two transient diagnostic views in slot1 (steps214/307) were displayed but their temporary files were later overwritten; nearby milestone observations at200/300 are retained. Do not claim those exact transient files remain on disk.
38
+
39
+ For interactive slots1-8, actions.npy records submitted vectors and can include unexecuted trailing commands in the final chunk after early native termination. From slot9 onward, actions.npy uses the API executed count, and submitted_actions.npy records requests separately. Native step counts include the runner-owned hold. Milestone RGB/proprio observations and final views are saved in ../evidence/epNN. Independent rehearsal action traces are not returned by this API; returned hashes/results and final legal camera observations are retained instead.
40
+
41
+ Slot6 completed independently and was valid/runnable, but native success was false. Its hash was 623de3f0735c6530e0e8990484319b74517848570e632b7aaddd8d990a43b04e. A separate visible-false submission was rejected because native scores cannot be overwritten; the native result was preserved. No other score is inferred from images when native feedback is present.
42
+
43
+ ## Final rehearsal scoring
44
+ Slots17-20 are reserved for independent rehearsals. Each API call snapshots the exact submitted bundle; materially different candidates may be separately rehearsed and selected by the runner. Their results are not known at snapshot time and must be taken from runner receipts / the workspace audit, not invented here. Use native sparse feedback when returned. If absent, the preregistered visible rule requires images to unambiguously show the upper latch moved toward the post, handle undone, and door swung open; ambiguous evidence is false. A narrow gap alone was treated conservatively as incomplete/ambiguous.
45
+
46
+
47
+ ## Alternative submitted after slot17
48
+ The added-hold bundle completed slot17 independently but native success was false. This subsequent bundle removes the extra downward hold and retains the simpler trajectory tracker, empirical joint correction, and explicit five-step cadence. Reference selection still excludes paths longer than650steps. The related tracker succeeded in interactive slots4/5, but those were not independent tests of this exact packaged version. The historical table above describes the tested variants at those slots, including the added-hold variant at14-16. Independent results for this alternative must come from its own runner receipts.
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/freeze_manifest.json ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "files": {
3
+ "bank_provenance.json": "a866ca20da074039b0ca778517f239529b74e2f36b339aea73dd24b9e2f15268",
4
+ "controller.py": "f432c2697ce304265a2ac3c87bccdd5a1e3907085d8d6121c3c7734c89327ad8",
5
+ "demo_bank.npz": "7722f878093806e09f4dee9a3bde09c2f7c10041289996430be4e9f6223a2655",
6
+ "demo_manifest.json": "3e10c585d25c80b066ba7de46202e9faacc893f56b5dede50ad1f230a8ece337",
7
+ "demonstrations_readonly/demo_00.h5": "7edab06ee1a33bd59b0799f3f08beffc4aa2e593a99d4c6ebb14266afbdf67c5",
8
+ "demonstrations_readonly/demo_01.h5": "0c38d9aecdc8f3b5c98f2e133a8e5df62904d4b7992093493408698335fc0127",
9
+ "demonstrations_readonly/demo_02.h5": "97ddf520907299646899a10d67a558ddbcea59be98a16b730321d5543644a549",
10
+ "demonstrations_readonly/demo_03.h5": "1a7955b2a98698c21a7d8846b63177b9a01e31fa86861f9c9aca71bce549411f",
11
+ "demonstrations_readonly/demo_04.h5": "3b360b5d8b7484751591614e01260aa90a39d17f8bfecc60f4dd733658197f6e",
12
+ "demonstrations_readonly/demo_05.h5": "cc98d993ae03987b80b7993250c848843802cbf81a8d6725783061ed2f40d41b",
13
+ "demonstrations_readonly/demo_06.h5": "30c3a56b8e0f3194bd459807591fefef9f33a02f03bea795ac97b335d35c1f24",
14
+ "demonstrations_readonly/demo_07.h5": "56dfb836e5c6164798382e836cc11a29aaebb8ffcc44aa9bfb2fc181fcf7206c",
15
+ "demonstrations_readonly/demo_08.h5": "4e13ff5539507471160e43835ff9dff55af83a07d35dbca0026ded46238f57c8",
16
+ "demonstrations_readonly/demo_09.h5": "245ab0a7378f2680acf08402ddfc5cff23e3c28a0dabab7f3d83624c7de5db61",
17
+ "demonstrations_readonly/demo_10.h5": "e2d1e2828addc37ffacc03e8ced863b1f7e233be15cb82a640d00061cd2e7c65",
18
+ "demonstrations_readonly/demo_11.h5": "ee3ca2e208b884873a8d20505bae5149651fa159b7dbb57b078eb26f68c30524",
19
+ "demonstrations_readonly/demo_12.h5": "b02bfee14836b7ce35740628b37aa82180679dd241b8f4e1d4c27a33eb11c952",
20
+ "demonstrations_readonly/demo_13.h5": "3f2dc0ab9f7896d6ccb73693b647289631140d0d392951af328bf9a4d76882d4",
21
+ "demonstrations_readonly/demo_14.h5": "74bd697ff20e2425aa47be4f9fb7a867a422ed5cdbb65faa6960c63e30ed65d8",
22
+ "demonstrations_readonly/demo_15.h5": "a0f11094a66993e8e8b05d7bc4dc06643e719f91b8f5f3c08ef495530fcbfff8",
23
+ "demonstrations_readonly/demo_16.h5": "7b78c36b7cc3725a82b125ed38928a2c8bce06c2deae54ff1993487f9c65fbf7",
24
+ "demonstrations_readonly/demo_17.h5": "d4b6da3746a9c938cd42db129107ff15531271eb3543a9147ce7ff90db250b8b",
25
+ "demonstrations_readonly/demo_18.h5": "18691a89db690dddddc01f12b677a28d41cae4b857716c6f6a1d03b385e0499a",
26
+ "demonstrations_readonly/demo_19.h5": "ef20d71ab91677a20d96cc1f23ee0dd1d2da0da9d40d90ce9747cb8b02477d83",
27
+ "environment.lock": "f9f11f093744865020243315494d48c69e38ff9e67783e7cf5f0a1e5f22b34aa",
28
+ "findings.md": "9bdba9bda0d1e88a25512633d4ae7801985f5c5dfd58319ec717f769ab6ea2f3",
29
+ "handoff.md": "c9373a92263ae4f1e9028877550ced35350a07b6306c7bb4a64b4d304347fe36",
30
+ "model_tool_manifest.yaml": "257a34af94b743bff60b9073b857789c966eab87cab3018daf1a252ee4afd21d",
31
+ "policy_runner.py": "cd8a30fc763583fb9bf6570414f01d56aba16241c733fc0cdfdfab0f8f27270e",
32
+ "response_bank.npz": "2b1a54b927f11e6d3882446b52b4997715eaf5f19f1f38c72b097cc366bb6eb3",
33
+ "response_bank_provenance.json": "caaf8d512da312fb0a5f771760316b8ed363cab0763e1afb2af13fff72f92b3e",
34
+ "skills.md": "3d0005e6567aacff4e8409fbe6e47b49c8a96c4bbfcf3b7b4842e7e5ce9e3533",
35
+ "worker_api.py": "88cca5fa5c1c9570ca2bd90e8848f67c09224fa498d94e63634ad191e913c41e"
36
+ },
37
+ "bundle_hash": "3c872d21054f5de08c5d590651895d900d2b14dbf69496dee5c37940b2b7e3a6",
38
+ "exploration_ledger_hash": "b9030aa54f4812083b6b2beefacd0679c1de5a73787ab5a72d9a32672b1c19ed",
39
+ "entrypoint": "controller.reset_episode(); controller.act(obs)",
40
+ "selection": {
41
+ "rule": "exact-version success rate, valid rehearsal count, recency",
42
+ "rehearsals": [
43
+ {
44
+ "episode": 6,
45
+ "bundle_hash": "623de3f0735c6530e0e8990484319b74517848570e632b7aaddd8d990a43b04e",
46
+ "independent": true,
47
+ "valid": true,
48
+ "status": "finished",
49
+ "success": false,
50
+ "score_source": "native_step_feedback"
51
+ },
52
+ {
53
+ "episode": 17,
54
+ "bundle_hash": "af0030659f849f69bf2537b2f138985dfa639a76720000268a4d0277981c2975",
55
+ "independent": true,
56
+ "valid": true,
57
+ "status": "finished",
58
+ "success": false,
59
+ "score_source": "native_step_feedback"
60
+ },
61
+ {
62
+ "episode": 18,
63
+ "bundle_hash": "3c872d21054f5de08c5d590651895d900d2b14dbf69496dee5c37940b2b7e3a6",
64
+ "independent": true,
65
+ "valid": true,
66
+ "status": "finished",
67
+ "success": false,
68
+ "score_source": "native_step_feedback"
69
+ },
70
+ {
71
+ "episode": 19,
72
+ "bundle_hash": "3c872d21054f5de08c5d590651895d900d2b14dbf69496dee5c37940b2b7e3a6",
73
+ "independent": true,
74
+ "valid": true,
75
+ "status": "finished",
76
+ "success": true,
77
+ "score_source": "native_step_feedback"
78
+ },
79
+ {
80
+ "episode": 20,
81
+ "bundle_hash": "3c872d21054f5de08c5d590651895d900d2b14dbf69496dee5c37940b2b7e3a6",
82
+ "independent": true,
83
+ "valid": true,
84
+ "status": "finished",
85
+ "success": false,
86
+ "score_source": "native_step_feedback"
87
+ }
88
+ ]
89
+ }
90
+ }
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/handoff.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Offline handoff
2
+
3
+ Task: DexOpenDoor-v1. Slide the upper latch toward the side post, undo the handle, and swing the door open.
4
+
5
+ Runtime files: controller.py, demo_bank.npz, response_bank.npz. Keep the two data files beside the controller. Imports are Python standard library, NumPy and OpenCV only. No API, network, development agent, external model, or simulator is used by the frozen program. The runner separately adds the verified demonstration manifest, readonly authorized demonstrations, and common environment lock.
6
+
7
+ Interface: reset_episode() clears every per-episode phase/cadence/press state. act(obs) accepts legal RGB, agent/qpos and step_id, returning one finite 22-component normalized delta vector. It returns None only at step_id>=850. The initial hold is runner-owned and consumes step1; the controller adds no startup hold. Five native steps share each newly computed action, and legal observations drive the next decision.
8
+
9
+ The program uses a fixed demonstration descriptor bank, local image/joint phase matching, bounded forward reference progress, and local least-squares joint-response correction. Reference paths longer than 650 steps are not selected, but all 20 authorized demonstrations remain in the response bank. This alternative removes the added downward press and follows the demonstrated handle/grasp timing directly. It retains the five-step decision cadence and empirical joint feedback. See findings.md for successes, failures and limitations; see response_bank_provenance.json for the non-neural response data construction.
10
+
11
+ The bundle is documented before the final independent rehearsal stage (slots17-20). Final scores and selected bundle hash come from API.rehearse/API.freeze receipts and the workspace audit. Do not confuse earlier interactive successes with independent success. Native scores are authoritative when supplied; otherwise ambiguous visible evidence is false.
12
+
13
+ Workspace audit paths (not runtime dependencies): ../demo_analysis.md, ../evidence/exploration_log.md, ../evidence/development_results.json, ../evidence/rehearsalNN*.json/jpg/pkl, and ../versions/. Behavior must not change after the final rehearsal. After exactly 20 charged slots, freeze through the trusted API and stop development. No evaluation outputs may be accessed.
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/model_tool_manifest.yaml ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema": "task-local-compiled-v1",
3
+ "task_id": "DexOpenDoor-v1",
4
+ "stage": "simpler alternative entering independent slots18-20 after native failure in17",
5
+ "authorized_data": {
6
+ "demo_ids": [
7
+ "demo_00",
8
+ "demo_01",
9
+ "demo_02",
10
+ "demo_03",
11
+ "demo_04",
12
+ "demo_05",
13
+ "demo_06",
14
+ "demo_07",
15
+ "demo_08",
16
+ "demo_09",
17
+ "demo_10",
18
+ "demo_11",
19
+ "demo_12",
20
+ "demo_13",
21
+ "demo_14",
22
+ "demo_15",
23
+ "demo_16",
24
+ "demo_17",
25
+ "demo_18",
26
+ "demo_19"
27
+ ],
28
+ "other_task_data": false,
29
+ "legal_exploration": "trusted API slots1-16; see development_results.json"
30
+ },
31
+ "model": {
32
+ "coding_assistant": "OpenAI Codex; exact model revision not exposed",
33
+ "neural_finetuning": false,
34
+ "pretrained_weights_loaded": [],
35
+ "runtime_neural_model": false
36
+ },
37
+ "policy": {
38
+ "kind": "deterministic nonparametric trajectory tracking with local empirical joint feedback",
39
+ "runtime_files": [
40
+ "controller.py",
41
+ "demo_bank.npz",
42
+ "response_bank.npz"
43
+ ],
44
+ "entrypoints": [
45
+ "reset_episode()",
46
+ "act(obs)"
47
+ ],
48
+ "native_horizon": 850,
49
+ "native_control_hz": 20,
50
+ "decision_interval_native_steps": 5,
51
+ "action_width": 22,
52
+ "action_bounds": [
53
+ -1,
54
+ 1
55
+ ],
56
+ "action_order": "xyz translation, xyz rotation, sixteen dex joint deltas",
57
+ "initial_hold": "runner owned; native step1",
58
+ "runtime_external_reads": false,
59
+ "network": false,
60
+ "reference_selection": "first legal RGB, paths<=650steps; no scene IDs or seeds",
61
+ "parameter_provenance": "authorized demonstrations and manually reviewed legal exploration; no neural optimization",
62
+ "pregrasp_hold_native_steps": 0
63
+ },
64
+ "runtime_dependencies": {
65
+ "python": "3.10.20",
66
+ "numpy": "2.2.6",
67
+ "opencv-python": "4.12.0",
68
+ "environment": "runner-provided common lock"
69
+ },
70
+ "tools_actually_used": [
71
+ "worker_api.API budget_status/read_demo/next_episode/latest_observation/execute_actions/finish_episode/rehearse/score_rehearsal",
72
+ "local Python/NumPy/OpenCV/Pillow for legal observation analysis and evidence",
73
+ "local shell tools for own files; no external network"
74
+ ],
75
+ "provenance_files": [
76
+ "bank_provenance.json",
77
+ "response_bank_provenance.json"
78
+ ],
79
+ "validation": {
80
+ "interactive_native_success_slots": [
81
+ 4,
82
+ 5,
83
+ 9,
84
+ 14
85
+ ],
86
+ "final_controller_interactive_success_slots": [],
87
+ "independent_before_final": [
88
+ {
89
+ "episode": 6,
90
+ "valid": true,
91
+ "native_success": false
92
+ },
93
+ {
94
+ "episode": 17,
95
+ "valid": true,
96
+ "native_success": false,
97
+ "bundle_hash": "af0030659f849f69bf2537b2f138985dfa639a76720000268a4d0277981c2975"
98
+ }
99
+ ],
100
+ "final_rehearsals": "slots18-20 for this exact alternative; runner receipts authoritative",
101
+ "simulators_created_or_imported": false,
102
+ "related_earlier_tracker_success_slots": [
103
+ 4,
104
+ 5
105
+ ]
106
+ },
107
+ "scoring": "Native sparse feedback when present. Otherwise unambiguous visible public-task completion only; ambiguity false.",
108
+ "limitations": [
109
+ "Pose descriptor quantization and contact-state ambiguity",
110
+ "Empirical response may be inaccurate near contact or uncommon postures",
111
+ "No calibrated release/completion detector or retained proven regrasp",
112
+ "Exploration comparisons use different placements; no unbiased generalization estimate"
113
+ ],
114
+ "runtime_sha256": {
115
+ "controller.py": "f432c2697ce304265a2ac3c87bccdd5a1e3907085d8d6121c3c7734c89327ad8",
116
+ "demo_bank.npz": "7722f878093806e09f4dee9a3bde09c2f7c10041289996430be4e9f6223a2655",
117
+ "response_bank.npz": "2b1a54b927f11e6d3882446b52b4997715eaf5f19f1f38c72b097cc366bb6eb3"
118
+ },
119
+ "runner_supplied": [
120
+ "verified demonstration manifest",
121
+ "readonly authorized demonstration files",
122
+ "common environment lock"
123
+ ]
124
+ }
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/policy_runner.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Frozen-program entry point; no development agent and no reset capability."""
2
+ import importlib.util
3
+ import sys
4
+
5
+ sys.path.insert(0,'/artifact')
6
+ sys.path.insert(0,'/')
7
+ from worker_api import API
8
+
9
+
10
+ def main():
11
+ spec=importlib.util.spec_from_file_location('controller','/artifact/controller.py')
12
+ module=importlib.util.module_from_spec(spec)
13
+ spec.loader.exec_module(module)
14
+ module.reset_episode()
15
+ api=API()
16
+ result=api.latest_observation()
17
+ while not (result['terminated'] or result['truncated'] or result['horizon_reached']):
18
+ obs=dict(result['observation'],step_id=result['step_id'])
19
+ action=module.act(obs)
20
+ if action is None:break
21
+ response=api.execute_actions([action])
22
+ result=response['steps'][-1]
23
+
24
+
25
+ if __name__=='__main__':main()
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/response_bank_provenance.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "source": "Authorized task-local demo_bank.npz, itself compiled via API.read_demo for demo_00..demo_19",
3
+ "source_sha256": "7722f878093806e09f4dee9a3bde09c2f7c10041289996430be4e9f6223a2655",
4
+ "transitions": "q[t+1,:7]-q[t,:7], excluding last bank row of every demo; actions[t,[0,1,2,5]]",
5
+ "shapes": {
6
+ "q": [
7
+ 11018,
8
+ 7
9
+ ],
10
+ "dq": [
11
+ 11018,
12
+ 7
13
+ ],
14
+ "a": [
15
+ 11018,
16
+ 4
17
+ ]
18
+ },
19
+ "neural_weights": false,
20
+ "other_task_data": false
21
+ }
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/skills.md ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # Demonstration-derived controller skills
2
+
3
+ 1. Select a reference using first post-hold four-camera RGB, excluding paths longer than650native steps. Re-localize using current images and joint posture in a short phase window.
4
+ 2. Follow demonstrated upper-latch approach and manipulation with bounded empirical arm and finger corrections. There is no hidden release state or calibrated contact detector.
5
+ 3. Follow the demonstrated side-handle depression and finger-closing sequence. This version adds no extra downward hold or late regrasp.
6
+ 4. Continue demonstrated pulling motions with joint feedback. Recompute every five native steps and hold commands between decisions. Native control remains20Hz, action width22, bounds[-1,1], horizon850, including the runner-owned initial hold.
7
+ 5. Bounded phase progression reduces static-label stalls but can advance despite missed contact. No proven recovery or policy success detector is present.
agent_d20_e20/frozen_20261102/tasks/DexOpenDoor-v1/frozen/worker_api.py ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Standalone worker client; safe to mount without the runner package."""
2
+ import base64
3
+ import json
4
+ import socket
5
+ import struct
6
+ import uuid
7
+ import os
8
+ from pathlib import Path
9
+
10
+ import numpy as np
11
+
12
+
13
+ def array_hook(value):
14
+ if value.get('__array__') is True:
15
+ dtype=np.dtype(value['dtype'])
16
+ if dtype.kind not in 'bifu':raise ValueError('non-numeric array from service')
17
+ raw=base64.b64decode(value['data'],validate=True)
18
+ return np.frombuffer(raw,dtype=dtype).reshape(value['shape']).copy()
19
+ return value
20
+
21
+
22
+ class API:
23
+ def __init__(self,socket_path='/rpc/control.sock',demo_root='/demonstrations',manifest='/demo_manifest.json'):
24
+ self.socket_path=socket_path
25
+ self.demo_root=Path(demo_root)
26
+ self.manifest=Path(manifest)
27
+
28
+ def call(self,method,arguments=None,request_id=None):
29
+ # Caller can persist a request ID before sending. Never automatically retry.
30
+ request_id=request_id or str(uuid.uuid4())
31
+ request={'request_id':request_id,'method':method,'arguments':arguments or {}}
32
+ if os.environ.get('AGENT_E20_RPC_TOKEN'):
33
+ request['token']=os.environ['AGENT_E20_RPC_TOKEN']
34
+ payload=json.dumps(request,allow_nan=False).encode()
35
+ if len(payload)>65536:raise ValueError('request too large')
36
+ with socket.socket(socket.AF_UNIX,socket.SOCK_STREAM) as s:
37
+ s.settimeout(1810);s.connect(self.socket_path)
38
+ s.sendall(struct.pack('!I',len(payload))+payload)
39
+ def exact(n):
40
+ chunks=[]
41
+ while n:
42
+ chunk=s.recv(min(n,1024*1024))
43
+ if not chunk:raise RuntimeError('RPC interrupted; do not replay action with a new ID')
44
+ chunks.append(chunk);n-=len(chunk)
45
+ return b''.join(chunks)
46
+ length=struct.unpack('!I',exact(4))[0]
47
+ if length>64*1024*1024:raise RuntimeError('response too large')
48
+ result=json.loads(exact(length),object_hook=array_hook)
49
+ if not result['ok']:raise RuntimeError(result['error'])
50
+ return result['result']
51
+
52
+ def next_episode(self,request_id=None):return self.call('next_episode',request_id=request_id)
53
+ def latest_observation(self):return self.call('latest_observation')
54
+ def execute_actions(self,actions,request_id=None):
55
+ return self.call('execute_actions',{'actions':np.asarray(actions).tolist()},request_id)
56
+ def finish_episode(self):return self.call('finish_episode')
57
+ def budget_status(self):return self.call('budget_status')
58
+ def rehearse(self,candidate='candidate',request_id=None):
59
+ return self.call('rehearse',{'candidate':candidate},request_id)
60
+ def score_rehearsal(self,episode,visible_success,evidence):
61
+ return self.call('score_rehearsal',{'episode':episode,'visible_success':visible_success,'evidence':evidence})
62
+ def freeze(self):return self.call('freeze')
63
+
64
+ def read_demo(self,demo_id,start=0,stop=None,fields=None):
65
+ import h5py
66
+ manifest=json.loads(self.manifest.read_text())
67
+ if manifest.get('status') not in ('released','released_for_offline_analysis'):
68
+ raise RuntimeError('demonstrations not released by trusted preflight')
69
+ entries={e['demo_id']:e for e in manifest['episodes']}
70
+ if demo_id not in entries:raise ValueError('unauthorized demo ID')
71
+ entry=entries[demo_id]
72
+ allowed={f['path'] for f in entry['fields']}
73
+ fields=sorted(allowed) if fields is None else fields
74
+ if not set(fields)<=allowed:raise ValueError('unauthorized demo field')
75
+ stop=entry['length']+1 if stop is None else stop
76
+ if not isinstance(start,int) or not isinstance(stop,int) or not 0<=start<stop<=entry['length']+1:
77
+ raise ValueError('invalid frame interval')
78
+ path=(self.demo_root/entry['file']).resolve()
79
+ if path.parent!=self.demo_root.resolve():raise ValueError('invalid demo file')
80
+ with h5py.File(path,'r') as f:
81
+ return {field:f[field][start:min(stop,len(f[field]))] for field in fields}
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/build_memory.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Offline authorized demonstration indexing only; no fitting or simulator."""
2
+ import json, h5py, numpy as np
3
+ from pathlib import Path
4
+ from controller import visual_features, CAMERAS, QPATHS, VPATHS
5
+ root=Path(__file__).parent
6
+ manifest=json.load(open('/demo_manifest.json'))
7
+ rows={k:[] for k in ('q','v','features','actions','phase','demo','frame')}
8
+ access=[]
9
+ for di,e in enumerate(manifest['episodes']):
10
+ n=e['length']
11
+ indices=sorted(set(range(0,n,4))|{n-1})
12
+ with h5py.File('/demonstrations/'+e['file'],'r') as h:
13
+ q=np.concatenate([h['obs/'+k][:] for k in QPATHS],1)
14
+ v=np.concatenate([h['obs/'+k][:] for k in VPATHS],1)
15
+ a=np.concatenate([h['actions/panda_leaphand-'+str(r)][:] for r in range(2)],1)
16
+ cache_start = -1
17
+ for t in indices:
18
+ start = (t // 98) * 98
19
+ if start != cache_start:
20
+ cache = {c:h['obs/sensor_data/'+c+'/rgb'][start:min(start+98,n)] for c in CAMERAS}
21
+ cache_start = start
22
+ rgb={c:cache[c][t-cache_start] for c in CAMERAS}
23
+ rows['features'].append(visual_features(rgb))
24
+ rows['q'].append(q[t]);rows['v'].append(v[t]);rows['actions'].append(a[t])
25
+ rows['phase'].append(t);rows['demo'].append(di);rows['frame'].append(t)
26
+ access.append({'demo_id':e['demo_id'],'machine_feature_frames':indices,'cameras':list(CAMERAS),'all_action_indices':[0,n-1],'all_proprio_indices':[0,n]})
27
+ print(e['demo_id'],len(indices),flush=True)
28
+ np.savez_compressed(root/'memory.npz',**{k:np.asarray(v,dtype=np.int32 if k in ('demo','frame') else np.float32) for k,v in rows.items()})
29
+ json.dump(access,open('/workspace/evidence/machine_access.json','w'),indent=2)
30
+ print('rows',len(rows['q']))
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/checks.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "syntax": "pass",
3
+ "synthetic_checks": "pass",
4
+ "checks": [
5
+ "real artifact loads",
6
+ "44 finite bounded float32 outputs",
7
+ "HWC and 1HWC RGB",
8
+ "horizon stop at 2000",
9
+ "missing fields zero deltas",
10
+ "nonfinite proprioception zero deltas",
11
+ "RGB affects retrieval in wholly synthetic memory",
12
+ "qpos affects retrieval in wholly synthetic memory",
13
+ "reset and decreasing-step handling",
14
+ "module entry points"
15
+ ],
16
+ "task_testing_performed": false,
17
+ "rollouts": 0,
18
+ "rehearsed": false,
19
+ "success_claim": false
20
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/controller.py ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """D20 nonparametric feedback policy with bounded phase progression. No environment imports."""
2
+ from pathlib import Path
3
+ import numpy as np
4
+ import cv2
5
+
6
+ CAMERAS = ('top_camera', 'front_camera')
7
+ QPATHS = tuple(f'agent/panda_leaphand-{r}/qpos' for r in range(2))
8
+ VPATHS = tuple(f'agent/panda_leaphand-{r}/qvel' for r in range(2))
9
+
10
+ def visual_features(rgb):
11
+ features = []
12
+ for camera in CAMERAS:
13
+ im = np.asarray(rgb[camera])
14
+ if im.ndim == 4 and im.shape[0] == 1:
15
+ im = im[0]
16
+ if im.ndim != 3 or im.shape[2] != 3 or im.dtype != np.uint8:
17
+ raise ValueError('Expected uint8 RGB HWC or 1HWC')
18
+ hsv = cv2.cvtColor(im, cv2.COLOR_RGB2HSV)
19
+ # Colored objects retain more weight than the neutral table and arms.
20
+ mask = ((hsv[:,:,1] > 150) & (hsv[:,:,2] > 70)).astype(np.float32)
21
+ color = im.astype(np.float32) / 255.
22
+ features.append(cv2.resize(color, (16,16), interpolation=cv2.INTER_AREA).ravel())
23
+ features.append(3 * cv2.resize(color * mask[:,:,None], (24,24), interpolation=cv2.INTER_AREA).ravel())
24
+ return np.concatenate(features).astype(np.float32)
25
+
26
+ class Controller:
27
+ SPEED=1.6
28
+ ARM_GAIN=.15
29
+ HAND_GAIN=2.
30
+ def __init__(self):
31
+ with np.load(Path(__file__).with_name('memory.npz'), allow_pickle=False) as data:
32
+ self.bank = {key: data[key] for key in data.files}
33
+ self.inverse = np.load(Path(__file__).with_name('feedback.npz'))['inverse']
34
+ self.scale = np.tile(np.r_[np.full(7,.20), np.full(16,.35)],2).astype(np.float32)
35
+ self.reset_episode()
36
+
37
+ def reset_episode(self):
38
+ self.t = 0
39
+ self.last_phase = None
40
+ self.last_step = None
41
+ self.diagnostics = {'status':'reset'}
42
+
43
+ def act(self, obs):
44
+ self.t += 1
45
+ step = int(obs.get('step_id', self.t))
46
+ obs = obs.get('observation', obs)
47
+ if self.last_step is not None and step < self.last_step:
48
+ self.reset_episode()
49
+ self.last_step = step
50
+ # One native step was already consumed by the runner-owned hold.
51
+ if step >= int(np.ceil(1559/self.SPEED))+41:
52
+ self.diagnostics = {'status':'horizon_stop', 'success_claim':False}
53
+ return None
54
+ try:
55
+ p = obs['proprioception']
56
+ q = np.concatenate([np.asarray(p[k],dtype=np.float32).reshape(-1) for k in QPATHS])
57
+ v = np.concatenate([np.asarray(p[k],dtype=np.float32).reshape(-1) for k in VPATHS])
58
+ if q.shape != (46,) or v.shape != (46,) or not np.isfinite(q).all() or not np.isfinite(v).all():
59
+ raise ValueError('Malformed proprioception')
60
+ f = visual_features(obs['rgb'])
61
+ except (KeyError, ValueError, TypeError, cv2.error):
62
+ self.diagnostics = {'status':'missing_or_invalid_observation'}
63
+ return np.zeros(44,dtype=np.float32)
64
+ if (step-1)*self.SPEED >= 1559:
65
+ a = np.zeros(44,dtype=np.float32)
66
+ a[2] = a[24] = .04
67
+ self.diagnostics = {'status':'retract_for_visibility'}
68
+ return a
69
+ b = self.bank
70
+ qcost = np.mean(((b['q']-q)/self.scale)**2,axis=1)
71
+ vcost = .025*np.mean(np.minimum((b['v']-v)**2,25),axis=1)
72
+ base = qcost + vcost
73
+ # Timing resolves stationary/contact phase ambiguity seen in episode 1.
74
+ expected = min((step - 1)*self.SPEED, 1558)
75
+ base += .5*((b['phase']-expected)/8.)**2
76
+ # Soft continuity inferred from previous observed state, never demo ID or seed.
77
+ if self.last_phase is not None:
78
+ base += .08*np.minimum(((b['phase']-self.last_phase)/100.)**2,4.)
79
+ ids = np.argpartition(base,min(127,len(base)-1))[:128]
80
+ visual = np.mean((b['features'][ids]-f)**2,axis=1)
81
+ score = base[ids] + 12*visual
82
+ j = int(ids[np.argmin(score)])
83
+ if qcost[j] > 4.0 or float(visual[np.argmin(score)]) > .15:
84
+ self.diagnostics = {'status':'outside_demo_support', 'qcost':float(qcost[j])}
85
+ return np.zeros(44,dtype=np.float32)
86
+ self.last_phase = float(b['phase'][j])
87
+ self.diagnostics = {'status':'retrieved_feedback','reference_phase':self.last_phase,'reference_demo':int(b['demo'][j]),'qcost':float(qcost[j]),'success_claim':False}
88
+ # Jointly retrieve both robots to preserve the demonstrated coordination.
89
+ # Parts are [robot 0: 6 arm + 16 hand, robot 1: 6 arm + 16 hand].
90
+ a = self.SPEED * b['actions'][j].copy()
91
+ errors = b['q'][j] - q
92
+ for r in range(2):
93
+ correction = self.ARM_GAIN * errors[r*23:r*23+7] @ self.inverse[min(int(expected)//4,390),r]
94
+ correction = np.clip(correction,-.03,.03)
95
+ a[np.array([0,1,2,4])+r*22] += correction
96
+ hand_a = np.array([0,1,2,3,12,14,15]) + r*22+6
97
+ hand_q = np.array([11,7,15,19,10,18,22]) + r*23
98
+ a[hand_a] += np.clip(self.HAND_GAIN*errors[hand_q],-.1,.1)
99
+ self.diagnostics['pose_error'] = float(np.linalg.norm(errors))
100
+ return np.clip(a,-1.,1.).astype(np.float32)
101
+
102
+ _policy = None
103
+
104
+ def reset_episode():
105
+ global _policy
106
+ if _policy is not None:
107
+ _policy.reset_episode()
108
+
109
+ def act(obs):
110
+ global _policy
111
+ if _policy is None:
112
+ _policy = Controller()
113
+ return _policy.act(obs)
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/demo_analysis.md ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Offline D20 demonstration analysis
2
+
3
+ Status: preparation only; draft controller, not rehearsed, not frozen, no success estimate. Zero exploration episodes or environment calls. No simulator, hidden state, task expert, external solutions, network retrieval, neural fitting, or pretrained weight changes were used.
4
+
5
+ ## Authorized sources and inspection ledger
6
+
7
+ Read `/task_contract.json`, `/demo_manifest.json`, and standalone `/worker_api.py`. Manifest contains exactly demo_00 through demo_19. RGB contact sheets were obtained with API.read_demo; numerical analysis also uses that API. The memory builder reads only the same sanitized HDF5 fields directly. Frame indexing below is zero-based observation indexing; action t is associated with observation t, with one extra terminal observation. That association follows array lengths and is an assumption about recording alignment, not independently verified environment timing.
8
+
9
+ Each listed frame was visually inspected in **both top_camera and front_camera**, via evidence/demo_XX.jpg. All action rows and all four proprioception arrays were read and numerically analyzed for every demo. Human inspection is distinct from machine feature extraction; the latter is recorded in evidence/machine_access.json. The builder reads RGB in blocks of 98 frames for HDF5 efficiency, spanning frames 0 through length-1, but retains features only for the listed stride-four indices plus the final action index.
10
+
11
+ |Demo ID|Actions|Visually inspected observation frames|Observed progression|
12
+ |---|---:|---|---|
13
+ |demo_00|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
14
+ |demo_01|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
15
+ |demo_02|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
16
+ |demo_03|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
17
+ |demo_04|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
18
+ |demo_05|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
19
+ |demo_06|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
20
+ |demo_07|1560|0, 390, 780, 1170, 1560|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
21
+ |demo_08|1558|0, 389, 779, 1168, 1558|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
22
+ |demo_09|1558|0, 389, 779, 1168, 1558|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
23
+ |demo_10|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
24
+ |demo_11|1560|0, 390, 780, 1170, 1560|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
25
+ |demo_12|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
26
+ |demo_13|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
27
+ |demo_14|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
28
+ |demo_15|1560|0, 390, 780, 1170, 1560|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
29
+ |demo_16|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
30
+ |demo_17|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
31
+ |demo_18|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
32
+ |demo_19|1559|0, 389, 779, 1169, 1559|Scattered blocks → partial line → apparent final line, hands occlude some blocks|
33
+
34
+ Additional visual inspection: demo_00 frames **200 and 1559**, all five cameras (front_camera, left_camera, robot_camera_0, robot_camera_1, top_camera), saved in evidence/additional_views.jpg. Top-camera panels in that additional sheet alone were rotated 90 degrees clockwise for display; controller inputs are never rotated. In all other sheets top frames retain original orientation and are resized proportionally.
35
+
36
+ ## Observable behavior and completion
37
+
38
+ All 20 initial views show eight brightly colored blocks in two groups around a red table line, with small apparent position variation and the same broad layout. Images show red, orange, yellow, green, cyan, blue, magenta and purple blocks. By the quarter and halfway frames, increasing numbers have moved toward the line. By the three-quarter frames, the outer green/purple pair remains away from the central row in these views. Terminal views show a compact row along the target, but the hands overlap several blocks. In demo_00's terminal left-camera image, the row is especially clear; wrist cameras show close-up blocks near the red stripe rather than a full unobstructed row.
39
+
40
+ These images support apparent line formation in all trajectories; they do not establish simulator success, exact eight-block tolerances, stable release, or post-terminal persistence. No reward, done, success, object pose, depth, segmentation truth, or contact state is available. The final action is still nonzero (including positive z), so demonstration termination is not a generic zero-action completion cue. No reliable online success predicate is claimed.
41
+
42
+ ## Contract coordinates and action layout
43
+
44
+ The action is 44 normalized components in this exact order: panda_leaphand-0, then panda_leaphand-1; each has six arm components followed by sixteen dexterous-hand joint deltas. Per part, indices 0:3 translate in the robot root frame, scaled by 0.1 meters; indices 3:6 are the contract's root-aligned rotation representation (vector norm clipped to one, multiplied by **-0.5 radians**, then Euler-to-quaternion). They must not be interpreted as ordinary positive axis-angle increments. Indices 6:22 scale by 0.1 radians. Native scalar bounds are [-1,1]. Each robot exposes 23 qpos and 23 qvel values; the apparent seven-arm/sixteen-hand organization is consistent with the data but individual finger joint names are unavailable.
45
+
46
+ Control mode is pd_ee_delta_pose, control rate 20 Hz, native horizon 2000. The runner owns the initial zero-delta hold, which consumes one step. The draft sends at most actions for step_id 1..1999 and returns None from step_id 2000. It does not issue a second initial hold. No Panda mimic-gripper mapping applies to these dex hands.
47
+
48
+ The red line is approximately horizontal in the unrotated top image and approximately vertical in the front image. Image left/right is not automatically robot-root x/y; robot base transforms, camera intrinsics/extrinsics, metric depth, and reach boundaries are unknown. No calibrated Cartesian visual servo or IK is invented. Contract root-frame conventions, rather than camera appearance, determine action interpretation.
49
+
50
+ ## Sequence and variation analysis
51
+
52
+ 31,181 action rows were analyzed, with lengths 1558–1560 (77.90–78.00 seconds at the contract rate, excluding any unrecorded reset handling). All scalar labels are finite and within bounds; overall range is approximately -0.433793 to 0.5425. Initial qpos is identical across all 20 demonstrations. This narrow coverage does not justify assuming a live initial scene matches any demonstration.
53
+
54
+ Per-demo, per-component minima, maxima, mean absolute values, nonzero fractions and endpoint qpos are in evidence/statistics.json. Per-demo sign runs and active components are in evidence/sequence_analysis.json; complete action arrays are in evidence/actions.npz. Translation magnitudes never exceed 0.08 normalized in the observed labels (8 mm target delta), while rotation uses only the middle component above 1e-5, with opposite signs between robots and peak magnitude 0.16. Finger activity concentrates in local hand components 0,1,2,3,12,14,15 above 0.01; other joints have small or zero labels. This does not prove that zero-action joints are mechanically irrelevant.
55
+
56
+ For demo_00, both robots show approach with near-zero z through frame 86, negative z at 87–157, near-zero z at 158–217, positive z at 218–273, negative z at 280–330, near-zero z at 331–360, and positive z at 361–411. Similar cycles start around 485, 883 and 1281. Combined with RGB and changing finger labels, these are consistent with approach, lower, grasp, lift/transfer, lower/release and retract, repeated for four pairs of blocks. Exact contact/grasp events are not directly observable from these sparse views; sign-run analysis uses a 0.015 normalized z threshold and at least ten frames. Near-identical cycle timing across demos is observed, not imposed as live time scheduling.
57
+
58
+ |Demo|Mean absolute xyz, robot 0|Mean absolute xyz, robot 1|First sustained negative-z interval, robot 0|
59
+ |---|---|---|---|
60
+ |demo_00|0.0164, 0.0210, 0.0402|0.0280, 0.0220, 0.0402|87–157|
61
+ |demo_01|0.0151, 0.0220, 0.0402|0.0287, 0.0229, 0.0402|87–157|
62
+ |demo_02|0.0153, 0.0218, 0.0402|0.0288, 0.0220, 0.0402|87–157|
63
+ |demo_03|0.0154, 0.0206, 0.0402|0.0289, 0.0222, 0.0402|87–157|
64
+ |demo_04|0.0156, 0.0207, 0.0402|0.0286, 0.0221, 0.0402|87–157|
65
+ |demo_05|0.0160, 0.0220, 0.0402|0.0285, 0.0220, 0.0402|87–157|
66
+ |demo_06|0.0159, 0.0222, 0.0402|0.0285, 0.0218, 0.0402|87–157|
67
+ |demo_07|0.0165, 0.0224, 0.0402|0.0293, 0.0224, 0.0402|87–157|
68
+ |demo_08|0.0157, 0.0219, 0.0401|0.0287, 0.0214, 0.0402|87–157|
69
+ |demo_09|0.0163, 0.0212, 0.0402|0.0286, 0.0221, 0.0402|87–157|
70
+ |demo_10|0.0162, 0.0224, 0.0402|0.0294, 0.0220, 0.0402|87–157|
71
+ |demo_11|0.0151, 0.0210, 0.0402|0.0282, 0.0219, 0.0403|87–157|
72
+ |demo_12|0.0149, 0.0230, 0.0402|0.0287, 0.0230, 0.0402|87–157|
73
+ |demo_13|0.0158, 0.0223, 0.0402|0.0291, 0.0216, 0.0402|87–157|
74
+ |demo_14|0.0158, 0.0221, 0.0402|0.0286, 0.0230, 0.0402|87–157|
75
+ |demo_15|0.0157, 0.0231, 0.0402|0.0282, 0.0220, 0.0403|87–157|
76
+ |demo_16|0.0151, 0.0208, 0.0402|0.0293, 0.0224, 0.0402|87–157|
77
+ |demo_17|0.0149, 0.0215, 0.0402|0.0286, 0.0236, 0.0402|87–157|
78
+ |demo_18|0.0158, 0.0211, 0.0402|0.0290, 0.0219, 0.0402|87–157|
79
+ |demo_19|0.0149, 0.0221, 0.0402|0.0289, 0.0211, 0.0402|87–157|
80
+
81
+ ## Draft design and limitations
82
+
83
+ candidate/controller.py implements deterministic nonparametric observation-to-action retrieval. It consumes current top/front RGB plus both robots' qpos and qvel; it ranks nearby demonstration observations with a soft previous-observation phase-continuity cost, then reranks by RGB appearance including a saturation-weighted color descriptor. The action is the paired label at the selected observation. No demo identity, hidden seed, scene metadata or elapsed-time replay is used. step_id is used only for reset detection and horizon termination. instruction is accepted but not interpreted: this draft is scoped to this contract.
84
+
85
+ The retrieval memory contains 7,820 indexed observations (391 per demo), using all 20 demos at stride four plus each last action frame. It is a data index, not a neural model or pretrained weight update. The controller may change reference demo at each observation. Selection uses whole paired actions to avoid mixing contradictory grasp phases across arms. Missing/malformed inputs or a large observation mismatch produce zero deltas; thresholds are uncalibrated. There is no automatic success termination. Terminal reference frames may keep commanding motion; stagnation, mistaken phase selection, unseen layouts, camera changes, occlusion and object loss remain material risks. There is no learned kinematics, metric calibration, explicit grasp verification or recovery planner. RGB retrieval is feedback but is not a guarantee of generalization or object-relative control.
86
+
87
+ Only syntax and synthetic-input checks are permitted and performed. No demonstration replay in an environment, rollout, task performance test, rehearsal, scoring, or freeze call occurred. No internet access was attempted; the stated audited-provider-only restriction remains in force. HDF5 chunking made individual frame access slow; extraction was changed to bounded block reads without additional data sources. The environment and runner lock are unavailable at this stage; verified demo manifest and common environment lock are supplied separately by the runner.
88
+
89
+ Final local validation: syntax and all synthetic checks passed; exact checks are recorded in candidate/checks.json. RGB and qpos dependence were checked using an entirely invented two-row memory. These checks do not measure task performance. The exact visual ledger is also available as evidence/visual_inspection.json.
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/demo_manifest.json ADDED
@@ -0,0 +1,2168 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "task_id": "DualArmMakeLine-v1",
3
+ "status": "released",
4
+ "selection_rule": "prefer existing pinned D20, otherwise numeric trajectory ID sort before reading data",
5
+ "lineage_status": "pinned_comparator",
6
+ "episodes": [
7
+ {
8
+ "demo_id": "demo_00",
9
+ "file": "demo_00.h5",
10
+ "length": 1559,
11
+ "fields": [
12
+ {
13
+ "path": "actions/panda_leaphand-0",
14
+ "shape": [
15
+ 1559,
16
+ 22
17
+ ],
18
+ "dtype": "float32"
19
+ },
20
+ {
21
+ "path": "actions/panda_leaphand-1",
22
+ "shape": [
23
+ 1559,
24
+ 22
25
+ ],
26
+ "dtype": "float32"
27
+ },
28
+ {
29
+ "path": "obs/agent/panda_leaphand-0/qpos",
30
+ "shape": [
31
+ 1560,
32
+ 23
33
+ ],
34
+ "dtype": "float32"
35
+ },
36
+ {
37
+ "path": "obs/agent/panda_leaphand-0/qvel",
38
+ "shape": [
39
+ 1560,
40
+ 23
41
+ ],
42
+ "dtype": "float32"
43
+ },
44
+ {
45
+ "path": "obs/agent/panda_leaphand-1/qpos",
46
+ "shape": [
47
+ 1560,
48
+ 23
49
+ ],
50
+ "dtype": "float32"
51
+ },
52
+ {
53
+ "path": "obs/agent/panda_leaphand-1/qvel",
54
+ "shape": [
55
+ 1560,
56
+ 23
57
+ ],
58
+ "dtype": "float32"
59
+ },
60
+ {
61
+ "path": "obs/sensor_data/front_camera/rgb",
62
+ "shape": [
63
+ 1560,
64
+ 240,
65
+ 320,
66
+ 3
67
+ ],
68
+ "dtype": "uint8"
69
+ },
70
+ {
71
+ "path": "obs/sensor_data/left_camera/rgb",
72
+ "shape": [
73
+ 1560,
74
+ 240,
75
+ 320,
76
+ 3
77
+ ],
78
+ "dtype": "uint8"
79
+ },
80
+ {
81
+ "path": "obs/sensor_data/robot_camera_0/rgb",
82
+ "shape": [
83
+ 1560,
84
+ 240,
85
+ 320,
86
+ 3
87
+ ],
88
+ "dtype": "uint8"
89
+ },
90
+ {
91
+ "path": "obs/sensor_data/robot_camera_1/rgb",
92
+ "shape": [
93
+ 1560,
94
+ 240,
95
+ 320,
96
+ 3
97
+ ],
98
+ "dtype": "uint8"
99
+ },
100
+ {
101
+ "path": "obs/sensor_data/top_camera/rgb",
102
+ "shape": [
103
+ 1560,
104
+ 320,
105
+ 240,
106
+ 3
107
+ ],
108
+ "dtype": "uint8"
109
+ }
110
+ ],
111
+ "trajectory_sha256": "1c3b02e9db509c03e3b10ca451384e1ef40b62183e570b304095c79b34d621e4",
112
+ "source_sha256": "7d3a8638e121809c9e6340fbde470c3ecaa51769096d1ac93a89eba69fe16a7b",
113
+ "view_sha256": "8a1a009ed94703757815eec1f274f794cd265046c3018ecb9d9b659c06cfef17"
114
+ },
115
+ {
116
+ "demo_id": "demo_01",
117
+ "file": "demo_01.h5",
118
+ "length": 1559,
119
+ "fields": [
120
+ {
121
+ "path": "actions/panda_leaphand-0",
122
+ "shape": [
123
+ 1559,
124
+ 22
125
+ ],
126
+ "dtype": "float32"
127
+ },
128
+ {
129
+ "path": "actions/panda_leaphand-1",
130
+ "shape": [
131
+ 1559,
132
+ 22
133
+ ],
134
+ "dtype": "float32"
135
+ },
136
+ {
137
+ "path": "obs/agent/panda_leaphand-0/qpos",
138
+ "shape": [
139
+ 1560,
140
+ 23
141
+ ],
142
+ "dtype": "float32"
143
+ },
144
+ {
145
+ "path": "obs/agent/panda_leaphand-0/qvel",
146
+ "shape": [
147
+ 1560,
148
+ 23
149
+ ],
150
+ "dtype": "float32"
151
+ },
152
+ {
153
+ "path": "obs/agent/panda_leaphand-1/qpos",
154
+ "shape": [
155
+ 1560,
156
+ 23
157
+ ],
158
+ "dtype": "float32"
159
+ },
160
+ {
161
+ "path": "obs/agent/panda_leaphand-1/qvel",
162
+ "shape": [
163
+ 1560,
164
+ 23
165
+ ],
166
+ "dtype": "float32"
167
+ },
168
+ {
169
+ "path": "obs/sensor_data/front_camera/rgb",
170
+ "shape": [
171
+ 1560,
172
+ 240,
173
+ 320,
174
+ 3
175
+ ],
176
+ "dtype": "uint8"
177
+ },
178
+ {
179
+ "path": "obs/sensor_data/left_camera/rgb",
180
+ "shape": [
181
+ 1560,
182
+ 240,
183
+ 320,
184
+ 3
185
+ ],
186
+ "dtype": "uint8"
187
+ },
188
+ {
189
+ "path": "obs/sensor_data/robot_camera_0/rgb",
190
+ "shape": [
191
+ 1560,
192
+ 240,
193
+ 320,
194
+ 3
195
+ ],
196
+ "dtype": "uint8"
197
+ },
198
+ {
199
+ "path": "obs/sensor_data/robot_camera_1/rgb",
200
+ "shape": [
201
+ 1560,
202
+ 240,
203
+ 320,
204
+ 3
205
+ ],
206
+ "dtype": "uint8"
207
+ },
208
+ {
209
+ "path": "obs/sensor_data/top_camera/rgb",
210
+ "shape": [
211
+ 1560,
212
+ 320,
213
+ 240,
214
+ 3
215
+ ],
216
+ "dtype": "uint8"
217
+ }
218
+ ],
219
+ "trajectory_sha256": "79df8e25a75ea62e740c3ce8a82dc2b61f461610d0a2b5b52cdb5d6c8d00039a",
220
+ "source_sha256": "a8ad18d762ba55bee9955d12af8764029014478aa3408894672ab5624660de8c",
221
+ "view_sha256": "619f8481a9e57a39588c2f1ad12058b4ac1b576916564db24ed17f6fccf0dacb"
222
+ },
223
+ {
224
+ "demo_id": "demo_02",
225
+ "file": "demo_02.h5",
226
+ "length": 1559,
227
+ "fields": [
228
+ {
229
+ "path": "actions/panda_leaphand-0",
230
+ "shape": [
231
+ 1559,
232
+ 22
233
+ ],
234
+ "dtype": "float32"
235
+ },
236
+ {
237
+ "path": "actions/panda_leaphand-1",
238
+ "shape": [
239
+ 1559,
240
+ 22
241
+ ],
242
+ "dtype": "float32"
243
+ },
244
+ {
245
+ "path": "obs/agent/panda_leaphand-0/qpos",
246
+ "shape": [
247
+ 1560,
248
+ 23
249
+ ],
250
+ "dtype": "float32"
251
+ },
252
+ {
253
+ "path": "obs/agent/panda_leaphand-0/qvel",
254
+ "shape": [
255
+ 1560,
256
+ 23
257
+ ],
258
+ "dtype": "float32"
259
+ },
260
+ {
261
+ "path": "obs/agent/panda_leaphand-1/qpos",
262
+ "shape": [
263
+ 1560,
264
+ 23
265
+ ],
266
+ "dtype": "float32"
267
+ },
268
+ {
269
+ "path": "obs/agent/panda_leaphand-1/qvel",
270
+ "shape": [
271
+ 1560,
272
+ 23
273
+ ],
274
+ "dtype": "float32"
275
+ },
276
+ {
277
+ "path": "obs/sensor_data/front_camera/rgb",
278
+ "shape": [
279
+ 1560,
280
+ 240,
281
+ 320,
282
+ 3
283
+ ],
284
+ "dtype": "uint8"
285
+ },
286
+ {
287
+ "path": "obs/sensor_data/left_camera/rgb",
288
+ "shape": [
289
+ 1560,
290
+ 240,
291
+ 320,
292
+ 3
293
+ ],
294
+ "dtype": "uint8"
295
+ },
296
+ {
297
+ "path": "obs/sensor_data/robot_camera_0/rgb",
298
+ "shape": [
299
+ 1560,
300
+ 240,
301
+ 320,
302
+ 3
303
+ ],
304
+ "dtype": "uint8"
305
+ },
306
+ {
307
+ "path": "obs/sensor_data/robot_camera_1/rgb",
308
+ "shape": [
309
+ 1560,
310
+ 240,
311
+ 320,
312
+ 3
313
+ ],
314
+ "dtype": "uint8"
315
+ },
316
+ {
317
+ "path": "obs/sensor_data/top_camera/rgb",
318
+ "shape": [
319
+ 1560,
320
+ 320,
321
+ 240,
322
+ 3
323
+ ],
324
+ "dtype": "uint8"
325
+ }
326
+ ],
327
+ "trajectory_sha256": "8c8d87b134b30cc453cb693250ac8eb0cd2f89cedbc50938de6f04b7203bd046",
328
+ "source_sha256": "cc80ed236d8296a2d7aab46be375d6bb69605cdb8bd732524e800fbf040d2597",
329
+ "view_sha256": "7cf337bd30a34b1f20f279f21e00f16d052d43c731a576cae7cd7babae2f539b"
330
+ },
331
+ {
332
+ "demo_id": "demo_03",
333
+ "file": "demo_03.h5",
334
+ "length": 1559,
335
+ "fields": [
336
+ {
337
+ "path": "actions/panda_leaphand-0",
338
+ "shape": [
339
+ 1559,
340
+ 22
341
+ ],
342
+ "dtype": "float32"
343
+ },
344
+ {
345
+ "path": "actions/panda_leaphand-1",
346
+ "shape": [
347
+ 1559,
348
+ 22
349
+ ],
350
+ "dtype": "float32"
351
+ },
352
+ {
353
+ "path": "obs/agent/panda_leaphand-0/qpos",
354
+ "shape": [
355
+ 1560,
356
+ 23
357
+ ],
358
+ "dtype": "float32"
359
+ },
360
+ {
361
+ "path": "obs/agent/panda_leaphand-0/qvel",
362
+ "shape": [
363
+ 1560,
364
+ 23
365
+ ],
366
+ "dtype": "float32"
367
+ },
368
+ {
369
+ "path": "obs/agent/panda_leaphand-1/qpos",
370
+ "shape": [
371
+ 1560,
372
+ 23
373
+ ],
374
+ "dtype": "float32"
375
+ },
376
+ {
377
+ "path": "obs/agent/panda_leaphand-1/qvel",
378
+ "shape": [
379
+ 1560,
380
+ 23
381
+ ],
382
+ "dtype": "float32"
383
+ },
384
+ {
385
+ "path": "obs/sensor_data/front_camera/rgb",
386
+ "shape": [
387
+ 1560,
388
+ 240,
389
+ 320,
390
+ 3
391
+ ],
392
+ "dtype": "uint8"
393
+ },
394
+ {
395
+ "path": "obs/sensor_data/left_camera/rgb",
396
+ "shape": [
397
+ 1560,
398
+ 240,
399
+ 320,
400
+ 3
401
+ ],
402
+ "dtype": "uint8"
403
+ },
404
+ {
405
+ "path": "obs/sensor_data/robot_camera_0/rgb",
406
+ "shape": [
407
+ 1560,
408
+ 240,
409
+ 320,
410
+ 3
411
+ ],
412
+ "dtype": "uint8"
413
+ },
414
+ {
415
+ "path": "obs/sensor_data/robot_camera_1/rgb",
416
+ "shape": [
417
+ 1560,
418
+ 240,
419
+ 320,
420
+ 3
421
+ ],
422
+ "dtype": "uint8"
423
+ },
424
+ {
425
+ "path": "obs/sensor_data/top_camera/rgb",
426
+ "shape": [
427
+ 1560,
428
+ 320,
429
+ 240,
430
+ 3
431
+ ],
432
+ "dtype": "uint8"
433
+ }
434
+ ],
435
+ "trajectory_sha256": "b4312a33806c437a7822214a30624e45369b9835bb9453bc116f1ec5aacb5df6",
436
+ "source_sha256": "9838f0e7f315f20bbd468be7d7553d3f2fe8e1339cff36afeaa0723d3a62839c",
437
+ "view_sha256": "3246c10c1aad391ced7bc2c53ded0f8482302015388ea1ad571f3726ca85fcae"
438
+ },
439
+ {
440
+ "demo_id": "demo_04",
441
+ "file": "demo_04.h5",
442
+ "length": 1559,
443
+ "fields": [
444
+ {
445
+ "path": "actions/panda_leaphand-0",
446
+ "shape": [
447
+ 1559,
448
+ 22
449
+ ],
450
+ "dtype": "float32"
451
+ },
452
+ {
453
+ "path": "actions/panda_leaphand-1",
454
+ "shape": [
455
+ 1559,
456
+ 22
457
+ ],
458
+ "dtype": "float32"
459
+ },
460
+ {
461
+ "path": "obs/agent/panda_leaphand-0/qpos",
462
+ "shape": [
463
+ 1560,
464
+ 23
465
+ ],
466
+ "dtype": "float32"
467
+ },
468
+ {
469
+ "path": "obs/agent/panda_leaphand-0/qvel",
470
+ "shape": [
471
+ 1560,
472
+ 23
473
+ ],
474
+ "dtype": "float32"
475
+ },
476
+ {
477
+ "path": "obs/agent/panda_leaphand-1/qpos",
478
+ "shape": [
479
+ 1560,
480
+ 23
481
+ ],
482
+ "dtype": "float32"
483
+ },
484
+ {
485
+ "path": "obs/agent/panda_leaphand-1/qvel",
486
+ "shape": [
487
+ 1560,
488
+ 23
489
+ ],
490
+ "dtype": "float32"
491
+ },
492
+ {
493
+ "path": "obs/sensor_data/front_camera/rgb",
494
+ "shape": [
495
+ 1560,
496
+ 240,
497
+ 320,
498
+ 3
499
+ ],
500
+ "dtype": "uint8"
501
+ },
502
+ {
503
+ "path": "obs/sensor_data/left_camera/rgb",
504
+ "shape": [
505
+ 1560,
506
+ 240,
507
+ 320,
508
+ 3
509
+ ],
510
+ "dtype": "uint8"
511
+ },
512
+ {
513
+ "path": "obs/sensor_data/robot_camera_0/rgb",
514
+ "shape": [
515
+ 1560,
516
+ 240,
517
+ 320,
518
+ 3
519
+ ],
520
+ "dtype": "uint8"
521
+ },
522
+ {
523
+ "path": "obs/sensor_data/robot_camera_1/rgb",
524
+ "shape": [
525
+ 1560,
526
+ 240,
527
+ 320,
528
+ 3
529
+ ],
530
+ "dtype": "uint8"
531
+ },
532
+ {
533
+ "path": "obs/sensor_data/top_camera/rgb",
534
+ "shape": [
535
+ 1560,
536
+ 320,
537
+ 240,
538
+ 3
539
+ ],
540
+ "dtype": "uint8"
541
+ }
542
+ ],
543
+ "trajectory_sha256": "9c1dc0f92fadc716efbefc679627a5c41ded90eb1a6405cbdc3356d80d155888",
544
+ "source_sha256": "a7aadfc5c45a91cea827329ab06d4e7c01b974fd8a4e0ab6d2086122e732bf55",
545
+ "view_sha256": "05eb7a1f3a992fbe0122bc2f25cf263a6e04a10b38206ae4bc148e4fdcfd5cd3"
546
+ },
547
+ {
548
+ "demo_id": "demo_05",
549
+ "file": "demo_05.h5",
550
+ "length": 1559,
551
+ "fields": [
552
+ {
553
+ "path": "actions/panda_leaphand-0",
554
+ "shape": [
555
+ 1559,
556
+ 22
557
+ ],
558
+ "dtype": "float32"
559
+ },
560
+ {
561
+ "path": "actions/panda_leaphand-1",
562
+ "shape": [
563
+ 1559,
564
+ 22
565
+ ],
566
+ "dtype": "float32"
567
+ },
568
+ {
569
+ "path": "obs/agent/panda_leaphand-0/qpos",
570
+ "shape": [
571
+ 1560,
572
+ 23
573
+ ],
574
+ "dtype": "float32"
575
+ },
576
+ {
577
+ "path": "obs/agent/panda_leaphand-0/qvel",
578
+ "shape": [
579
+ 1560,
580
+ 23
581
+ ],
582
+ "dtype": "float32"
583
+ },
584
+ {
585
+ "path": "obs/agent/panda_leaphand-1/qpos",
586
+ "shape": [
587
+ 1560,
588
+ 23
589
+ ],
590
+ "dtype": "float32"
591
+ },
592
+ {
593
+ "path": "obs/agent/panda_leaphand-1/qvel",
594
+ "shape": [
595
+ 1560,
596
+ 23
597
+ ],
598
+ "dtype": "float32"
599
+ },
600
+ {
601
+ "path": "obs/sensor_data/front_camera/rgb",
602
+ "shape": [
603
+ 1560,
604
+ 240,
605
+ 320,
606
+ 3
607
+ ],
608
+ "dtype": "uint8"
609
+ },
610
+ {
611
+ "path": "obs/sensor_data/left_camera/rgb",
612
+ "shape": [
613
+ 1560,
614
+ 240,
615
+ 320,
616
+ 3
617
+ ],
618
+ "dtype": "uint8"
619
+ },
620
+ {
621
+ "path": "obs/sensor_data/robot_camera_0/rgb",
622
+ "shape": [
623
+ 1560,
624
+ 240,
625
+ 320,
626
+ 3
627
+ ],
628
+ "dtype": "uint8"
629
+ },
630
+ {
631
+ "path": "obs/sensor_data/robot_camera_1/rgb",
632
+ "shape": [
633
+ 1560,
634
+ 240,
635
+ 320,
636
+ 3
637
+ ],
638
+ "dtype": "uint8"
639
+ },
640
+ {
641
+ "path": "obs/sensor_data/top_camera/rgb",
642
+ "shape": [
643
+ 1560,
644
+ 320,
645
+ 240,
646
+ 3
647
+ ],
648
+ "dtype": "uint8"
649
+ }
650
+ ],
651
+ "trajectory_sha256": "1b7ea4ed82d6d5d61005de5d6c7f7d92837a138dc5dabccad92a15ac36f294f3",
652
+ "source_sha256": "9bcd534b5c173133b673e98386bf962d89251a819ea2b872b786f6a72d99591d",
653
+ "view_sha256": "6fede0794a6ae1b11b4308974d88f63cf190d0636b452dc87d4a219d0b75ef8d"
654
+ },
655
+ {
656
+ "demo_id": "demo_06",
657
+ "file": "demo_06.h5",
658
+ "length": 1559,
659
+ "fields": [
660
+ {
661
+ "path": "actions/panda_leaphand-0",
662
+ "shape": [
663
+ 1559,
664
+ 22
665
+ ],
666
+ "dtype": "float32"
667
+ },
668
+ {
669
+ "path": "actions/panda_leaphand-1",
670
+ "shape": [
671
+ 1559,
672
+ 22
673
+ ],
674
+ "dtype": "float32"
675
+ },
676
+ {
677
+ "path": "obs/agent/panda_leaphand-0/qpos",
678
+ "shape": [
679
+ 1560,
680
+ 23
681
+ ],
682
+ "dtype": "float32"
683
+ },
684
+ {
685
+ "path": "obs/agent/panda_leaphand-0/qvel",
686
+ "shape": [
687
+ 1560,
688
+ 23
689
+ ],
690
+ "dtype": "float32"
691
+ },
692
+ {
693
+ "path": "obs/agent/panda_leaphand-1/qpos",
694
+ "shape": [
695
+ 1560,
696
+ 23
697
+ ],
698
+ "dtype": "float32"
699
+ },
700
+ {
701
+ "path": "obs/agent/panda_leaphand-1/qvel",
702
+ "shape": [
703
+ 1560,
704
+ 23
705
+ ],
706
+ "dtype": "float32"
707
+ },
708
+ {
709
+ "path": "obs/sensor_data/front_camera/rgb",
710
+ "shape": [
711
+ 1560,
712
+ 240,
713
+ 320,
714
+ 3
715
+ ],
716
+ "dtype": "uint8"
717
+ },
718
+ {
719
+ "path": "obs/sensor_data/left_camera/rgb",
720
+ "shape": [
721
+ 1560,
722
+ 240,
723
+ 320,
724
+ 3
725
+ ],
726
+ "dtype": "uint8"
727
+ },
728
+ {
729
+ "path": "obs/sensor_data/robot_camera_0/rgb",
730
+ "shape": [
731
+ 1560,
732
+ 240,
733
+ 320,
734
+ 3
735
+ ],
736
+ "dtype": "uint8"
737
+ },
738
+ {
739
+ "path": "obs/sensor_data/robot_camera_1/rgb",
740
+ "shape": [
741
+ 1560,
742
+ 240,
743
+ 320,
744
+ 3
745
+ ],
746
+ "dtype": "uint8"
747
+ },
748
+ {
749
+ "path": "obs/sensor_data/top_camera/rgb",
750
+ "shape": [
751
+ 1560,
752
+ 320,
753
+ 240,
754
+ 3
755
+ ],
756
+ "dtype": "uint8"
757
+ }
758
+ ],
759
+ "trajectory_sha256": "c0469ba6f5da25baa53285292ab7798c80ee18b1491027b03ac617a527203230",
760
+ "source_sha256": "42cd180cf8774358f15d3b7d29b9084866704fb1b0efa6d13b719e2235c4a56e",
761
+ "view_sha256": "442273886d98959e0ed0b925cddba986c4a3e1b02643e64799863055e63f7d41"
762
+ },
763
+ {
764
+ "demo_id": "demo_07",
765
+ "file": "demo_07.h5",
766
+ "length": 1560,
767
+ "fields": [
768
+ {
769
+ "path": "actions/panda_leaphand-0",
770
+ "shape": [
771
+ 1560,
772
+ 22
773
+ ],
774
+ "dtype": "float32"
775
+ },
776
+ {
777
+ "path": "actions/panda_leaphand-1",
778
+ "shape": [
779
+ 1560,
780
+ 22
781
+ ],
782
+ "dtype": "float32"
783
+ },
784
+ {
785
+ "path": "obs/agent/panda_leaphand-0/qpos",
786
+ "shape": [
787
+ 1561,
788
+ 23
789
+ ],
790
+ "dtype": "float32"
791
+ },
792
+ {
793
+ "path": "obs/agent/panda_leaphand-0/qvel",
794
+ "shape": [
795
+ 1561,
796
+ 23
797
+ ],
798
+ "dtype": "float32"
799
+ },
800
+ {
801
+ "path": "obs/agent/panda_leaphand-1/qpos",
802
+ "shape": [
803
+ 1561,
804
+ 23
805
+ ],
806
+ "dtype": "float32"
807
+ },
808
+ {
809
+ "path": "obs/agent/panda_leaphand-1/qvel",
810
+ "shape": [
811
+ 1561,
812
+ 23
813
+ ],
814
+ "dtype": "float32"
815
+ },
816
+ {
817
+ "path": "obs/sensor_data/front_camera/rgb",
818
+ "shape": [
819
+ 1561,
820
+ 240,
821
+ 320,
822
+ 3
823
+ ],
824
+ "dtype": "uint8"
825
+ },
826
+ {
827
+ "path": "obs/sensor_data/left_camera/rgb",
828
+ "shape": [
829
+ 1561,
830
+ 240,
831
+ 320,
832
+ 3
833
+ ],
834
+ "dtype": "uint8"
835
+ },
836
+ {
837
+ "path": "obs/sensor_data/robot_camera_0/rgb",
838
+ "shape": [
839
+ 1561,
840
+ 240,
841
+ 320,
842
+ 3
843
+ ],
844
+ "dtype": "uint8"
845
+ },
846
+ {
847
+ "path": "obs/sensor_data/robot_camera_1/rgb",
848
+ "shape": [
849
+ 1561,
850
+ 240,
851
+ 320,
852
+ 3
853
+ ],
854
+ "dtype": "uint8"
855
+ },
856
+ {
857
+ "path": "obs/sensor_data/top_camera/rgb",
858
+ "shape": [
859
+ 1561,
860
+ 320,
861
+ 240,
862
+ 3
863
+ ],
864
+ "dtype": "uint8"
865
+ }
866
+ ],
867
+ "trajectory_sha256": "5591922aacca9480b9b70929b413eb7fe6d018e36ccc922098bec99ec24049e3",
868
+ "source_sha256": "44fd47ace89da3b5dd3a3be8b854ec352d9199216c2fca59618913d6c8293938",
869
+ "view_sha256": "7fca8796f74e8ca658cc63166e016f78273fda7947c13b3e443271c9e2f6038f"
870
+ },
871
+ {
872
+ "demo_id": "demo_08",
873
+ "file": "demo_08.h5",
874
+ "length": 1558,
875
+ "fields": [
876
+ {
877
+ "path": "actions/panda_leaphand-0",
878
+ "shape": [
879
+ 1558,
880
+ 22
881
+ ],
882
+ "dtype": "float32"
883
+ },
884
+ {
885
+ "path": "actions/panda_leaphand-1",
886
+ "shape": [
887
+ 1558,
888
+ 22
889
+ ],
890
+ "dtype": "float32"
891
+ },
892
+ {
893
+ "path": "obs/agent/panda_leaphand-0/qpos",
894
+ "shape": [
895
+ 1559,
896
+ 23
897
+ ],
898
+ "dtype": "float32"
899
+ },
900
+ {
901
+ "path": "obs/agent/panda_leaphand-0/qvel",
902
+ "shape": [
903
+ 1559,
904
+ 23
905
+ ],
906
+ "dtype": "float32"
907
+ },
908
+ {
909
+ "path": "obs/agent/panda_leaphand-1/qpos",
910
+ "shape": [
911
+ 1559,
912
+ 23
913
+ ],
914
+ "dtype": "float32"
915
+ },
916
+ {
917
+ "path": "obs/agent/panda_leaphand-1/qvel",
918
+ "shape": [
919
+ 1559,
920
+ 23
921
+ ],
922
+ "dtype": "float32"
923
+ },
924
+ {
925
+ "path": "obs/sensor_data/front_camera/rgb",
926
+ "shape": [
927
+ 1559,
928
+ 240,
929
+ 320,
930
+ 3
931
+ ],
932
+ "dtype": "uint8"
933
+ },
934
+ {
935
+ "path": "obs/sensor_data/left_camera/rgb",
936
+ "shape": [
937
+ 1559,
938
+ 240,
939
+ 320,
940
+ 3
941
+ ],
942
+ "dtype": "uint8"
943
+ },
944
+ {
945
+ "path": "obs/sensor_data/robot_camera_0/rgb",
946
+ "shape": [
947
+ 1559,
948
+ 240,
949
+ 320,
950
+ 3
951
+ ],
952
+ "dtype": "uint8"
953
+ },
954
+ {
955
+ "path": "obs/sensor_data/robot_camera_1/rgb",
956
+ "shape": [
957
+ 1559,
958
+ 240,
959
+ 320,
960
+ 3
961
+ ],
962
+ "dtype": "uint8"
963
+ },
964
+ {
965
+ "path": "obs/sensor_data/top_camera/rgb",
966
+ "shape": [
967
+ 1559,
968
+ 320,
969
+ 240,
970
+ 3
971
+ ],
972
+ "dtype": "uint8"
973
+ }
974
+ ],
975
+ "trajectory_sha256": "c80eb8f5b7dadb093c091895d7428021a322fef180a96a384b8c31f917916f6d",
976
+ "source_sha256": "41d863d1bda09c066848da790e2147838fdb0f5c409c804a3765d344405bba0a",
977
+ "view_sha256": "2b102c4a5b906ec0fbdfaddccc862b5250910284b80fa5702fc15ea6641d08c2"
978
+ },
979
+ {
980
+ "demo_id": "demo_09",
981
+ "file": "demo_09.h5",
982
+ "length": 1558,
983
+ "fields": [
984
+ {
985
+ "path": "actions/panda_leaphand-0",
986
+ "shape": [
987
+ 1558,
988
+ 22
989
+ ],
990
+ "dtype": "float32"
991
+ },
992
+ {
993
+ "path": "actions/panda_leaphand-1",
994
+ "shape": [
995
+ 1558,
996
+ 22
997
+ ],
998
+ "dtype": "float32"
999
+ },
1000
+ {
1001
+ "path": "obs/agent/panda_leaphand-0/qpos",
1002
+ "shape": [
1003
+ 1559,
1004
+ 23
1005
+ ],
1006
+ "dtype": "float32"
1007
+ },
1008
+ {
1009
+ "path": "obs/agent/panda_leaphand-0/qvel",
1010
+ "shape": [
1011
+ 1559,
1012
+ 23
1013
+ ],
1014
+ "dtype": "float32"
1015
+ },
1016
+ {
1017
+ "path": "obs/agent/panda_leaphand-1/qpos",
1018
+ "shape": [
1019
+ 1559,
1020
+ 23
1021
+ ],
1022
+ "dtype": "float32"
1023
+ },
1024
+ {
1025
+ "path": "obs/agent/panda_leaphand-1/qvel",
1026
+ "shape": [
1027
+ 1559,
1028
+ 23
1029
+ ],
1030
+ "dtype": "float32"
1031
+ },
1032
+ {
1033
+ "path": "obs/sensor_data/front_camera/rgb",
1034
+ "shape": [
1035
+ 1559,
1036
+ 240,
1037
+ 320,
1038
+ 3
1039
+ ],
1040
+ "dtype": "uint8"
1041
+ },
1042
+ {
1043
+ "path": "obs/sensor_data/left_camera/rgb",
1044
+ "shape": [
1045
+ 1559,
1046
+ 240,
1047
+ 320,
1048
+ 3
1049
+ ],
1050
+ "dtype": "uint8"
1051
+ },
1052
+ {
1053
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1054
+ "shape": [
1055
+ 1559,
1056
+ 240,
1057
+ 320,
1058
+ 3
1059
+ ],
1060
+ "dtype": "uint8"
1061
+ },
1062
+ {
1063
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1064
+ "shape": [
1065
+ 1559,
1066
+ 240,
1067
+ 320,
1068
+ 3
1069
+ ],
1070
+ "dtype": "uint8"
1071
+ },
1072
+ {
1073
+ "path": "obs/sensor_data/top_camera/rgb",
1074
+ "shape": [
1075
+ 1559,
1076
+ 320,
1077
+ 240,
1078
+ 3
1079
+ ],
1080
+ "dtype": "uint8"
1081
+ }
1082
+ ],
1083
+ "trajectory_sha256": "71242acf24d334c1b13ffeff44c4e1e15aa78b287242630f8d6d3d12d690c2d3",
1084
+ "source_sha256": "465995789d5109bbdb17229e2226b79fa1f309f379b5851a0ff1f9b6db762cd0",
1085
+ "view_sha256": "27ef0248c920b009d645b61404f2b76d17aed2b8ec322b9987c174f17963d8af"
1086
+ },
1087
+ {
1088
+ "demo_id": "demo_10",
1089
+ "file": "demo_10.h5",
1090
+ "length": 1559,
1091
+ "fields": [
1092
+ {
1093
+ "path": "actions/panda_leaphand-0",
1094
+ "shape": [
1095
+ 1559,
1096
+ 22
1097
+ ],
1098
+ "dtype": "float32"
1099
+ },
1100
+ {
1101
+ "path": "actions/panda_leaphand-1",
1102
+ "shape": [
1103
+ 1559,
1104
+ 22
1105
+ ],
1106
+ "dtype": "float32"
1107
+ },
1108
+ {
1109
+ "path": "obs/agent/panda_leaphand-0/qpos",
1110
+ "shape": [
1111
+ 1560,
1112
+ 23
1113
+ ],
1114
+ "dtype": "float32"
1115
+ },
1116
+ {
1117
+ "path": "obs/agent/panda_leaphand-0/qvel",
1118
+ "shape": [
1119
+ 1560,
1120
+ 23
1121
+ ],
1122
+ "dtype": "float32"
1123
+ },
1124
+ {
1125
+ "path": "obs/agent/panda_leaphand-1/qpos",
1126
+ "shape": [
1127
+ 1560,
1128
+ 23
1129
+ ],
1130
+ "dtype": "float32"
1131
+ },
1132
+ {
1133
+ "path": "obs/agent/panda_leaphand-1/qvel",
1134
+ "shape": [
1135
+ 1560,
1136
+ 23
1137
+ ],
1138
+ "dtype": "float32"
1139
+ },
1140
+ {
1141
+ "path": "obs/sensor_data/front_camera/rgb",
1142
+ "shape": [
1143
+ 1560,
1144
+ 240,
1145
+ 320,
1146
+ 3
1147
+ ],
1148
+ "dtype": "uint8"
1149
+ },
1150
+ {
1151
+ "path": "obs/sensor_data/left_camera/rgb",
1152
+ "shape": [
1153
+ 1560,
1154
+ 240,
1155
+ 320,
1156
+ 3
1157
+ ],
1158
+ "dtype": "uint8"
1159
+ },
1160
+ {
1161
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1162
+ "shape": [
1163
+ 1560,
1164
+ 240,
1165
+ 320,
1166
+ 3
1167
+ ],
1168
+ "dtype": "uint8"
1169
+ },
1170
+ {
1171
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1172
+ "shape": [
1173
+ 1560,
1174
+ 240,
1175
+ 320,
1176
+ 3
1177
+ ],
1178
+ "dtype": "uint8"
1179
+ },
1180
+ {
1181
+ "path": "obs/sensor_data/top_camera/rgb",
1182
+ "shape": [
1183
+ 1560,
1184
+ 320,
1185
+ 240,
1186
+ 3
1187
+ ],
1188
+ "dtype": "uint8"
1189
+ }
1190
+ ],
1191
+ "trajectory_sha256": "067c4a4c2c478147f4d5701a8350e6b8a4d1702b727e327da1e7a245d2fd4ad4",
1192
+ "source_sha256": "155a384d7501e17c4c8572f4334df21ab0f62b63931d6f768d7a4ea5dc3de13e",
1193
+ "view_sha256": "6988f20886e3d1c1f474d171281d0f5af9bf2ced0b972e1c2e9e5e4c02fbbb2c"
1194
+ },
1195
+ {
1196
+ "demo_id": "demo_11",
1197
+ "file": "demo_11.h5",
1198
+ "length": 1560,
1199
+ "fields": [
1200
+ {
1201
+ "path": "actions/panda_leaphand-0",
1202
+ "shape": [
1203
+ 1560,
1204
+ 22
1205
+ ],
1206
+ "dtype": "float32"
1207
+ },
1208
+ {
1209
+ "path": "actions/panda_leaphand-1",
1210
+ "shape": [
1211
+ 1560,
1212
+ 22
1213
+ ],
1214
+ "dtype": "float32"
1215
+ },
1216
+ {
1217
+ "path": "obs/agent/panda_leaphand-0/qpos",
1218
+ "shape": [
1219
+ 1561,
1220
+ 23
1221
+ ],
1222
+ "dtype": "float32"
1223
+ },
1224
+ {
1225
+ "path": "obs/agent/panda_leaphand-0/qvel",
1226
+ "shape": [
1227
+ 1561,
1228
+ 23
1229
+ ],
1230
+ "dtype": "float32"
1231
+ },
1232
+ {
1233
+ "path": "obs/agent/panda_leaphand-1/qpos",
1234
+ "shape": [
1235
+ 1561,
1236
+ 23
1237
+ ],
1238
+ "dtype": "float32"
1239
+ },
1240
+ {
1241
+ "path": "obs/agent/panda_leaphand-1/qvel",
1242
+ "shape": [
1243
+ 1561,
1244
+ 23
1245
+ ],
1246
+ "dtype": "float32"
1247
+ },
1248
+ {
1249
+ "path": "obs/sensor_data/front_camera/rgb",
1250
+ "shape": [
1251
+ 1561,
1252
+ 240,
1253
+ 320,
1254
+ 3
1255
+ ],
1256
+ "dtype": "uint8"
1257
+ },
1258
+ {
1259
+ "path": "obs/sensor_data/left_camera/rgb",
1260
+ "shape": [
1261
+ 1561,
1262
+ 240,
1263
+ 320,
1264
+ 3
1265
+ ],
1266
+ "dtype": "uint8"
1267
+ },
1268
+ {
1269
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1270
+ "shape": [
1271
+ 1561,
1272
+ 240,
1273
+ 320,
1274
+ 3
1275
+ ],
1276
+ "dtype": "uint8"
1277
+ },
1278
+ {
1279
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1280
+ "shape": [
1281
+ 1561,
1282
+ 240,
1283
+ 320,
1284
+ 3
1285
+ ],
1286
+ "dtype": "uint8"
1287
+ },
1288
+ {
1289
+ "path": "obs/sensor_data/top_camera/rgb",
1290
+ "shape": [
1291
+ 1561,
1292
+ 320,
1293
+ 240,
1294
+ 3
1295
+ ],
1296
+ "dtype": "uint8"
1297
+ }
1298
+ ],
1299
+ "trajectory_sha256": "49b371abbe71a39f5069e0755b4fe0e32bb101c464da70de8e0eea0a430129fe",
1300
+ "source_sha256": "600a778036655db5bb3d084d46ecca47009bd0d4bbd9cf029e6c2af75940514e",
1301
+ "view_sha256": "1201c883c69e7c6dc6a0b1b3643bec797aab69aef6c24d153c37e5a918bd9274"
1302
+ },
1303
+ {
1304
+ "demo_id": "demo_12",
1305
+ "file": "demo_12.h5",
1306
+ "length": 1559,
1307
+ "fields": [
1308
+ {
1309
+ "path": "actions/panda_leaphand-0",
1310
+ "shape": [
1311
+ 1559,
1312
+ 22
1313
+ ],
1314
+ "dtype": "float32"
1315
+ },
1316
+ {
1317
+ "path": "actions/panda_leaphand-1",
1318
+ "shape": [
1319
+ 1559,
1320
+ 22
1321
+ ],
1322
+ "dtype": "float32"
1323
+ },
1324
+ {
1325
+ "path": "obs/agent/panda_leaphand-0/qpos",
1326
+ "shape": [
1327
+ 1560,
1328
+ 23
1329
+ ],
1330
+ "dtype": "float32"
1331
+ },
1332
+ {
1333
+ "path": "obs/agent/panda_leaphand-0/qvel",
1334
+ "shape": [
1335
+ 1560,
1336
+ 23
1337
+ ],
1338
+ "dtype": "float32"
1339
+ },
1340
+ {
1341
+ "path": "obs/agent/panda_leaphand-1/qpos",
1342
+ "shape": [
1343
+ 1560,
1344
+ 23
1345
+ ],
1346
+ "dtype": "float32"
1347
+ },
1348
+ {
1349
+ "path": "obs/agent/panda_leaphand-1/qvel",
1350
+ "shape": [
1351
+ 1560,
1352
+ 23
1353
+ ],
1354
+ "dtype": "float32"
1355
+ },
1356
+ {
1357
+ "path": "obs/sensor_data/front_camera/rgb",
1358
+ "shape": [
1359
+ 1560,
1360
+ 240,
1361
+ 320,
1362
+ 3
1363
+ ],
1364
+ "dtype": "uint8"
1365
+ },
1366
+ {
1367
+ "path": "obs/sensor_data/left_camera/rgb",
1368
+ "shape": [
1369
+ 1560,
1370
+ 240,
1371
+ 320,
1372
+ 3
1373
+ ],
1374
+ "dtype": "uint8"
1375
+ },
1376
+ {
1377
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1378
+ "shape": [
1379
+ 1560,
1380
+ 240,
1381
+ 320,
1382
+ 3
1383
+ ],
1384
+ "dtype": "uint8"
1385
+ },
1386
+ {
1387
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1388
+ "shape": [
1389
+ 1560,
1390
+ 240,
1391
+ 320,
1392
+ 3
1393
+ ],
1394
+ "dtype": "uint8"
1395
+ },
1396
+ {
1397
+ "path": "obs/sensor_data/top_camera/rgb",
1398
+ "shape": [
1399
+ 1560,
1400
+ 320,
1401
+ 240,
1402
+ 3
1403
+ ],
1404
+ "dtype": "uint8"
1405
+ }
1406
+ ],
1407
+ "trajectory_sha256": "41792a00a094d0b7af786362feb34502f27625a97f4eca1d27caba78a149746d",
1408
+ "source_sha256": "7600cff8cb4895d6434370fa8bc3e70e7d78f153adee125151033385b10e4b0a",
1409
+ "view_sha256": "545d24e44102bc8eb781191067caef74ffbf5972e4460e4a4509a066760d0a8f"
1410
+ },
1411
+ {
1412
+ "demo_id": "demo_13",
1413
+ "file": "demo_13.h5",
1414
+ "length": 1559,
1415
+ "fields": [
1416
+ {
1417
+ "path": "actions/panda_leaphand-0",
1418
+ "shape": [
1419
+ 1559,
1420
+ 22
1421
+ ],
1422
+ "dtype": "float32"
1423
+ },
1424
+ {
1425
+ "path": "actions/panda_leaphand-1",
1426
+ "shape": [
1427
+ 1559,
1428
+ 22
1429
+ ],
1430
+ "dtype": "float32"
1431
+ },
1432
+ {
1433
+ "path": "obs/agent/panda_leaphand-0/qpos",
1434
+ "shape": [
1435
+ 1560,
1436
+ 23
1437
+ ],
1438
+ "dtype": "float32"
1439
+ },
1440
+ {
1441
+ "path": "obs/agent/panda_leaphand-0/qvel",
1442
+ "shape": [
1443
+ 1560,
1444
+ 23
1445
+ ],
1446
+ "dtype": "float32"
1447
+ },
1448
+ {
1449
+ "path": "obs/agent/panda_leaphand-1/qpos",
1450
+ "shape": [
1451
+ 1560,
1452
+ 23
1453
+ ],
1454
+ "dtype": "float32"
1455
+ },
1456
+ {
1457
+ "path": "obs/agent/panda_leaphand-1/qvel",
1458
+ "shape": [
1459
+ 1560,
1460
+ 23
1461
+ ],
1462
+ "dtype": "float32"
1463
+ },
1464
+ {
1465
+ "path": "obs/sensor_data/front_camera/rgb",
1466
+ "shape": [
1467
+ 1560,
1468
+ 240,
1469
+ 320,
1470
+ 3
1471
+ ],
1472
+ "dtype": "uint8"
1473
+ },
1474
+ {
1475
+ "path": "obs/sensor_data/left_camera/rgb",
1476
+ "shape": [
1477
+ 1560,
1478
+ 240,
1479
+ 320,
1480
+ 3
1481
+ ],
1482
+ "dtype": "uint8"
1483
+ },
1484
+ {
1485
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1486
+ "shape": [
1487
+ 1560,
1488
+ 240,
1489
+ 320,
1490
+ 3
1491
+ ],
1492
+ "dtype": "uint8"
1493
+ },
1494
+ {
1495
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1496
+ "shape": [
1497
+ 1560,
1498
+ 240,
1499
+ 320,
1500
+ 3
1501
+ ],
1502
+ "dtype": "uint8"
1503
+ },
1504
+ {
1505
+ "path": "obs/sensor_data/top_camera/rgb",
1506
+ "shape": [
1507
+ 1560,
1508
+ 320,
1509
+ 240,
1510
+ 3
1511
+ ],
1512
+ "dtype": "uint8"
1513
+ }
1514
+ ],
1515
+ "trajectory_sha256": "bacb7aecc032837f0d4dcf9930f05204372a679a032725df93c0af0a17433b3f",
1516
+ "source_sha256": "e62ed8c10f2e75caf56362313e854da7d84e96488e1e5ee137d777c38be8075a",
1517
+ "view_sha256": "269e19fc8ceb22a241385c78443cca8abbba1dd9c33d78c721983ed3435270d0"
1518
+ },
1519
+ {
1520
+ "demo_id": "demo_14",
1521
+ "file": "demo_14.h5",
1522
+ "length": 1559,
1523
+ "fields": [
1524
+ {
1525
+ "path": "actions/panda_leaphand-0",
1526
+ "shape": [
1527
+ 1559,
1528
+ 22
1529
+ ],
1530
+ "dtype": "float32"
1531
+ },
1532
+ {
1533
+ "path": "actions/panda_leaphand-1",
1534
+ "shape": [
1535
+ 1559,
1536
+ 22
1537
+ ],
1538
+ "dtype": "float32"
1539
+ },
1540
+ {
1541
+ "path": "obs/agent/panda_leaphand-0/qpos",
1542
+ "shape": [
1543
+ 1560,
1544
+ 23
1545
+ ],
1546
+ "dtype": "float32"
1547
+ },
1548
+ {
1549
+ "path": "obs/agent/panda_leaphand-0/qvel",
1550
+ "shape": [
1551
+ 1560,
1552
+ 23
1553
+ ],
1554
+ "dtype": "float32"
1555
+ },
1556
+ {
1557
+ "path": "obs/agent/panda_leaphand-1/qpos",
1558
+ "shape": [
1559
+ 1560,
1560
+ 23
1561
+ ],
1562
+ "dtype": "float32"
1563
+ },
1564
+ {
1565
+ "path": "obs/agent/panda_leaphand-1/qvel",
1566
+ "shape": [
1567
+ 1560,
1568
+ 23
1569
+ ],
1570
+ "dtype": "float32"
1571
+ },
1572
+ {
1573
+ "path": "obs/sensor_data/front_camera/rgb",
1574
+ "shape": [
1575
+ 1560,
1576
+ 240,
1577
+ 320,
1578
+ 3
1579
+ ],
1580
+ "dtype": "uint8"
1581
+ },
1582
+ {
1583
+ "path": "obs/sensor_data/left_camera/rgb",
1584
+ "shape": [
1585
+ 1560,
1586
+ 240,
1587
+ 320,
1588
+ 3
1589
+ ],
1590
+ "dtype": "uint8"
1591
+ },
1592
+ {
1593
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1594
+ "shape": [
1595
+ 1560,
1596
+ 240,
1597
+ 320,
1598
+ 3
1599
+ ],
1600
+ "dtype": "uint8"
1601
+ },
1602
+ {
1603
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1604
+ "shape": [
1605
+ 1560,
1606
+ 240,
1607
+ 320,
1608
+ 3
1609
+ ],
1610
+ "dtype": "uint8"
1611
+ },
1612
+ {
1613
+ "path": "obs/sensor_data/top_camera/rgb",
1614
+ "shape": [
1615
+ 1560,
1616
+ 320,
1617
+ 240,
1618
+ 3
1619
+ ],
1620
+ "dtype": "uint8"
1621
+ }
1622
+ ],
1623
+ "trajectory_sha256": "43ff09c6b08ecb345f7493ff3bcfc51e5529a05a33d992198d32ce614bc2ab2e",
1624
+ "source_sha256": "8634314aae2cc12896013bebe3cdb6160f8fd90fc75296191511d4ec26e9ebeb",
1625
+ "view_sha256": "262f1aa0f0e7605e61320f6fd874e0323b8e91ad5f753aa1f2e34b51ed00f0a0"
1626
+ },
1627
+ {
1628
+ "demo_id": "demo_15",
1629
+ "file": "demo_15.h5",
1630
+ "length": 1560,
1631
+ "fields": [
1632
+ {
1633
+ "path": "actions/panda_leaphand-0",
1634
+ "shape": [
1635
+ 1560,
1636
+ 22
1637
+ ],
1638
+ "dtype": "float32"
1639
+ },
1640
+ {
1641
+ "path": "actions/panda_leaphand-1",
1642
+ "shape": [
1643
+ 1560,
1644
+ 22
1645
+ ],
1646
+ "dtype": "float32"
1647
+ },
1648
+ {
1649
+ "path": "obs/agent/panda_leaphand-0/qpos",
1650
+ "shape": [
1651
+ 1561,
1652
+ 23
1653
+ ],
1654
+ "dtype": "float32"
1655
+ },
1656
+ {
1657
+ "path": "obs/agent/panda_leaphand-0/qvel",
1658
+ "shape": [
1659
+ 1561,
1660
+ 23
1661
+ ],
1662
+ "dtype": "float32"
1663
+ },
1664
+ {
1665
+ "path": "obs/agent/panda_leaphand-1/qpos",
1666
+ "shape": [
1667
+ 1561,
1668
+ 23
1669
+ ],
1670
+ "dtype": "float32"
1671
+ },
1672
+ {
1673
+ "path": "obs/agent/panda_leaphand-1/qvel",
1674
+ "shape": [
1675
+ 1561,
1676
+ 23
1677
+ ],
1678
+ "dtype": "float32"
1679
+ },
1680
+ {
1681
+ "path": "obs/sensor_data/front_camera/rgb",
1682
+ "shape": [
1683
+ 1561,
1684
+ 240,
1685
+ 320,
1686
+ 3
1687
+ ],
1688
+ "dtype": "uint8"
1689
+ },
1690
+ {
1691
+ "path": "obs/sensor_data/left_camera/rgb",
1692
+ "shape": [
1693
+ 1561,
1694
+ 240,
1695
+ 320,
1696
+ 3
1697
+ ],
1698
+ "dtype": "uint8"
1699
+ },
1700
+ {
1701
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1702
+ "shape": [
1703
+ 1561,
1704
+ 240,
1705
+ 320,
1706
+ 3
1707
+ ],
1708
+ "dtype": "uint8"
1709
+ },
1710
+ {
1711
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1712
+ "shape": [
1713
+ 1561,
1714
+ 240,
1715
+ 320,
1716
+ 3
1717
+ ],
1718
+ "dtype": "uint8"
1719
+ },
1720
+ {
1721
+ "path": "obs/sensor_data/top_camera/rgb",
1722
+ "shape": [
1723
+ 1561,
1724
+ 320,
1725
+ 240,
1726
+ 3
1727
+ ],
1728
+ "dtype": "uint8"
1729
+ }
1730
+ ],
1731
+ "trajectory_sha256": "0a299238c6ce040f102221232dc2e7fdcaa9888863f2202164339c500c3a8efc",
1732
+ "source_sha256": "c7ce178ba137543aa045390ddac27268d45498dfe49a2cdcc466252ef9f4086d",
1733
+ "view_sha256": "fed2fc6324219cd63dabac6c67a0fe039ab04faa43bae743f9157a2556396c2f"
1734
+ },
1735
+ {
1736
+ "demo_id": "demo_16",
1737
+ "file": "demo_16.h5",
1738
+ "length": 1559,
1739
+ "fields": [
1740
+ {
1741
+ "path": "actions/panda_leaphand-0",
1742
+ "shape": [
1743
+ 1559,
1744
+ 22
1745
+ ],
1746
+ "dtype": "float32"
1747
+ },
1748
+ {
1749
+ "path": "actions/panda_leaphand-1",
1750
+ "shape": [
1751
+ 1559,
1752
+ 22
1753
+ ],
1754
+ "dtype": "float32"
1755
+ },
1756
+ {
1757
+ "path": "obs/agent/panda_leaphand-0/qpos",
1758
+ "shape": [
1759
+ 1560,
1760
+ 23
1761
+ ],
1762
+ "dtype": "float32"
1763
+ },
1764
+ {
1765
+ "path": "obs/agent/panda_leaphand-0/qvel",
1766
+ "shape": [
1767
+ 1560,
1768
+ 23
1769
+ ],
1770
+ "dtype": "float32"
1771
+ },
1772
+ {
1773
+ "path": "obs/agent/panda_leaphand-1/qpos",
1774
+ "shape": [
1775
+ 1560,
1776
+ 23
1777
+ ],
1778
+ "dtype": "float32"
1779
+ },
1780
+ {
1781
+ "path": "obs/agent/panda_leaphand-1/qvel",
1782
+ "shape": [
1783
+ 1560,
1784
+ 23
1785
+ ],
1786
+ "dtype": "float32"
1787
+ },
1788
+ {
1789
+ "path": "obs/sensor_data/front_camera/rgb",
1790
+ "shape": [
1791
+ 1560,
1792
+ 240,
1793
+ 320,
1794
+ 3
1795
+ ],
1796
+ "dtype": "uint8"
1797
+ },
1798
+ {
1799
+ "path": "obs/sensor_data/left_camera/rgb",
1800
+ "shape": [
1801
+ 1560,
1802
+ 240,
1803
+ 320,
1804
+ 3
1805
+ ],
1806
+ "dtype": "uint8"
1807
+ },
1808
+ {
1809
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1810
+ "shape": [
1811
+ 1560,
1812
+ 240,
1813
+ 320,
1814
+ 3
1815
+ ],
1816
+ "dtype": "uint8"
1817
+ },
1818
+ {
1819
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1820
+ "shape": [
1821
+ 1560,
1822
+ 240,
1823
+ 320,
1824
+ 3
1825
+ ],
1826
+ "dtype": "uint8"
1827
+ },
1828
+ {
1829
+ "path": "obs/sensor_data/top_camera/rgb",
1830
+ "shape": [
1831
+ 1560,
1832
+ 320,
1833
+ 240,
1834
+ 3
1835
+ ],
1836
+ "dtype": "uint8"
1837
+ }
1838
+ ],
1839
+ "trajectory_sha256": "f2206aca246c8a66b411750c1b6d772f65e539ff54f60792c3bfc214dc84a624",
1840
+ "source_sha256": "f6d085440fb2e6c6ac9cbc0b43a4025e6a7ef64c8f59c46f149e7ab71a08d08e",
1841
+ "view_sha256": "e9d541c4d969e0be65188e42dd90ddb533875dfa5dec0fb1bd65fa648e6b36c3"
1842
+ },
1843
+ {
1844
+ "demo_id": "demo_17",
1845
+ "file": "demo_17.h5",
1846
+ "length": 1559,
1847
+ "fields": [
1848
+ {
1849
+ "path": "actions/panda_leaphand-0",
1850
+ "shape": [
1851
+ 1559,
1852
+ 22
1853
+ ],
1854
+ "dtype": "float32"
1855
+ },
1856
+ {
1857
+ "path": "actions/panda_leaphand-1",
1858
+ "shape": [
1859
+ 1559,
1860
+ 22
1861
+ ],
1862
+ "dtype": "float32"
1863
+ },
1864
+ {
1865
+ "path": "obs/agent/panda_leaphand-0/qpos",
1866
+ "shape": [
1867
+ 1560,
1868
+ 23
1869
+ ],
1870
+ "dtype": "float32"
1871
+ },
1872
+ {
1873
+ "path": "obs/agent/panda_leaphand-0/qvel",
1874
+ "shape": [
1875
+ 1560,
1876
+ 23
1877
+ ],
1878
+ "dtype": "float32"
1879
+ },
1880
+ {
1881
+ "path": "obs/agent/panda_leaphand-1/qpos",
1882
+ "shape": [
1883
+ 1560,
1884
+ 23
1885
+ ],
1886
+ "dtype": "float32"
1887
+ },
1888
+ {
1889
+ "path": "obs/agent/panda_leaphand-1/qvel",
1890
+ "shape": [
1891
+ 1560,
1892
+ 23
1893
+ ],
1894
+ "dtype": "float32"
1895
+ },
1896
+ {
1897
+ "path": "obs/sensor_data/front_camera/rgb",
1898
+ "shape": [
1899
+ 1560,
1900
+ 240,
1901
+ 320,
1902
+ 3
1903
+ ],
1904
+ "dtype": "uint8"
1905
+ },
1906
+ {
1907
+ "path": "obs/sensor_data/left_camera/rgb",
1908
+ "shape": [
1909
+ 1560,
1910
+ 240,
1911
+ 320,
1912
+ 3
1913
+ ],
1914
+ "dtype": "uint8"
1915
+ },
1916
+ {
1917
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1918
+ "shape": [
1919
+ 1560,
1920
+ 240,
1921
+ 320,
1922
+ 3
1923
+ ],
1924
+ "dtype": "uint8"
1925
+ },
1926
+ {
1927
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1928
+ "shape": [
1929
+ 1560,
1930
+ 240,
1931
+ 320,
1932
+ 3
1933
+ ],
1934
+ "dtype": "uint8"
1935
+ },
1936
+ {
1937
+ "path": "obs/sensor_data/top_camera/rgb",
1938
+ "shape": [
1939
+ 1560,
1940
+ 320,
1941
+ 240,
1942
+ 3
1943
+ ],
1944
+ "dtype": "uint8"
1945
+ }
1946
+ ],
1947
+ "trajectory_sha256": "a066471cb0eced9e6581b5ed7fb685dd06e84d0c250e04ace9b40483ea08f6c0",
1948
+ "source_sha256": "14e5a3a2dcd9d7ce4a2a567b7ab88e4f1c879a11b5b41c16e9f09837a9b3f00a",
1949
+ "view_sha256": "a7afa8908adb0ade184131457dff0a39db379ee9800b33a1b2875e3e69806931"
1950
+ },
1951
+ {
1952
+ "demo_id": "demo_18",
1953
+ "file": "demo_18.h5",
1954
+ "length": 1559,
1955
+ "fields": [
1956
+ {
1957
+ "path": "actions/panda_leaphand-0",
1958
+ "shape": [
1959
+ 1559,
1960
+ 22
1961
+ ],
1962
+ "dtype": "float32"
1963
+ },
1964
+ {
1965
+ "path": "actions/panda_leaphand-1",
1966
+ "shape": [
1967
+ 1559,
1968
+ 22
1969
+ ],
1970
+ "dtype": "float32"
1971
+ },
1972
+ {
1973
+ "path": "obs/agent/panda_leaphand-0/qpos",
1974
+ "shape": [
1975
+ 1560,
1976
+ 23
1977
+ ],
1978
+ "dtype": "float32"
1979
+ },
1980
+ {
1981
+ "path": "obs/agent/panda_leaphand-0/qvel",
1982
+ "shape": [
1983
+ 1560,
1984
+ 23
1985
+ ],
1986
+ "dtype": "float32"
1987
+ },
1988
+ {
1989
+ "path": "obs/agent/panda_leaphand-1/qpos",
1990
+ "shape": [
1991
+ 1560,
1992
+ 23
1993
+ ],
1994
+ "dtype": "float32"
1995
+ },
1996
+ {
1997
+ "path": "obs/agent/panda_leaphand-1/qvel",
1998
+ "shape": [
1999
+ 1560,
2000
+ 23
2001
+ ],
2002
+ "dtype": "float32"
2003
+ },
2004
+ {
2005
+ "path": "obs/sensor_data/front_camera/rgb",
2006
+ "shape": [
2007
+ 1560,
2008
+ 240,
2009
+ 320,
2010
+ 3
2011
+ ],
2012
+ "dtype": "uint8"
2013
+ },
2014
+ {
2015
+ "path": "obs/sensor_data/left_camera/rgb",
2016
+ "shape": [
2017
+ 1560,
2018
+ 240,
2019
+ 320,
2020
+ 3
2021
+ ],
2022
+ "dtype": "uint8"
2023
+ },
2024
+ {
2025
+ "path": "obs/sensor_data/robot_camera_0/rgb",
2026
+ "shape": [
2027
+ 1560,
2028
+ 240,
2029
+ 320,
2030
+ 3
2031
+ ],
2032
+ "dtype": "uint8"
2033
+ },
2034
+ {
2035
+ "path": "obs/sensor_data/robot_camera_1/rgb",
2036
+ "shape": [
2037
+ 1560,
2038
+ 240,
2039
+ 320,
2040
+ 3
2041
+ ],
2042
+ "dtype": "uint8"
2043
+ },
2044
+ {
2045
+ "path": "obs/sensor_data/top_camera/rgb",
2046
+ "shape": [
2047
+ 1560,
2048
+ 320,
2049
+ 240,
2050
+ 3
2051
+ ],
2052
+ "dtype": "uint8"
2053
+ }
2054
+ ],
2055
+ "trajectory_sha256": "8e74bdc9e511ae65096bc978268aa11856a5b27cde0fabac31d3c115f77de6b9",
2056
+ "source_sha256": "12b9e507f0f9125fbf1307ab9a7b14b46ac30bb3539c4eccbcee47364ca0dac7",
2057
+ "view_sha256": "6e73383378ac4a7617450420883e05eff0f08d3899e01f1a47a9851e98f93b21"
2058
+ },
2059
+ {
2060
+ "demo_id": "demo_19",
2061
+ "file": "demo_19.h5",
2062
+ "length": 1559,
2063
+ "fields": [
2064
+ {
2065
+ "path": "actions/panda_leaphand-0",
2066
+ "shape": [
2067
+ 1559,
2068
+ 22
2069
+ ],
2070
+ "dtype": "float32"
2071
+ },
2072
+ {
2073
+ "path": "actions/panda_leaphand-1",
2074
+ "shape": [
2075
+ 1559,
2076
+ 22
2077
+ ],
2078
+ "dtype": "float32"
2079
+ },
2080
+ {
2081
+ "path": "obs/agent/panda_leaphand-0/qpos",
2082
+ "shape": [
2083
+ 1560,
2084
+ 23
2085
+ ],
2086
+ "dtype": "float32"
2087
+ },
2088
+ {
2089
+ "path": "obs/agent/panda_leaphand-0/qvel",
2090
+ "shape": [
2091
+ 1560,
2092
+ 23
2093
+ ],
2094
+ "dtype": "float32"
2095
+ },
2096
+ {
2097
+ "path": "obs/agent/panda_leaphand-1/qpos",
2098
+ "shape": [
2099
+ 1560,
2100
+ 23
2101
+ ],
2102
+ "dtype": "float32"
2103
+ },
2104
+ {
2105
+ "path": "obs/agent/panda_leaphand-1/qvel",
2106
+ "shape": [
2107
+ 1560,
2108
+ 23
2109
+ ],
2110
+ "dtype": "float32"
2111
+ },
2112
+ {
2113
+ "path": "obs/sensor_data/front_camera/rgb",
2114
+ "shape": [
2115
+ 1560,
2116
+ 240,
2117
+ 320,
2118
+ 3
2119
+ ],
2120
+ "dtype": "uint8"
2121
+ },
2122
+ {
2123
+ "path": "obs/sensor_data/left_camera/rgb",
2124
+ "shape": [
2125
+ 1560,
2126
+ 240,
2127
+ 320,
2128
+ 3
2129
+ ],
2130
+ "dtype": "uint8"
2131
+ },
2132
+ {
2133
+ "path": "obs/sensor_data/robot_camera_0/rgb",
2134
+ "shape": [
2135
+ 1560,
2136
+ 240,
2137
+ 320,
2138
+ 3
2139
+ ],
2140
+ "dtype": "uint8"
2141
+ },
2142
+ {
2143
+ "path": "obs/sensor_data/robot_camera_1/rgb",
2144
+ "shape": [
2145
+ 1560,
2146
+ 240,
2147
+ 320,
2148
+ 3
2149
+ ],
2150
+ "dtype": "uint8"
2151
+ },
2152
+ {
2153
+ "path": "obs/sensor_data/top_camera/rgb",
2154
+ "shape": [
2155
+ 1560,
2156
+ 320,
2157
+ 240,
2158
+ 3
2159
+ ],
2160
+ "dtype": "uint8"
2161
+ }
2162
+ ],
2163
+ "trajectory_sha256": "b3de75660dd1cd85173f4502fe413943fa93f1a3bc17853e2c34279bb0a2391e",
2164
+ "source_sha256": "b8a08a651dcf62b7cb66402d40d645743adb94fb28bf7b1e8a3f87e09d99a003",
2165
+ "view_sha256": "257cb835e77080bb7172526c64bd01a72bdac34eecf71b3f091d15daee56d93f"
2166
+ }
2167
+ ]
2168
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/environment.lock ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==2.4.0
2
+ accelerate==1.13.0
3
+ addict==2.4.0
4
+ aiohappyeyeballs==2.6.1
5
+ aiohttp==3.13.5
6
+ aiosignal==1.4.0
7
+ annotated-types==0.7.0
8
+ anyio==4.13.0
9
+ anytree==2.13.0
10
+ asttokens==3.0.1
11
+ async-timeout==5.0.1
12
+ attrs==26.1.0
13
+ av==15.1.0
14
+ blinker==1.9.0
15
+ casadi==3.7.2
16
+ certifi==2026.4.22
17
+ cffi==2.0.0
18
+ charset-normalizer==3.4.7
19
+ click==8.3.3
20
+ cloudpickle==3.1.2
21
+ cmake==4.1.3
22
+ coacd==1.0.11
23
+ colorama==0.4.6
24
+ colorlog==6.10.1
25
+ comm==0.2.3
26
+ ConfigArgParse==1.7.5
27
+ contourpy==1.3.2
28
+ cuda-bindings==12.9.4
29
+ cuda-pathfinder==1.5.4
30
+ cycler==0.12.1
31
+ dacite==1.9.2
32
+ dash==4.1.0
33
+ dataclasses-json==0.6.7
34
+ datasets==4.8.5
35
+ decorator==5.2.1
36
+ deepdiff==8.6.2
37
+ Deprecated==1.3.1
38
+ diffusers==0.35.2
39
+ dill==0.4.1
40
+ docstring_parser==0.18.0
41
+ draccus==0.10.0
42
+ einops==0.8.2
43
+ embreex==4.4.0
44
+ etils==1.13.0
45
+ evdev==1.9.3
46
+ exceptiongroup==1.3.1
47
+ executing==2.2.1
48
+ Farama-Notifications==0.0.6
49
+ fast_simplification==0.1.13
50
+ fastjsonschema==2.21.2
51
+ filelock==3.29.0
52
+ Flask==3.1.3
53
+ fonttools==4.63.0
54
+ freetype-py==2.5.1
55
+ frozenlist==1.8.0
56
+ fsspec==2026.2.0
57
+ genesis-world @ file:///data/gck/genesis-world
58
+ git-filter-repo==2.47.0
59
+ gitdb==4.0.12
60
+ GitPython==3.1.50
61
+ glfw==2.10.0
62
+ gs-madrona==0.0.5
63
+ gstaichi==3.3.0
64
+ gym==0.26.2
65
+ gym-notices==0.1.0
66
+ gymnasium==1.3.0
67
+ h11==0.16.0
68
+ h5py==3.16.0
69
+ hf-xet==1.5.0
70
+ hf_transfer==0.1.9
71
+ httpcore==1.0.9
72
+ httpx==0.28.1
73
+ huggingface-hub==0.35.3
74
+ idna==3.15
75
+ ImageIO==2.37.3
76
+ imageio-ffmpeg==0.6.0
77
+ importlib_metadata==9.0.0
78
+ importlib_resources==7.1.0
79
+ inquirerpy==0.3.4
80
+ ipython==8.39.0
81
+ ipywidgets==8.1.8
82
+ itsdangerous==2.2.0
83
+ jedi==0.20.0
84
+ Jinja2==3.1.6
85
+ joblib==1.5.3
86
+ jsonlines==4.0.0
87
+ jsonschema==4.26.0
88
+ jsonschema-specifications==2025.9.1
89
+ jupyter_core==5.9.1
90
+ jupyterlab_widgets==3.0.16
91
+ kiwisolver==1.5.0
92
+ lazy-loader==0.5
93
+ lerobot==0.4.4
94
+ libigl==2.6.2
95
+ llvmlite==0.47.0
96
+ loguru==0.7.3
97
+ lxml==6.1.0
98
+ manifold3d==3.4.1
99
+ -e git+ssh://git@github.com/HeegerGao/maniladder.git@f6eed17496816bb41ce484f2d7580990a908d3e6#egg=maniladder
100
+ mapbox_earcut==2.0.0
101
+ markdown-it-py==4.2.0
102
+ MarkupSafe==3.0.3
103
+ marshmallow==3.26.2
104
+ matplotlib==3.10.9
105
+ matplotlib-inline==0.2.2
106
+ mdurl==0.1.2
107
+ mergedeep==1.3.4
108
+ moviepy==2.2.1
109
+ mpmath==1.3.0
110
+ msgspec==0.21.1
111
+ mujoco==3.8.1
112
+ multidict==6.7.1
113
+ multiprocess==0.70.19
114
+ mypy_extensions==1.1.0
115
+ nbformat==5.10.4
116
+ nest-asyncio==1.6.0
117
+ networkx==3.4.2
118
+ ninja==1.13.0
119
+ nlopt==2.10.0
120
+ numba==0.65.1
121
+ numpy @ file:///home/conda/feedstock_root/build_artifacts/numpy_1747544640217/work/dist/numpy-2.2.6-cp310-cp310-linux_x86_64.whl#sha256=d6d964caeef85d00073d27cd62b46883d275b3d8162f723f0fcabbd0b3cc3f9d
122
+ nvidia-cublas-cu12==12.8.4.1
123
+ nvidia-cuda-cupti-cu12==12.8.90
124
+ nvidia-cuda-nvrtc-cu12==12.8.93
125
+ nvidia-cuda-runtime-cu12==12.8.90
126
+ nvidia-cudnn-cu12==9.10.2.21
127
+ nvidia-cufft-cu12==11.3.3.83
128
+ nvidia-cufile-cu12==1.13.1.3
129
+ nvidia-curand-cu12==10.3.9.90
130
+ nvidia-cusolver-cu12==11.7.3.90
131
+ nvidia-cusparse-cu12==12.5.8.93
132
+ nvidia-cusparselt-cu12==0.7.1
133
+ nvidia-nccl-cu12==2.27.5
134
+ nvidia-nvjitlink-cu12==12.8.93
135
+ nvidia-nvshmem-cu12==3.4.5
136
+ nvidia-nvtx-cu12==12.8.90
137
+ open3d==0.19.0
138
+ opencv-python==4.13.0.92
139
+ opencv-python-headless==4.12.0.88
140
+ OpenEXR==3.4.11
141
+ orderly-set==5.5.0
142
+ packaging==25.0
143
+ pandas==2.3.3
144
+ parso==0.8.7
145
+ pexpect==4.9.0
146
+ pfzy==0.3.4
147
+ pillow==11.3.0
148
+ pin==4.0.0
149
+ pip @ file:///home/task_177498883471825/croot/pip_1774988882575/work
150
+ platformdirs==4.9.6
151
+ plotly==5.24.1
152
+ polyscope==2.6.1
153
+ proglog==0.1.12
154
+ prompt_toolkit==3.0.52
155
+ propcache==0.5.2
156
+ protobuf==6.33.6
157
+ psutil==7.2.2
158
+ ptyprocess==0.7.0
159
+ pure_eval==0.2.3
160
+ py-cpuinfo==9.0.0
161
+ py-spy==0.4.2
162
+ pyarrow==24.0.0
163
+ pycollada==0.9.3
164
+ pycparser==3.0
165
+ pydantic==2.13.4
166
+ pydantic_core==2.46.4
167
+ PyGEL3D==0.6.1
168
+ pyglet==2.1.14
169
+ pygltflib==1.16.0
170
+ Pygments==2.20.0
171
+ pymeshlab==2025.7.post1
172
+ pynput==1.8.2
173
+ PyOpenGL==3.1.10
174
+ pyparsing==3.3.2
175
+ pyperclip==1.11.0
176
+ PyQt6==6.11.0
177
+ PyQt6-Qt6==6.11.0
178
+ PyQt6_sip==13.11.1
179
+ pyquaternion==0.9.9
180
+ pyserial==3.5
181
+ pysplashsurf==0.12.0.2
182
+ python-dateutil==2.9.0.post0
183
+ python-dotenv==1.2.2
184
+ python-xlib==0.33
185
+ pytransform3d==3.15.0
186
+ pytz==2026.2
187
+ pyuipc @ file:///tmp/claude-1005/-mnt4-gck-maniladder/9f005e67-04f6-4368-bd0e-9f40896c7dbf/scratchpad/pyuipc_dl/pyuipc-0.0.25-cp310-cp310-manylinux_2_34_x86_64.whl#sha256=76ff13554e1971ea4401db2c875369cf32352ae3a5a4c398c45193231b5cbf00
188
+ PyYAML==6.0.3
189
+ pyyaml-include==1.4.1
190
+ referencing==0.37.0
191
+ regex==2026.5.9
192
+ requests==2.34.2
193
+ rerun-sdk==0.26.2
194
+ retrying==1.4.2
195
+ rich==14.3.4
196
+ rpds-py==0.30.0
197
+ rtree==1.4.1
198
+ safetensors==0.7.0
199
+ sapien==3.0.3
200
+ scikit-image==0.25.2
201
+ scikit-learn==1.7.2
202
+ scipy @ file:///home/conda/feedstock_root/build_artifacts/scipy-split_1739790642651/work/dist/scipy-1.15.2-cp310-cp310-linux_x86_64.whl#sha256=9e52bad6c3294d1a5b04a13632118ca2157130603c6c018c2d710162b223b27e
203
+ sentry-sdk==2.60.0
204
+ setuptools==80.10.2
205
+ shapely==2.1.2
206
+ six==1.17.0
207
+ smmap==5.0.3
208
+ stack-data==0.6.3
209
+ svg.path==7.0
210
+ sympy==1.14.0
211
+ tenacity==9.1.4
212
+ termcolor==3.3.0
213
+ tetgen==0.8.4
214
+ threadpoolctl==3.6.0
215
+ tifffile==2025.5.10
216
+ timm==1.0.27
217
+ toml==0.10.2
218
+ torch==2.10.0
219
+ torchaudio==2.11.0
220
+ torchcodec==0.10.0
221
+ torchvision==0.25.0
222
+ tqdm==4.67.3
223
+ traitlets==5.15.0
224
+ transforms3d==0.4.2
225
+ trimesh==4.12.2
226
+ triton==3.6.0
227
+ typeguard==4.5.2
228
+ typing-inspect==0.9.0
229
+ typing-inspection==0.4.2
230
+ typing_extensions==4.15.0
231
+ tyro==1.0.13
232
+ tzdata==2026.2
233
+ urllib3==2.7.0
234
+ vhacdx==0.0.10
235
+ viser==1.0.27
236
+ vtk==9.6.1
237
+ wandb==0.24.2
238
+ wcwidth==0.7.0
239
+ websockets==16.0
240
+ Werkzeug==3.1.8
241
+ wheel==0.46.3
242
+ widgetsnbextension==4.0.15
243
+ wrapt==2.1.2
244
+ xxhash==3.7.0
245
+ yarl==1.23.0
246
+ yourdfpy==0.0.60
247
+ z3-solver==4.16.0.0
248
+ zipp==3.23.1
249
+ zstandard==0.25.0
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/findings.md ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Findings through episode 16
2
+
3
+ # Legal exploration ledger
4
+
5
+ Budget began at zero used / twenty remaining. Only worker API calls are used for environment interaction. Episode 1 started with next_episode; the initial hold is native step 1. The first action was successfully executed before the driver discovered execute_actions returns a steps list. Driver resumed via latest_observation at step 2, without replay or reset. Action at step 1 was the original candidate's retrieved demo phase 0 label. Camera evidence retained under ep01.
6
+
7
+ At native step 102 the retrieval selected phase 100 with qcost 0.00328. Initial pose progression therefore appears stable. Contact/grasp and later sequence progression remain unverified.
8
+
9
+ Episode 1 ended manually after native step 502. Native success was false. Recorded 500 resumed actions (steps 2..501), plus the documented phase-0 first action. Final reference phase 216; repeated 178 times. Phase 156 repeated 117 times. No full transfer was observed. Episode 2 is a frozen independent rehearsal of the timing revision.
10
+
11
+ Episode 2: independent bundle a33d298143d57c3792e3b90beb273b4fdcaf896bbfd5b4a1b5d68292cda4d5a8; valid, finished, native success false, final step 1600. Top/front final images show scattered orange/yellow/cyan/magenta/purple blocks, not a horizontal line of eight. Timing alone insufficient.
12
+
13
+ Episode 3 tests a local linear arm-response correction computed only from observed D20 qpos differences and action labels. This is numerical non-neural regression, not simulator kinematics or neural fine-tuning. Local inverse maps cover four active arm action components; corrections are capped at .03 normalized. Finger correction is capped at .1 normalized. Entire unchanged candidate is archived in versions/v2_pose_feedback. The first-cycle test is capped at 430 actions to inspect grasp and transfer before broader testing.
14
+
15
+ Episode 3 ended at step 118 after visible finger divergence and qcost 1.86 at step 101. The assumption that qpos[7:23] matches hand action ordering was false. Demonstration correlations identify active hand action indices 0,1,2,3,12,14,15 with qpos indices 11,7,15,19,10,18,22 respectively (joint 1 is inferred by exclusivity and correlated response, and remains less certain under contact). Episode 4 tests this corrected active-joint mapping; inactive hand joints receive demonstrated labels only.
16
+
17
+ Episode 4 ended at native step 251. Corrected active-finger ordering reduced qcost to 0.000367 at step 51, 0.000151 at 101, 0.0000557 at 151, and 0.0000340 at 201. The correction is stable through closure. Red is hidden after lifting, while blue appears near its original front-image location; grasp evidence is mixed, not success. Episode 5 keeps the same behavior and extends through first-cycle release (430 actions).
18
+
19
+ Episode 5 finished at step 431. Top and left images visibly show red and blue blocks on the red target line after release; this is a first-pair placement observation, not full-task success. Native success remains false because six other blocks have not been arranged. Corrected mapping plus bounded pose feedback is therefore a practical manipulation baseline. Episode 6 tests initial color-centroid matching independently per arm, fixed reference identity, and interpolated phase targets. This localizer indexes the same 20 authorized demonstrations at frame 0; additional demo_00 frames 400,800,1200,1559 were analyzed to confirm color order: red/blue, orange/magenta, yellow/cyan, green/purple.
20
+
21
+ Continuation: budget_status reported six spent, fourteen remaining, inactive. Episode 6 had ended before restart; its saved step-401 left view shows red near the line but blue placement is not established. Episode 7 exercised baseline fixed-per-arm localization through approach only (see ep07 final and diagnostics), then finished to move full-cycle testing into independent rehearsal. Pose errors at step101 were .0112/.00647 radians aggregate; not a success claim.
22
+
23
+ Revision for episode 8: per-cycle front-camera color-centroid localization, four nearest demonstration references weighted by inverse squared image distance, interpolated action and qpos targets, bounded arm/hand pose feedback. Cycle observations at frames 0,398,796,1194 were read via API.read_demo for all 20 authorized demos and saved as cycle_centers.npy. Later frames avoid the observed initial settling bias. No neural fitting. Localization is only at cycle starts; contact/grasp verification and recovery are not robust. Missing blocks can still be assigned a poor reference.
24
+
25
+ Episode 8: valid independent rehearsal, bundle 174b661274249df06f72ad0315be7393ae5933ad7f686be6713c98f6b6b40502, finished step1600, native success false. Final top/front/left views show blue, red, orange, yellow and green off line; cyan also offset, magenta/purple nearer the line. Therefore no visible success. Four-reference blending improves held-out D20 arm-q prediction vs nearest1, but did not yield reliable real grasps. Archive v6_perblock_blend.
26
+
27
+ Episode 9 restores v3_hand_order's current-RGB/proprio retrieval with per-step bounded pose corrections. This had the strongest actual first-pair evidence in episode5. Full four-cycle rehearsal will test generalization; no success assumed.
28
+
29
+ Episode 9: API.rehearse request timed out at its client receive deadline; last read-only status saw native step1509. Next budget_status reported nine used, eleven remaining, inactive, steps0; latest_observation returned 'no step observation'. No result/hash or native success was received, so completion/validity cannot be claimed. No replay/retry was issued. Log preserved in ep09_rehearse.log; exact input candidate archived as v7_retrieval_timeout.
30
+
31
+ Episodes10–15 plan: bounded approach perturbations with 1.6x phase timing and proportionally scaled demonstrated actions. Arm gains .1,.15,.3 and hand gains1,2,3 tested separately. Each probe uses40 actions with five small perturbed actions at iterations10–14, then unperturbed feedback. These are pose-recovery tests only, not grasp/full-task tests. Episode16 will inspect a full first-pair cycle at the selected gains. The timing compression addresses the observed wall-clock failure while retaining four demonstrated cycles; its physical behavior is not assumed equivalent.
32
+
33
+ Episodes10–15 each finished at native step41 after40 actions. All six probes showed decay of aggregate pose error after the five-step perturbation. Terminal errors: arm gains .1/.15/.3 gave .02890/.02892/.03084; hand gains1/2/3 gave .02536/.02939/.02887. Different scenes/reference choices confound causal ranking. Retain established .15/2 gains: these probes establish modest approach recovery, not contact or object-loss recovery. Detailed configs/actions/images/diagnostics under ep10–ep15; aggregate recovery_summary.json.
34
+
35
+ Episode16 uses unchanged fast retrieval at default .15/2 gains for270 actions, approximately432 demonstration phases, to inspect first-pair grasp, transfer and release under compressed timing.
36
+
37
+ Episode16 finished at step271 after270 actions. Final top/left views unambiguously show red and blue blocks placed on the red line after release; other six remain scattered. Native full-task success false. Pose error at demonstration phases80/160/240/320 was .0376/.0575/.0325/.0329. This is direct first-pair evidence for 1.6x timing, not full-task success. Retain this unchanged behavior for independent episodes17–20.
38
+
39
+ Final candidate: per-step paired RGB/proprio retrieval, phase=(native_step-1)*1.6, demonstration action deltas multiplied by1.6, arm gain.15 and finger gain2, existing .03/.1 correction caps. Four cycles end near native976, then40 upward-retraction actions; stop at1016. Full-task success must be from actual runner feedback or unambiguous legal images if feedback is absent.
40
+
41
+ ## Remaining limitations
42
+
43
+ The candidate has no explicit object-grasp detector or object-loss recovery. Small pose disturbances decay during approach, but pose error is not a proxy for correct grasp. RGB retrieval can retain a wrong reference under occlusion. First-pair success does not establish later-cycle success. The full-speed rehearsal timed out; timing compression has been observed through only one pair before final independent rehearsals. Episode8's blended reference alternative completed but failed the task. No neural weights were trained or modified.
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/freeze_manifest.json ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "files": {
3
+ "build_memory.py": "ddb030950f5284b960dc6027e1a8e591e21e58d21ae14bda65499557498ad4b9",
4
+ "checks.json": "4f16a904ecbfab0fe49b79cf5787c3a36d8338af31ae13a6b334b7d635d77925",
5
+ "controller.py": "5002ade4e5bb05d006b7a7b50c3e1156015a175011f7c3e15bbd9b143cb71d78",
6
+ "cycle_centers.npy": "c4d9cf525f7035b74b6f97eaead30552dbc8cce491297f273200d475f81a2f98",
7
+ "demo_analysis.md": "6ea9f41873262298dc22f7f4cd8b68c79aff77677b12e2be2177a5bb426b4fc6",
8
+ "demo_manifest.json": "364f2e956b1f35608c8264e009dede3b7444caac4be466baf428c42f0543647e",
9
+ "demonstrations_readonly/demo_00.h5": "8a1a009ed94703757815eec1f274f794cd265046c3018ecb9d9b659c06cfef17",
10
+ "demonstrations_readonly/demo_01.h5": "619f8481a9e57a39588c2f1ad12058b4ac1b576916564db24ed17f6fccf0dacb",
11
+ "demonstrations_readonly/demo_02.h5": "7cf337bd30a34b1f20f279f21e00f16d052d43c731a576cae7cd7babae2f539b",
12
+ "demonstrations_readonly/demo_03.h5": "3246c10c1aad391ced7bc2c53ded0f8482302015388ea1ad571f3726ca85fcae",
13
+ "demonstrations_readonly/demo_04.h5": "05eb7a1f3a992fbe0122bc2f25cf263a6e04a10b38206ae4bc148e4fdcfd5cd3",
14
+ "demonstrations_readonly/demo_05.h5": "6fede0794a6ae1b11b4308974d88f63cf190d0636b452dc87d4a219d0b75ef8d",
15
+ "demonstrations_readonly/demo_06.h5": "442273886d98959e0ed0b925cddba986c4a3e1b02643e64799863055e63f7d41",
16
+ "demonstrations_readonly/demo_07.h5": "7fca8796f74e8ca658cc63166e016f78273fda7947c13b3e443271c9e2f6038f",
17
+ "demonstrations_readonly/demo_08.h5": "2b102c4a5b906ec0fbdfaddccc862b5250910284b80fa5702fc15ea6641d08c2",
18
+ "demonstrations_readonly/demo_09.h5": "27ef0248c920b009d645b61404f2b76d17aed2b8ec322b9987c174f17963d8af",
19
+ "demonstrations_readonly/demo_10.h5": "6988f20886e3d1c1f474d171281d0f5af9bf2ced0b972e1c2e9e5e4c02fbbb2c",
20
+ "demonstrations_readonly/demo_11.h5": "1201c883c69e7c6dc6a0b1b3643bec797aab69aef6c24d153c37e5a918bd9274",
21
+ "demonstrations_readonly/demo_12.h5": "545d24e44102bc8eb781191067caef74ffbf5972e4460e4a4509a066760d0a8f",
22
+ "demonstrations_readonly/demo_13.h5": "269e19fc8ceb22a241385c78443cca8abbba1dd9c33d78c721983ed3435270d0",
23
+ "demonstrations_readonly/demo_14.h5": "262f1aa0f0e7605e61320f6fd874e0323b8e91ad5f753aa1f2e34b51ed00f0a0",
24
+ "demonstrations_readonly/demo_15.h5": "fed2fc6324219cd63dabac6c67a0fe039ab04faa43bae743f9157a2556396c2f",
25
+ "demonstrations_readonly/demo_16.h5": "e9d541c4d969e0be65188e42dd90ddb533875dfa5dec0fb1bd65fa648e6b36c3",
26
+ "demonstrations_readonly/demo_17.h5": "a7afa8908adb0ade184131457dff0a39db379ee9800b33a1b2875e3e69806931",
27
+ "demonstrations_readonly/demo_18.h5": "6e73383378ac4a7617450420883e05eff0f08d3899e01f1a47a9851e98f93b21",
28
+ "demonstrations_readonly/demo_19.h5": "257cb835e77080bb7172526c64bd01a72bdac34eecf71b3f091d15daee56d93f",
29
+ "environment.lock": "f9f11f093744865020243315494d48c69e38ff9e67783e7cf5f0a1e5f22b34aa",
30
+ "feedback.npz": "64603dc51ffaa6d798d1731807ab219e565872bb47efe6098f699ddecfca13bc",
31
+ "findings.md": "c8528c87046401e0b2e8c418791c104b2fe444cfaffcc43919eed426b0d7b878",
32
+ "handoff.md": "cadd058f15937b3233c9efa8900932673294967f79c32ce08c3ab26fcc2f3c12",
33
+ "initial_centers.npy": "fca92e0c2742d1ecda20afeb132345196356b2a666e67d33c9ef44f09c4b3c10",
34
+ "localization.py": "9a9e7086daa0bab285bd39a552f867a242d90182d23632a7d8ef3c1d9cca94c7",
35
+ "memory.npz": "7bc7f50cfd5069d355e7dd2aa35aef7db4d9bbc3d71458ccc1733544426205f0",
36
+ "model_tool_manifest.yaml": "36429b11cd6716f0a82cfeb6bedadd336fc5ab1a8644de7906c4108d4188f047",
37
+ "policy_runner.py": "cd8a30fc763583fb9bf6570414f01d56aba16241c733fc0cdfdfab0f8f27270e",
38
+ "skills.md": "0858cfe09b2dd4fec4fd8e85df04fb6253577f43b78f4185ae1e75a43b636748",
39
+ "synthetic_check.py": "2466be62beb296b40e8bb75ad8e71317ef8658ab124913ccba429b50f0df0246",
40
+ "worker_api.py": "88cca5fa5c1c9570ca2bd90e8848f67c09224fa498d94e63634ad191e913c41e"
41
+ },
42
+ "bundle_hash": "adc2b66138cd1f9f14b961ce55532b38525e56eb753bee2698eeb3ca7a668e19",
43
+ "exploration_ledger_hash": "fe2738099aed4ac2009dd4e926d64566fbc7a75263dd56a634a0b3a54526e954",
44
+ "entrypoint": "controller.reset_episode(); controller.act(obs)",
45
+ "selection": {
46
+ "rule": "exact-version success rate, valid rehearsal count, recency",
47
+ "rehearsals": [
48
+ {
49
+ "bundle_hash": "a33d298143d57c3792e3b90beb273b4fdcaf896bbfd5b4a1b5d68292cda4d5a8",
50
+ "episode": 2,
51
+ "independent": true,
52
+ "score_source": "native_step_feedback",
53
+ "status": "finished",
54
+ "success": false,
55
+ "valid": true
56
+ },
57
+ {
58
+ "bundle_hash": "174b661274249df06f72ad0315be7393ae5933ad7f686be6713c98f6b6b40502",
59
+ "episode": 8,
60
+ "independent": true,
61
+ "score_source": "native_step_feedback",
62
+ "status": "finished",
63
+ "success": false,
64
+ "valid": true
65
+ },
66
+ {
67
+ "episode": 17,
68
+ "bundle_hash": "adc2b66138cd1f9f14b961ce55532b38525e56eb753bee2698eeb3ca7a668e19",
69
+ "independent": true,
70
+ "valid": true,
71
+ "status": "finished",
72
+ "success": false,
73
+ "score_source": "native_step_feedback"
74
+ },
75
+ {
76
+ "episode": 18,
77
+ "bundle_hash": "adc2b66138cd1f9f14b961ce55532b38525e56eb753bee2698eeb3ca7a668e19",
78
+ "independent": true,
79
+ "valid": true,
80
+ "status": "finished",
81
+ "success": false,
82
+ "score_source": "native_step_feedback"
83
+ },
84
+ {
85
+ "episode": 19,
86
+ "bundle_hash": "adc2b66138cd1f9f14b961ce55532b38525e56eb753bee2698eeb3ca7a668e19",
87
+ "independent": true,
88
+ "valid": true,
89
+ "status": "finished",
90
+ "success": false,
91
+ "score_source": "native_step_feedback"
92
+ },
93
+ {
94
+ "episode": 20,
95
+ "bundle_hash": "adc2b66138cd1f9f14b961ce55532b38525e56eb753bee2698eeb3ca7a668e19",
96
+ "independent": true,
97
+ "valid": true,
98
+ "status": "finished",
99
+ "success": false,
100
+ "score_source": "native_step_feedback"
101
+ }
102
+ ]
103
+ }
104
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/handoff.md ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ # Frozen-program handoff
2
+
3
+ Entry points are controller.reset_episode() and controller.act(obs). Runtime requires controller.py, memory.npz, feedback.npz, Python pathlib, NumPy and OpenCV. All data assets are packaged; no network, model-development agent, pretrained neural model or task simulator is used. Other bundled analysis/localization files are historical and not runtime dependencies. The runner adds the verified D20 manifest, readonly demonstrations and common environment lock.
4
+
5
+ The controller emits one44-component action per legal observation: two22-component arm/hand parts. It follows four demonstrated cycles with current RGB/proprioception retrieval and bounded pose feedback. Phase advances1.6 demonstration steps per native step; labels are scaled accordingly. A40-step upward retraction follows; act returns None at step1016, below the native2000 horizon.
6
+
7
+ At preparation for episodes17–20, only first-pair placement is established for this exact behavior. No full-task success is claimed. Exact independently rehearsed bundle hashes and runner feedback determine eligibility and selection. Preserve candidate unchanged through the final four rehearsals; record their evidence outside candidate. If native success is absent, ambiguous images count false.
8
+
9
+ Audit: findings.md, demo_analysis.md, and workspace exploration/notes.md, per-episode images/actions/diagnostics, reference_cross_validation.json and recovery_summary.json. Contact ambiguity and lack of object-loss recovery remain the principal limitations.
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/localization.py ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import cv2
2
+ import numpy as np
3
+ HUES=(0,15,30,60,120,90,150,135)
4
+ def centers(rgb):
5
+ out=[]
6
+ for cam in ('top_camera','front_camera'):
7
+ im=np.asarray(rgb[cam]); im=im[0] if im.ndim==4 else im
8
+ hsv=cv2.cvtColor(im,cv2.COLOR_RGB2HSV)
9
+ for hue in HUES:
10
+ dh=np.abs(hsv[:,:,0].astype(float)-hue);dh=np.minimum(dh,180-dh)
11
+ m=((dh<7)&(hsv[:,:,1]>160)&(hsv[:,:,2]>90)).astype('uint8')
12
+ n,_,stats,cents=cv2.connectedComponentsWithStats(m)
13
+ candidates=[j for j in range(1,n) if stats[j,4]>=8 and max(stats[j,2:4])/max(1,min(stats[j,2:4]))<4]
14
+ if candidates:
15
+ j=max(candidates,key=lambda k:stats[k,4]);out.append([cents[j,0]/im.shape[1],cents[j,1]/im.shape[0],1])
16
+ else:out.append([0,0,0])
17
+ return np.array(out,dtype=np.float32).reshape(2,8,3)
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/model_tool_manifest.yaml ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "stage": "LEGAL_E20_EXPLORATION",
3
+ "status": "final_candidate_pending_episodes_17_to_20",
4
+ "task": "DualArmMakeLine-v1",
5
+ "episodes_spent": 16,
6
+ "pretrained_weights": [],
7
+ "neural_finetuning": false,
8
+ "model": {
9
+ "identity": "provider coding model (exact weight revision unavailable through task API)",
10
+ "weights_modified": false
11
+ },
12
+ "python": "3.10.20 (main, Mar 11 2026, 17:46:40) [GCC 14.3.0]",
13
+ "platform": "Linux-5.15.0-94-generic-x86_64-with-glibc2.35",
14
+ "runtime_dependencies": {
15
+ "numpy": "2.2.6",
16
+ "opencv": "4.12.0"
17
+ },
18
+ "offline_tools": {
19
+ "python_standard_library": "3.10.20",
20
+ "numpy": "2.2.6",
21
+ "h5py": "3.16.0",
22
+ "opencv": "4.12.0",
23
+ "worker_api": "/worker_api.py API.read_demo only",
24
+ "shell": "bash; local file creation and process management",
25
+ "image_viewer": "provided view_image tool; version unavailable"
26
+ },
27
+ "available_not_used_for_computation": {
28
+ "scipy": "1.15.3",
29
+ "torch": "2.10.0"
30
+ },
31
+ "provenance": {
32
+ "sources": [
33
+ "/task_contract.json",
34
+ "/demo_manifest.json",
35
+ "/worker_api.py",
36
+ "/demonstrations/demo_00.h5 through demo_19.h5"
37
+ ],
38
+ "authorized_demo_ids": [
39
+ "demo_00",
40
+ "demo_01",
41
+ "demo_02",
42
+ "demo_03",
43
+ "demo_04",
44
+ "demo_05",
45
+ "demo_06",
46
+ "demo_07",
47
+ "demo_08",
48
+ "demo_09",
49
+ "demo_10",
50
+ "demo_11",
51
+ "demo_12",
52
+ "demo_13",
53
+ "demo_14",
54
+ "demo_15",
55
+ "demo_16",
56
+ "demo_17",
57
+ "demo_18",
58
+ "demo_19"
59
+ ],
60
+ "artifacts": "memory.npz contains untrained fixed RGB descriptors, observed proprioception and expert action labels; no pretrained model",
61
+ "visual_inspection": "../demo_analysis.md; ../evidence/demo_XX.jpg; ../evidence/additional_views.jpg",
62
+ "machine_access": "../evidence/machine_access.json"
63
+ },
64
+ "network_used": false,
65
+ "limits": [
66
+ "No neural fitting; only authorized D20 and E20 data",
67
+ "No hidden states, calibration or simulator access",
68
+ "Contact and recovery remain uncertain"
69
+ ],
70
+ "source_file_sha256": {
71
+ "/task_contract.json": "858e8680c1742ea38ccace045e454069713f06cab1f449711df645e39333b746",
72
+ "/demo_manifest.json": "8896f0f4ac2f42726cb7eec7dbf8a479d53a568aa539e29f2d6b56f3a9a51a48",
73
+ "/worker_api.py": "88cca5fa5c1c9570ca2bd90e8848f67c09224fa498d94e63634ad191e913c41e"
74
+ },
75
+ "memory": {
76
+ "rows": 7820,
77
+ "demo_count": 20,
78
+ "sampling": "range(0,length,4) union {length-1}",
79
+ "optimization": "none; fixed descriptors and label indexing",
80
+ "runtime_pretrained_weight_references": []
81
+ },
82
+ "validation": {
83
+ "task_testing_performed": true,
84
+ "success_claim": false,
85
+ "first_pair_observed": "legal episode16; not full-task success"
86
+ },
87
+ "runtime_model": "none; fixed RGB/proprio D20 retrieval and bounded non-neural numerical feedback",
88
+ "runtime_artifacts": [
89
+ "controller.py",
90
+ "memory.npz",
91
+ "feedback.npz"
92
+ ],
93
+ "timing": {
94
+ "phase_speed": 1.6,
95
+ "arm_gain": 0.15,
96
+ "hand_gain": 2.0,
97
+ "stop_native_step": 1016
98
+ }
99
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/policy_runner.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Frozen-program entry point; no development agent and no reset capability."""
2
+ import importlib.util
3
+ import sys
4
+
5
+ sys.path.insert(0,'/artifact')
6
+ sys.path.insert(0,'/')
7
+ from worker_api import API
8
+
9
+
10
+ def main():
11
+ spec=importlib.util.spec_from_file_location('controller','/artifact/controller.py')
12
+ module=importlib.util.module_from_spec(spec)
13
+ spec.loader.exec_module(module)
14
+ module.reset_episode()
15
+ api=API()
16
+ result=api.latest_observation()
17
+ while not (result['terminated'] or result['truncated'] or result['horizon_reached']):
18
+ obs=dict(result['observation'],step_id=result['step_id'])
19
+ action=module.act(obs)
20
+ if action is None:break
21
+ response=api.execute_actions([action])
22
+ result=response['steps'][-1]
23
+
24
+
25
+ if __name__=='__main__':main()
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/skills.md ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ # Implemented controller mechanisms
2
+
3
+ - Consume only current legal top/front RGB and both qpos/qvel vectors.
4
+ - Extract fixed RGB and saturation-weighted descriptors with NumPy/OpenCV.
5
+ - Retrieve a paired D20 observation/action with current pose, velocity, image and bounded phase costs.
6
+ - Use 1.6x phase timing and rescale normalized demonstration deltas by1.6.
7
+ - Correct four active arm components via a D20 numerical response inverse, capped at.03; correct seven mapped finger joints, capped at.1.
8
+ - Clip actions to native[-1,1], retract for visibility, and stop at native1016.
9
+
10
+ Observed ability: red/blue first-pair placement in legal episode16; modest approach-pose recovery in episodes10–15. Full-task success, reliable grasp detection and object-loss recovery are not established.
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/synthetic_check.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Syntax and synthetic input checks only. No environment or demo rollout."""
2
+ import ast, json
3
+ from pathlib import Path
4
+ import numpy as np
5
+ import controller as m
6
+ root=Path(__file__).parent
7
+ for filename in ['controller.py','build_memory.py','synthetic_check.py']:
8
+ ast.parse((root/filename).read_text())
9
+ p=m.Controller()
10
+ def obs(value=0,batch=False):
11
+ rgb={c:np.full((32,32,3),value,np.uint8) for c in m.CAMERAS}
12
+ if batch:rgb={c:x[None] for c,x in rgb.items()}
13
+ return {'rgb':rgb,'proprioception':{k:np.zeros(23,np.float32) for k in m.QPATHS+m.VPATHS},'step_id':1,'instruction':'Arrange eight blocks along the line.'}
14
+ def legal(a):
15
+ assert a.shape==(44,) and a.dtype==np.float32 and np.isfinite(a).all() and np.all(np.abs(a)<=1)
16
+ a=p.act(obs());legal(a)
17
+ a=p.act(obs(batch=True));legal(a)
18
+ assert p.act({'step_id':2000}) is None
19
+ p.reset_episode();assert p.last_phase is None
20
+ legal(p.act({'step_id':1}))
21
+ bad=obs();bad['proprioception'][m.QPATHS[0]][0]=np.nan
22
+ assert np.array_equal(p.act(bad),np.zeros(44))
23
+ # Entirely invented memory tests exercise positive retrieval and both feedback paths.
24
+ x=obs();y=obs(255)
25
+ f0=m.visual_features(x['rgb']);f1=m.visual_features(y['rgb'])
26
+ p.bank={'q':np.zeros((2,46),np.float32),'v':np.zeros((2,46),np.float32),'features':np.stack([f0,f1]),'actions':np.stack([np.full(44,.02,np.float32),np.full(44,-.02,np.float32)]),'phase':np.zeros(2,np.float32)}
27
+ p.reset_episode();a=p.act(x);b=p.act(y);legal(a);legal(b);assert not np.array_equal(a,b)
28
+ p.bank['features'][:]=f0;p.bank['q'][1]=.1
29
+ p.reset_episode();a=p.act(x)
30
+ x['proprioception']={k:np.full(23,.1 if k in m.QPATHS else 0,np.float32) for k in m.QPATHS+m.VPATHS}
31
+ b=p.act(x);assert not np.array_equal(a,b)
32
+ p.last_phase=500;p.last_step=20;x['step_id']=1;p.act(x);assert p.last_step==1
33
+ m.reset_episode();legal(m.act(obs()))
34
+ report={'syntax':'pass','synthetic_checks':'pass','checks':['real artifact loads','44 finite bounded float32 outputs','HWC and 1HWC RGB','horizon stop at 2000','missing fields zero deltas','nonfinite proprioception zero deltas','RGB affects retrieval in wholly synthetic memory','qpos affects retrieval in wholly synthetic memory','reset and decreasing-step handling','module entry points'],'task_testing_performed':False,'rollouts':0,'rehearsed':False,'success_claim':False}
35
+ (root/'checks.json').write_text(json.dumps(report,indent=2)+'\n')
36
+ print(json.dumps(report,indent=2))
agent_d20_e20/frozen_20261102/tasks/DualArmMakeLine-v1/frozen/worker_api.py ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Standalone worker client; safe to mount without the runner package."""
2
+ import base64
3
+ import json
4
+ import socket
5
+ import struct
6
+ import uuid
7
+ import os
8
+ from pathlib import Path
9
+
10
+ import numpy as np
11
+
12
+
13
+ def array_hook(value):
14
+ if value.get('__array__') is True:
15
+ dtype=np.dtype(value['dtype'])
16
+ if dtype.kind not in 'bifu':raise ValueError('non-numeric array from service')
17
+ raw=base64.b64decode(value['data'],validate=True)
18
+ return np.frombuffer(raw,dtype=dtype).reshape(value['shape']).copy()
19
+ return value
20
+
21
+
22
+ class API:
23
+ def __init__(self,socket_path='/rpc/control.sock',demo_root='/demonstrations',manifest='/demo_manifest.json'):
24
+ self.socket_path=socket_path
25
+ self.demo_root=Path(demo_root)
26
+ self.manifest=Path(manifest)
27
+
28
+ def call(self,method,arguments=None,request_id=None):
29
+ # Caller can persist a request ID before sending. Never automatically retry.
30
+ request_id=request_id or str(uuid.uuid4())
31
+ request={'request_id':request_id,'method':method,'arguments':arguments or {}}
32
+ if os.environ.get('AGENT_E20_RPC_TOKEN'):
33
+ request['token']=os.environ['AGENT_E20_RPC_TOKEN']
34
+ payload=json.dumps(request,allow_nan=False).encode()
35
+ if len(payload)>65536:raise ValueError('request too large')
36
+ with socket.socket(socket.AF_UNIX,socket.SOCK_STREAM) as s:
37
+ s.settimeout(1810);s.connect(self.socket_path)
38
+ s.sendall(struct.pack('!I',len(payload))+payload)
39
+ def exact(n):
40
+ chunks=[]
41
+ while n:
42
+ chunk=s.recv(min(n,1024*1024))
43
+ if not chunk:raise RuntimeError('RPC interrupted; do not replay action with a new ID')
44
+ chunks.append(chunk);n-=len(chunk)
45
+ return b''.join(chunks)
46
+ length=struct.unpack('!I',exact(4))[0]
47
+ if length>64*1024*1024:raise RuntimeError('response too large')
48
+ result=json.loads(exact(length),object_hook=array_hook)
49
+ if not result['ok']:raise RuntimeError(result['error'])
50
+ return result['result']
51
+
52
+ def next_episode(self,request_id=None):return self.call('next_episode',request_id=request_id)
53
+ def latest_observation(self):return self.call('latest_observation')
54
+ def execute_actions(self,actions,request_id=None):
55
+ return self.call('execute_actions',{'actions':np.asarray(actions).tolist()},request_id)
56
+ def finish_episode(self):return self.call('finish_episode')
57
+ def budget_status(self):return self.call('budget_status')
58
+ def rehearse(self,candidate='candidate',request_id=None):
59
+ return self.call('rehearse',{'candidate':candidate},request_id)
60
+ def score_rehearsal(self,episode,visible_success,evidence):
61
+ return self.call('score_rehearsal',{'episode':episode,'visible_success':visible_success,'evidence':evidence})
62
+ def freeze(self):return self.call('freeze')
63
+
64
+ def read_demo(self,demo_id,start=0,stop=None,fields=None):
65
+ import h5py
66
+ manifest=json.loads(self.manifest.read_text())
67
+ if manifest.get('status') not in ('released','released_for_offline_analysis'):
68
+ raise RuntimeError('demonstrations not released by trusted preflight')
69
+ entries={e['demo_id']:e for e in manifest['episodes']}
70
+ if demo_id not in entries:raise ValueError('unauthorized demo ID')
71
+ entry=entries[demo_id]
72
+ allowed={f['path'] for f in entry['fields']}
73
+ fields=sorted(allowed) if fields is None else fields
74
+ if not set(fields)<=allowed:raise ValueError('unauthorized demo field')
75
+ stop=entry['length']+1 if stop is None else stop
76
+ if not isinstance(start,int) or not isinstance(stop,int) or not 0<=start<stop<=entry['length']+1:
77
+ raise ValueError('invalid frame interval')
78
+ path=(self.demo_root/entry['file']).resolve()
79
+ if path.parent!=self.demo_root.resolve():raise ValueError('invalid demo file')
80
+ with h5py.File(path,'r') as f:
81
+ return {field:f[field][start:min(stop,len(f[field]))] for field in fields}
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/bank_integrity.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "rows": 3971,
3
+ "authorized_demo_groups": 20,
4
+ "legal_exploration_groups": [
5
+ 103,
6
+ 105,
7
+ 107
8
+ ],
9
+ "max_abs_action": 0.8529754877090454,
10
+ "checks": "static array integrity only; no environment rollout"
11
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/build_reference_bank.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Offline compilation only, using the authorized API.read_demo accessor.
2
+ All action/proprio rows are read; RGB read in batches; descriptors at stride 3 plus last action frame.
3
+ No controller evaluation or environment calls occur here.
4
+ """
5
+ import importlib.util
6
+ import json
7
+ from pathlib import Path
8
+ import numpy as np
9
+ from controller import ROBOTS, CAMERAS, image_feature
10
+
11
+ ROOT=Path(__file__).resolve().parent
12
+ spec=importlib.util.spec_from_file_location('worker_api','/worker_api.py')
13
+ w=importlib.util.module_from_spec(spec);spec.loader.exec_module(w)
14
+ api=w.API(); manifest=json.load(open('/demo_manifest.json'))
15
+ assert len(manifest['episodes']) == 20
16
+ bank={k:[] for k in ['qpos','qvel','action','image','demo_index','frame']}
17
+ access=[]
18
+ for di,e in enumerate(manifest['episodes']):
19
+ T=e['length']; inds=sorted(set(range(0,T,3))|{T-1})
20
+ fields=['actions/'+r for r in ROBOTS]+['obs/agent/'+r+'/'+kind for kind in ['qpos','qvel'] for r in ROBOTS]
21
+ data=api.read_demo(e['demo_id'],fields=fields)
22
+ for kind in ['qpos','qvel']:
23
+ bank[kind].append(np.concatenate([data['obs/agent/'+r+'/'+kind][inds] for r in ROBOTS],axis=1))
24
+ bank['action'].append(np.concatenate([data['actions/'+r][inds] for r in ROBOTS],axis=1))
25
+ features=[]
26
+ for start in range(0,T,64):
27
+ stop=min(T,start+64)
28
+ imgs=api.read_demo(e['demo_id'],start=start,stop=stop,fields=['obs/sensor_data/'+cam+'/rgb' for cam in CAMERAS])
29
+ for t in inds:
30
+ if start <= t < stop:
31
+ features.append(np.stack([image_feature(imgs['obs/sensor_data/'+cam+'/rgb'][t-start]) for cam in CAMERAS]))
32
+ bank['image'].append(np.stack(features))
33
+ bank['demo_index'].append(np.full(len(inds),di,dtype=np.int16))
34
+ bank['frame'].append(np.array(inds,dtype=np.int16))
35
+ access.append({'demo_id':e['demo_id'],'descriptor_frames':inds,'rgb_read_inclusive_range':[0,T-1],'cameras':list(CAMERAS),'all_action_indices':[0,T-1],'all_proprio_indices':[0,T]})
36
+ print(e['demo_id'],len(inds),'reference observations',flush=True)
37
+ bank={k:np.concatenate(v) for k,v in bank.items()}
38
+ # Fixed dimensional scaling, no fitted neural or pretrained parameters.
39
+ bank['qscale']=np.tile(np.array([.25]*7+[.5]*16,dtype=np.float32),2)
40
+ assert np.isfinite(bank['action']).all() and np.max(abs(bank['action'])) <= 1
41
+ np.savez_compressed(ROOT/'reference_bank.npz',**bank)
42
+ (ROOT/'reference_access_log.json').write_text(json.dumps(access,indent=2))
43
+ print('compiled',len(bank['action']))
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/check_synthetic.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Interface checks using fabricated arrays only; no task execution or demo replay."""
2
+ import json
3
+ import time
4
+ import numpy as np
5
+ import controller as c
6
+
7
+ def obs(gray=0, q=0., batched=False, step=1):
8
+ im=np.full((240,320,3),gray,np.uint8)
9
+ return {'rgb':{k:im[None] if batched else im for k in c.CAMERAS},
10
+ 'proprioception':{f'agent/{r}/{kind}':np.full((1,23),q if kind=='qpos' else 0.,np.float32) for r in c.ROBOTS for kind in ['qpos','qvel']},
11
+ 'instruction':'synthetic fixture', 'step_id':step}
12
+
13
+ def main():
14
+ real=c._load()
15
+ assert real['action'].shape[1]==44
16
+ assert set(real['demo_index'].tolist())==set(range(20))
17
+ assert np.isfinite(real['action']).all() and abs(real['action']).max()<=1
18
+ c._BANK={'qpos':np.array([np.zeros(46),np.zeros(46),np.full(46,.3)],np.float32),
19
+ 'qvel':np.zeros((3,46),np.float32), 'qscale':np.full(46,.25,np.float32),
20
+ 'image':np.array([np.zeros((2,960)),np.ones((2,960)),np.zeros((2,960))],np.float32),
21
+ 'action':np.zeros((3,44),np.float32)}
22
+ c._BANK['action'][0,0]=.1;c._BANK['action'][1,22]=.1;c._BANK['action'][2,1]=-.1
23
+ c.reset_episode(); a=c.act(obs()); assert a.shape==(44,) and a.dtype==np.float32 and a[0]==np.float32(.1)
24
+ c.reset_episode(); b=c.act(obs(255)); assert b[22]==np.float32(.1) and not np.array_equal(a,b)
25
+ c.reset_episode(); d=c.act(obs(q=.3)); assert d[1]==np.float32(-.1) and not np.array_equal(a,d)
26
+ c.reset_episode(); assert np.array_equal(c.act(obs(batched=True)),a)
27
+ c.reset_episode(); assert c.act(obs(step=799)) is not None and c.act(obs(step=800)) is None
28
+ c.reset_episode(); bad=obs();bad['proprioception'][f'agent/{c.ROBOTS[0]}/qpos'][0,0]=np.nan;assert c.act(bad) is None
29
+ c.reset_episode(); bad=obs();del bad['rgb']['front_camera'];assert c.act(bad) is None
30
+ c.reset_episode(); assert c.act(obs(q=100.)) is None
31
+ c.reset_episode()
32
+ for _ in range(799): assert c.act(obs()) is not None
33
+ assert c.act(obs()) is None
34
+ c._BANK=real;c.reset_episode()
35
+ start=time.perf_counter();out=c.act(obs(gray=127,q=0.));elapsed=time.perf_counter()-start
36
+ assert out is None or (out.shape==(44,) and np.isfinite(out).all() and abs(out).max()<=1)
37
+ report={'passed':True,'type':'syntax and synthetic-input only','reference_rows':len(real['action']),'synthetic_real_bank_call_seconds':elapsed,'real_bank_synthetic_status':c.last_status,'environment_episodes':0,'task_success_evaluated':False}
38
+ print(json.dumps(report,indent=2));return report
39
+
40
+ if __name__=='__main__':
41
+ from pathlib import Path
42
+ report=main();(Path(__file__).parent/'synthetic_check_results.json').write_text(json.dumps(report,indent=2))
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/controller.py ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Offline entry point: image registration and closed-loop hand tracking."""
2
+ import pose_controller as implementation
3
+ from retrieval import image_feature,ROBOTS,CAMERAS
4
+
5
+ def reset_episode():
6
+ implementation.reset_episode()
7
+
8
+ def act(obs):
9
+ return implementation.act(obs)
10
+
11
+ def __getattr__(name):
12
+ return getattr(implementation,name)
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/demo_manifest.json ADDED
@@ -0,0 +1,2368 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "task_id": "DualArmOpenLaptop-v1",
3
+ "status": "released",
4
+ "selection_rule": "prefer existing pinned D20, otherwise numeric trajectory ID sort before reading data",
5
+ "lineage_status": "pinned_comparator",
6
+ "episodes": [
7
+ {
8
+ "demo_id": "demo_00",
9
+ "file": "demo_00.h5",
10
+ "length": 531,
11
+ "fields": [
12
+ {
13
+ "path": "actions/panda_leaphand-1",
14
+ "shape": [
15
+ 531,
16
+ 22
17
+ ],
18
+ "dtype": "float32"
19
+ },
20
+ {
21
+ "path": "actions/panda_leaphand_left-0",
22
+ "shape": [
23
+ 531,
24
+ 22
25
+ ],
26
+ "dtype": "float32"
27
+ },
28
+ {
29
+ "path": "obs/agent/panda_leaphand-1/qpos",
30
+ "shape": [
31
+ 532,
32
+ 23
33
+ ],
34
+ "dtype": "float32"
35
+ },
36
+ {
37
+ "path": "obs/agent/panda_leaphand-1/qvel",
38
+ "shape": [
39
+ 532,
40
+ 23
41
+ ],
42
+ "dtype": "float32"
43
+ },
44
+ {
45
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
46
+ "shape": [
47
+ 532,
48
+ 23
49
+ ],
50
+ "dtype": "float32"
51
+ },
52
+ {
53
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
54
+ "shape": [
55
+ 532,
56
+ 23
57
+ ],
58
+ "dtype": "float32"
59
+ },
60
+ {
61
+ "path": "obs/sensor_data/front_camera/rgb",
62
+ "shape": [
63
+ 532,
64
+ 240,
65
+ 320,
66
+ 3
67
+ ],
68
+ "dtype": "uint8"
69
+ },
70
+ {
71
+ "path": "obs/sensor_data/left_camera/rgb",
72
+ "shape": [
73
+ 532,
74
+ 240,
75
+ 320,
76
+ 3
77
+ ],
78
+ "dtype": "uint8"
79
+ },
80
+ {
81
+ "path": "obs/sensor_data/right_camera/rgb",
82
+ "shape": [
83
+ 532,
84
+ 240,
85
+ 320,
86
+ 3
87
+ ],
88
+ "dtype": "uint8"
89
+ },
90
+ {
91
+ "path": "obs/sensor_data/robot_camera_0/rgb",
92
+ "shape": [
93
+ 532,
94
+ 240,
95
+ 320,
96
+ 3
97
+ ],
98
+ "dtype": "uint8"
99
+ },
100
+ {
101
+ "path": "obs/sensor_data/robot_camera_1/rgb",
102
+ "shape": [
103
+ 532,
104
+ 240,
105
+ 320,
106
+ 3
107
+ ],
108
+ "dtype": "uint8"
109
+ },
110
+ {
111
+ "path": "obs/sensor_data/top_camera/rgb",
112
+ "shape": [
113
+ 532,
114
+ 320,
115
+ 240,
116
+ 3
117
+ ],
118
+ "dtype": "uint8"
119
+ }
120
+ ],
121
+ "trajectory_sha256": "9477a609bb91c7d8170fcc5c1aecf1ade4a7e5cc0af82aa5c39f67909cdb00c7",
122
+ "source_sha256": "ce170f7d23cda55957fd072867600b5e271c4b5dca0041a69e17cde29aace93d",
123
+ "view_sha256": "3f6c78cee76e591f3a97c1dca1f7d19a4e0c7d5ad6d0630772d7eb6a18218951"
124
+ },
125
+ {
126
+ "demo_id": "demo_01",
127
+ "file": "demo_01.h5",
128
+ "length": 609,
129
+ "fields": [
130
+ {
131
+ "path": "actions/panda_leaphand-1",
132
+ "shape": [
133
+ 609,
134
+ 22
135
+ ],
136
+ "dtype": "float32"
137
+ },
138
+ {
139
+ "path": "actions/panda_leaphand_left-0",
140
+ "shape": [
141
+ 609,
142
+ 22
143
+ ],
144
+ "dtype": "float32"
145
+ },
146
+ {
147
+ "path": "obs/agent/panda_leaphand-1/qpos",
148
+ "shape": [
149
+ 610,
150
+ 23
151
+ ],
152
+ "dtype": "float32"
153
+ },
154
+ {
155
+ "path": "obs/agent/panda_leaphand-1/qvel",
156
+ "shape": [
157
+ 610,
158
+ 23
159
+ ],
160
+ "dtype": "float32"
161
+ },
162
+ {
163
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
164
+ "shape": [
165
+ 610,
166
+ 23
167
+ ],
168
+ "dtype": "float32"
169
+ },
170
+ {
171
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
172
+ "shape": [
173
+ 610,
174
+ 23
175
+ ],
176
+ "dtype": "float32"
177
+ },
178
+ {
179
+ "path": "obs/sensor_data/front_camera/rgb",
180
+ "shape": [
181
+ 610,
182
+ 240,
183
+ 320,
184
+ 3
185
+ ],
186
+ "dtype": "uint8"
187
+ },
188
+ {
189
+ "path": "obs/sensor_data/left_camera/rgb",
190
+ "shape": [
191
+ 610,
192
+ 240,
193
+ 320,
194
+ 3
195
+ ],
196
+ "dtype": "uint8"
197
+ },
198
+ {
199
+ "path": "obs/sensor_data/right_camera/rgb",
200
+ "shape": [
201
+ 610,
202
+ 240,
203
+ 320,
204
+ 3
205
+ ],
206
+ "dtype": "uint8"
207
+ },
208
+ {
209
+ "path": "obs/sensor_data/robot_camera_0/rgb",
210
+ "shape": [
211
+ 610,
212
+ 240,
213
+ 320,
214
+ 3
215
+ ],
216
+ "dtype": "uint8"
217
+ },
218
+ {
219
+ "path": "obs/sensor_data/robot_camera_1/rgb",
220
+ "shape": [
221
+ 610,
222
+ 240,
223
+ 320,
224
+ 3
225
+ ],
226
+ "dtype": "uint8"
227
+ },
228
+ {
229
+ "path": "obs/sensor_data/top_camera/rgb",
230
+ "shape": [
231
+ 610,
232
+ 320,
233
+ 240,
234
+ 3
235
+ ],
236
+ "dtype": "uint8"
237
+ }
238
+ ],
239
+ "trajectory_sha256": "d7e390645caead99a4c883a5d3ecc25f4817c4481ea815c0ccbdd6270c32c5fd",
240
+ "source_sha256": "c1284294cf24b0f5aeceb244404bc0d3515622b0a5f82b7fb7af3985c0483124",
241
+ "view_sha256": "a04eefd3408a82f60470eef45a2a9dedf1f2e8290f9a55163a2237e68d6fdbf8"
242
+ },
243
+ {
244
+ "demo_id": "demo_02",
245
+ "file": "demo_02.h5",
246
+ "length": 671,
247
+ "fields": [
248
+ {
249
+ "path": "actions/panda_leaphand-1",
250
+ "shape": [
251
+ 671,
252
+ 22
253
+ ],
254
+ "dtype": "float32"
255
+ },
256
+ {
257
+ "path": "actions/panda_leaphand_left-0",
258
+ "shape": [
259
+ 671,
260
+ 22
261
+ ],
262
+ "dtype": "float32"
263
+ },
264
+ {
265
+ "path": "obs/agent/panda_leaphand-1/qpos",
266
+ "shape": [
267
+ 672,
268
+ 23
269
+ ],
270
+ "dtype": "float32"
271
+ },
272
+ {
273
+ "path": "obs/agent/panda_leaphand-1/qvel",
274
+ "shape": [
275
+ 672,
276
+ 23
277
+ ],
278
+ "dtype": "float32"
279
+ },
280
+ {
281
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
282
+ "shape": [
283
+ 672,
284
+ 23
285
+ ],
286
+ "dtype": "float32"
287
+ },
288
+ {
289
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
290
+ "shape": [
291
+ 672,
292
+ 23
293
+ ],
294
+ "dtype": "float32"
295
+ },
296
+ {
297
+ "path": "obs/sensor_data/front_camera/rgb",
298
+ "shape": [
299
+ 672,
300
+ 240,
301
+ 320,
302
+ 3
303
+ ],
304
+ "dtype": "uint8"
305
+ },
306
+ {
307
+ "path": "obs/sensor_data/left_camera/rgb",
308
+ "shape": [
309
+ 672,
310
+ 240,
311
+ 320,
312
+ 3
313
+ ],
314
+ "dtype": "uint8"
315
+ },
316
+ {
317
+ "path": "obs/sensor_data/right_camera/rgb",
318
+ "shape": [
319
+ 672,
320
+ 240,
321
+ 320,
322
+ 3
323
+ ],
324
+ "dtype": "uint8"
325
+ },
326
+ {
327
+ "path": "obs/sensor_data/robot_camera_0/rgb",
328
+ "shape": [
329
+ 672,
330
+ 240,
331
+ 320,
332
+ 3
333
+ ],
334
+ "dtype": "uint8"
335
+ },
336
+ {
337
+ "path": "obs/sensor_data/robot_camera_1/rgb",
338
+ "shape": [
339
+ 672,
340
+ 240,
341
+ 320,
342
+ 3
343
+ ],
344
+ "dtype": "uint8"
345
+ },
346
+ {
347
+ "path": "obs/sensor_data/top_camera/rgb",
348
+ "shape": [
349
+ 672,
350
+ 320,
351
+ 240,
352
+ 3
353
+ ],
354
+ "dtype": "uint8"
355
+ }
356
+ ],
357
+ "trajectory_sha256": "5819419e890ab63eb2e8d6ecdc55e296b7f16302b55d06c310e4699b4e6ceeee",
358
+ "source_sha256": "cdde48d09401cbb75883fbf4ab20d733223563b7ff5db31bbe98798989541cef",
359
+ "view_sha256": "a8a59f91d76f8f817f1c05e47c87aa48e926eaf85cab7a37854fe9d9f5c28a10"
360
+ },
361
+ {
362
+ "demo_id": "demo_03",
363
+ "file": "demo_03.h5",
364
+ "length": 463,
365
+ "fields": [
366
+ {
367
+ "path": "actions/panda_leaphand-1",
368
+ "shape": [
369
+ 463,
370
+ 22
371
+ ],
372
+ "dtype": "float32"
373
+ },
374
+ {
375
+ "path": "actions/panda_leaphand_left-0",
376
+ "shape": [
377
+ 463,
378
+ 22
379
+ ],
380
+ "dtype": "float32"
381
+ },
382
+ {
383
+ "path": "obs/agent/panda_leaphand-1/qpos",
384
+ "shape": [
385
+ 464,
386
+ 23
387
+ ],
388
+ "dtype": "float32"
389
+ },
390
+ {
391
+ "path": "obs/agent/panda_leaphand-1/qvel",
392
+ "shape": [
393
+ 464,
394
+ 23
395
+ ],
396
+ "dtype": "float32"
397
+ },
398
+ {
399
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
400
+ "shape": [
401
+ 464,
402
+ 23
403
+ ],
404
+ "dtype": "float32"
405
+ },
406
+ {
407
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
408
+ "shape": [
409
+ 464,
410
+ 23
411
+ ],
412
+ "dtype": "float32"
413
+ },
414
+ {
415
+ "path": "obs/sensor_data/front_camera/rgb",
416
+ "shape": [
417
+ 464,
418
+ 240,
419
+ 320,
420
+ 3
421
+ ],
422
+ "dtype": "uint8"
423
+ },
424
+ {
425
+ "path": "obs/sensor_data/left_camera/rgb",
426
+ "shape": [
427
+ 464,
428
+ 240,
429
+ 320,
430
+ 3
431
+ ],
432
+ "dtype": "uint8"
433
+ },
434
+ {
435
+ "path": "obs/sensor_data/right_camera/rgb",
436
+ "shape": [
437
+ 464,
438
+ 240,
439
+ 320,
440
+ 3
441
+ ],
442
+ "dtype": "uint8"
443
+ },
444
+ {
445
+ "path": "obs/sensor_data/robot_camera_0/rgb",
446
+ "shape": [
447
+ 464,
448
+ 240,
449
+ 320,
450
+ 3
451
+ ],
452
+ "dtype": "uint8"
453
+ },
454
+ {
455
+ "path": "obs/sensor_data/robot_camera_1/rgb",
456
+ "shape": [
457
+ 464,
458
+ 240,
459
+ 320,
460
+ 3
461
+ ],
462
+ "dtype": "uint8"
463
+ },
464
+ {
465
+ "path": "obs/sensor_data/top_camera/rgb",
466
+ "shape": [
467
+ 464,
468
+ 320,
469
+ 240,
470
+ 3
471
+ ],
472
+ "dtype": "uint8"
473
+ }
474
+ ],
475
+ "trajectory_sha256": "825421a719db56c4d8982f50694878093daae2c1af3f8e412a1fbd56a5da1c8f",
476
+ "source_sha256": "e070437bd01db304f6a18f368fc38aa4d677b16e082719ac2d740f1fbc6e06df",
477
+ "view_sha256": "38493abcf4e40fe78ece24dde41bf0e7eb779d81e20dc8ce2e9a65d555e67872"
478
+ },
479
+ {
480
+ "demo_id": "demo_04",
481
+ "file": "demo_04.h5",
482
+ "length": 444,
483
+ "fields": [
484
+ {
485
+ "path": "actions/panda_leaphand-1",
486
+ "shape": [
487
+ 444,
488
+ 22
489
+ ],
490
+ "dtype": "float32"
491
+ },
492
+ {
493
+ "path": "actions/panda_leaphand_left-0",
494
+ "shape": [
495
+ 444,
496
+ 22
497
+ ],
498
+ "dtype": "float32"
499
+ },
500
+ {
501
+ "path": "obs/agent/panda_leaphand-1/qpos",
502
+ "shape": [
503
+ 445,
504
+ 23
505
+ ],
506
+ "dtype": "float32"
507
+ },
508
+ {
509
+ "path": "obs/agent/panda_leaphand-1/qvel",
510
+ "shape": [
511
+ 445,
512
+ 23
513
+ ],
514
+ "dtype": "float32"
515
+ },
516
+ {
517
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
518
+ "shape": [
519
+ 445,
520
+ 23
521
+ ],
522
+ "dtype": "float32"
523
+ },
524
+ {
525
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
526
+ "shape": [
527
+ 445,
528
+ 23
529
+ ],
530
+ "dtype": "float32"
531
+ },
532
+ {
533
+ "path": "obs/sensor_data/front_camera/rgb",
534
+ "shape": [
535
+ 445,
536
+ 240,
537
+ 320,
538
+ 3
539
+ ],
540
+ "dtype": "uint8"
541
+ },
542
+ {
543
+ "path": "obs/sensor_data/left_camera/rgb",
544
+ "shape": [
545
+ 445,
546
+ 240,
547
+ 320,
548
+ 3
549
+ ],
550
+ "dtype": "uint8"
551
+ },
552
+ {
553
+ "path": "obs/sensor_data/right_camera/rgb",
554
+ "shape": [
555
+ 445,
556
+ 240,
557
+ 320,
558
+ 3
559
+ ],
560
+ "dtype": "uint8"
561
+ },
562
+ {
563
+ "path": "obs/sensor_data/robot_camera_0/rgb",
564
+ "shape": [
565
+ 445,
566
+ 240,
567
+ 320,
568
+ 3
569
+ ],
570
+ "dtype": "uint8"
571
+ },
572
+ {
573
+ "path": "obs/sensor_data/robot_camera_1/rgb",
574
+ "shape": [
575
+ 445,
576
+ 240,
577
+ 320,
578
+ 3
579
+ ],
580
+ "dtype": "uint8"
581
+ },
582
+ {
583
+ "path": "obs/sensor_data/top_camera/rgb",
584
+ "shape": [
585
+ 445,
586
+ 320,
587
+ 240,
588
+ 3
589
+ ],
590
+ "dtype": "uint8"
591
+ }
592
+ ],
593
+ "trajectory_sha256": "38c70ba4c963bf94e8f33c085b50106e969504336ef79f52c5a77d2d0456bbb2",
594
+ "source_sha256": "f0278e8f3b6c167484f6952524a0d11d7235bf0777a410cc6c439a2936652d2a",
595
+ "view_sha256": "8cc5da9a59cc63625efc802993a47372f610faa9cb8223e5099ebdf9bd23d3b2"
596
+ },
597
+ {
598
+ "demo_id": "demo_05",
599
+ "file": "demo_05.h5",
600
+ "length": 686,
601
+ "fields": [
602
+ {
603
+ "path": "actions/panda_leaphand-1",
604
+ "shape": [
605
+ 686,
606
+ 22
607
+ ],
608
+ "dtype": "float32"
609
+ },
610
+ {
611
+ "path": "actions/panda_leaphand_left-0",
612
+ "shape": [
613
+ 686,
614
+ 22
615
+ ],
616
+ "dtype": "float32"
617
+ },
618
+ {
619
+ "path": "obs/agent/panda_leaphand-1/qpos",
620
+ "shape": [
621
+ 687,
622
+ 23
623
+ ],
624
+ "dtype": "float32"
625
+ },
626
+ {
627
+ "path": "obs/agent/panda_leaphand-1/qvel",
628
+ "shape": [
629
+ 687,
630
+ 23
631
+ ],
632
+ "dtype": "float32"
633
+ },
634
+ {
635
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
636
+ "shape": [
637
+ 687,
638
+ 23
639
+ ],
640
+ "dtype": "float32"
641
+ },
642
+ {
643
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
644
+ "shape": [
645
+ 687,
646
+ 23
647
+ ],
648
+ "dtype": "float32"
649
+ },
650
+ {
651
+ "path": "obs/sensor_data/front_camera/rgb",
652
+ "shape": [
653
+ 687,
654
+ 240,
655
+ 320,
656
+ 3
657
+ ],
658
+ "dtype": "uint8"
659
+ },
660
+ {
661
+ "path": "obs/sensor_data/left_camera/rgb",
662
+ "shape": [
663
+ 687,
664
+ 240,
665
+ 320,
666
+ 3
667
+ ],
668
+ "dtype": "uint8"
669
+ },
670
+ {
671
+ "path": "obs/sensor_data/right_camera/rgb",
672
+ "shape": [
673
+ 687,
674
+ 240,
675
+ 320,
676
+ 3
677
+ ],
678
+ "dtype": "uint8"
679
+ },
680
+ {
681
+ "path": "obs/sensor_data/robot_camera_0/rgb",
682
+ "shape": [
683
+ 687,
684
+ 240,
685
+ 320,
686
+ 3
687
+ ],
688
+ "dtype": "uint8"
689
+ },
690
+ {
691
+ "path": "obs/sensor_data/robot_camera_1/rgb",
692
+ "shape": [
693
+ 687,
694
+ 240,
695
+ 320,
696
+ 3
697
+ ],
698
+ "dtype": "uint8"
699
+ },
700
+ {
701
+ "path": "obs/sensor_data/top_camera/rgb",
702
+ "shape": [
703
+ 687,
704
+ 320,
705
+ 240,
706
+ 3
707
+ ],
708
+ "dtype": "uint8"
709
+ }
710
+ ],
711
+ "trajectory_sha256": "de39302c9ca67a071fe59f807ba0e17f3bb15018df297b04bebf05dca6a53962",
712
+ "source_sha256": "1d17e45f303b5bbf16eb3d164f56cabcbb4405f555b83a4c26112da58d1636a5",
713
+ "view_sha256": "57891af9ba3b1823b6a11f9edf5fd9c21cd19f726ecb552b1e510d00e150fe7c"
714
+ },
715
+ {
716
+ "demo_id": "demo_06",
717
+ "file": "demo_06.h5",
718
+ "length": 712,
719
+ "fields": [
720
+ {
721
+ "path": "actions/panda_leaphand-1",
722
+ "shape": [
723
+ 712,
724
+ 22
725
+ ],
726
+ "dtype": "float32"
727
+ },
728
+ {
729
+ "path": "actions/panda_leaphand_left-0",
730
+ "shape": [
731
+ 712,
732
+ 22
733
+ ],
734
+ "dtype": "float32"
735
+ },
736
+ {
737
+ "path": "obs/agent/panda_leaphand-1/qpos",
738
+ "shape": [
739
+ 713,
740
+ 23
741
+ ],
742
+ "dtype": "float32"
743
+ },
744
+ {
745
+ "path": "obs/agent/panda_leaphand-1/qvel",
746
+ "shape": [
747
+ 713,
748
+ 23
749
+ ],
750
+ "dtype": "float32"
751
+ },
752
+ {
753
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
754
+ "shape": [
755
+ 713,
756
+ 23
757
+ ],
758
+ "dtype": "float32"
759
+ },
760
+ {
761
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
762
+ "shape": [
763
+ 713,
764
+ 23
765
+ ],
766
+ "dtype": "float32"
767
+ },
768
+ {
769
+ "path": "obs/sensor_data/front_camera/rgb",
770
+ "shape": [
771
+ 713,
772
+ 240,
773
+ 320,
774
+ 3
775
+ ],
776
+ "dtype": "uint8"
777
+ },
778
+ {
779
+ "path": "obs/sensor_data/left_camera/rgb",
780
+ "shape": [
781
+ 713,
782
+ 240,
783
+ 320,
784
+ 3
785
+ ],
786
+ "dtype": "uint8"
787
+ },
788
+ {
789
+ "path": "obs/sensor_data/right_camera/rgb",
790
+ "shape": [
791
+ 713,
792
+ 240,
793
+ 320,
794
+ 3
795
+ ],
796
+ "dtype": "uint8"
797
+ },
798
+ {
799
+ "path": "obs/sensor_data/robot_camera_0/rgb",
800
+ "shape": [
801
+ 713,
802
+ 240,
803
+ 320,
804
+ 3
805
+ ],
806
+ "dtype": "uint8"
807
+ },
808
+ {
809
+ "path": "obs/sensor_data/robot_camera_1/rgb",
810
+ "shape": [
811
+ 713,
812
+ 240,
813
+ 320,
814
+ 3
815
+ ],
816
+ "dtype": "uint8"
817
+ },
818
+ {
819
+ "path": "obs/sensor_data/top_camera/rgb",
820
+ "shape": [
821
+ 713,
822
+ 320,
823
+ 240,
824
+ 3
825
+ ],
826
+ "dtype": "uint8"
827
+ }
828
+ ],
829
+ "trajectory_sha256": "c36e6ca944ed9b54bd57c6df96d532cdb076a74e3b4ae787b958aaa408d89a84",
830
+ "source_sha256": "54e60b3fe234aac677ad7049e5897e0ecdcec9828e4398c2c752aa9e4ed9dd6b",
831
+ "view_sha256": "39f304759948be7ca51af66930d62a28a1d7363e913ba65e216fda747bb64e8e"
832
+ },
833
+ {
834
+ "demo_id": "demo_07",
835
+ "file": "demo_07.h5",
836
+ "length": 673,
837
+ "fields": [
838
+ {
839
+ "path": "actions/panda_leaphand-1",
840
+ "shape": [
841
+ 673,
842
+ 22
843
+ ],
844
+ "dtype": "float32"
845
+ },
846
+ {
847
+ "path": "actions/panda_leaphand_left-0",
848
+ "shape": [
849
+ 673,
850
+ 22
851
+ ],
852
+ "dtype": "float32"
853
+ },
854
+ {
855
+ "path": "obs/agent/panda_leaphand-1/qpos",
856
+ "shape": [
857
+ 674,
858
+ 23
859
+ ],
860
+ "dtype": "float32"
861
+ },
862
+ {
863
+ "path": "obs/agent/panda_leaphand-1/qvel",
864
+ "shape": [
865
+ 674,
866
+ 23
867
+ ],
868
+ "dtype": "float32"
869
+ },
870
+ {
871
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
872
+ "shape": [
873
+ 674,
874
+ 23
875
+ ],
876
+ "dtype": "float32"
877
+ },
878
+ {
879
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
880
+ "shape": [
881
+ 674,
882
+ 23
883
+ ],
884
+ "dtype": "float32"
885
+ },
886
+ {
887
+ "path": "obs/sensor_data/front_camera/rgb",
888
+ "shape": [
889
+ 674,
890
+ 240,
891
+ 320,
892
+ 3
893
+ ],
894
+ "dtype": "uint8"
895
+ },
896
+ {
897
+ "path": "obs/sensor_data/left_camera/rgb",
898
+ "shape": [
899
+ 674,
900
+ 240,
901
+ 320,
902
+ 3
903
+ ],
904
+ "dtype": "uint8"
905
+ },
906
+ {
907
+ "path": "obs/sensor_data/right_camera/rgb",
908
+ "shape": [
909
+ 674,
910
+ 240,
911
+ 320,
912
+ 3
913
+ ],
914
+ "dtype": "uint8"
915
+ },
916
+ {
917
+ "path": "obs/sensor_data/robot_camera_0/rgb",
918
+ "shape": [
919
+ 674,
920
+ 240,
921
+ 320,
922
+ 3
923
+ ],
924
+ "dtype": "uint8"
925
+ },
926
+ {
927
+ "path": "obs/sensor_data/robot_camera_1/rgb",
928
+ "shape": [
929
+ 674,
930
+ 240,
931
+ 320,
932
+ 3
933
+ ],
934
+ "dtype": "uint8"
935
+ },
936
+ {
937
+ "path": "obs/sensor_data/top_camera/rgb",
938
+ "shape": [
939
+ 674,
940
+ 320,
941
+ 240,
942
+ 3
943
+ ],
944
+ "dtype": "uint8"
945
+ }
946
+ ],
947
+ "trajectory_sha256": "46035ef9474f9a7a4e2c293ca4e4280063af68f60ee67baf9711d87dc59132d6",
948
+ "source_sha256": "22e9042451a9d5e3d0727219c6c431ce9ed671d120c0e9e2015574428bb9042a",
949
+ "view_sha256": "8abc6ecba74c56dd34c64d0ba49483a06509f0ef796f593aa8f27342e0363c3d"
950
+ },
951
+ {
952
+ "demo_id": "demo_08",
953
+ "file": "demo_08.h5",
954
+ "length": 685,
955
+ "fields": [
956
+ {
957
+ "path": "actions/panda_leaphand-1",
958
+ "shape": [
959
+ 685,
960
+ 22
961
+ ],
962
+ "dtype": "float32"
963
+ },
964
+ {
965
+ "path": "actions/panda_leaphand_left-0",
966
+ "shape": [
967
+ 685,
968
+ 22
969
+ ],
970
+ "dtype": "float32"
971
+ },
972
+ {
973
+ "path": "obs/agent/panda_leaphand-1/qpos",
974
+ "shape": [
975
+ 686,
976
+ 23
977
+ ],
978
+ "dtype": "float32"
979
+ },
980
+ {
981
+ "path": "obs/agent/panda_leaphand-1/qvel",
982
+ "shape": [
983
+ 686,
984
+ 23
985
+ ],
986
+ "dtype": "float32"
987
+ },
988
+ {
989
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
990
+ "shape": [
991
+ 686,
992
+ 23
993
+ ],
994
+ "dtype": "float32"
995
+ },
996
+ {
997
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
998
+ "shape": [
999
+ 686,
1000
+ 23
1001
+ ],
1002
+ "dtype": "float32"
1003
+ },
1004
+ {
1005
+ "path": "obs/sensor_data/front_camera/rgb",
1006
+ "shape": [
1007
+ 686,
1008
+ 240,
1009
+ 320,
1010
+ 3
1011
+ ],
1012
+ "dtype": "uint8"
1013
+ },
1014
+ {
1015
+ "path": "obs/sensor_data/left_camera/rgb",
1016
+ "shape": [
1017
+ 686,
1018
+ 240,
1019
+ 320,
1020
+ 3
1021
+ ],
1022
+ "dtype": "uint8"
1023
+ },
1024
+ {
1025
+ "path": "obs/sensor_data/right_camera/rgb",
1026
+ "shape": [
1027
+ 686,
1028
+ 240,
1029
+ 320,
1030
+ 3
1031
+ ],
1032
+ "dtype": "uint8"
1033
+ },
1034
+ {
1035
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1036
+ "shape": [
1037
+ 686,
1038
+ 240,
1039
+ 320,
1040
+ 3
1041
+ ],
1042
+ "dtype": "uint8"
1043
+ },
1044
+ {
1045
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1046
+ "shape": [
1047
+ 686,
1048
+ 240,
1049
+ 320,
1050
+ 3
1051
+ ],
1052
+ "dtype": "uint8"
1053
+ },
1054
+ {
1055
+ "path": "obs/sensor_data/top_camera/rgb",
1056
+ "shape": [
1057
+ 686,
1058
+ 320,
1059
+ 240,
1060
+ 3
1061
+ ],
1062
+ "dtype": "uint8"
1063
+ }
1064
+ ],
1065
+ "trajectory_sha256": "8fb2850197427a1fd0c5eb93eb0a5cc9f1619529fecb1509caa2a427fb0fb14f",
1066
+ "source_sha256": "137d277fbc04cf59de6c046cf4901d881a71de59a71fa937af2c9eb5fdf35025",
1067
+ "view_sha256": "37014ba9087637a12aac1d1085b9f9b66425c13d264d996c6376b0622353b56b"
1068
+ },
1069
+ {
1070
+ "demo_id": "demo_09",
1071
+ "file": "demo_09.h5",
1072
+ "length": 441,
1073
+ "fields": [
1074
+ {
1075
+ "path": "actions/panda_leaphand-1",
1076
+ "shape": [
1077
+ 441,
1078
+ 22
1079
+ ],
1080
+ "dtype": "float32"
1081
+ },
1082
+ {
1083
+ "path": "actions/panda_leaphand_left-0",
1084
+ "shape": [
1085
+ 441,
1086
+ 22
1087
+ ],
1088
+ "dtype": "float32"
1089
+ },
1090
+ {
1091
+ "path": "obs/agent/panda_leaphand-1/qpos",
1092
+ "shape": [
1093
+ 442,
1094
+ 23
1095
+ ],
1096
+ "dtype": "float32"
1097
+ },
1098
+ {
1099
+ "path": "obs/agent/panda_leaphand-1/qvel",
1100
+ "shape": [
1101
+ 442,
1102
+ 23
1103
+ ],
1104
+ "dtype": "float32"
1105
+ },
1106
+ {
1107
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
1108
+ "shape": [
1109
+ 442,
1110
+ 23
1111
+ ],
1112
+ "dtype": "float32"
1113
+ },
1114
+ {
1115
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
1116
+ "shape": [
1117
+ 442,
1118
+ 23
1119
+ ],
1120
+ "dtype": "float32"
1121
+ },
1122
+ {
1123
+ "path": "obs/sensor_data/front_camera/rgb",
1124
+ "shape": [
1125
+ 442,
1126
+ 240,
1127
+ 320,
1128
+ 3
1129
+ ],
1130
+ "dtype": "uint8"
1131
+ },
1132
+ {
1133
+ "path": "obs/sensor_data/left_camera/rgb",
1134
+ "shape": [
1135
+ 442,
1136
+ 240,
1137
+ 320,
1138
+ 3
1139
+ ],
1140
+ "dtype": "uint8"
1141
+ },
1142
+ {
1143
+ "path": "obs/sensor_data/right_camera/rgb",
1144
+ "shape": [
1145
+ 442,
1146
+ 240,
1147
+ 320,
1148
+ 3
1149
+ ],
1150
+ "dtype": "uint8"
1151
+ },
1152
+ {
1153
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1154
+ "shape": [
1155
+ 442,
1156
+ 240,
1157
+ 320,
1158
+ 3
1159
+ ],
1160
+ "dtype": "uint8"
1161
+ },
1162
+ {
1163
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1164
+ "shape": [
1165
+ 442,
1166
+ 240,
1167
+ 320,
1168
+ 3
1169
+ ],
1170
+ "dtype": "uint8"
1171
+ },
1172
+ {
1173
+ "path": "obs/sensor_data/top_camera/rgb",
1174
+ "shape": [
1175
+ 442,
1176
+ 320,
1177
+ 240,
1178
+ 3
1179
+ ],
1180
+ "dtype": "uint8"
1181
+ }
1182
+ ],
1183
+ "trajectory_sha256": "118044f2f7b3d1810778f6d2573ee537e4824ffa67fe78d78caef387ce6c71ca",
1184
+ "source_sha256": "d1de65b492f7fef29124c63be936a2978eb1f264f3a5c429c65fd5bbe26c0b91",
1185
+ "view_sha256": "20bbaf29d4663382d4be25387bb209b8c9d6ac872af94b7e0c678bf7ca893e96"
1186
+ },
1187
+ {
1188
+ "demo_id": "demo_10",
1189
+ "file": "demo_10.h5",
1190
+ "length": 459,
1191
+ "fields": [
1192
+ {
1193
+ "path": "actions/panda_leaphand-1",
1194
+ "shape": [
1195
+ 459,
1196
+ 22
1197
+ ],
1198
+ "dtype": "float32"
1199
+ },
1200
+ {
1201
+ "path": "actions/panda_leaphand_left-0",
1202
+ "shape": [
1203
+ 459,
1204
+ 22
1205
+ ],
1206
+ "dtype": "float32"
1207
+ },
1208
+ {
1209
+ "path": "obs/agent/panda_leaphand-1/qpos",
1210
+ "shape": [
1211
+ 460,
1212
+ 23
1213
+ ],
1214
+ "dtype": "float32"
1215
+ },
1216
+ {
1217
+ "path": "obs/agent/panda_leaphand-1/qvel",
1218
+ "shape": [
1219
+ 460,
1220
+ 23
1221
+ ],
1222
+ "dtype": "float32"
1223
+ },
1224
+ {
1225
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
1226
+ "shape": [
1227
+ 460,
1228
+ 23
1229
+ ],
1230
+ "dtype": "float32"
1231
+ },
1232
+ {
1233
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
1234
+ "shape": [
1235
+ 460,
1236
+ 23
1237
+ ],
1238
+ "dtype": "float32"
1239
+ },
1240
+ {
1241
+ "path": "obs/sensor_data/front_camera/rgb",
1242
+ "shape": [
1243
+ 460,
1244
+ 240,
1245
+ 320,
1246
+ 3
1247
+ ],
1248
+ "dtype": "uint8"
1249
+ },
1250
+ {
1251
+ "path": "obs/sensor_data/left_camera/rgb",
1252
+ "shape": [
1253
+ 460,
1254
+ 240,
1255
+ 320,
1256
+ 3
1257
+ ],
1258
+ "dtype": "uint8"
1259
+ },
1260
+ {
1261
+ "path": "obs/sensor_data/right_camera/rgb",
1262
+ "shape": [
1263
+ 460,
1264
+ 240,
1265
+ 320,
1266
+ 3
1267
+ ],
1268
+ "dtype": "uint8"
1269
+ },
1270
+ {
1271
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1272
+ "shape": [
1273
+ 460,
1274
+ 240,
1275
+ 320,
1276
+ 3
1277
+ ],
1278
+ "dtype": "uint8"
1279
+ },
1280
+ {
1281
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1282
+ "shape": [
1283
+ 460,
1284
+ 240,
1285
+ 320,
1286
+ 3
1287
+ ],
1288
+ "dtype": "uint8"
1289
+ },
1290
+ {
1291
+ "path": "obs/sensor_data/top_camera/rgb",
1292
+ "shape": [
1293
+ 460,
1294
+ 320,
1295
+ 240,
1296
+ 3
1297
+ ],
1298
+ "dtype": "uint8"
1299
+ }
1300
+ ],
1301
+ "trajectory_sha256": "e71ad918220c9e6d7ed556f8c097c89526b8c101a408a3c3569317c552367187",
1302
+ "source_sha256": "16d2960b3f024404d399d72f38fc2da599586c79d49b3f0f2700fc04fb5277b3",
1303
+ "view_sha256": "769937a8749da42fa3005efcb99034cf757f618eb3615a9fb1e6478593cd9286"
1304
+ },
1305
+ {
1306
+ "demo_id": "demo_11",
1307
+ "file": "demo_11.h5",
1308
+ "length": 453,
1309
+ "fields": [
1310
+ {
1311
+ "path": "actions/panda_leaphand-1",
1312
+ "shape": [
1313
+ 453,
1314
+ 22
1315
+ ],
1316
+ "dtype": "float32"
1317
+ },
1318
+ {
1319
+ "path": "actions/panda_leaphand_left-0",
1320
+ "shape": [
1321
+ 453,
1322
+ 22
1323
+ ],
1324
+ "dtype": "float32"
1325
+ },
1326
+ {
1327
+ "path": "obs/agent/panda_leaphand-1/qpos",
1328
+ "shape": [
1329
+ 454,
1330
+ 23
1331
+ ],
1332
+ "dtype": "float32"
1333
+ },
1334
+ {
1335
+ "path": "obs/agent/panda_leaphand-1/qvel",
1336
+ "shape": [
1337
+ 454,
1338
+ 23
1339
+ ],
1340
+ "dtype": "float32"
1341
+ },
1342
+ {
1343
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
1344
+ "shape": [
1345
+ 454,
1346
+ 23
1347
+ ],
1348
+ "dtype": "float32"
1349
+ },
1350
+ {
1351
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
1352
+ "shape": [
1353
+ 454,
1354
+ 23
1355
+ ],
1356
+ "dtype": "float32"
1357
+ },
1358
+ {
1359
+ "path": "obs/sensor_data/front_camera/rgb",
1360
+ "shape": [
1361
+ 454,
1362
+ 240,
1363
+ 320,
1364
+ 3
1365
+ ],
1366
+ "dtype": "uint8"
1367
+ },
1368
+ {
1369
+ "path": "obs/sensor_data/left_camera/rgb",
1370
+ "shape": [
1371
+ 454,
1372
+ 240,
1373
+ 320,
1374
+ 3
1375
+ ],
1376
+ "dtype": "uint8"
1377
+ },
1378
+ {
1379
+ "path": "obs/sensor_data/right_camera/rgb",
1380
+ "shape": [
1381
+ 454,
1382
+ 240,
1383
+ 320,
1384
+ 3
1385
+ ],
1386
+ "dtype": "uint8"
1387
+ },
1388
+ {
1389
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1390
+ "shape": [
1391
+ 454,
1392
+ 240,
1393
+ 320,
1394
+ 3
1395
+ ],
1396
+ "dtype": "uint8"
1397
+ },
1398
+ {
1399
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1400
+ "shape": [
1401
+ 454,
1402
+ 240,
1403
+ 320,
1404
+ 3
1405
+ ],
1406
+ "dtype": "uint8"
1407
+ },
1408
+ {
1409
+ "path": "obs/sensor_data/top_camera/rgb",
1410
+ "shape": [
1411
+ 454,
1412
+ 320,
1413
+ 240,
1414
+ 3
1415
+ ],
1416
+ "dtype": "uint8"
1417
+ }
1418
+ ],
1419
+ "trajectory_sha256": "6480029f101fc2071a2fb0a722b2df4f8f50bb9e477ca6b7cebc336378f84e2a",
1420
+ "source_sha256": "9d43a08c738545dbab43073ecbc4c94caf7150b88f1e946d8290863bf5796502",
1421
+ "view_sha256": "50df891ad0f3c5faf82a78a3988e434a2183c11510504cb88b5eb1a13a0ee066"
1422
+ },
1423
+ {
1424
+ "demo_id": "demo_12",
1425
+ "file": "demo_12.h5",
1426
+ "length": 510,
1427
+ "fields": [
1428
+ {
1429
+ "path": "actions/panda_leaphand-1",
1430
+ "shape": [
1431
+ 510,
1432
+ 22
1433
+ ],
1434
+ "dtype": "float32"
1435
+ },
1436
+ {
1437
+ "path": "actions/panda_leaphand_left-0",
1438
+ "shape": [
1439
+ 510,
1440
+ 22
1441
+ ],
1442
+ "dtype": "float32"
1443
+ },
1444
+ {
1445
+ "path": "obs/agent/panda_leaphand-1/qpos",
1446
+ "shape": [
1447
+ 511,
1448
+ 23
1449
+ ],
1450
+ "dtype": "float32"
1451
+ },
1452
+ {
1453
+ "path": "obs/agent/panda_leaphand-1/qvel",
1454
+ "shape": [
1455
+ 511,
1456
+ 23
1457
+ ],
1458
+ "dtype": "float32"
1459
+ },
1460
+ {
1461
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
1462
+ "shape": [
1463
+ 511,
1464
+ 23
1465
+ ],
1466
+ "dtype": "float32"
1467
+ },
1468
+ {
1469
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
1470
+ "shape": [
1471
+ 511,
1472
+ 23
1473
+ ],
1474
+ "dtype": "float32"
1475
+ },
1476
+ {
1477
+ "path": "obs/sensor_data/front_camera/rgb",
1478
+ "shape": [
1479
+ 511,
1480
+ 240,
1481
+ 320,
1482
+ 3
1483
+ ],
1484
+ "dtype": "uint8"
1485
+ },
1486
+ {
1487
+ "path": "obs/sensor_data/left_camera/rgb",
1488
+ "shape": [
1489
+ 511,
1490
+ 240,
1491
+ 320,
1492
+ 3
1493
+ ],
1494
+ "dtype": "uint8"
1495
+ },
1496
+ {
1497
+ "path": "obs/sensor_data/right_camera/rgb",
1498
+ "shape": [
1499
+ 511,
1500
+ 240,
1501
+ 320,
1502
+ 3
1503
+ ],
1504
+ "dtype": "uint8"
1505
+ },
1506
+ {
1507
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1508
+ "shape": [
1509
+ 511,
1510
+ 240,
1511
+ 320,
1512
+ 3
1513
+ ],
1514
+ "dtype": "uint8"
1515
+ },
1516
+ {
1517
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1518
+ "shape": [
1519
+ 511,
1520
+ 240,
1521
+ 320,
1522
+ 3
1523
+ ],
1524
+ "dtype": "uint8"
1525
+ },
1526
+ {
1527
+ "path": "obs/sensor_data/top_camera/rgb",
1528
+ "shape": [
1529
+ 511,
1530
+ 320,
1531
+ 240,
1532
+ 3
1533
+ ],
1534
+ "dtype": "uint8"
1535
+ }
1536
+ ],
1537
+ "trajectory_sha256": "47f82c9bfce51fdd76bb47299566589b040c63f655cb125ca072145fe41374e2",
1538
+ "source_sha256": "86aaf45f271edc1be14a4c5b0dc7ed4616266f6286b6d17e9ffaecbac30f1aff",
1539
+ "view_sha256": "fe2887ff2e1013dc75d62198770ecffd41182285ce138e8121fbd87e202250e7"
1540
+ },
1541
+ {
1542
+ "demo_id": "demo_13",
1543
+ "file": "demo_13.h5",
1544
+ "length": 699,
1545
+ "fields": [
1546
+ {
1547
+ "path": "actions/panda_leaphand-1",
1548
+ "shape": [
1549
+ 699,
1550
+ 22
1551
+ ],
1552
+ "dtype": "float32"
1553
+ },
1554
+ {
1555
+ "path": "actions/panda_leaphand_left-0",
1556
+ "shape": [
1557
+ 699,
1558
+ 22
1559
+ ],
1560
+ "dtype": "float32"
1561
+ },
1562
+ {
1563
+ "path": "obs/agent/panda_leaphand-1/qpos",
1564
+ "shape": [
1565
+ 700,
1566
+ 23
1567
+ ],
1568
+ "dtype": "float32"
1569
+ },
1570
+ {
1571
+ "path": "obs/agent/panda_leaphand-1/qvel",
1572
+ "shape": [
1573
+ 700,
1574
+ 23
1575
+ ],
1576
+ "dtype": "float32"
1577
+ },
1578
+ {
1579
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
1580
+ "shape": [
1581
+ 700,
1582
+ 23
1583
+ ],
1584
+ "dtype": "float32"
1585
+ },
1586
+ {
1587
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
1588
+ "shape": [
1589
+ 700,
1590
+ 23
1591
+ ],
1592
+ "dtype": "float32"
1593
+ },
1594
+ {
1595
+ "path": "obs/sensor_data/front_camera/rgb",
1596
+ "shape": [
1597
+ 700,
1598
+ 240,
1599
+ 320,
1600
+ 3
1601
+ ],
1602
+ "dtype": "uint8"
1603
+ },
1604
+ {
1605
+ "path": "obs/sensor_data/left_camera/rgb",
1606
+ "shape": [
1607
+ 700,
1608
+ 240,
1609
+ 320,
1610
+ 3
1611
+ ],
1612
+ "dtype": "uint8"
1613
+ },
1614
+ {
1615
+ "path": "obs/sensor_data/right_camera/rgb",
1616
+ "shape": [
1617
+ 700,
1618
+ 240,
1619
+ 320,
1620
+ 3
1621
+ ],
1622
+ "dtype": "uint8"
1623
+ },
1624
+ {
1625
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1626
+ "shape": [
1627
+ 700,
1628
+ 240,
1629
+ 320,
1630
+ 3
1631
+ ],
1632
+ "dtype": "uint8"
1633
+ },
1634
+ {
1635
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1636
+ "shape": [
1637
+ 700,
1638
+ 240,
1639
+ 320,
1640
+ 3
1641
+ ],
1642
+ "dtype": "uint8"
1643
+ },
1644
+ {
1645
+ "path": "obs/sensor_data/top_camera/rgb",
1646
+ "shape": [
1647
+ 700,
1648
+ 320,
1649
+ 240,
1650
+ 3
1651
+ ],
1652
+ "dtype": "uint8"
1653
+ }
1654
+ ],
1655
+ "trajectory_sha256": "d2e5060bbb80b1c0e6d905b259de39e93f8c8c05b4f0a6aa4207addd76dba755",
1656
+ "source_sha256": "00ef2eacb5d1686b69e6f4822006b18f897989ad66cecceab692602ebb07fc86",
1657
+ "view_sha256": "d57285252f2b0b83ddf03f28576b7a3f4b7f1913c16b4b1fdf1cfde261d43b7a"
1658
+ },
1659
+ {
1660
+ "demo_id": "demo_14",
1661
+ "file": "demo_14.h5",
1662
+ "length": 439,
1663
+ "fields": [
1664
+ {
1665
+ "path": "actions/panda_leaphand-1",
1666
+ "shape": [
1667
+ 439,
1668
+ 22
1669
+ ],
1670
+ "dtype": "float32"
1671
+ },
1672
+ {
1673
+ "path": "actions/panda_leaphand_left-0",
1674
+ "shape": [
1675
+ 439,
1676
+ 22
1677
+ ],
1678
+ "dtype": "float32"
1679
+ },
1680
+ {
1681
+ "path": "obs/agent/panda_leaphand-1/qpos",
1682
+ "shape": [
1683
+ 440,
1684
+ 23
1685
+ ],
1686
+ "dtype": "float32"
1687
+ },
1688
+ {
1689
+ "path": "obs/agent/panda_leaphand-1/qvel",
1690
+ "shape": [
1691
+ 440,
1692
+ 23
1693
+ ],
1694
+ "dtype": "float32"
1695
+ },
1696
+ {
1697
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
1698
+ "shape": [
1699
+ 440,
1700
+ 23
1701
+ ],
1702
+ "dtype": "float32"
1703
+ },
1704
+ {
1705
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
1706
+ "shape": [
1707
+ 440,
1708
+ 23
1709
+ ],
1710
+ "dtype": "float32"
1711
+ },
1712
+ {
1713
+ "path": "obs/sensor_data/front_camera/rgb",
1714
+ "shape": [
1715
+ 440,
1716
+ 240,
1717
+ 320,
1718
+ 3
1719
+ ],
1720
+ "dtype": "uint8"
1721
+ },
1722
+ {
1723
+ "path": "obs/sensor_data/left_camera/rgb",
1724
+ "shape": [
1725
+ 440,
1726
+ 240,
1727
+ 320,
1728
+ 3
1729
+ ],
1730
+ "dtype": "uint8"
1731
+ },
1732
+ {
1733
+ "path": "obs/sensor_data/right_camera/rgb",
1734
+ "shape": [
1735
+ 440,
1736
+ 240,
1737
+ 320,
1738
+ 3
1739
+ ],
1740
+ "dtype": "uint8"
1741
+ },
1742
+ {
1743
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1744
+ "shape": [
1745
+ 440,
1746
+ 240,
1747
+ 320,
1748
+ 3
1749
+ ],
1750
+ "dtype": "uint8"
1751
+ },
1752
+ {
1753
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1754
+ "shape": [
1755
+ 440,
1756
+ 240,
1757
+ 320,
1758
+ 3
1759
+ ],
1760
+ "dtype": "uint8"
1761
+ },
1762
+ {
1763
+ "path": "obs/sensor_data/top_camera/rgb",
1764
+ "shape": [
1765
+ 440,
1766
+ 320,
1767
+ 240,
1768
+ 3
1769
+ ],
1770
+ "dtype": "uint8"
1771
+ }
1772
+ ],
1773
+ "trajectory_sha256": "c39fd8697d4d5d34df02a9367dbdd8826e85900fa11fa6a4981d2c1bcdb4a1f3",
1774
+ "source_sha256": "6a65728fe448d042b29f95530b116dce6608ac518df48b0daedc7cf96b6d50b5",
1775
+ "view_sha256": "1a0ac6534e36f490c926ce6769f2169f1f1fd72aec590903a2fafb0ca996a4ce"
1776
+ },
1777
+ {
1778
+ "demo_id": "demo_15",
1779
+ "file": "demo_15.h5",
1780
+ "length": 683,
1781
+ "fields": [
1782
+ {
1783
+ "path": "actions/panda_leaphand-1",
1784
+ "shape": [
1785
+ 683,
1786
+ 22
1787
+ ],
1788
+ "dtype": "float32"
1789
+ },
1790
+ {
1791
+ "path": "actions/panda_leaphand_left-0",
1792
+ "shape": [
1793
+ 683,
1794
+ 22
1795
+ ],
1796
+ "dtype": "float32"
1797
+ },
1798
+ {
1799
+ "path": "obs/agent/panda_leaphand-1/qpos",
1800
+ "shape": [
1801
+ 684,
1802
+ 23
1803
+ ],
1804
+ "dtype": "float32"
1805
+ },
1806
+ {
1807
+ "path": "obs/agent/panda_leaphand-1/qvel",
1808
+ "shape": [
1809
+ 684,
1810
+ 23
1811
+ ],
1812
+ "dtype": "float32"
1813
+ },
1814
+ {
1815
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
1816
+ "shape": [
1817
+ 684,
1818
+ 23
1819
+ ],
1820
+ "dtype": "float32"
1821
+ },
1822
+ {
1823
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
1824
+ "shape": [
1825
+ 684,
1826
+ 23
1827
+ ],
1828
+ "dtype": "float32"
1829
+ },
1830
+ {
1831
+ "path": "obs/sensor_data/front_camera/rgb",
1832
+ "shape": [
1833
+ 684,
1834
+ 240,
1835
+ 320,
1836
+ 3
1837
+ ],
1838
+ "dtype": "uint8"
1839
+ },
1840
+ {
1841
+ "path": "obs/sensor_data/left_camera/rgb",
1842
+ "shape": [
1843
+ 684,
1844
+ 240,
1845
+ 320,
1846
+ 3
1847
+ ],
1848
+ "dtype": "uint8"
1849
+ },
1850
+ {
1851
+ "path": "obs/sensor_data/right_camera/rgb",
1852
+ "shape": [
1853
+ 684,
1854
+ 240,
1855
+ 320,
1856
+ 3
1857
+ ],
1858
+ "dtype": "uint8"
1859
+ },
1860
+ {
1861
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1862
+ "shape": [
1863
+ 684,
1864
+ 240,
1865
+ 320,
1866
+ 3
1867
+ ],
1868
+ "dtype": "uint8"
1869
+ },
1870
+ {
1871
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1872
+ "shape": [
1873
+ 684,
1874
+ 240,
1875
+ 320,
1876
+ 3
1877
+ ],
1878
+ "dtype": "uint8"
1879
+ },
1880
+ {
1881
+ "path": "obs/sensor_data/top_camera/rgb",
1882
+ "shape": [
1883
+ 684,
1884
+ 320,
1885
+ 240,
1886
+ 3
1887
+ ],
1888
+ "dtype": "uint8"
1889
+ }
1890
+ ],
1891
+ "trajectory_sha256": "5d59983dc32aa090f3954be66305a1934adf3019a459ec57ef295c8cd5b149e9",
1892
+ "source_sha256": "1ed63b0930f142246cec773e05514215f2fa957d4cc094f60e5573ef075658b0",
1893
+ "view_sha256": "6aacd3edd63de232fa6bebb6225c13dced478c8d4f48b2605dbfeb600f92ab18"
1894
+ },
1895
+ {
1896
+ "demo_id": "demo_16",
1897
+ "file": "demo_16.h5",
1898
+ "length": 486,
1899
+ "fields": [
1900
+ {
1901
+ "path": "actions/panda_leaphand-1",
1902
+ "shape": [
1903
+ 486,
1904
+ 22
1905
+ ],
1906
+ "dtype": "float32"
1907
+ },
1908
+ {
1909
+ "path": "actions/panda_leaphand_left-0",
1910
+ "shape": [
1911
+ 486,
1912
+ 22
1913
+ ],
1914
+ "dtype": "float32"
1915
+ },
1916
+ {
1917
+ "path": "obs/agent/panda_leaphand-1/qpos",
1918
+ "shape": [
1919
+ 487,
1920
+ 23
1921
+ ],
1922
+ "dtype": "float32"
1923
+ },
1924
+ {
1925
+ "path": "obs/agent/panda_leaphand-1/qvel",
1926
+ "shape": [
1927
+ 487,
1928
+ 23
1929
+ ],
1930
+ "dtype": "float32"
1931
+ },
1932
+ {
1933
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
1934
+ "shape": [
1935
+ 487,
1936
+ 23
1937
+ ],
1938
+ "dtype": "float32"
1939
+ },
1940
+ {
1941
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
1942
+ "shape": [
1943
+ 487,
1944
+ 23
1945
+ ],
1946
+ "dtype": "float32"
1947
+ },
1948
+ {
1949
+ "path": "obs/sensor_data/front_camera/rgb",
1950
+ "shape": [
1951
+ 487,
1952
+ 240,
1953
+ 320,
1954
+ 3
1955
+ ],
1956
+ "dtype": "uint8"
1957
+ },
1958
+ {
1959
+ "path": "obs/sensor_data/left_camera/rgb",
1960
+ "shape": [
1961
+ 487,
1962
+ 240,
1963
+ 320,
1964
+ 3
1965
+ ],
1966
+ "dtype": "uint8"
1967
+ },
1968
+ {
1969
+ "path": "obs/sensor_data/right_camera/rgb",
1970
+ "shape": [
1971
+ 487,
1972
+ 240,
1973
+ 320,
1974
+ 3
1975
+ ],
1976
+ "dtype": "uint8"
1977
+ },
1978
+ {
1979
+ "path": "obs/sensor_data/robot_camera_0/rgb",
1980
+ "shape": [
1981
+ 487,
1982
+ 240,
1983
+ 320,
1984
+ 3
1985
+ ],
1986
+ "dtype": "uint8"
1987
+ },
1988
+ {
1989
+ "path": "obs/sensor_data/robot_camera_1/rgb",
1990
+ "shape": [
1991
+ 487,
1992
+ 240,
1993
+ 320,
1994
+ 3
1995
+ ],
1996
+ "dtype": "uint8"
1997
+ },
1998
+ {
1999
+ "path": "obs/sensor_data/top_camera/rgb",
2000
+ "shape": [
2001
+ 487,
2002
+ 320,
2003
+ 240,
2004
+ 3
2005
+ ],
2006
+ "dtype": "uint8"
2007
+ }
2008
+ ],
2009
+ "trajectory_sha256": "c04087ae6a17921d58f1d3513eb091b729759e46df495312cb5e21836a33d748",
2010
+ "source_sha256": "fdc328aeeb89381d2a979bf1e9f476b1868001a77272b5b3ae738a2e568b3f85",
2011
+ "view_sha256": "e5f7605e2b93b03282e63afd691e71c900215168fecc8b3d0e7deaa3c6c8abe2"
2012
+ },
2013
+ {
2014
+ "demo_id": "demo_17",
2015
+ "file": "demo_17.h5",
2016
+ "length": 337,
2017
+ "fields": [
2018
+ {
2019
+ "path": "actions/panda_leaphand-1",
2020
+ "shape": [
2021
+ 337,
2022
+ 22
2023
+ ],
2024
+ "dtype": "float32"
2025
+ },
2026
+ {
2027
+ "path": "actions/panda_leaphand_left-0",
2028
+ "shape": [
2029
+ 337,
2030
+ 22
2031
+ ],
2032
+ "dtype": "float32"
2033
+ },
2034
+ {
2035
+ "path": "obs/agent/panda_leaphand-1/qpos",
2036
+ "shape": [
2037
+ 338,
2038
+ 23
2039
+ ],
2040
+ "dtype": "float32"
2041
+ },
2042
+ {
2043
+ "path": "obs/agent/panda_leaphand-1/qvel",
2044
+ "shape": [
2045
+ 338,
2046
+ 23
2047
+ ],
2048
+ "dtype": "float32"
2049
+ },
2050
+ {
2051
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
2052
+ "shape": [
2053
+ 338,
2054
+ 23
2055
+ ],
2056
+ "dtype": "float32"
2057
+ },
2058
+ {
2059
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
2060
+ "shape": [
2061
+ 338,
2062
+ 23
2063
+ ],
2064
+ "dtype": "float32"
2065
+ },
2066
+ {
2067
+ "path": "obs/sensor_data/front_camera/rgb",
2068
+ "shape": [
2069
+ 338,
2070
+ 240,
2071
+ 320,
2072
+ 3
2073
+ ],
2074
+ "dtype": "uint8"
2075
+ },
2076
+ {
2077
+ "path": "obs/sensor_data/left_camera/rgb",
2078
+ "shape": [
2079
+ 338,
2080
+ 240,
2081
+ 320,
2082
+ 3
2083
+ ],
2084
+ "dtype": "uint8"
2085
+ },
2086
+ {
2087
+ "path": "obs/sensor_data/right_camera/rgb",
2088
+ "shape": [
2089
+ 338,
2090
+ 240,
2091
+ 320,
2092
+ 3
2093
+ ],
2094
+ "dtype": "uint8"
2095
+ },
2096
+ {
2097
+ "path": "obs/sensor_data/robot_camera_0/rgb",
2098
+ "shape": [
2099
+ 338,
2100
+ 240,
2101
+ 320,
2102
+ 3
2103
+ ],
2104
+ "dtype": "uint8"
2105
+ },
2106
+ {
2107
+ "path": "obs/sensor_data/robot_camera_1/rgb",
2108
+ "shape": [
2109
+ 338,
2110
+ 240,
2111
+ 320,
2112
+ 3
2113
+ ],
2114
+ "dtype": "uint8"
2115
+ },
2116
+ {
2117
+ "path": "obs/sensor_data/top_camera/rgb",
2118
+ "shape": [
2119
+ 338,
2120
+ 320,
2121
+ 240,
2122
+ 3
2123
+ ],
2124
+ "dtype": "uint8"
2125
+ }
2126
+ ],
2127
+ "trajectory_sha256": "fb1e3dd1de8a90b432e0cf0d6defcb83f771d24c974269d10f76706fb9861e3c",
2128
+ "source_sha256": "1580a6b0a95062e5c6ab7fcb36bc5ac56b62425140ad7f537bc3b54ea809cb62",
2129
+ "view_sha256": "443d7b94f31161966e005ad11bf7f83da5b4703766bd22f821ad4a9b8b071850"
2130
+ },
2131
+ {
2132
+ "demo_id": "demo_18",
2133
+ "file": "demo_18.h5",
2134
+ "length": 730,
2135
+ "fields": [
2136
+ {
2137
+ "path": "actions/panda_leaphand-1",
2138
+ "shape": [
2139
+ 730,
2140
+ 22
2141
+ ],
2142
+ "dtype": "float32"
2143
+ },
2144
+ {
2145
+ "path": "actions/panda_leaphand_left-0",
2146
+ "shape": [
2147
+ 730,
2148
+ 22
2149
+ ],
2150
+ "dtype": "float32"
2151
+ },
2152
+ {
2153
+ "path": "obs/agent/panda_leaphand-1/qpos",
2154
+ "shape": [
2155
+ 731,
2156
+ 23
2157
+ ],
2158
+ "dtype": "float32"
2159
+ },
2160
+ {
2161
+ "path": "obs/agent/panda_leaphand-1/qvel",
2162
+ "shape": [
2163
+ 731,
2164
+ 23
2165
+ ],
2166
+ "dtype": "float32"
2167
+ },
2168
+ {
2169
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
2170
+ "shape": [
2171
+ 731,
2172
+ 23
2173
+ ],
2174
+ "dtype": "float32"
2175
+ },
2176
+ {
2177
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
2178
+ "shape": [
2179
+ 731,
2180
+ 23
2181
+ ],
2182
+ "dtype": "float32"
2183
+ },
2184
+ {
2185
+ "path": "obs/sensor_data/front_camera/rgb",
2186
+ "shape": [
2187
+ 731,
2188
+ 240,
2189
+ 320,
2190
+ 3
2191
+ ],
2192
+ "dtype": "uint8"
2193
+ },
2194
+ {
2195
+ "path": "obs/sensor_data/left_camera/rgb",
2196
+ "shape": [
2197
+ 731,
2198
+ 240,
2199
+ 320,
2200
+ 3
2201
+ ],
2202
+ "dtype": "uint8"
2203
+ },
2204
+ {
2205
+ "path": "obs/sensor_data/right_camera/rgb",
2206
+ "shape": [
2207
+ 731,
2208
+ 240,
2209
+ 320,
2210
+ 3
2211
+ ],
2212
+ "dtype": "uint8"
2213
+ },
2214
+ {
2215
+ "path": "obs/sensor_data/robot_camera_0/rgb",
2216
+ "shape": [
2217
+ 731,
2218
+ 240,
2219
+ 320,
2220
+ 3
2221
+ ],
2222
+ "dtype": "uint8"
2223
+ },
2224
+ {
2225
+ "path": "obs/sensor_data/robot_camera_1/rgb",
2226
+ "shape": [
2227
+ 731,
2228
+ 240,
2229
+ 320,
2230
+ 3
2231
+ ],
2232
+ "dtype": "uint8"
2233
+ },
2234
+ {
2235
+ "path": "obs/sensor_data/top_camera/rgb",
2236
+ "shape": [
2237
+ 731,
2238
+ 320,
2239
+ 240,
2240
+ 3
2241
+ ],
2242
+ "dtype": "uint8"
2243
+ }
2244
+ ],
2245
+ "trajectory_sha256": "e9c6e606b79022040828cbf068e049c0f359d11bd7bfa0da9defa93260c0847d",
2246
+ "source_sha256": "b3aa9be3ec4ef3ab3d3b61fd7157a397856e99291826b13f53dafbf5f77eb386",
2247
+ "view_sha256": "1e2ddbb0a4a76adc93174c0e9100da291d7a6089ac586f3d9b56c029f7056cbd"
2248
+ },
2249
+ {
2250
+ "demo_id": "demo_19",
2251
+ "file": "demo_19.h5",
2252
+ "length": 511,
2253
+ "fields": [
2254
+ {
2255
+ "path": "actions/panda_leaphand-1",
2256
+ "shape": [
2257
+ 511,
2258
+ 22
2259
+ ],
2260
+ "dtype": "float32"
2261
+ },
2262
+ {
2263
+ "path": "actions/panda_leaphand_left-0",
2264
+ "shape": [
2265
+ 511,
2266
+ 22
2267
+ ],
2268
+ "dtype": "float32"
2269
+ },
2270
+ {
2271
+ "path": "obs/agent/panda_leaphand-1/qpos",
2272
+ "shape": [
2273
+ 512,
2274
+ 23
2275
+ ],
2276
+ "dtype": "float32"
2277
+ },
2278
+ {
2279
+ "path": "obs/agent/panda_leaphand-1/qvel",
2280
+ "shape": [
2281
+ 512,
2282
+ 23
2283
+ ],
2284
+ "dtype": "float32"
2285
+ },
2286
+ {
2287
+ "path": "obs/agent/panda_leaphand_left-0/qpos",
2288
+ "shape": [
2289
+ 512,
2290
+ 23
2291
+ ],
2292
+ "dtype": "float32"
2293
+ },
2294
+ {
2295
+ "path": "obs/agent/panda_leaphand_left-0/qvel",
2296
+ "shape": [
2297
+ 512,
2298
+ 23
2299
+ ],
2300
+ "dtype": "float32"
2301
+ },
2302
+ {
2303
+ "path": "obs/sensor_data/front_camera/rgb",
2304
+ "shape": [
2305
+ 512,
2306
+ 240,
2307
+ 320,
2308
+ 3
2309
+ ],
2310
+ "dtype": "uint8"
2311
+ },
2312
+ {
2313
+ "path": "obs/sensor_data/left_camera/rgb",
2314
+ "shape": [
2315
+ 512,
2316
+ 240,
2317
+ 320,
2318
+ 3
2319
+ ],
2320
+ "dtype": "uint8"
2321
+ },
2322
+ {
2323
+ "path": "obs/sensor_data/right_camera/rgb",
2324
+ "shape": [
2325
+ 512,
2326
+ 240,
2327
+ 320,
2328
+ 3
2329
+ ],
2330
+ "dtype": "uint8"
2331
+ },
2332
+ {
2333
+ "path": "obs/sensor_data/robot_camera_0/rgb",
2334
+ "shape": [
2335
+ 512,
2336
+ 240,
2337
+ 320,
2338
+ 3
2339
+ ],
2340
+ "dtype": "uint8"
2341
+ },
2342
+ {
2343
+ "path": "obs/sensor_data/robot_camera_1/rgb",
2344
+ "shape": [
2345
+ 512,
2346
+ 240,
2347
+ 320,
2348
+ 3
2349
+ ],
2350
+ "dtype": "uint8"
2351
+ },
2352
+ {
2353
+ "path": "obs/sensor_data/top_camera/rgb",
2354
+ "shape": [
2355
+ 512,
2356
+ 320,
2357
+ 240,
2358
+ 3
2359
+ ],
2360
+ "dtype": "uint8"
2361
+ }
2362
+ ],
2363
+ "trajectory_sha256": "4f434d25dc1b317070b15649bda0923f659440c0326c7184e023fc233edce1f2",
2364
+ "source_sha256": "b8e1ed2fe949c72866636d87b118234ee739d776f0fc70e2416374455ee38884",
2365
+ "view_sha256": "4b99050246bd90db13d3f66a2513d0fe1c7070143d0396669eae8595622d226b"
2366
+ }
2367
+ ]
2368
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/environment.lock ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==2.4.0
2
+ accelerate==1.13.0
3
+ addict==2.4.0
4
+ aiohappyeyeballs==2.6.1
5
+ aiohttp==3.13.5
6
+ aiosignal==1.4.0
7
+ annotated-types==0.7.0
8
+ anyio==4.13.0
9
+ anytree==2.13.0
10
+ asttokens==3.0.1
11
+ async-timeout==5.0.1
12
+ attrs==26.1.0
13
+ av==15.1.0
14
+ blinker==1.9.0
15
+ casadi==3.7.2
16
+ certifi==2026.4.22
17
+ cffi==2.0.0
18
+ charset-normalizer==3.4.7
19
+ click==8.3.3
20
+ cloudpickle==3.1.2
21
+ cmake==4.1.3
22
+ coacd==1.0.11
23
+ colorama==0.4.6
24
+ colorlog==6.10.1
25
+ comm==0.2.3
26
+ ConfigArgParse==1.7.5
27
+ contourpy==1.3.2
28
+ cuda-bindings==12.9.4
29
+ cuda-pathfinder==1.5.4
30
+ cycler==0.12.1
31
+ dacite==1.9.2
32
+ dash==4.1.0
33
+ dataclasses-json==0.6.7
34
+ datasets==4.8.5
35
+ decorator==5.2.1
36
+ deepdiff==8.6.2
37
+ Deprecated==1.3.1
38
+ diffusers==0.35.2
39
+ dill==0.4.1
40
+ docstring_parser==0.18.0
41
+ draccus==0.10.0
42
+ einops==0.8.2
43
+ embreex==4.4.0
44
+ etils==1.13.0
45
+ evdev==1.9.3
46
+ exceptiongroup==1.3.1
47
+ executing==2.2.1
48
+ Farama-Notifications==0.0.6
49
+ fast_simplification==0.1.13
50
+ fastjsonschema==2.21.2
51
+ filelock==3.29.0
52
+ Flask==3.1.3
53
+ fonttools==4.63.0
54
+ freetype-py==2.5.1
55
+ frozenlist==1.8.0
56
+ fsspec==2026.2.0
57
+ genesis-world @ file:///data/gck/genesis-world
58
+ git-filter-repo==2.47.0
59
+ gitdb==4.0.12
60
+ GitPython==3.1.50
61
+ glfw==2.10.0
62
+ gs-madrona==0.0.5
63
+ gstaichi==3.3.0
64
+ gym==0.26.2
65
+ gym-notices==0.1.0
66
+ gymnasium==1.3.0
67
+ h11==0.16.0
68
+ h5py==3.16.0
69
+ hf-xet==1.5.0
70
+ hf_transfer==0.1.9
71
+ httpcore==1.0.9
72
+ httpx==0.28.1
73
+ huggingface-hub==0.35.3
74
+ idna==3.15
75
+ ImageIO==2.37.3
76
+ imageio-ffmpeg==0.6.0
77
+ importlib_metadata==9.0.0
78
+ importlib_resources==7.1.0
79
+ inquirerpy==0.3.4
80
+ ipython==8.39.0
81
+ ipywidgets==8.1.8
82
+ itsdangerous==2.2.0
83
+ jedi==0.20.0
84
+ Jinja2==3.1.6
85
+ joblib==1.5.3
86
+ jsonlines==4.0.0
87
+ jsonschema==4.26.0
88
+ jsonschema-specifications==2025.9.1
89
+ jupyter_core==5.9.1
90
+ jupyterlab_widgets==3.0.16
91
+ kiwisolver==1.5.0
92
+ lazy-loader==0.5
93
+ lerobot==0.4.4
94
+ libigl==2.6.2
95
+ llvmlite==0.47.0
96
+ loguru==0.7.3
97
+ lxml==6.1.0
98
+ manifold3d==3.4.1
99
+ -e git+ssh://git@github.com/HeegerGao/maniladder.git@f6eed17496816bb41ce484f2d7580990a908d3e6#egg=maniladder
100
+ mapbox_earcut==2.0.0
101
+ markdown-it-py==4.2.0
102
+ MarkupSafe==3.0.3
103
+ marshmallow==3.26.2
104
+ matplotlib==3.10.9
105
+ matplotlib-inline==0.2.2
106
+ mdurl==0.1.2
107
+ mergedeep==1.3.4
108
+ moviepy==2.2.1
109
+ mpmath==1.3.0
110
+ msgspec==0.21.1
111
+ mujoco==3.8.1
112
+ multidict==6.7.1
113
+ multiprocess==0.70.19
114
+ mypy_extensions==1.1.0
115
+ nbformat==5.10.4
116
+ nest-asyncio==1.6.0
117
+ networkx==3.4.2
118
+ ninja==1.13.0
119
+ nlopt==2.10.0
120
+ numba==0.65.1
121
+ numpy @ file:///home/conda/feedstock_root/build_artifacts/numpy_1747544640217/work/dist/numpy-2.2.6-cp310-cp310-linux_x86_64.whl#sha256=d6d964caeef85d00073d27cd62b46883d275b3d8162f723f0fcabbd0b3cc3f9d
122
+ nvidia-cublas-cu12==12.8.4.1
123
+ nvidia-cuda-cupti-cu12==12.8.90
124
+ nvidia-cuda-nvrtc-cu12==12.8.93
125
+ nvidia-cuda-runtime-cu12==12.8.90
126
+ nvidia-cudnn-cu12==9.10.2.21
127
+ nvidia-cufft-cu12==11.3.3.83
128
+ nvidia-cufile-cu12==1.13.1.3
129
+ nvidia-curand-cu12==10.3.9.90
130
+ nvidia-cusolver-cu12==11.7.3.90
131
+ nvidia-cusparse-cu12==12.5.8.93
132
+ nvidia-cusparselt-cu12==0.7.1
133
+ nvidia-nccl-cu12==2.27.5
134
+ nvidia-nvjitlink-cu12==12.8.93
135
+ nvidia-nvshmem-cu12==3.4.5
136
+ nvidia-nvtx-cu12==12.8.90
137
+ open3d==0.19.0
138
+ opencv-python==4.13.0.92
139
+ opencv-python-headless==4.12.0.88
140
+ OpenEXR==3.4.11
141
+ orderly-set==5.5.0
142
+ packaging==25.0
143
+ pandas==2.3.3
144
+ parso==0.8.7
145
+ pexpect==4.9.0
146
+ pfzy==0.3.4
147
+ pillow==11.3.0
148
+ pin==4.0.0
149
+ pip @ file:///home/task_177498883471825/croot/pip_1774988882575/work
150
+ platformdirs==4.9.6
151
+ plotly==5.24.1
152
+ polyscope==2.6.1
153
+ proglog==0.1.12
154
+ prompt_toolkit==3.0.52
155
+ propcache==0.5.2
156
+ protobuf==6.33.6
157
+ psutil==7.2.2
158
+ ptyprocess==0.7.0
159
+ pure_eval==0.2.3
160
+ py-cpuinfo==9.0.0
161
+ py-spy==0.4.2
162
+ pyarrow==24.0.0
163
+ pycollada==0.9.3
164
+ pycparser==3.0
165
+ pydantic==2.13.4
166
+ pydantic_core==2.46.4
167
+ PyGEL3D==0.6.1
168
+ pyglet==2.1.14
169
+ pygltflib==1.16.0
170
+ Pygments==2.20.0
171
+ pymeshlab==2025.7.post1
172
+ pynput==1.8.2
173
+ PyOpenGL==3.1.10
174
+ pyparsing==3.3.2
175
+ pyperclip==1.11.0
176
+ PyQt6==6.11.0
177
+ PyQt6-Qt6==6.11.0
178
+ PyQt6_sip==13.11.1
179
+ pyquaternion==0.9.9
180
+ pyserial==3.5
181
+ pysplashsurf==0.12.0.2
182
+ python-dateutil==2.9.0.post0
183
+ python-dotenv==1.2.2
184
+ python-xlib==0.33
185
+ pytransform3d==3.15.0
186
+ pytz==2026.2
187
+ pyuipc @ file:///tmp/claude-1005/-mnt4-gck-maniladder/9f005e67-04f6-4368-bd0e-9f40896c7dbf/scratchpad/pyuipc_dl/pyuipc-0.0.25-cp310-cp310-manylinux_2_34_x86_64.whl#sha256=76ff13554e1971ea4401db2c875369cf32352ae3a5a4c398c45193231b5cbf00
188
+ PyYAML==6.0.3
189
+ pyyaml-include==1.4.1
190
+ referencing==0.37.0
191
+ regex==2026.5.9
192
+ requests==2.34.2
193
+ rerun-sdk==0.26.2
194
+ retrying==1.4.2
195
+ rich==14.3.4
196
+ rpds-py==0.30.0
197
+ rtree==1.4.1
198
+ safetensors==0.7.0
199
+ sapien==3.0.3
200
+ scikit-image==0.25.2
201
+ scikit-learn==1.7.2
202
+ scipy @ file:///home/conda/feedstock_root/build_artifacts/scipy-split_1739790642651/work/dist/scipy-1.15.2-cp310-cp310-linux_x86_64.whl#sha256=9e52bad6c3294d1a5b04a13632118ca2157130603c6c018c2d710162b223b27e
203
+ sentry-sdk==2.60.0
204
+ setuptools==80.10.2
205
+ shapely==2.1.2
206
+ six==1.17.0
207
+ smmap==5.0.3
208
+ stack-data==0.6.3
209
+ svg.path==7.0
210
+ sympy==1.14.0
211
+ tenacity==9.1.4
212
+ termcolor==3.3.0
213
+ tetgen==0.8.4
214
+ threadpoolctl==3.6.0
215
+ tifffile==2025.5.10
216
+ timm==1.0.27
217
+ toml==0.10.2
218
+ torch==2.10.0
219
+ torchaudio==2.11.0
220
+ torchcodec==0.10.0
221
+ torchvision==0.25.0
222
+ tqdm==4.67.3
223
+ traitlets==5.15.0
224
+ transforms3d==0.4.2
225
+ trimesh==4.12.2
226
+ triton==3.6.0
227
+ typeguard==4.5.2
228
+ typing-inspect==0.9.0
229
+ typing-inspection==0.4.2
230
+ typing_extensions==4.15.0
231
+ tyro==1.0.13
232
+ tzdata==2026.2
233
+ urllib3==2.7.0
234
+ vhacdx==0.0.10
235
+ viser==1.0.27
236
+ vtk==9.6.1
237
+ wandb==0.24.2
238
+ wcwidth==0.7.0
239
+ websockets==16.0
240
+ Werkzeug==3.1.8
241
+ wheel==0.46.3
242
+ widgetsnbextension==4.0.15
243
+ wrapt==2.1.2
244
+ xxhash==3.7.0
245
+ yarl==1.23.0
246
+ yourdfpy==0.0.60
247
+ z3-solver==4.16.0.0
248
+ zipp==3.23.1
249
+ zstandard==0.25.0
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/episode07_bank_provenance.json ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "episode": 7,
3
+ "native_success": true,
4
+ "source": "exploration/ep07/legal_reference.npz",
5
+ "rows": [
6
+ 0,
7
+ 3,
8
+ 6,
9
+ 9,
10
+ 12,
11
+ 15,
12
+ 18,
13
+ 21,
14
+ 24,
15
+ 27,
16
+ 30,
17
+ 33,
18
+ 36,
19
+ 39,
20
+ 42,
21
+ 45,
22
+ 48,
23
+ 51,
24
+ 54,
25
+ 57,
26
+ 60,
27
+ 63,
28
+ 66,
29
+ 69,
30
+ 72,
31
+ 75,
32
+ 78,
33
+ 81,
34
+ 84,
35
+ 87,
36
+ 90,
37
+ 93,
38
+ 96,
39
+ 99,
40
+ 102,
41
+ 105,
42
+ 108,
43
+ 111,
44
+ 114,
45
+ 117,
46
+ 120,
47
+ 123,
48
+ 126,
49
+ 129,
50
+ 132,
51
+ 135,
52
+ 138,
53
+ 141,
54
+ 144,
55
+ 147,
56
+ 150,
57
+ 153,
58
+ 156,
59
+ 159,
60
+ 162,
61
+ 165,
62
+ 168,
63
+ 171,
64
+ 174,
65
+ 177,
66
+ 180,
67
+ 183,
68
+ 186,
69
+ 189,
70
+ 192,
71
+ 195,
72
+ 198,
73
+ 201,
74
+ 204,
75
+ 207,
76
+ 210,
77
+ 213,
78
+ 216,
79
+ 219,
80
+ 222,
81
+ 225,
82
+ 228,
83
+ 231,
84
+ 234,
85
+ 237,
86
+ 240,
87
+ 243,
88
+ 246,
89
+ 249,
90
+ 252,
91
+ 255,
92
+ 258,
93
+ 261,
94
+ 264,
95
+ 267,
96
+ 270,
97
+ 273,
98
+ 276,
99
+ 279,
100
+ 282,
101
+ 285,
102
+ 288,
103
+ 291,
104
+ 294,
105
+ 297,
106
+ 300,
107
+ 303,
108
+ 306,
109
+ 309,
110
+ 312,
111
+ 315,
112
+ 318
113
+ ],
114
+ "extra_demonstrations": 0
115
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/exploration_bank_provenance.json ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "episode": 5,
3
+ "native_success": true,
4
+ "source": "exploration/ep05/legal_reference.npz",
5
+ "rows": [
6
+ 0,
7
+ 3,
8
+ 6,
9
+ 9,
10
+ 12,
11
+ 15,
12
+ 18,
13
+ 21,
14
+ 24,
15
+ 27,
16
+ 30,
17
+ 33,
18
+ 36,
19
+ 39,
20
+ 42,
21
+ 45,
22
+ 48,
23
+ 51,
24
+ 54,
25
+ 57,
26
+ 60,
27
+ 63,
28
+ 66,
29
+ 69,
30
+ 72,
31
+ 75,
32
+ 78,
33
+ 81,
34
+ 84,
35
+ 87,
36
+ 90,
37
+ 93,
38
+ 96,
39
+ 99,
40
+ 102,
41
+ 105,
42
+ 108,
43
+ 111,
44
+ 114,
45
+ 117,
46
+ 120,
47
+ 123,
48
+ 126,
49
+ 129,
50
+ 132,
51
+ 135,
52
+ 138,
53
+ 141,
54
+ 144,
55
+ 147,
56
+ 150,
57
+ 153,
58
+ 156,
59
+ 159,
60
+ 162,
61
+ 165,
62
+ 168,
63
+ 171,
64
+ 174,
65
+ 177,
66
+ 180,
67
+ 183,
68
+ 186,
69
+ 189,
70
+ 192,
71
+ 195,
72
+ 198,
73
+ 201,
74
+ 204,
75
+ 207,
76
+ 210,
77
+ 213,
78
+ 216,
79
+ 219,
80
+ 222,
81
+ 225,
82
+ 228,
83
+ 231,
84
+ 234,
85
+ 237,
86
+ 240,
87
+ 243,
88
+ 246,
89
+ 249,
90
+ 252,
91
+ 255,
92
+ 258,
93
+ 261,
94
+ 264,
95
+ 267,
96
+ 270,
97
+ 273,
98
+ 276,
99
+ 279,
100
+ 282,
101
+ 285,
102
+ 288,
103
+ 291,
104
+ 294,
105
+ 297,
106
+ 300
107
+ ],
108
+ "extra_authorized_demonstrations": 0
109
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/exploration_findings.md ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Authorized E20 continuation
2
+
3
+ Budget initially reported 0/20 episodes. API is the only task execution interface. Contract: 44 normalized deltas, 20 Hz, horizon 800 including initial API-owned hold. Native step returns include `success`.
4
+
5
+ ## Episode 1: offline baseline
6
+ Initial scene is substantially yawed relative to most demonstrations. Retrieval starts near demo 17. At saved steps 100/200/300 the nearest reference advances coherently (93/192/291); thus no initial retrieval stall. Step 100 shows base displacement. Step 300 shows substantial tipping rather than a stationary base. By step 400 retrieval switches from demo 17 to demo 1. No native success observed through step 600. This separates a localization/pose mismatch and unstable support from an initial timing failure. Fingers receive demo deltas but no contact state is available; grasp is not verified. No explicit recovery is present in baseline.
7
+
8
+ ## Planned revision for episode 2
9
+ Keep initial arm-role assignment; preserve per-step image/proprio feedback. Add limited Cartesian correction toward retrieved qpos using generic Panda chain geometry, and limited finger-position correction. The geometric chain was checked only against authorized demo qpos/action differences: horizontal action/FK axes differ by opposite quarter turns for the two robots. No simulator was constructed. This does not solve initial scene alignment or verify contact.
10
+
11
+ Additional actual visual inspection: evidence/initials_0.jpg through initials_3.jpg, initial front and top images for all 20 demos. These show a narrow main yaw cluster plus demo 17 as an outlier. Live episode 1 is outside that dense cluster. All original demo analysis and versions/offline_draft are preserved.
12
+
13
+ Episode 1 completed 800 native steps, native success false.
14
+ Episode 2 was ended interactively at native step 177 after identifying an incorrect finger-feedback assumption. `qpos[7:]` is not in controller action order: early demo 17 flexion actions 1/5/9/12 affect observed hand coordinates 0/1/2/3. This mismatch explains growing q-distance despite close image matching. The process was interrupted during one RPC; no action was retried. `latest_observation` reconciled the actual step before `finish_episode`. Saved action rows omit that final in-flight action; the trusted API retains its action audit. Final legal images/proprio are saved. No success. Revision uses the inferred action-to-observed-joint permutation [4,0,8,12,5,1,9,13,6,2,10,14,3,7,11,15]. This is inferred from the legal articulated-hand trajectories and must still be checked in live feedback.
15
+
16
+ Pose experiment preparation: deterministic top-image grayscale-mode component/rectangle detection. Optical flow on authorized demos 00/02/04/06 was attempted. Tracks 00/04 failed immediately and were not used. Tracks 02/06 gave 112 sample displacements for a linear FK-to-pixel projection (approximately 216 px/m horizontally and -178 px/m vertically at 240x320); pixel RMSE approximately 0.86/1.70. Pose corrections are approximate and can fail with occlusion; this is no contact or hinge estimator. No neural parameters were optimized.
17
+
18
+ Episode 3: corrected hand permutation plus bounded Cartesian feedback achieved native `success: true`, `terminated: true` at step 331. This is an actual API step return, not a visual guess. Near step 95 q-distance was approximately 0.0014, compared with approximately 0.96 in episode 2's incorrect feedback. Contact slowed reference progress around steps 240–280, but the corrected policy subsequently completed. Final images and full successful-run action log are saved in ep03. The corrected retrieval version is selected for an early independent rehearsal (episode 4).
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/findings.md ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Hybrid comparison: not yet rolled out
2
+
3
+ The independently rehearsed pure-position registered policy failed episode 8 at step 799 (valid bundle 815f18ccf45ecf5c6e53003e157f4061151269a00454e3db7e382fad425ad86d). Episode 6 showed nearly zero active-hand command while the demonstration continued pressing. This hybrid keeps rotated demonstrated action feedforward and adds bounded Cartesian correction. It retains observed-waypoint recovery and corrects the conservative internal cap to allow all 799 post-hold actions. This is a hypothesis under test, not a verified physical-force explanation or success claim.
4
+
5
+ # Actual evidence and limitations
6
+
7
+ The original analysis used all 20 authorized D20 demonstrations, 11,222 action rows, and 200 visually inspected front/right images. The fixed bank contains 3,759 legal reference rows. Initial qpos are identical, so scene images are essential for role selection. All demonstration rotation actions are zero. Action order is panda_leaphand-1, then panda_leaphand_left-0, 22 components each. Additional actual inspection covered initial front/top images for all 20 demos and legal exploration checkpoints.
8
+
9
+ Exploration 1: original nearest-state policy failed at horizon 800; images showed displacement/tipping and later reference switching. Exploration 2: stopped at step 177 after a concrete finger-feedback joint-order bug was found. No interrupted action was retried; latest_observation reconciled the actual native step. Exploration 3: corrected role-consistent feedback achieved native success at step 331. Exploration 4: that corrected version completed an independent runnable rehearsal, but native success was false at horizon 800 (bundle 41795af1aa28054c0dc9dc31f4e9510571114ff65c595f1262594c19894ddc6c).
10
+
11
+ Exploration 5: current image-registered Cartesian tracking achieved native success at step 302. Its selected reference was demo 3 and estimated yaw adjustment was about -0.098 rad. This is a favorable pose, not proof of broad robustness. Exploration 6 failed at step 397 after nearest-state progress stalled at reference frame 342. The active hand had reached the lookahead but image/finger similarity selected an earlier state. The revised policy advances a one-row minimum reference when observed active-hand distance to the lookahead is under 12 mm after eight stalled decisions. Exploration 7, with this revision, achieved native success at step 322 (selected demo 1, yaw adjustment +0.079 rad). That success does not prove recovery in the exact episode 6 contact configuration, which was not replayed.
12
+
13
+ The finger action-to-observed-hand-qpos permutation is [4,0,8,12,5,1,9,13,6,2,10,14,3,7,11,15]. This was inferred from legal articulated-hand trajectories; corrected feedback substantially reduced live joint mismatch and succeeded in episode 3. Generic Panda chain geometry was checked against legal qpos/action displacement, not simulator state. Top-camera optical flow on demos 02 and 06 supplied 112 displacement samples for an approximate projection; attempted tracks on 00 and 04 failed and were excluded. Pixel RMSE was about 0.86 and 1.70 at 240x320. No neural fitting occurred.
14
+
15
+ Limitations: initial image registration may fail under occlusion or ambiguous appearance; target opening angle, contact forces and hinge state are unavailable. The gray-lid rectangle is not a completion detector. A selected path is retained, but its progress is closed-loop rather than time-indexed. Bounded waypoint-completion recovery is present; active regrasp is not. Current scene drift after initial registration is not geometrically re-estimated. Hand geometry/contact and camera projection are approximate. Terminal/stall stops can be unsuccessful. Native success is reported only when the API provides it; ambiguous visual evidence is false if visible scoring is needed.
16
+
17
+ Full original preparation and experiment records remain in the worker workspace's demo_analysis.md, evidence/, exploration/, and versions/. These are audit records, not runtime dependencies.
18
+
19
+
20
+ Continuation before episode 10: registered hybrid uses preserved demonstrated translation feedforward plus bounded Cartesian correction, observed local progression and permuted hand feedback. Bank includes successful legal exploration paths 5 and 7; sparse episode 3 is excluded from path selection. Episode 9 augmented retrieval ended at step 566 with native success false. Localization remains approximate; grasp is unverified and there is no hinge-angle estimator. Independent validation pending.
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/freeze_manifest.json ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "files": {
3
+ "bank_integrity.json": "7cd89b6f8f206c067b70bb571b7372642142ff982c92bf4a45b2cc99d64f1503",
4
+ "build_reference_bank.py": "a846834baa5d82b9370358ee5af755a09f9e67905f811414828f88425115ea6c",
5
+ "check_synthetic.py": "6722d909fd27cb4ff0d3893a93eba339b847904aae2e15cf2a17d3690466ecb1",
6
+ "controller.py": "1708f9cfc4c53a3a390cea98d42f1f91e5f32e6db1ae701a7c1175eb3b56f0e5",
7
+ "demo_manifest.json": "b80fc875c20b5423bf997a68c5d42526f3f0a6ab4c817f57ff19fda2835a9f8b",
8
+ "demonstrations_readonly/demo_00.h5": "3f6c78cee76e591f3a97c1dca1f7d19a4e0c7d5ad6d0630772d7eb6a18218951",
9
+ "demonstrations_readonly/demo_01.h5": "a04eefd3408a82f60470eef45a2a9dedf1f2e8290f9a55163a2237e68d6fdbf8",
10
+ "demonstrations_readonly/demo_02.h5": "a8a59f91d76f8f817f1c05e47c87aa48e926eaf85cab7a37854fe9d9f5c28a10",
11
+ "demonstrations_readonly/demo_03.h5": "38493abcf4e40fe78ece24dde41bf0e7eb779d81e20dc8ce2e9a65d555e67872",
12
+ "demonstrations_readonly/demo_04.h5": "8cc5da9a59cc63625efc802993a47372f610faa9cb8223e5099ebdf9bd23d3b2",
13
+ "demonstrations_readonly/demo_05.h5": "57891af9ba3b1823b6a11f9edf5fd9c21cd19f726ecb552b1e510d00e150fe7c",
14
+ "demonstrations_readonly/demo_06.h5": "39f304759948be7ca51af66930d62a28a1d7363e913ba65e216fda747bb64e8e",
15
+ "demonstrations_readonly/demo_07.h5": "8abc6ecba74c56dd34c64d0ba49483a06509f0ef796f593aa8f27342e0363c3d",
16
+ "demonstrations_readonly/demo_08.h5": "37014ba9087637a12aac1d1085b9f9b66425c13d264d996c6376b0622353b56b",
17
+ "demonstrations_readonly/demo_09.h5": "20bbaf29d4663382d4be25387bb209b8c9d6ac872af94b7e0c678bf7ca893e96",
18
+ "demonstrations_readonly/demo_10.h5": "769937a8749da42fa3005efcb99034cf757f618eb3615a9fb1e6478593cd9286",
19
+ "demonstrations_readonly/demo_11.h5": "50df891ad0f3c5faf82a78a3988e434a2183c11510504cb88b5eb1a13a0ee066",
20
+ "demonstrations_readonly/demo_12.h5": "fe2887ff2e1013dc75d62198770ecffd41182285ce138e8121fbd87e202250e7",
21
+ "demonstrations_readonly/demo_13.h5": "d57285252f2b0b83ddf03f28576b7a3f4b7f1913c16b4b1fdf1cfde261d43b7a",
22
+ "demonstrations_readonly/demo_14.h5": "1a0ac6534e36f490c926ce6769f2169f1f1fd72aec590903a2fafb0ca996a4ce",
23
+ "demonstrations_readonly/demo_15.h5": "6aacd3edd63de232fa6bebb6225c13dced478c8d4f48b2605dbfeb600f92ab18",
24
+ "demonstrations_readonly/demo_16.h5": "e5f7605e2b93b03282e63afd691e71c900215168fecc8b3d0e7deaa3c6c8abe2",
25
+ "demonstrations_readonly/demo_17.h5": "443d7b94f31161966e005ad11bf7f83da5b4703766bd22f821ad4a9b8b071850",
26
+ "demonstrations_readonly/demo_18.h5": "1e2ddbb0a4a76adc93174c0e9100da291d7a6089ac586f3d9b56c029f7056cbd",
27
+ "demonstrations_readonly/demo_19.h5": "4b99050246bd90db13d3f66a2513d0fe1c7070143d0396669eae8595622d226b",
28
+ "environment.lock": "f9f11f093744865020243315494d48c69e38ff9e67783e7cf5f0a1e5f22b34aa",
29
+ "episode07_bank_provenance.json": "12d674f957a0ec122f34439a332cae28da20e43b6fd77d55554efc7571b31dd0",
30
+ "exploration_bank_provenance.json": "b10222ec742b6a14a9fe8ca651f569cdf900b040d61b9f73e0020d60063298b4",
31
+ "exploration_findings.md": "5988e5e20f42af183187e5c91b805fb8cb75c5f63c80b67d8ac267f3d353ab0f",
32
+ "findings.md": "cfb6466235ff67634b7743bb50189915c2258c005cdce50935c0338370828f69",
33
+ "handoff.md": "07b173d3f422a64d31cabba2236a711ef8eca06846fdacf03f124277fb3f775d",
34
+ "kinematics.py": "0a4145d5d5c1f8fa02e1f1492888701454e3d6ae502d9fda4feb709c36af6731",
35
+ "laptop_poses.npz": "9938420ca1a285fcc9166227fb958440cb15a3e914272591e472cc2352f0f465",
36
+ "model_tool_manifest.yaml": "c72a1db640000310cc62f19212dea5311d69f99f647c67765aa7d14d171f6947",
37
+ "policy_runner.py": "cd8a30fc763583fb9bf6570414f01d56aba16241c733fc0cdfdfab0f8f27270e",
38
+ "pose_controller.py": "0cc92b3fbcf3d736b8895a78830ac9735be4f28fc194a987e8726938668cc3b2",
39
+ "projection.npz": "63d350626de45092288bf7a01d698a54efee5581f46fcf04ca207aa4c31cca34",
40
+ "reference_access_log.json": "d790b4bd49bb66169cca06e0c3cb9fe2f2489bc75983933905195c248f2fe9ab",
41
+ "reference_bank.npz": "29ef02b2b566c2344ab012e33465bf6ef0a90cdec5f06eec653e84c4550b7f0b",
42
+ "registered_exploration_provenance.json": "431cc621f64ec7081a5a72999494a88239871f2b33d959d4d05ad72bcbc7c8e1",
43
+ "retrieval.py": "34f4104e231508f296540fd54226e71e8a3d8df4ba5a4f006ea48f7b30c5e954",
44
+ "skills.md": "8188f00c6f5e1e9e14b667f887210e49fcd1b4bc37035316570b34516b9be7f4",
45
+ "sparse_exploration_provenance.json": "4bec2cc669ae8e60d19d270137b84c4f89072c566b507cb9d5a572f9998ef02a",
46
+ "synthetic_check_results.json": "01bce59b34460c9bf49bcf6f836bc15505066c6f17ffb7b4ade904f25f743d1e",
47
+ "vision.py": "2e9443c11430e0c146c87bb78880c6034d64d091e6e94c0e338ed72d6d7a9da0",
48
+ "worker_api.py": "88cca5fa5c1c9570ca2bd90e8848f67c09224fa498d94e63634ad191e913c41e"
49
+ },
50
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
51
+ "exploration_ledger_hash": "d49f7af1f56ad09daf8fb08220b5b2c54942ecce03323916e4eb5e78f6a39df1",
52
+ "entrypoint": "controller.reset_episode(); controller.act(obs)",
53
+ "selection": {
54
+ "rule": "exact-version success rate, valid rehearsal count, recency",
55
+ "rehearsals": [
56
+ {
57
+ "bundle_hash": "41795af1aa28054c0dc9dc31f4e9510571114ff65c595f1262594c19894ddc6c",
58
+ "episode": 4,
59
+ "independent": true,
60
+ "score_source": "native_step_feedback",
61
+ "status": "finished",
62
+ "success": false,
63
+ "valid": true
64
+ },
65
+ {
66
+ "bundle_hash": "815f18ccf45ecf5c6e53003e157f4061151269a00454e3db7e382fad425ad86d",
67
+ "episode": 8,
68
+ "independent": true,
69
+ "score_source": "native_step_feedback",
70
+ "status": "finished",
71
+ "success": false,
72
+ "valid": true
73
+ },
74
+ {
75
+ "episode": 10,
76
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
77
+ "independent": true,
78
+ "valid": true,
79
+ "status": "finished",
80
+ "success": true,
81
+ "score_source": "native_step_feedback"
82
+ },
83
+ {
84
+ "episode": 11,
85
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
86
+ "independent": true,
87
+ "valid": true,
88
+ "status": "finished",
89
+ "success": true,
90
+ "score_source": "native_step_feedback"
91
+ },
92
+ {
93
+ "episode": 12,
94
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
95
+ "independent": true,
96
+ "valid": true,
97
+ "status": "finished",
98
+ "success": false,
99
+ "score_source": "native_step_feedback"
100
+ },
101
+ {
102
+ "episode": 13,
103
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
104
+ "independent": true,
105
+ "valid": true,
106
+ "status": "finished",
107
+ "success": true,
108
+ "score_source": "native_step_feedback"
109
+ },
110
+ {
111
+ "episode": 14,
112
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
113
+ "independent": true,
114
+ "valid": true,
115
+ "status": "finished",
116
+ "success": false,
117
+ "score_source": "native_step_feedback"
118
+ },
119
+ {
120
+ "episode": 15,
121
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
122
+ "independent": true,
123
+ "valid": true,
124
+ "status": "finished",
125
+ "success": false,
126
+ "score_source": "native_step_feedback"
127
+ },
128
+ {
129
+ "episode": 16,
130
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
131
+ "independent": true,
132
+ "valid": true,
133
+ "status": "finished",
134
+ "success": true,
135
+ "score_source": "native_step_feedback"
136
+ },
137
+ {
138
+ "episode": 17,
139
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
140
+ "independent": true,
141
+ "valid": true,
142
+ "status": "finished",
143
+ "success": false,
144
+ "score_source": "native_step_feedback"
145
+ },
146
+ {
147
+ "episode": 18,
148
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
149
+ "independent": true,
150
+ "valid": true,
151
+ "status": "finished",
152
+ "success": true,
153
+ "score_source": "native_step_feedback"
154
+ },
155
+ {
156
+ "episode": 19,
157
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
158
+ "independent": true,
159
+ "valid": true,
160
+ "status": "finished",
161
+ "success": false,
162
+ "score_source": "native_step_feedback"
163
+ },
164
+ {
165
+ "episode": 20,
166
+ "bundle_hash": "7d84e21714e6339f477d2cd20fae3d352c46c1e3145e07fd868908751873b54d",
167
+ "independent": true,
168
+ "valid": true,
169
+ "status": "finished",
170
+ "success": true,
171
+ "score_source": "native_step_feedback"
172
+ }
173
+ ]
174
+ }
175
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/handoff.md ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Hybrid comparison status
2
+
3
+ This prepared variant has not been rolled out or independently rehearsed. Translation is rotated demonstrated feedforward plus Cartesian feedback, capped at 0.12 normalized. The earlier pure-position registered variant failed independent rehearsal 8. Runtime dependencies and interfaces below are unchanged.
4
+
5
+ # Runnable E20 candidate
6
+
7
+ Entry points: controller.reset_episode() and controller.act(obs). controller.py delegates to pose_controller.py. Required runtime files: retrieval.py (fixed RGB feature function/constants), kinematics.py, vision.py, reference_bank.npz, laptop_poses.npz, projection.npz. Dependencies are offline Python, NumPy, OpenCV. No network, development agent, simulator, demonstration reads, or model downloads are needed at runtime.
8
+
9
+ Observation: legal rgb front_camera/right_camera/top_camera and both robots' qpos under the contract proprioception keys. Output is one 44-vector in action_parts order, or None. Each 22-wide part has 3 translation, 3 rotation, 16 dex deltas. Translation is bounded to 0.12 normalized; rotations are zero; fingers obey native [-1,1]. The runner owns the initial real hold step. The controller's call cap and optional step_id respect the 800-step horizon. None denotes stopping, never a success claim.
10
+
11
+ The policy registers a selected demonstration path to the initial visible lid and uses live proprioception/images to select progression and servo target positions. It does not replay a clock cursor. It has no active regrasp or hinge-angle estimator. Approximate planar registration does not guarantee contact.
12
+
13
+ This snapshot is under exploration, not yet frozen. The registered policy succeeded in episode 5; the current waypoint-recovery revision succeeded in episode 7. Current behavior has not yet completed an independent rehearsal. A prior corrected retrieval version did complete independent rehearsal 4 (valid, native success false) and remains available to the runner. Final submission must be selected by API.freeze after exactly 20 charged slots, with mandatory independent rehearsals 19 and 20. The runner supplies the verified demonstration manifest and common environment lock.
14
+
15
+
16
+ Continuation before episode 10: registered hybrid uses preserved demonstrated translation feedforward plus bounded Cartesian correction, observed local progression and permuted hand feedback. Bank includes successful legal exploration paths 5 and 7; sparse episode 3 is excluded from path selection. Episode 9 augmented retrieval ended at step 566 with native success false. Localization remains approximate; grasp is unverified and there is no hinge-angle estimator. Independent validation pending.
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/kinematics.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Generic Panda serial-chain geometry; no simulator or task state access."""
2
+ import numpy as np
3
+ ORIGINS=((0,0,.333),(0,0,0),(0,-.316,0),(.0825,0,0),(-.0825,.384,0),(0,0,0),(.088,0,0))
4
+ RX=(0,-np.pi/2,np.pi/2,np.pi/2,-np.pi/2,np.pi/2,np.pi/2)
5
+ def fk(q):
6
+ q=np.asarray(q);shape=q.shape[:-1];T=np.broadcast_to(np.eye(4),shape+(4,4)).copy()
7
+ for i,(xyz,rx) in enumerate(zip(ORIGINS,RX)):
8
+ A=np.eye(4);A[:3,3]=xyz;c=np.cos(rx);s=np.sin(rx);A[1:3,1:3]=[[c,-s],[s,c]]
9
+ Z=np.broadcast_to(np.eye(4),shape+(4,4)).copy();c=np.cos(q[...,i]);s=np.sin(q[...,i]);Z[...,0,0]=c;Z[...,0,1]=-s;Z[...,1,0]=s;Z[...,1,1]=c
10
+ T=T@A@Z
11
+ return T[...,:3,3]
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/model_tool_manifest.yaml ADDED
@@ -0,0 +1,319 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "stage": "E20_EXPLORATION",
3
+ "task_id": "DualArmOpenLaptop-v1",
4
+ "worker": "Agent-D20-E20-Compiled",
5
+ "candidate_status": "registered_hybrid_pending_rehearsal",
6
+ "environment_episodes_spent": 9,
7
+ "assistant_model": {
8
+ "identity": "Host-provided coding model; exact checkpoint reference not exposed to this worker",
9
+ "weights_updated": false,
10
+ "finetuning": false
11
+ },
12
+ "pretrained_tool_weights": {
13
+ "loaded": false,
14
+ "references": []
15
+ },
16
+ "controller_method": "Image-registered demonstrated translation feedforward plus Cartesian correction, permuted hand feedback, and observed-waypoint-completion recovery; complete native-success exploration paths included, sparse paths excluded",
17
+ "runtime_dependencies": {
18
+ "python": "3.10.20",
19
+ "numpy": "2.2.6",
20
+ "cv2": "4.12.0",
21
+ "kinematics.py": "bundled generic Panda chain"
22
+ },
23
+ "build_dependencies": {
24
+ "h5py": "3.16.0",
25
+ "worker_api": "/worker_api.py, importlib-loaded standalone API.read_demo only"
26
+ },
27
+ "installed_package_versions": {
28
+ "numpy": "2.2.6",
29
+ "opencv-python": "4.13.0.92",
30
+ "opencv-python-headless": "4.12.0.88",
31
+ "h5py": "3.16.0",
32
+ "scipy": "1.15.3",
33
+ "torch": "2.10.0"
34
+ },
35
+ "unused_installed_packages": [
36
+ "scipy",
37
+ "torch"
38
+ ],
39
+ "tools_actually_used": [
40
+ "local shell execution via functions.exec/tools.exec_command",
41
+ "Python standard library",
42
+ "NumPy",
43
+ "OpenCV resize/color conversion/contact-sheet rendering",
44
+ "h5py via API.read_demo",
45
+ "local image viewing via tools.view_image",
46
+ "tools.write_stdin for process output"
47
+ ],
48
+ "tool_version_limits": "Host exec and view_image tool versions are not exposed. Exact assistant checkpoint is not introspected.",
49
+ "data_provenance": {
50
+ "authorized_manifest_path": "/demo_manifest.json",
51
+ "manifest_sha256": "5da466f45fb3a38d31e56d3e1afac5a2a02c496e2cc3b5e008c5afaccaa7048f",
52
+ "contract_sha256": "df78df673d6b0c3e6161dec8b6920451824149520932fa25f5f9fa2bfa0f91df",
53
+ "worker_api_sha256": "88cca5fa5c1c9570ca2bd90e8848f67c09224fa498d94e63634ad191e913c41e",
54
+ "demo_ids": [
55
+ "demo_00",
56
+ "demo_01",
57
+ "demo_02",
58
+ "demo_03",
59
+ "demo_04",
60
+ "demo_05",
61
+ "demo_06",
62
+ "demo_07",
63
+ "demo_08",
64
+ "demo_09",
65
+ "demo_10",
66
+ "demo_11",
67
+ "demo_12",
68
+ "demo_13",
69
+ "demo_14",
70
+ "demo_15",
71
+ "demo_16",
72
+ "demo_17",
73
+ "demo_18",
74
+ "demo_19"
75
+ ],
76
+ "fields_used": [
77
+ "RGB/front_camera",
78
+ "RGB/right_camera",
79
+ "qpos and qvel for both contract robot keys",
80
+ "expert actions for both action_parts"
81
+ ],
82
+ "reference_rows": 3971,
83
+ "reference_access_log": "reference_access_log.json",
84
+ "visual_inspection_log": "../evidence/visual_inspection_frames.json",
85
+ "reference_bank_sha256": "29ef02b2b566c2344ab012e33465bf6ef0a90cdec5f06eec653e84c4550b7f0b",
86
+ "source_file_hashes_from_manifest": [
87
+ {
88
+ "demo_id": "demo_00",
89
+ "file": "demo_00.h5",
90
+ "trajectory_sha256": "9477a609bb91c7d8170fcc5c1aecf1ade4a7e5cc0af82aa5c39f67909cdb00c7",
91
+ "source_sha256": "ce170f7d23cda55957fd072867600b5e271c4b5dca0041a69e17cde29aace93d",
92
+ "view_sha256": "3f6c78cee76e591f3a97c1dca1f7d19a4e0c7d5ad6d0630772d7eb6a18218951"
93
+ },
94
+ {
95
+ "demo_id": "demo_01",
96
+ "file": "demo_01.h5",
97
+ "trajectory_sha256": "d7e390645caead99a4c883a5d3ecc25f4817c4481ea815c0ccbdd6270c32c5fd",
98
+ "source_sha256": "c1284294cf24b0f5aeceb244404bc0d3515622b0a5f82b7fb7af3985c0483124",
99
+ "view_sha256": "a04eefd3408a82f60470eef45a2a9dedf1f2e8290f9a55163a2237e68d6fdbf8"
100
+ },
101
+ {
102
+ "demo_id": "demo_02",
103
+ "file": "demo_02.h5",
104
+ "trajectory_sha256": "5819419e890ab63eb2e8d6ecdc55e296b7f16302b55d06c310e4699b4e6ceeee",
105
+ "source_sha256": "cdde48d09401cbb75883fbf4ab20d733223563b7ff5db31bbe98798989541cef",
106
+ "view_sha256": "a8a59f91d76f8f817f1c05e47c87aa48e926eaf85cab7a37854fe9d9f5c28a10"
107
+ },
108
+ {
109
+ "demo_id": "demo_03",
110
+ "file": "demo_03.h5",
111
+ "trajectory_sha256": "825421a719db56c4d8982f50694878093daae2c1af3f8e412a1fbd56a5da1c8f",
112
+ "source_sha256": "e070437bd01db304f6a18f368fc38aa4d677b16e082719ac2d740f1fbc6e06df",
113
+ "view_sha256": "38493abcf4e40fe78ece24dde41bf0e7eb779d81e20dc8ce2e9a65d555e67872"
114
+ },
115
+ {
116
+ "demo_id": "demo_04",
117
+ "file": "demo_04.h5",
118
+ "trajectory_sha256": "38c70ba4c963bf94e8f33c085b50106e969504336ef79f52c5a77d2d0456bbb2",
119
+ "source_sha256": "f0278e8f3b6c167484f6952524a0d11d7235bf0777a410cc6c439a2936652d2a",
120
+ "view_sha256": "8cc5da9a59cc63625efc802993a47372f610faa9cb8223e5099ebdf9bd23d3b2"
121
+ },
122
+ {
123
+ "demo_id": "demo_05",
124
+ "file": "demo_05.h5",
125
+ "trajectory_sha256": "de39302c9ca67a071fe59f807ba0e17f3bb15018df297b04bebf05dca6a53962",
126
+ "source_sha256": "1d17e45f303b5bbf16eb3d164f56cabcbb4405f555b83a4c26112da58d1636a5",
127
+ "view_sha256": "57891af9ba3b1823b6a11f9edf5fd9c21cd19f726ecb552b1e510d00e150fe7c"
128
+ },
129
+ {
130
+ "demo_id": "demo_06",
131
+ "file": "demo_06.h5",
132
+ "trajectory_sha256": "c36e6ca944ed9b54bd57c6df96d532cdb076a74e3b4ae787b958aaa408d89a84",
133
+ "source_sha256": "54e60b3fe234aac677ad7049e5897e0ecdcec9828e4398c2c752aa9e4ed9dd6b",
134
+ "view_sha256": "39f304759948be7ca51af66930d62a28a1d7363e913ba65e216fda747bb64e8e"
135
+ },
136
+ {
137
+ "demo_id": "demo_07",
138
+ "file": "demo_07.h5",
139
+ "trajectory_sha256": "46035ef9474f9a7a4e2c293ca4e4280063af68f60ee67baf9711d87dc59132d6",
140
+ "source_sha256": "22e9042451a9d5e3d0727219c6c431ce9ed671d120c0e9e2015574428bb9042a",
141
+ "view_sha256": "8abc6ecba74c56dd34c64d0ba49483a06509f0ef796f593aa8f27342e0363c3d"
142
+ },
143
+ {
144
+ "demo_id": "demo_08",
145
+ "file": "demo_08.h5",
146
+ "trajectory_sha256": "8fb2850197427a1fd0c5eb93eb0a5cc9f1619529fecb1509caa2a427fb0fb14f",
147
+ "source_sha256": "137d277fbc04cf59de6c046cf4901d881a71de59a71fa937af2c9eb5fdf35025",
148
+ "view_sha256": "37014ba9087637a12aac1d1085b9f9b66425c13d264d996c6376b0622353b56b"
149
+ },
150
+ {
151
+ "demo_id": "demo_09",
152
+ "file": "demo_09.h5",
153
+ "trajectory_sha256": "118044f2f7b3d1810778f6d2573ee537e4824ffa67fe78d78caef387ce6c71ca",
154
+ "source_sha256": "d1de65b492f7fef29124c63be936a2978eb1f264f3a5c429c65fd5bbe26c0b91",
155
+ "view_sha256": "20bbaf29d4663382d4be25387bb209b8c9d6ac872af94b7e0c678bf7ca893e96"
156
+ },
157
+ {
158
+ "demo_id": "demo_10",
159
+ "file": "demo_10.h5",
160
+ "trajectory_sha256": "e71ad918220c9e6d7ed556f8c097c89526b8c101a408a3c3569317c552367187",
161
+ "source_sha256": "16d2960b3f024404d399d72f38fc2da599586c79d49b3f0f2700fc04fb5277b3",
162
+ "view_sha256": "769937a8749da42fa3005efcb99034cf757f618eb3615a9fb1e6478593cd9286"
163
+ },
164
+ {
165
+ "demo_id": "demo_11",
166
+ "file": "demo_11.h5",
167
+ "trajectory_sha256": "6480029f101fc2071a2fb0a722b2df4f8f50bb9e477ca6b7cebc336378f84e2a",
168
+ "source_sha256": "9d43a08c738545dbab43073ecbc4c94caf7150b88f1e946d8290863bf5796502",
169
+ "view_sha256": "50df891ad0f3c5faf82a78a3988e434a2183c11510504cb88b5eb1a13a0ee066"
170
+ },
171
+ {
172
+ "demo_id": "demo_12",
173
+ "file": "demo_12.h5",
174
+ "trajectory_sha256": "47f82c9bfce51fdd76bb47299566589b040c63f655cb125ca072145fe41374e2",
175
+ "source_sha256": "86aaf45f271edc1be14a4c5b0dc7ed4616266f6286b6d17e9ffaecbac30f1aff",
176
+ "view_sha256": "fe2887ff2e1013dc75d62198770ecffd41182285ce138e8121fbd87e202250e7"
177
+ },
178
+ {
179
+ "demo_id": "demo_13",
180
+ "file": "demo_13.h5",
181
+ "trajectory_sha256": "d2e5060bbb80b1c0e6d905b259de39e93f8c8c05b4f0a6aa4207addd76dba755",
182
+ "source_sha256": "00ef2eacb5d1686b69e6f4822006b18f897989ad66cecceab692602ebb07fc86",
183
+ "view_sha256": "d57285252f2b0b83ddf03f28576b7a3f4b7f1913c16b4b1fdf1cfde261d43b7a"
184
+ },
185
+ {
186
+ "demo_id": "demo_14",
187
+ "file": "demo_14.h5",
188
+ "trajectory_sha256": "c39fd8697d4d5d34df02a9367dbdd8826e85900fa11fa6a4981d2c1bcdb4a1f3",
189
+ "source_sha256": "6a65728fe448d042b29f95530b116dce6608ac518df48b0daedc7cf96b6d50b5",
190
+ "view_sha256": "1a0ac6534e36f490c926ce6769f2169f1f1fd72aec590903a2fafb0ca996a4ce"
191
+ },
192
+ {
193
+ "demo_id": "demo_15",
194
+ "file": "demo_15.h5",
195
+ "trajectory_sha256": "5d59983dc32aa090f3954be66305a1934adf3019a459ec57ef295c8cd5b149e9",
196
+ "source_sha256": "1ed63b0930f142246cec773e05514215f2fa957d4cc094f60e5573ef075658b0",
197
+ "view_sha256": "6aacd3edd63de232fa6bebb6225c13dced478c8d4f48b2605dbfeb600f92ab18"
198
+ },
199
+ {
200
+ "demo_id": "demo_16",
201
+ "file": "demo_16.h5",
202
+ "trajectory_sha256": "c04087ae6a17921d58f1d3513eb091b729759e46df495312cb5e21836a33d748",
203
+ "source_sha256": "fdc328aeeb89381d2a979bf1e9f476b1868001a77272b5b3ae738a2e568b3f85",
204
+ "view_sha256": "e5f7605e2b93b03282e63afd691e71c900215168fecc8b3d0e7deaa3c6c8abe2"
205
+ },
206
+ {
207
+ "demo_id": "demo_17",
208
+ "file": "demo_17.h5",
209
+ "trajectory_sha256": "fb1e3dd1de8a90b432e0cf0d6defcb83f771d24c974269d10f76706fb9861e3c",
210
+ "source_sha256": "1580a6b0a95062e5c6ab7fcb36bc5ac56b62425140ad7f537bc3b54ea809cb62",
211
+ "view_sha256": "443d7b94f31161966e005ad11bf7f83da5b4703766bd22f821ad4a9b8b071850"
212
+ },
213
+ {
214
+ "demo_id": "demo_18",
215
+ "file": "demo_18.h5",
216
+ "trajectory_sha256": "e9c6e606b79022040828cbf068e049c0f359d11bd7bfa0da9defa93260c0847d",
217
+ "source_sha256": "b3aa9be3ec4ef3ab3d3b61fd7157a397856e99291826b13f53dafbf5f77eb386",
218
+ "view_sha256": "1e2ddbb0a4a76adc93174c0e9100da291d7a6089ac586f3d9b56c029f7056cbd"
219
+ },
220
+ {
221
+ "demo_id": "demo_19",
222
+ "file": "demo_19.h5",
223
+ "trajectory_sha256": "4f434d25dc1b317070b15649bda0923f659440c0326c7184e023fc233edce1f2",
224
+ "source_sha256": "b8e1ed2fe949c72866636d87b118234ee739d776f0fc70e2416374455ee38884",
225
+ "view_sha256": "4b99050246bd90db13d3f66a2513d0fe1c7070143d0396669eae8595622d226b"
226
+ }
227
+ ]
228
+ },
229
+ "validation": {
230
+ "current_variant_rollouts": 0,
231
+ "current_variant_independent_rehearsals": 0,
232
+ "prior_registered_rehearsal_native_success": false
233
+ },
234
+ "known_limitations": [
235
+ "Approximate planar registration and generic geometry",
236
+ "No contact force or hinge state",
237
+ "No active regrasp",
238
+ "Current behavior has interactive success but no independent rehearsal yet",
239
+ "Prior version has valid independent rehearsal with native failure"
240
+ ],
241
+ "frozen_weight_policy": "No neural training, no pretrained weight loading/modification, no optimizer; reference compilation only. Draft is not submission-frozen.",
242
+ "runtime_files": [
243
+ "controller.py",
244
+ "pose_controller.py",
245
+ "retrieval.py",
246
+ "kinematics.py",
247
+ "vision.py",
248
+ "reference_bank.npz",
249
+ "laptop_poses.npz",
250
+ "projection.npz"
251
+ ],
252
+ "additional_legal_data_processing": {
253
+ "initial_lid_rectangles": "all 20 authorized demo top images at frame 0",
254
+ "projection_attempts": {
255
+ "demo_00": [
256
+ 0,
257
+ 129
258
+ ],
259
+ "demo_02": [
260
+ 0,
261
+ 169
262
+ ],
263
+ "demo_04": [
264
+ 0,
265
+ 129
266
+ ],
267
+ "demo_06": [
268
+ 0,
269
+ 169
270
+ ]
271
+ },
272
+ "accepted_optical_flow_tracks": [
273
+ "demo_02",
274
+ "demo_06"
275
+ ],
276
+ "neural_weights_modified": false
277
+ },
278
+ "registered_legal_exploration_paths": [
279
+ {
280
+ "episode": 3,
281
+ "group": 103,
282
+ "rows": 4,
283
+ "eligible_path": false,
284
+ "reason": "sparse snapshots, not a complete path"
285
+ },
286
+ {
287
+ "episode": 5,
288
+ "group": 105,
289
+ "rows": 101,
290
+ "eligible_path": true,
291
+ "initial_observation": "exploration/ep05/start.pkl",
292
+ "center": [
293
+ 107.0815658569336,
294
+ 167.26785278320312
295
+ ],
296
+ "width_axis": [
297
+ 0.9126845598220825,
298
+ 0.4086647629737854
299
+ ],
300
+ "mask_pixels": 2162.0
301
+ },
302
+ {
303
+ "episode": 7,
304
+ "group": 107,
305
+ "rows": 107,
306
+ "eligible_path": true,
307
+ "initial_observation": "exploration/ep07/start.pkl",
308
+ "center": [
309
+ 108.58698272705078,
310
+ 166.44482421875
311
+ ],
312
+ "width_axis": [
313
+ 0.9758431315422058,
314
+ 0.21847252547740936
315
+ ],
316
+ "mask_pixels": 2061.0
317
+ }
318
+ ]
319
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/policy_runner.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Frozen-program entry point; no development agent and no reset capability."""
2
+ import importlib.util
3
+ import sys
4
+
5
+ sys.path.insert(0,'/artifact')
6
+ sys.path.insert(0,'/')
7
+ from worker_api import API
8
+
9
+
10
+ def main():
11
+ spec=importlib.util.spec_from_file_location('controller','/artifact/controller.py')
12
+ module=importlib.util.module_from_spec(spec)
13
+ spec.loader.exec_module(module)
14
+ module.reset_episode()
15
+ api=API()
16
+ result=api.latest_observation()
17
+ while not (result['terminated'] or result['truncated'] or result['horizon_reached']):
18
+ obs=dict(result['observation'],step_id=result['step_id'])
19
+ action=module.act(obs)
20
+ if action is None:break
21
+ response=api.execute_actions([action])
22
+ result=response['steps'][-1]
23
+
24
+
25
+ if __name__=='__main__':main()
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/pose_controller.py ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Image-registered reference path with proprioceptive Cartesian feedback."""
2
+ from pathlib import Path
3
+ import numpy as np
4
+ from kinematics import fk
5
+ from vision import laptop_pose
6
+ from retrieval import image_feature, ROBOTS, CAMERAS
7
+ ROOT=Path(__file__).resolve().parent
8
+ B=None
9
+ state=None
10
+ last_status='not_started'
11
+ last_reference=None
12
+
13
+ def world(q,arm):
14
+ p=fk(q)
15
+ return np.stack([p[...,1],-p[...,0],p[...,2]],axis=-1) if arm==0 else np.stack([-p[...,1],p[...,0],p[...,2]],axis=-1)
16
+
17
+ def reset_episode():
18
+ global state,last_status
19
+ state=None;last_status='ready'
20
+
21
+ def act(obs):
22
+ global B,state,last_status,last_reference
23
+ if B is None:
24
+ with np.load(ROOT/'reference_bank.npz') as f:B={k:f[k] for k in f.files}
25
+ q=np.concatenate([np.asarray(obs['proprioception']['agent/'+r+'/qpos']).reshape(-1) for r in ROBOTS])
26
+ pos=np.stack([world(q[a*23:a*23+7],a) for a in range(2)])
27
+ feats=np.stack([image_feature(obs['rgb'][c]) for c in CAMERAS])
28
+ if state is None:
29
+ poses=np.load(ROOT/'laptop_poses.npz')
30
+ eligible=poses['valid']
31
+ starts=np.array([i for i in np.flatnonzero(B['frame']==0) if int(B['demo_index'][i])<len(eligible) and eligible[int(B['demo_index'][i])]],dtype=int)
32
+ errors=np.mean((B['image'][starts]-feats)**2,axis=(1,2))
33
+ di=int(B['demo_index'][starts[np.argmin(errors)]])
34
+ ids=np.flatnonzero(B['demo_index']==di)
35
+ P=np.stack([world(B['qpos'][ids,a*23:a*23+7],a) for a in range(2)],axis=1)
36
+ M=np.load(ROOT/'projection.npz')['matrix'][:2];inv=np.linalg.inv(M)
37
+ rotation=np.eye(2);shift=np.zeros((2,2));angle=0.
38
+ try:
39
+ c,v,area,box=laptop_pose(obs['rgb']['top_camera']);cr=poses['center'][di];vr=poses['vector'][di]
40
+ vv=v@inv;rr=vr@inv;angle=np.arctan2(vv[1],vv[0])-np.arctan2(rr[1],rr[0]);angle=(angle+np.pi/2)%np.pi-np.pi/2
41
+ angle=np.clip(angle,-.8,.8);co=np.cos(angle);si=np.sin(angle);rotation=np.array([[co,-si],[si,co]])
42
+ for arm in range(2):
43
+ palm=np.array([70.,102. if arm==0 else 217.])
44
+ anchor=P[0,arm,:2]+(cr-palm)@inv
45
+ shift[arm]=anchor+(c-cr)@inv-anchor@rotation.T
46
+ except (ValueError,KeyError,np.linalg.LinAlgError):pass
47
+ first=int(np.linalg.norm(B['action'][ids[0],22:25])>0)
48
+ active=np.linalg.norm(B['action'][ids,first*22:first*22+3],axis=1)
49
+ sw=int(B['frame'][ids[np.flatnonzero(active<1e-5)[0]]]) if np.any(active<1e-5) else 150
50
+ ramp=np.minimum(B['frame'][ids]/max(sw*.8,1),1.)
51
+ warped=P.copy()
52
+ for arm in range(2):
53
+ full=P[:,arm,:2]@rotation.T+shift[arm]
54
+ arm_ramp=np.minimum(np.linalg.norm(P[:,arm]-P[0,arm],axis=1)/.20,1.)
55
+ warped[:,arm,:2]+=arm_ramp[:,None]*(full-P[:,arm,:2])
56
+ state={'ids':ids,'p':warped,'R':rotation,'calls':0,'best':0,'di':di,'angle':float(angle),'terminal':0,'stall':0,'floor':0,'recoveries':0}
57
+ s=state;s['calls']+=1
58
+ if s['calls']>=800 or obs.get('step_id',1)>=800:return None
59
+ ids=s['ids'];dq=(B['qpos'][ids]-q)/B['qscale'];dq[:,0:7]=0;dq[:,23:30]=0
60
+ d=np.mean(((s['p']-pos)/.045)**2,axis=(1,2))+.4*np.mean(dq*dq,axis=1)
61
+ d+=.08*np.mean((B['image'][ids]-feats)**2,axis=(1,2))/.12**2
62
+ ix=np.arange(len(ids));d[(ix<max(s['floor'],s['best']-8))|(ix>s['best']+12)]+=100
63
+ best=int(np.argmin(d));s['stall']=s['stall']+1 if best<=s['best'] else 0;s['best']=best;j=ids[best]
64
+ s['terminal']=s['terminal']+1 if best>=len(ids)-2 else 0
65
+ if s['terminal']>20 or s['stall']>120:
66
+ last_status='reference_end_or_stall';return None
67
+ # If the active hand has reached the lookahead but the image/finger
68
+ # metric remains at an earlier state, advance one reference by observed
69
+ # waypoint completion. This is not a clock-indexed path replay.
70
+ active=int(np.linalg.norm(B['action'][j,22:25])>np.linalg.norm(B['action'][j,:3]))
71
+ ahead=min(best+2,len(ids)-1)
72
+ if s['stall']>=8 and best<len(ids)-3 and np.linalg.norm(s['p'][ahead,active]-pos[active])<.012:
73
+ s['floor']=max(s['floor'],best+1);s['stall']=0;s['recoveries']+=1
74
+ action=B['action'][j].copy()
75
+ for arm in range(2):
76
+ target=min(best+2,len(ids)-1)
77
+ feedforward=action[arm*22:arm*22+3].copy()
78
+ feedforward[:2]=feedforward[:2]@s['R'].T
79
+ action[arm*22:arm*22+3]=np.clip(feedforward+3*(s['p'][best,arm]-pos[arm]),-.12,.12)
80
+ action[arm*22+6:arm*22+22]+=np.clip(2*(B['qpos'][j,arm*23+7:arm*23+23]-q[arm*23+7:arm*23+23])[np.array([4,0,8,12,5,1,9,13,6,2,10,14,3,7,11,15])],-.2,.2)
81
+ last_reference=(s['di'],int(B['frame'][j]),float(d[best]),s['angle'],s['recoveries']);last_status='registered_hybrid_reference'
82
+ return np.clip(action,-1,1).astype(np.float32)
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/reference_access_log.json ADDED
@@ -0,0 +1,4181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "demo_id": "demo_00",
4
+ "descriptor_frames": [
5
+ 0,
6
+ 3,
7
+ 6,
8
+ 9,
9
+ 12,
10
+ 15,
11
+ 18,
12
+ 21,
13
+ 24,
14
+ 27,
15
+ 30,
16
+ 33,
17
+ 36,
18
+ 39,
19
+ 42,
20
+ 45,
21
+ 48,
22
+ 51,
23
+ 54,
24
+ 57,
25
+ 60,
26
+ 63,
27
+ 66,
28
+ 69,
29
+ 72,
30
+ 75,
31
+ 78,
32
+ 81,
33
+ 84,
34
+ 87,
35
+ 90,
36
+ 93,
37
+ 96,
38
+ 99,
39
+ 102,
40
+ 105,
41
+ 108,
42
+ 111,
43
+ 114,
44
+ 117,
45
+ 120,
46
+ 123,
47
+ 126,
48
+ 129,
49
+ 132,
50
+ 135,
51
+ 138,
52
+ 141,
53
+ 144,
54
+ 147,
55
+ 150,
56
+ 153,
57
+ 156,
58
+ 159,
59
+ 162,
60
+ 165,
61
+ 168,
62
+ 171,
63
+ 174,
64
+ 177,
65
+ 180,
66
+ 183,
67
+ 186,
68
+ 189,
69
+ 192,
70
+ 195,
71
+ 198,
72
+ 201,
73
+ 204,
74
+ 207,
75
+ 210,
76
+ 213,
77
+ 216,
78
+ 219,
79
+ 222,
80
+ 225,
81
+ 228,
82
+ 231,
83
+ 234,
84
+ 237,
85
+ 240,
86
+ 243,
87
+ 246,
88
+ 249,
89
+ 252,
90
+ 255,
91
+ 258,
92
+ 261,
93
+ 264,
94
+ 267,
95
+ 270,
96
+ 273,
97
+ 276,
98
+ 279,
99
+ 282,
100
+ 285,
101
+ 288,
102
+ 291,
103
+ 294,
104
+ 297,
105
+ 300,
106
+ 303,
107
+ 306,
108
+ 309,
109
+ 312,
110
+ 315,
111
+ 318,
112
+ 321,
113
+ 324,
114
+ 327,
115
+ 330,
116
+ 333,
117
+ 336,
118
+ 339,
119
+ 342,
120
+ 345,
121
+ 348,
122
+ 351,
123
+ 354,
124
+ 357,
125
+ 360,
126
+ 363,
127
+ 366,
128
+ 369,
129
+ 372,
130
+ 375,
131
+ 378,
132
+ 381,
133
+ 384,
134
+ 387,
135
+ 390,
136
+ 393,
137
+ 396,
138
+ 399,
139
+ 402,
140
+ 405,
141
+ 408,
142
+ 411,
143
+ 414,
144
+ 417,
145
+ 420,
146
+ 423,
147
+ 426,
148
+ 429,
149
+ 432,
150
+ 435,
151
+ 438,
152
+ 441,
153
+ 444,
154
+ 447,
155
+ 450,
156
+ 453,
157
+ 456,
158
+ 459,
159
+ 462,
160
+ 465,
161
+ 468,
162
+ 471,
163
+ 474,
164
+ 477,
165
+ 480,
166
+ 483,
167
+ 486,
168
+ 489,
169
+ 492,
170
+ 495,
171
+ 498,
172
+ 501,
173
+ 504,
174
+ 507,
175
+ 510,
176
+ 513,
177
+ 516,
178
+ 519,
179
+ 522,
180
+ 525,
181
+ 528,
182
+ 530
183
+ ],
184
+ "rgb_read_inclusive_range": [
185
+ 0,
186
+ 530
187
+ ],
188
+ "cameras": [
189
+ "front_camera",
190
+ "right_camera"
191
+ ],
192
+ "all_action_indices": [
193
+ 0,
194
+ 530
195
+ ],
196
+ "all_proprio_indices": [
197
+ 0,
198
+ 531
199
+ ]
200
+ },
201
+ {
202
+ "demo_id": "demo_01",
203
+ "descriptor_frames": [
204
+ 0,
205
+ 3,
206
+ 6,
207
+ 9,
208
+ 12,
209
+ 15,
210
+ 18,
211
+ 21,
212
+ 24,
213
+ 27,
214
+ 30,
215
+ 33,
216
+ 36,
217
+ 39,
218
+ 42,
219
+ 45,
220
+ 48,
221
+ 51,
222
+ 54,
223
+ 57,
224
+ 60,
225
+ 63,
226
+ 66,
227
+ 69,
228
+ 72,
229
+ 75,
230
+ 78,
231
+ 81,
232
+ 84,
233
+ 87,
234
+ 90,
235
+ 93,
236
+ 96,
237
+ 99,
238
+ 102,
239
+ 105,
240
+ 108,
241
+ 111,
242
+ 114,
243
+ 117,
244
+ 120,
245
+ 123,
246
+ 126,
247
+ 129,
248
+ 132,
249
+ 135,
250
+ 138,
251
+ 141,
252
+ 144,
253
+ 147,
254
+ 150,
255
+ 153,
256
+ 156,
257
+ 159,
258
+ 162,
259
+ 165,
260
+ 168,
261
+ 171,
262
+ 174,
263
+ 177,
264
+ 180,
265
+ 183,
266
+ 186,
267
+ 189,
268
+ 192,
269
+ 195,
270
+ 198,
271
+ 201,
272
+ 204,
273
+ 207,
274
+ 210,
275
+ 213,
276
+ 216,
277
+ 219,
278
+ 222,
279
+ 225,
280
+ 228,
281
+ 231,
282
+ 234,
283
+ 237,
284
+ 240,
285
+ 243,
286
+ 246,
287
+ 249,
288
+ 252,
289
+ 255,
290
+ 258,
291
+ 261,
292
+ 264,
293
+ 267,
294
+ 270,
295
+ 273,
296
+ 276,
297
+ 279,
298
+ 282,
299
+ 285,
300
+ 288,
301
+ 291,
302
+ 294,
303
+ 297,
304
+ 300,
305
+ 303,
306
+ 306,
307
+ 309,
308
+ 312,
309
+ 315,
310
+ 318,
311
+ 321,
312
+ 324,
313
+ 327,
314
+ 330,
315
+ 333,
316
+ 336,
317
+ 339,
318
+ 342,
319
+ 345,
320
+ 348,
321
+ 351,
322
+ 354,
323
+ 357,
324
+ 360,
325
+ 363,
326
+ 366,
327
+ 369,
328
+ 372,
329
+ 375,
330
+ 378,
331
+ 381,
332
+ 384,
333
+ 387,
334
+ 390,
335
+ 393,
336
+ 396,
337
+ 399,
338
+ 402,
339
+ 405,
340
+ 408,
341
+ 411,
342
+ 414,
343
+ 417,
344
+ 420,
345
+ 423,
346
+ 426,
347
+ 429,
348
+ 432,
349
+ 435,
350
+ 438,
351
+ 441,
352
+ 444,
353
+ 447,
354
+ 450,
355
+ 453,
356
+ 456,
357
+ 459,
358
+ 462,
359
+ 465,
360
+ 468,
361
+ 471,
362
+ 474,
363
+ 477,
364
+ 480,
365
+ 483,
366
+ 486,
367
+ 489,
368
+ 492,
369
+ 495,
370
+ 498,
371
+ 501,
372
+ 504,
373
+ 507,
374
+ 510,
375
+ 513,
376
+ 516,
377
+ 519,
378
+ 522,
379
+ 525,
380
+ 528,
381
+ 531,
382
+ 534,
383
+ 537,
384
+ 540,
385
+ 543,
386
+ 546,
387
+ 549,
388
+ 552,
389
+ 555,
390
+ 558,
391
+ 561,
392
+ 564,
393
+ 567,
394
+ 570,
395
+ 573,
396
+ 576,
397
+ 579,
398
+ 582,
399
+ 585,
400
+ 588,
401
+ 591,
402
+ 594,
403
+ 597,
404
+ 600,
405
+ 603,
406
+ 606,
407
+ 608
408
+ ],
409
+ "rgb_read_inclusive_range": [
410
+ 0,
411
+ 608
412
+ ],
413
+ "cameras": [
414
+ "front_camera",
415
+ "right_camera"
416
+ ],
417
+ "all_action_indices": [
418
+ 0,
419
+ 608
420
+ ],
421
+ "all_proprio_indices": [
422
+ 0,
423
+ 609
424
+ ]
425
+ },
426
+ {
427
+ "demo_id": "demo_02",
428
+ "descriptor_frames": [
429
+ 0,
430
+ 3,
431
+ 6,
432
+ 9,
433
+ 12,
434
+ 15,
435
+ 18,
436
+ 21,
437
+ 24,
438
+ 27,
439
+ 30,
440
+ 33,
441
+ 36,
442
+ 39,
443
+ 42,
444
+ 45,
445
+ 48,
446
+ 51,
447
+ 54,
448
+ 57,
449
+ 60,
450
+ 63,
451
+ 66,
452
+ 69,
453
+ 72,
454
+ 75,
455
+ 78,
456
+ 81,
457
+ 84,
458
+ 87,
459
+ 90,
460
+ 93,
461
+ 96,
462
+ 99,
463
+ 102,
464
+ 105,
465
+ 108,
466
+ 111,
467
+ 114,
468
+ 117,
469
+ 120,
470
+ 123,
471
+ 126,
472
+ 129,
473
+ 132,
474
+ 135,
475
+ 138,
476
+ 141,
477
+ 144,
478
+ 147,
479
+ 150,
480
+ 153,
481
+ 156,
482
+ 159,
483
+ 162,
484
+ 165,
485
+ 168,
486
+ 171,
487
+ 174,
488
+ 177,
489
+ 180,
490
+ 183,
491
+ 186,
492
+ 189,
493
+ 192,
494
+ 195,
495
+ 198,
496
+ 201,
497
+ 204,
498
+ 207,
499
+ 210,
500
+ 213,
501
+ 216,
502
+ 219,
503
+ 222,
504
+ 225,
505
+ 228,
506
+ 231,
507
+ 234,
508
+ 237,
509
+ 240,
510
+ 243,
511
+ 246,
512
+ 249,
513
+ 252,
514
+ 255,
515
+ 258,
516
+ 261,
517
+ 264,
518
+ 267,
519
+ 270,
520
+ 273,
521
+ 276,
522
+ 279,
523
+ 282,
524
+ 285,
525
+ 288,
526
+ 291,
527
+ 294,
528
+ 297,
529
+ 300,
530
+ 303,
531
+ 306,
532
+ 309,
533
+ 312,
534
+ 315,
535
+ 318,
536
+ 321,
537
+ 324,
538
+ 327,
539
+ 330,
540
+ 333,
541
+ 336,
542
+ 339,
543
+ 342,
544
+ 345,
545
+ 348,
546
+ 351,
547
+ 354,
548
+ 357,
549
+ 360,
550
+ 363,
551
+ 366,
552
+ 369,
553
+ 372,
554
+ 375,
555
+ 378,
556
+ 381,
557
+ 384,
558
+ 387,
559
+ 390,
560
+ 393,
561
+ 396,
562
+ 399,
563
+ 402,
564
+ 405,
565
+ 408,
566
+ 411,
567
+ 414,
568
+ 417,
569
+ 420,
570
+ 423,
571
+ 426,
572
+ 429,
573
+ 432,
574
+ 435,
575
+ 438,
576
+ 441,
577
+ 444,
578
+ 447,
579
+ 450,
580
+ 453,
581
+ 456,
582
+ 459,
583
+ 462,
584
+ 465,
585
+ 468,
586
+ 471,
587
+ 474,
588
+ 477,
589
+ 480,
590
+ 483,
591
+ 486,
592
+ 489,
593
+ 492,
594
+ 495,
595
+ 498,
596
+ 501,
597
+ 504,
598
+ 507,
599
+ 510,
600
+ 513,
601
+ 516,
602
+ 519,
603
+ 522,
604
+ 525,
605
+ 528,
606
+ 531,
607
+ 534,
608
+ 537,
609
+ 540,
610
+ 543,
611
+ 546,
612
+ 549,
613
+ 552,
614
+ 555,
615
+ 558,
616
+ 561,
617
+ 564,
618
+ 567,
619
+ 570,
620
+ 573,
621
+ 576,
622
+ 579,
623
+ 582,
624
+ 585,
625
+ 588,
626
+ 591,
627
+ 594,
628
+ 597,
629
+ 600,
630
+ 603,
631
+ 606,
632
+ 609,
633
+ 612,
634
+ 615,
635
+ 618,
636
+ 621,
637
+ 624,
638
+ 627,
639
+ 630,
640
+ 633,
641
+ 636,
642
+ 639,
643
+ 642,
644
+ 645,
645
+ 648,
646
+ 651,
647
+ 654,
648
+ 657,
649
+ 660,
650
+ 663,
651
+ 666,
652
+ 669,
653
+ 670
654
+ ],
655
+ "rgb_read_inclusive_range": [
656
+ 0,
657
+ 670
658
+ ],
659
+ "cameras": [
660
+ "front_camera",
661
+ "right_camera"
662
+ ],
663
+ "all_action_indices": [
664
+ 0,
665
+ 670
666
+ ],
667
+ "all_proprio_indices": [
668
+ 0,
669
+ 671
670
+ ]
671
+ },
672
+ {
673
+ "demo_id": "demo_03",
674
+ "descriptor_frames": [
675
+ 0,
676
+ 3,
677
+ 6,
678
+ 9,
679
+ 12,
680
+ 15,
681
+ 18,
682
+ 21,
683
+ 24,
684
+ 27,
685
+ 30,
686
+ 33,
687
+ 36,
688
+ 39,
689
+ 42,
690
+ 45,
691
+ 48,
692
+ 51,
693
+ 54,
694
+ 57,
695
+ 60,
696
+ 63,
697
+ 66,
698
+ 69,
699
+ 72,
700
+ 75,
701
+ 78,
702
+ 81,
703
+ 84,
704
+ 87,
705
+ 90,
706
+ 93,
707
+ 96,
708
+ 99,
709
+ 102,
710
+ 105,
711
+ 108,
712
+ 111,
713
+ 114,
714
+ 117,
715
+ 120,
716
+ 123,
717
+ 126,
718
+ 129,
719
+ 132,
720
+ 135,
721
+ 138,
722
+ 141,
723
+ 144,
724
+ 147,
725
+ 150,
726
+ 153,
727
+ 156,
728
+ 159,
729
+ 162,
730
+ 165,
731
+ 168,
732
+ 171,
733
+ 174,
734
+ 177,
735
+ 180,
736
+ 183,
737
+ 186,
738
+ 189,
739
+ 192,
740
+ 195,
741
+ 198,
742
+ 201,
743
+ 204,
744
+ 207,
745
+ 210,
746
+ 213,
747
+ 216,
748
+ 219,
749
+ 222,
750
+ 225,
751
+ 228,
752
+ 231,
753
+ 234,
754
+ 237,
755
+ 240,
756
+ 243,
757
+ 246,
758
+ 249,
759
+ 252,
760
+ 255,
761
+ 258,
762
+ 261,
763
+ 264,
764
+ 267,
765
+ 270,
766
+ 273,
767
+ 276,
768
+ 279,
769
+ 282,
770
+ 285,
771
+ 288,
772
+ 291,
773
+ 294,
774
+ 297,
775
+ 300,
776
+ 303,
777
+ 306,
778
+ 309,
779
+ 312,
780
+ 315,
781
+ 318,
782
+ 321,
783
+ 324,
784
+ 327,
785
+ 330,
786
+ 333,
787
+ 336,
788
+ 339,
789
+ 342,
790
+ 345,
791
+ 348,
792
+ 351,
793
+ 354,
794
+ 357,
795
+ 360,
796
+ 363,
797
+ 366,
798
+ 369,
799
+ 372,
800
+ 375,
801
+ 378,
802
+ 381,
803
+ 384,
804
+ 387,
805
+ 390,
806
+ 393,
807
+ 396,
808
+ 399,
809
+ 402,
810
+ 405,
811
+ 408,
812
+ 411,
813
+ 414,
814
+ 417,
815
+ 420,
816
+ 423,
817
+ 426,
818
+ 429,
819
+ 432,
820
+ 435,
821
+ 438,
822
+ 441,
823
+ 444,
824
+ 447,
825
+ 450,
826
+ 453,
827
+ 456,
828
+ 459,
829
+ 462
830
+ ],
831
+ "rgb_read_inclusive_range": [
832
+ 0,
833
+ 462
834
+ ],
835
+ "cameras": [
836
+ "front_camera",
837
+ "right_camera"
838
+ ],
839
+ "all_action_indices": [
840
+ 0,
841
+ 462
842
+ ],
843
+ "all_proprio_indices": [
844
+ 0,
845
+ 463
846
+ ]
847
+ },
848
+ {
849
+ "demo_id": "demo_04",
850
+ "descriptor_frames": [
851
+ 0,
852
+ 3,
853
+ 6,
854
+ 9,
855
+ 12,
856
+ 15,
857
+ 18,
858
+ 21,
859
+ 24,
860
+ 27,
861
+ 30,
862
+ 33,
863
+ 36,
864
+ 39,
865
+ 42,
866
+ 45,
867
+ 48,
868
+ 51,
869
+ 54,
870
+ 57,
871
+ 60,
872
+ 63,
873
+ 66,
874
+ 69,
875
+ 72,
876
+ 75,
877
+ 78,
878
+ 81,
879
+ 84,
880
+ 87,
881
+ 90,
882
+ 93,
883
+ 96,
884
+ 99,
885
+ 102,
886
+ 105,
887
+ 108,
888
+ 111,
889
+ 114,
890
+ 117,
891
+ 120,
892
+ 123,
893
+ 126,
894
+ 129,
895
+ 132,
896
+ 135,
897
+ 138,
898
+ 141,
899
+ 144,
900
+ 147,
901
+ 150,
902
+ 153,
903
+ 156,
904
+ 159,
905
+ 162,
906
+ 165,
907
+ 168,
908
+ 171,
909
+ 174,
910
+ 177,
911
+ 180,
912
+ 183,
913
+ 186,
914
+ 189,
915
+ 192,
916
+ 195,
917
+ 198,
918
+ 201,
919
+ 204,
920
+ 207,
921
+ 210,
922
+ 213,
923
+ 216,
924
+ 219,
925
+ 222,
926
+ 225,
927
+ 228,
928
+ 231,
929
+ 234,
930
+ 237,
931
+ 240,
932
+ 243,
933
+ 246,
934
+ 249,
935
+ 252,
936
+ 255,
937
+ 258,
938
+ 261,
939
+ 264,
940
+ 267,
941
+ 270,
942
+ 273,
943
+ 276,
944
+ 279,
945
+ 282,
946
+ 285,
947
+ 288,
948
+ 291,
949
+ 294,
950
+ 297,
951
+ 300,
952
+ 303,
953
+ 306,
954
+ 309,
955
+ 312,
956
+ 315,
957
+ 318,
958
+ 321,
959
+ 324,
960
+ 327,
961
+ 330,
962
+ 333,
963
+ 336,
964
+ 339,
965
+ 342,
966
+ 345,
967
+ 348,
968
+ 351,
969
+ 354,
970
+ 357,
971
+ 360,
972
+ 363,
973
+ 366,
974
+ 369,
975
+ 372,
976
+ 375,
977
+ 378,
978
+ 381,
979
+ 384,
980
+ 387,
981
+ 390,
982
+ 393,
983
+ 396,
984
+ 399,
985
+ 402,
986
+ 405,
987
+ 408,
988
+ 411,
989
+ 414,
990
+ 417,
991
+ 420,
992
+ 423,
993
+ 426,
994
+ 429,
995
+ 432,
996
+ 435,
997
+ 438,
998
+ 441,
999
+ 443
1000
+ ],
1001
+ "rgb_read_inclusive_range": [
1002
+ 0,
1003
+ 443
1004
+ ],
1005
+ "cameras": [
1006
+ "front_camera",
1007
+ "right_camera"
1008
+ ],
1009
+ "all_action_indices": [
1010
+ 0,
1011
+ 443
1012
+ ],
1013
+ "all_proprio_indices": [
1014
+ 0,
1015
+ 444
1016
+ ]
1017
+ },
1018
+ {
1019
+ "demo_id": "demo_05",
1020
+ "descriptor_frames": [
1021
+ 0,
1022
+ 3,
1023
+ 6,
1024
+ 9,
1025
+ 12,
1026
+ 15,
1027
+ 18,
1028
+ 21,
1029
+ 24,
1030
+ 27,
1031
+ 30,
1032
+ 33,
1033
+ 36,
1034
+ 39,
1035
+ 42,
1036
+ 45,
1037
+ 48,
1038
+ 51,
1039
+ 54,
1040
+ 57,
1041
+ 60,
1042
+ 63,
1043
+ 66,
1044
+ 69,
1045
+ 72,
1046
+ 75,
1047
+ 78,
1048
+ 81,
1049
+ 84,
1050
+ 87,
1051
+ 90,
1052
+ 93,
1053
+ 96,
1054
+ 99,
1055
+ 102,
1056
+ 105,
1057
+ 108,
1058
+ 111,
1059
+ 114,
1060
+ 117,
1061
+ 120,
1062
+ 123,
1063
+ 126,
1064
+ 129,
1065
+ 132,
1066
+ 135,
1067
+ 138,
1068
+ 141,
1069
+ 144,
1070
+ 147,
1071
+ 150,
1072
+ 153,
1073
+ 156,
1074
+ 159,
1075
+ 162,
1076
+ 165,
1077
+ 168,
1078
+ 171,
1079
+ 174,
1080
+ 177,
1081
+ 180,
1082
+ 183,
1083
+ 186,
1084
+ 189,
1085
+ 192,
1086
+ 195,
1087
+ 198,
1088
+ 201,
1089
+ 204,
1090
+ 207,
1091
+ 210,
1092
+ 213,
1093
+ 216,
1094
+ 219,
1095
+ 222,
1096
+ 225,
1097
+ 228,
1098
+ 231,
1099
+ 234,
1100
+ 237,
1101
+ 240,
1102
+ 243,
1103
+ 246,
1104
+ 249,
1105
+ 252,
1106
+ 255,
1107
+ 258,
1108
+ 261,
1109
+ 264,
1110
+ 267,
1111
+ 270,
1112
+ 273,
1113
+ 276,
1114
+ 279,
1115
+ 282,
1116
+ 285,
1117
+ 288,
1118
+ 291,
1119
+ 294,
1120
+ 297,
1121
+ 300,
1122
+ 303,
1123
+ 306,
1124
+ 309,
1125
+ 312,
1126
+ 315,
1127
+ 318,
1128
+ 321,
1129
+ 324,
1130
+ 327,
1131
+ 330,
1132
+ 333,
1133
+ 336,
1134
+ 339,
1135
+ 342,
1136
+ 345,
1137
+ 348,
1138
+ 351,
1139
+ 354,
1140
+ 357,
1141
+ 360,
1142
+ 363,
1143
+ 366,
1144
+ 369,
1145
+ 372,
1146
+ 375,
1147
+ 378,
1148
+ 381,
1149
+ 384,
1150
+ 387,
1151
+ 390,
1152
+ 393,
1153
+ 396,
1154
+ 399,
1155
+ 402,
1156
+ 405,
1157
+ 408,
1158
+ 411,
1159
+ 414,
1160
+ 417,
1161
+ 420,
1162
+ 423,
1163
+ 426,
1164
+ 429,
1165
+ 432,
1166
+ 435,
1167
+ 438,
1168
+ 441,
1169
+ 444,
1170
+ 447,
1171
+ 450,
1172
+ 453,
1173
+ 456,
1174
+ 459,
1175
+ 462,
1176
+ 465,
1177
+ 468,
1178
+ 471,
1179
+ 474,
1180
+ 477,
1181
+ 480,
1182
+ 483,
1183
+ 486,
1184
+ 489,
1185
+ 492,
1186
+ 495,
1187
+ 498,
1188
+ 501,
1189
+ 504,
1190
+ 507,
1191
+ 510,
1192
+ 513,
1193
+ 516,
1194
+ 519,
1195
+ 522,
1196
+ 525,
1197
+ 528,
1198
+ 531,
1199
+ 534,
1200
+ 537,
1201
+ 540,
1202
+ 543,
1203
+ 546,
1204
+ 549,
1205
+ 552,
1206
+ 555,
1207
+ 558,
1208
+ 561,
1209
+ 564,
1210
+ 567,
1211
+ 570,
1212
+ 573,
1213
+ 576,
1214
+ 579,
1215
+ 582,
1216
+ 585,
1217
+ 588,
1218
+ 591,
1219
+ 594,
1220
+ 597,
1221
+ 600,
1222
+ 603,
1223
+ 606,
1224
+ 609,
1225
+ 612,
1226
+ 615,
1227
+ 618,
1228
+ 621,
1229
+ 624,
1230
+ 627,
1231
+ 630,
1232
+ 633,
1233
+ 636,
1234
+ 639,
1235
+ 642,
1236
+ 645,
1237
+ 648,
1238
+ 651,
1239
+ 654,
1240
+ 657,
1241
+ 660,
1242
+ 663,
1243
+ 666,
1244
+ 669,
1245
+ 672,
1246
+ 675,
1247
+ 678,
1248
+ 681,
1249
+ 684,
1250
+ 685
1251
+ ],
1252
+ "rgb_read_inclusive_range": [
1253
+ 0,
1254
+ 685
1255
+ ],
1256
+ "cameras": [
1257
+ "front_camera",
1258
+ "right_camera"
1259
+ ],
1260
+ "all_action_indices": [
1261
+ 0,
1262
+ 685
1263
+ ],
1264
+ "all_proprio_indices": [
1265
+ 0,
1266
+ 686
1267
+ ]
1268
+ },
1269
+ {
1270
+ "demo_id": "demo_06",
1271
+ "descriptor_frames": [
1272
+ 0,
1273
+ 3,
1274
+ 6,
1275
+ 9,
1276
+ 12,
1277
+ 15,
1278
+ 18,
1279
+ 21,
1280
+ 24,
1281
+ 27,
1282
+ 30,
1283
+ 33,
1284
+ 36,
1285
+ 39,
1286
+ 42,
1287
+ 45,
1288
+ 48,
1289
+ 51,
1290
+ 54,
1291
+ 57,
1292
+ 60,
1293
+ 63,
1294
+ 66,
1295
+ 69,
1296
+ 72,
1297
+ 75,
1298
+ 78,
1299
+ 81,
1300
+ 84,
1301
+ 87,
1302
+ 90,
1303
+ 93,
1304
+ 96,
1305
+ 99,
1306
+ 102,
1307
+ 105,
1308
+ 108,
1309
+ 111,
1310
+ 114,
1311
+ 117,
1312
+ 120,
1313
+ 123,
1314
+ 126,
1315
+ 129,
1316
+ 132,
1317
+ 135,
1318
+ 138,
1319
+ 141,
1320
+ 144,
1321
+ 147,
1322
+ 150,
1323
+ 153,
1324
+ 156,
1325
+ 159,
1326
+ 162,
1327
+ 165,
1328
+ 168,
1329
+ 171,
1330
+ 174,
1331
+ 177,
1332
+ 180,
1333
+ 183,
1334
+ 186,
1335
+ 189,
1336
+ 192,
1337
+ 195,
1338
+ 198,
1339
+ 201,
1340
+ 204,
1341
+ 207,
1342
+ 210,
1343
+ 213,
1344
+ 216,
1345
+ 219,
1346
+ 222,
1347
+ 225,
1348
+ 228,
1349
+ 231,
1350
+ 234,
1351
+ 237,
1352
+ 240,
1353
+ 243,
1354
+ 246,
1355
+ 249,
1356
+ 252,
1357
+ 255,
1358
+ 258,
1359
+ 261,
1360
+ 264,
1361
+ 267,
1362
+ 270,
1363
+ 273,
1364
+ 276,
1365
+ 279,
1366
+ 282,
1367
+ 285,
1368
+ 288,
1369
+ 291,
1370
+ 294,
1371
+ 297,
1372
+ 300,
1373
+ 303,
1374
+ 306,
1375
+ 309,
1376
+ 312,
1377
+ 315,
1378
+ 318,
1379
+ 321,
1380
+ 324,
1381
+ 327,
1382
+ 330,
1383
+ 333,
1384
+ 336,
1385
+ 339,
1386
+ 342,
1387
+ 345,
1388
+ 348,
1389
+ 351,
1390
+ 354,
1391
+ 357,
1392
+ 360,
1393
+ 363,
1394
+ 366,
1395
+ 369,
1396
+ 372,
1397
+ 375,
1398
+ 378,
1399
+ 381,
1400
+ 384,
1401
+ 387,
1402
+ 390,
1403
+ 393,
1404
+ 396,
1405
+ 399,
1406
+ 402,
1407
+ 405,
1408
+ 408,
1409
+ 411,
1410
+ 414,
1411
+ 417,
1412
+ 420,
1413
+ 423,
1414
+ 426,
1415
+ 429,
1416
+ 432,
1417
+ 435,
1418
+ 438,
1419
+ 441,
1420
+ 444,
1421
+ 447,
1422
+ 450,
1423
+ 453,
1424
+ 456,
1425
+ 459,
1426
+ 462,
1427
+ 465,
1428
+ 468,
1429
+ 471,
1430
+ 474,
1431
+ 477,
1432
+ 480,
1433
+ 483,
1434
+ 486,
1435
+ 489,
1436
+ 492,
1437
+ 495,
1438
+ 498,
1439
+ 501,
1440
+ 504,
1441
+ 507,
1442
+ 510,
1443
+ 513,
1444
+ 516,
1445
+ 519,
1446
+ 522,
1447
+ 525,
1448
+ 528,
1449
+ 531,
1450
+ 534,
1451
+ 537,
1452
+ 540,
1453
+ 543,
1454
+ 546,
1455
+ 549,
1456
+ 552,
1457
+ 555,
1458
+ 558,
1459
+ 561,
1460
+ 564,
1461
+ 567,
1462
+ 570,
1463
+ 573,
1464
+ 576,
1465
+ 579,
1466
+ 582,
1467
+ 585,
1468
+ 588,
1469
+ 591,
1470
+ 594,
1471
+ 597,
1472
+ 600,
1473
+ 603,
1474
+ 606,
1475
+ 609,
1476
+ 612,
1477
+ 615,
1478
+ 618,
1479
+ 621,
1480
+ 624,
1481
+ 627,
1482
+ 630,
1483
+ 633,
1484
+ 636,
1485
+ 639,
1486
+ 642,
1487
+ 645,
1488
+ 648,
1489
+ 651,
1490
+ 654,
1491
+ 657,
1492
+ 660,
1493
+ 663,
1494
+ 666,
1495
+ 669,
1496
+ 672,
1497
+ 675,
1498
+ 678,
1499
+ 681,
1500
+ 684,
1501
+ 687,
1502
+ 690,
1503
+ 693,
1504
+ 696,
1505
+ 699,
1506
+ 702,
1507
+ 705,
1508
+ 708,
1509
+ 711
1510
+ ],
1511
+ "rgb_read_inclusive_range": [
1512
+ 0,
1513
+ 711
1514
+ ],
1515
+ "cameras": [
1516
+ "front_camera",
1517
+ "right_camera"
1518
+ ],
1519
+ "all_action_indices": [
1520
+ 0,
1521
+ 711
1522
+ ],
1523
+ "all_proprio_indices": [
1524
+ 0,
1525
+ 712
1526
+ ]
1527
+ },
1528
+ {
1529
+ "demo_id": "demo_07",
1530
+ "descriptor_frames": [
1531
+ 0,
1532
+ 3,
1533
+ 6,
1534
+ 9,
1535
+ 12,
1536
+ 15,
1537
+ 18,
1538
+ 21,
1539
+ 24,
1540
+ 27,
1541
+ 30,
1542
+ 33,
1543
+ 36,
1544
+ 39,
1545
+ 42,
1546
+ 45,
1547
+ 48,
1548
+ 51,
1549
+ 54,
1550
+ 57,
1551
+ 60,
1552
+ 63,
1553
+ 66,
1554
+ 69,
1555
+ 72,
1556
+ 75,
1557
+ 78,
1558
+ 81,
1559
+ 84,
1560
+ 87,
1561
+ 90,
1562
+ 93,
1563
+ 96,
1564
+ 99,
1565
+ 102,
1566
+ 105,
1567
+ 108,
1568
+ 111,
1569
+ 114,
1570
+ 117,
1571
+ 120,
1572
+ 123,
1573
+ 126,
1574
+ 129,
1575
+ 132,
1576
+ 135,
1577
+ 138,
1578
+ 141,
1579
+ 144,
1580
+ 147,
1581
+ 150,
1582
+ 153,
1583
+ 156,
1584
+ 159,
1585
+ 162,
1586
+ 165,
1587
+ 168,
1588
+ 171,
1589
+ 174,
1590
+ 177,
1591
+ 180,
1592
+ 183,
1593
+ 186,
1594
+ 189,
1595
+ 192,
1596
+ 195,
1597
+ 198,
1598
+ 201,
1599
+ 204,
1600
+ 207,
1601
+ 210,
1602
+ 213,
1603
+ 216,
1604
+ 219,
1605
+ 222,
1606
+ 225,
1607
+ 228,
1608
+ 231,
1609
+ 234,
1610
+ 237,
1611
+ 240,
1612
+ 243,
1613
+ 246,
1614
+ 249,
1615
+ 252,
1616
+ 255,
1617
+ 258,
1618
+ 261,
1619
+ 264,
1620
+ 267,
1621
+ 270,
1622
+ 273,
1623
+ 276,
1624
+ 279,
1625
+ 282,
1626
+ 285,
1627
+ 288,
1628
+ 291,
1629
+ 294,
1630
+ 297,
1631
+ 300,
1632
+ 303,
1633
+ 306,
1634
+ 309,
1635
+ 312,
1636
+ 315,
1637
+ 318,
1638
+ 321,
1639
+ 324,
1640
+ 327,
1641
+ 330,
1642
+ 333,
1643
+ 336,
1644
+ 339,
1645
+ 342,
1646
+ 345,
1647
+ 348,
1648
+ 351,
1649
+ 354,
1650
+ 357,
1651
+ 360,
1652
+ 363,
1653
+ 366,
1654
+ 369,
1655
+ 372,
1656
+ 375,
1657
+ 378,
1658
+ 381,
1659
+ 384,
1660
+ 387,
1661
+ 390,
1662
+ 393,
1663
+ 396,
1664
+ 399,
1665
+ 402,
1666
+ 405,
1667
+ 408,
1668
+ 411,
1669
+ 414,
1670
+ 417,
1671
+ 420,
1672
+ 423,
1673
+ 426,
1674
+ 429,
1675
+ 432,
1676
+ 435,
1677
+ 438,
1678
+ 441,
1679
+ 444,
1680
+ 447,
1681
+ 450,
1682
+ 453,
1683
+ 456,
1684
+ 459,
1685
+ 462,
1686
+ 465,
1687
+ 468,
1688
+ 471,
1689
+ 474,
1690
+ 477,
1691
+ 480,
1692
+ 483,
1693
+ 486,
1694
+ 489,
1695
+ 492,
1696
+ 495,
1697
+ 498,
1698
+ 501,
1699
+ 504,
1700
+ 507,
1701
+ 510,
1702
+ 513,
1703
+ 516,
1704
+ 519,
1705
+ 522,
1706
+ 525,
1707
+ 528,
1708
+ 531,
1709
+ 534,
1710
+ 537,
1711
+ 540,
1712
+ 543,
1713
+ 546,
1714
+ 549,
1715
+ 552,
1716
+ 555,
1717
+ 558,
1718
+ 561,
1719
+ 564,
1720
+ 567,
1721
+ 570,
1722
+ 573,
1723
+ 576,
1724
+ 579,
1725
+ 582,
1726
+ 585,
1727
+ 588,
1728
+ 591,
1729
+ 594,
1730
+ 597,
1731
+ 600,
1732
+ 603,
1733
+ 606,
1734
+ 609,
1735
+ 612,
1736
+ 615,
1737
+ 618,
1738
+ 621,
1739
+ 624,
1740
+ 627,
1741
+ 630,
1742
+ 633,
1743
+ 636,
1744
+ 639,
1745
+ 642,
1746
+ 645,
1747
+ 648,
1748
+ 651,
1749
+ 654,
1750
+ 657,
1751
+ 660,
1752
+ 663,
1753
+ 666,
1754
+ 669,
1755
+ 672
1756
+ ],
1757
+ "rgb_read_inclusive_range": [
1758
+ 0,
1759
+ 672
1760
+ ],
1761
+ "cameras": [
1762
+ "front_camera",
1763
+ "right_camera"
1764
+ ],
1765
+ "all_action_indices": [
1766
+ 0,
1767
+ 672
1768
+ ],
1769
+ "all_proprio_indices": [
1770
+ 0,
1771
+ 673
1772
+ ]
1773
+ },
1774
+ {
1775
+ "demo_id": "demo_08",
1776
+ "descriptor_frames": [
1777
+ 0,
1778
+ 3,
1779
+ 6,
1780
+ 9,
1781
+ 12,
1782
+ 15,
1783
+ 18,
1784
+ 21,
1785
+ 24,
1786
+ 27,
1787
+ 30,
1788
+ 33,
1789
+ 36,
1790
+ 39,
1791
+ 42,
1792
+ 45,
1793
+ 48,
1794
+ 51,
1795
+ 54,
1796
+ 57,
1797
+ 60,
1798
+ 63,
1799
+ 66,
1800
+ 69,
1801
+ 72,
1802
+ 75,
1803
+ 78,
1804
+ 81,
1805
+ 84,
1806
+ 87,
1807
+ 90,
1808
+ 93,
1809
+ 96,
1810
+ 99,
1811
+ 102,
1812
+ 105,
1813
+ 108,
1814
+ 111,
1815
+ 114,
1816
+ 117,
1817
+ 120,
1818
+ 123,
1819
+ 126,
1820
+ 129,
1821
+ 132,
1822
+ 135,
1823
+ 138,
1824
+ 141,
1825
+ 144,
1826
+ 147,
1827
+ 150,
1828
+ 153,
1829
+ 156,
1830
+ 159,
1831
+ 162,
1832
+ 165,
1833
+ 168,
1834
+ 171,
1835
+ 174,
1836
+ 177,
1837
+ 180,
1838
+ 183,
1839
+ 186,
1840
+ 189,
1841
+ 192,
1842
+ 195,
1843
+ 198,
1844
+ 201,
1845
+ 204,
1846
+ 207,
1847
+ 210,
1848
+ 213,
1849
+ 216,
1850
+ 219,
1851
+ 222,
1852
+ 225,
1853
+ 228,
1854
+ 231,
1855
+ 234,
1856
+ 237,
1857
+ 240,
1858
+ 243,
1859
+ 246,
1860
+ 249,
1861
+ 252,
1862
+ 255,
1863
+ 258,
1864
+ 261,
1865
+ 264,
1866
+ 267,
1867
+ 270,
1868
+ 273,
1869
+ 276,
1870
+ 279,
1871
+ 282,
1872
+ 285,
1873
+ 288,
1874
+ 291,
1875
+ 294,
1876
+ 297,
1877
+ 300,
1878
+ 303,
1879
+ 306,
1880
+ 309,
1881
+ 312,
1882
+ 315,
1883
+ 318,
1884
+ 321,
1885
+ 324,
1886
+ 327,
1887
+ 330,
1888
+ 333,
1889
+ 336,
1890
+ 339,
1891
+ 342,
1892
+ 345,
1893
+ 348,
1894
+ 351,
1895
+ 354,
1896
+ 357,
1897
+ 360,
1898
+ 363,
1899
+ 366,
1900
+ 369,
1901
+ 372,
1902
+ 375,
1903
+ 378,
1904
+ 381,
1905
+ 384,
1906
+ 387,
1907
+ 390,
1908
+ 393,
1909
+ 396,
1910
+ 399,
1911
+ 402,
1912
+ 405,
1913
+ 408,
1914
+ 411,
1915
+ 414,
1916
+ 417,
1917
+ 420,
1918
+ 423,
1919
+ 426,
1920
+ 429,
1921
+ 432,
1922
+ 435,
1923
+ 438,
1924
+ 441,
1925
+ 444,
1926
+ 447,
1927
+ 450,
1928
+ 453,
1929
+ 456,
1930
+ 459,
1931
+ 462,
1932
+ 465,
1933
+ 468,
1934
+ 471,
1935
+ 474,
1936
+ 477,
1937
+ 480,
1938
+ 483,
1939
+ 486,
1940
+ 489,
1941
+ 492,
1942
+ 495,
1943
+ 498,
1944
+ 501,
1945
+ 504,
1946
+ 507,
1947
+ 510,
1948
+ 513,
1949
+ 516,
1950
+ 519,
1951
+ 522,
1952
+ 525,
1953
+ 528,
1954
+ 531,
1955
+ 534,
1956
+ 537,
1957
+ 540,
1958
+ 543,
1959
+ 546,
1960
+ 549,
1961
+ 552,
1962
+ 555,
1963
+ 558,
1964
+ 561,
1965
+ 564,
1966
+ 567,
1967
+ 570,
1968
+ 573,
1969
+ 576,
1970
+ 579,
1971
+ 582,
1972
+ 585,
1973
+ 588,
1974
+ 591,
1975
+ 594,
1976
+ 597,
1977
+ 600,
1978
+ 603,
1979
+ 606,
1980
+ 609,
1981
+ 612,
1982
+ 615,
1983
+ 618,
1984
+ 621,
1985
+ 624,
1986
+ 627,
1987
+ 630,
1988
+ 633,
1989
+ 636,
1990
+ 639,
1991
+ 642,
1992
+ 645,
1993
+ 648,
1994
+ 651,
1995
+ 654,
1996
+ 657,
1997
+ 660,
1998
+ 663,
1999
+ 666,
2000
+ 669,
2001
+ 672,
2002
+ 675,
2003
+ 678,
2004
+ 681,
2005
+ 684
2006
+ ],
2007
+ "rgb_read_inclusive_range": [
2008
+ 0,
2009
+ 684
2010
+ ],
2011
+ "cameras": [
2012
+ "front_camera",
2013
+ "right_camera"
2014
+ ],
2015
+ "all_action_indices": [
2016
+ 0,
2017
+ 684
2018
+ ],
2019
+ "all_proprio_indices": [
2020
+ 0,
2021
+ 685
2022
+ ]
2023
+ },
2024
+ {
2025
+ "demo_id": "demo_09",
2026
+ "descriptor_frames": [
2027
+ 0,
2028
+ 3,
2029
+ 6,
2030
+ 9,
2031
+ 12,
2032
+ 15,
2033
+ 18,
2034
+ 21,
2035
+ 24,
2036
+ 27,
2037
+ 30,
2038
+ 33,
2039
+ 36,
2040
+ 39,
2041
+ 42,
2042
+ 45,
2043
+ 48,
2044
+ 51,
2045
+ 54,
2046
+ 57,
2047
+ 60,
2048
+ 63,
2049
+ 66,
2050
+ 69,
2051
+ 72,
2052
+ 75,
2053
+ 78,
2054
+ 81,
2055
+ 84,
2056
+ 87,
2057
+ 90,
2058
+ 93,
2059
+ 96,
2060
+ 99,
2061
+ 102,
2062
+ 105,
2063
+ 108,
2064
+ 111,
2065
+ 114,
2066
+ 117,
2067
+ 120,
2068
+ 123,
2069
+ 126,
2070
+ 129,
2071
+ 132,
2072
+ 135,
2073
+ 138,
2074
+ 141,
2075
+ 144,
2076
+ 147,
2077
+ 150,
2078
+ 153,
2079
+ 156,
2080
+ 159,
2081
+ 162,
2082
+ 165,
2083
+ 168,
2084
+ 171,
2085
+ 174,
2086
+ 177,
2087
+ 180,
2088
+ 183,
2089
+ 186,
2090
+ 189,
2091
+ 192,
2092
+ 195,
2093
+ 198,
2094
+ 201,
2095
+ 204,
2096
+ 207,
2097
+ 210,
2098
+ 213,
2099
+ 216,
2100
+ 219,
2101
+ 222,
2102
+ 225,
2103
+ 228,
2104
+ 231,
2105
+ 234,
2106
+ 237,
2107
+ 240,
2108
+ 243,
2109
+ 246,
2110
+ 249,
2111
+ 252,
2112
+ 255,
2113
+ 258,
2114
+ 261,
2115
+ 264,
2116
+ 267,
2117
+ 270,
2118
+ 273,
2119
+ 276,
2120
+ 279,
2121
+ 282,
2122
+ 285,
2123
+ 288,
2124
+ 291,
2125
+ 294,
2126
+ 297,
2127
+ 300,
2128
+ 303,
2129
+ 306,
2130
+ 309,
2131
+ 312,
2132
+ 315,
2133
+ 318,
2134
+ 321,
2135
+ 324,
2136
+ 327,
2137
+ 330,
2138
+ 333,
2139
+ 336,
2140
+ 339,
2141
+ 342,
2142
+ 345,
2143
+ 348,
2144
+ 351,
2145
+ 354,
2146
+ 357,
2147
+ 360,
2148
+ 363,
2149
+ 366,
2150
+ 369,
2151
+ 372,
2152
+ 375,
2153
+ 378,
2154
+ 381,
2155
+ 384,
2156
+ 387,
2157
+ 390,
2158
+ 393,
2159
+ 396,
2160
+ 399,
2161
+ 402,
2162
+ 405,
2163
+ 408,
2164
+ 411,
2165
+ 414,
2166
+ 417,
2167
+ 420,
2168
+ 423,
2169
+ 426,
2170
+ 429,
2171
+ 432,
2172
+ 435,
2173
+ 438,
2174
+ 440
2175
+ ],
2176
+ "rgb_read_inclusive_range": [
2177
+ 0,
2178
+ 440
2179
+ ],
2180
+ "cameras": [
2181
+ "front_camera",
2182
+ "right_camera"
2183
+ ],
2184
+ "all_action_indices": [
2185
+ 0,
2186
+ 440
2187
+ ],
2188
+ "all_proprio_indices": [
2189
+ 0,
2190
+ 441
2191
+ ]
2192
+ },
2193
+ {
2194
+ "demo_id": "demo_10",
2195
+ "descriptor_frames": [
2196
+ 0,
2197
+ 3,
2198
+ 6,
2199
+ 9,
2200
+ 12,
2201
+ 15,
2202
+ 18,
2203
+ 21,
2204
+ 24,
2205
+ 27,
2206
+ 30,
2207
+ 33,
2208
+ 36,
2209
+ 39,
2210
+ 42,
2211
+ 45,
2212
+ 48,
2213
+ 51,
2214
+ 54,
2215
+ 57,
2216
+ 60,
2217
+ 63,
2218
+ 66,
2219
+ 69,
2220
+ 72,
2221
+ 75,
2222
+ 78,
2223
+ 81,
2224
+ 84,
2225
+ 87,
2226
+ 90,
2227
+ 93,
2228
+ 96,
2229
+ 99,
2230
+ 102,
2231
+ 105,
2232
+ 108,
2233
+ 111,
2234
+ 114,
2235
+ 117,
2236
+ 120,
2237
+ 123,
2238
+ 126,
2239
+ 129,
2240
+ 132,
2241
+ 135,
2242
+ 138,
2243
+ 141,
2244
+ 144,
2245
+ 147,
2246
+ 150,
2247
+ 153,
2248
+ 156,
2249
+ 159,
2250
+ 162,
2251
+ 165,
2252
+ 168,
2253
+ 171,
2254
+ 174,
2255
+ 177,
2256
+ 180,
2257
+ 183,
2258
+ 186,
2259
+ 189,
2260
+ 192,
2261
+ 195,
2262
+ 198,
2263
+ 201,
2264
+ 204,
2265
+ 207,
2266
+ 210,
2267
+ 213,
2268
+ 216,
2269
+ 219,
2270
+ 222,
2271
+ 225,
2272
+ 228,
2273
+ 231,
2274
+ 234,
2275
+ 237,
2276
+ 240,
2277
+ 243,
2278
+ 246,
2279
+ 249,
2280
+ 252,
2281
+ 255,
2282
+ 258,
2283
+ 261,
2284
+ 264,
2285
+ 267,
2286
+ 270,
2287
+ 273,
2288
+ 276,
2289
+ 279,
2290
+ 282,
2291
+ 285,
2292
+ 288,
2293
+ 291,
2294
+ 294,
2295
+ 297,
2296
+ 300,
2297
+ 303,
2298
+ 306,
2299
+ 309,
2300
+ 312,
2301
+ 315,
2302
+ 318,
2303
+ 321,
2304
+ 324,
2305
+ 327,
2306
+ 330,
2307
+ 333,
2308
+ 336,
2309
+ 339,
2310
+ 342,
2311
+ 345,
2312
+ 348,
2313
+ 351,
2314
+ 354,
2315
+ 357,
2316
+ 360,
2317
+ 363,
2318
+ 366,
2319
+ 369,
2320
+ 372,
2321
+ 375,
2322
+ 378,
2323
+ 381,
2324
+ 384,
2325
+ 387,
2326
+ 390,
2327
+ 393,
2328
+ 396,
2329
+ 399,
2330
+ 402,
2331
+ 405,
2332
+ 408,
2333
+ 411,
2334
+ 414,
2335
+ 417,
2336
+ 420,
2337
+ 423,
2338
+ 426,
2339
+ 429,
2340
+ 432,
2341
+ 435,
2342
+ 438,
2343
+ 441,
2344
+ 444,
2345
+ 447,
2346
+ 450,
2347
+ 453,
2348
+ 456,
2349
+ 458
2350
+ ],
2351
+ "rgb_read_inclusive_range": [
2352
+ 0,
2353
+ 458
2354
+ ],
2355
+ "cameras": [
2356
+ "front_camera",
2357
+ "right_camera"
2358
+ ],
2359
+ "all_action_indices": [
2360
+ 0,
2361
+ 458
2362
+ ],
2363
+ "all_proprio_indices": [
2364
+ 0,
2365
+ 459
2366
+ ]
2367
+ },
2368
+ {
2369
+ "demo_id": "demo_11",
2370
+ "descriptor_frames": [
2371
+ 0,
2372
+ 3,
2373
+ 6,
2374
+ 9,
2375
+ 12,
2376
+ 15,
2377
+ 18,
2378
+ 21,
2379
+ 24,
2380
+ 27,
2381
+ 30,
2382
+ 33,
2383
+ 36,
2384
+ 39,
2385
+ 42,
2386
+ 45,
2387
+ 48,
2388
+ 51,
2389
+ 54,
2390
+ 57,
2391
+ 60,
2392
+ 63,
2393
+ 66,
2394
+ 69,
2395
+ 72,
2396
+ 75,
2397
+ 78,
2398
+ 81,
2399
+ 84,
2400
+ 87,
2401
+ 90,
2402
+ 93,
2403
+ 96,
2404
+ 99,
2405
+ 102,
2406
+ 105,
2407
+ 108,
2408
+ 111,
2409
+ 114,
2410
+ 117,
2411
+ 120,
2412
+ 123,
2413
+ 126,
2414
+ 129,
2415
+ 132,
2416
+ 135,
2417
+ 138,
2418
+ 141,
2419
+ 144,
2420
+ 147,
2421
+ 150,
2422
+ 153,
2423
+ 156,
2424
+ 159,
2425
+ 162,
2426
+ 165,
2427
+ 168,
2428
+ 171,
2429
+ 174,
2430
+ 177,
2431
+ 180,
2432
+ 183,
2433
+ 186,
2434
+ 189,
2435
+ 192,
2436
+ 195,
2437
+ 198,
2438
+ 201,
2439
+ 204,
2440
+ 207,
2441
+ 210,
2442
+ 213,
2443
+ 216,
2444
+ 219,
2445
+ 222,
2446
+ 225,
2447
+ 228,
2448
+ 231,
2449
+ 234,
2450
+ 237,
2451
+ 240,
2452
+ 243,
2453
+ 246,
2454
+ 249,
2455
+ 252,
2456
+ 255,
2457
+ 258,
2458
+ 261,
2459
+ 264,
2460
+ 267,
2461
+ 270,
2462
+ 273,
2463
+ 276,
2464
+ 279,
2465
+ 282,
2466
+ 285,
2467
+ 288,
2468
+ 291,
2469
+ 294,
2470
+ 297,
2471
+ 300,
2472
+ 303,
2473
+ 306,
2474
+ 309,
2475
+ 312,
2476
+ 315,
2477
+ 318,
2478
+ 321,
2479
+ 324,
2480
+ 327,
2481
+ 330,
2482
+ 333,
2483
+ 336,
2484
+ 339,
2485
+ 342,
2486
+ 345,
2487
+ 348,
2488
+ 351,
2489
+ 354,
2490
+ 357,
2491
+ 360,
2492
+ 363,
2493
+ 366,
2494
+ 369,
2495
+ 372,
2496
+ 375,
2497
+ 378,
2498
+ 381,
2499
+ 384,
2500
+ 387,
2501
+ 390,
2502
+ 393,
2503
+ 396,
2504
+ 399,
2505
+ 402,
2506
+ 405,
2507
+ 408,
2508
+ 411,
2509
+ 414,
2510
+ 417,
2511
+ 420,
2512
+ 423,
2513
+ 426,
2514
+ 429,
2515
+ 432,
2516
+ 435,
2517
+ 438,
2518
+ 441,
2519
+ 444,
2520
+ 447,
2521
+ 450,
2522
+ 452
2523
+ ],
2524
+ "rgb_read_inclusive_range": [
2525
+ 0,
2526
+ 452
2527
+ ],
2528
+ "cameras": [
2529
+ "front_camera",
2530
+ "right_camera"
2531
+ ],
2532
+ "all_action_indices": [
2533
+ 0,
2534
+ 452
2535
+ ],
2536
+ "all_proprio_indices": [
2537
+ 0,
2538
+ 453
2539
+ ]
2540
+ },
2541
+ {
2542
+ "demo_id": "demo_12",
2543
+ "descriptor_frames": [
2544
+ 0,
2545
+ 3,
2546
+ 6,
2547
+ 9,
2548
+ 12,
2549
+ 15,
2550
+ 18,
2551
+ 21,
2552
+ 24,
2553
+ 27,
2554
+ 30,
2555
+ 33,
2556
+ 36,
2557
+ 39,
2558
+ 42,
2559
+ 45,
2560
+ 48,
2561
+ 51,
2562
+ 54,
2563
+ 57,
2564
+ 60,
2565
+ 63,
2566
+ 66,
2567
+ 69,
2568
+ 72,
2569
+ 75,
2570
+ 78,
2571
+ 81,
2572
+ 84,
2573
+ 87,
2574
+ 90,
2575
+ 93,
2576
+ 96,
2577
+ 99,
2578
+ 102,
2579
+ 105,
2580
+ 108,
2581
+ 111,
2582
+ 114,
2583
+ 117,
2584
+ 120,
2585
+ 123,
2586
+ 126,
2587
+ 129,
2588
+ 132,
2589
+ 135,
2590
+ 138,
2591
+ 141,
2592
+ 144,
2593
+ 147,
2594
+ 150,
2595
+ 153,
2596
+ 156,
2597
+ 159,
2598
+ 162,
2599
+ 165,
2600
+ 168,
2601
+ 171,
2602
+ 174,
2603
+ 177,
2604
+ 180,
2605
+ 183,
2606
+ 186,
2607
+ 189,
2608
+ 192,
2609
+ 195,
2610
+ 198,
2611
+ 201,
2612
+ 204,
2613
+ 207,
2614
+ 210,
2615
+ 213,
2616
+ 216,
2617
+ 219,
2618
+ 222,
2619
+ 225,
2620
+ 228,
2621
+ 231,
2622
+ 234,
2623
+ 237,
2624
+ 240,
2625
+ 243,
2626
+ 246,
2627
+ 249,
2628
+ 252,
2629
+ 255,
2630
+ 258,
2631
+ 261,
2632
+ 264,
2633
+ 267,
2634
+ 270,
2635
+ 273,
2636
+ 276,
2637
+ 279,
2638
+ 282,
2639
+ 285,
2640
+ 288,
2641
+ 291,
2642
+ 294,
2643
+ 297,
2644
+ 300,
2645
+ 303,
2646
+ 306,
2647
+ 309,
2648
+ 312,
2649
+ 315,
2650
+ 318,
2651
+ 321,
2652
+ 324,
2653
+ 327,
2654
+ 330,
2655
+ 333,
2656
+ 336,
2657
+ 339,
2658
+ 342,
2659
+ 345,
2660
+ 348,
2661
+ 351,
2662
+ 354,
2663
+ 357,
2664
+ 360,
2665
+ 363,
2666
+ 366,
2667
+ 369,
2668
+ 372,
2669
+ 375,
2670
+ 378,
2671
+ 381,
2672
+ 384,
2673
+ 387,
2674
+ 390,
2675
+ 393,
2676
+ 396,
2677
+ 399,
2678
+ 402,
2679
+ 405,
2680
+ 408,
2681
+ 411,
2682
+ 414,
2683
+ 417,
2684
+ 420,
2685
+ 423,
2686
+ 426,
2687
+ 429,
2688
+ 432,
2689
+ 435,
2690
+ 438,
2691
+ 441,
2692
+ 444,
2693
+ 447,
2694
+ 450,
2695
+ 453,
2696
+ 456,
2697
+ 459,
2698
+ 462,
2699
+ 465,
2700
+ 468,
2701
+ 471,
2702
+ 474,
2703
+ 477,
2704
+ 480,
2705
+ 483,
2706
+ 486,
2707
+ 489,
2708
+ 492,
2709
+ 495,
2710
+ 498,
2711
+ 501,
2712
+ 504,
2713
+ 507,
2714
+ 509
2715
+ ],
2716
+ "rgb_read_inclusive_range": [
2717
+ 0,
2718
+ 509
2719
+ ],
2720
+ "cameras": [
2721
+ "front_camera",
2722
+ "right_camera"
2723
+ ],
2724
+ "all_action_indices": [
2725
+ 0,
2726
+ 509
2727
+ ],
2728
+ "all_proprio_indices": [
2729
+ 0,
2730
+ 510
2731
+ ]
2732
+ },
2733
+ {
2734
+ "demo_id": "demo_13",
2735
+ "descriptor_frames": [
2736
+ 0,
2737
+ 3,
2738
+ 6,
2739
+ 9,
2740
+ 12,
2741
+ 15,
2742
+ 18,
2743
+ 21,
2744
+ 24,
2745
+ 27,
2746
+ 30,
2747
+ 33,
2748
+ 36,
2749
+ 39,
2750
+ 42,
2751
+ 45,
2752
+ 48,
2753
+ 51,
2754
+ 54,
2755
+ 57,
2756
+ 60,
2757
+ 63,
2758
+ 66,
2759
+ 69,
2760
+ 72,
2761
+ 75,
2762
+ 78,
2763
+ 81,
2764
+ 84,
2765
+ 87,
2766
+ 90,
2767
+ 93,
2768
+ 96,
2769
+ 99,
2770
+ 102,
2771
+ 105,
2772
+ 108,
2773
+ 111,
2774
+ 114,
2775
+ 117,
2776
+ 120,
2777
+ 123,
2778
+ 126,
2779
+ 129,
2780
+ 132,
2781
+ 135,
2782
+ 138,
2783
+ 141,
2784
+ 144,
2785
+ 147,
2786
+ 150,
2787
+ 153,
2788
+ 156,
2789
+ 159,
2790
+ 162,
2791
+ 165,
2792
+ 168,
2793
+ 171,
2794
+ 174,
2795
+ 177,
2796
+ 180,
2797
+ 183,
2798
+ 186,
2799
+ 189,
2800
+ 192,
2801
+ 195,
2802
+ 198,
2803
+ 201,
2804
+ 204,
2805
+ 207,
2806
+ 210,
2807
+ 213,
2808
+ 216,
2809
+ 219,
2810
+ 222,
2811
+ 225,
2812
+ 228,
2813
+ 231,
2814
+ 234,
2815
+ 237,
2816
+ 240,
2817
+ 243,
2818
+ 246,
2819
+ 249,
2820
+ 252,
2821
+ 255,
2822
+ 258,
2823
+ 261,
2824
+ 264,
2825
+ 267,
2826
+ 270,
2827
+ 273,
2828
+ 276,
2829
+ 279,
2830
+ 282,
2831
+ 285,
2832
+ 288,
2833
+ 291,
2834
+ 294,
2835
+ 297,
2836
+ 300,
2837
+ 303,
2838
+ 306,
2839
+ 309,
2840
+ 312,
2841
+ 315,
2842
+ 318,
2843
+ 321,
2844
+ 324,
2845
+ 327,
2846
+ 330,
2847
+ 333,
2848
+ 336,
2849
+ 339,
2850
+ 342,
2851
+ 345,
2852
+ 348,
2853
+ 351,
2854
+ 354,
2855
+ 357,
2856
+ 360,
2857
+ 363,
2858
+ 366,
2859
+ 369,
2860
+ 372,
2861
+ 375,
2862
+ 378,
2863
+ 381,
2864
+ 384,
2865
+ 387,
2866
+ 390,
2867
+ 393,
2868
+ 396,
2869
+ 399,
2870
+ 402,
2871
+ 405,
2872
+ 408,
2873
+ 411,
2874
+ 414,
2875
+ 417,
2876
+ 420,
2877
+ 423,
2878
+ 426,
2879
+ 429,
2880
+ 432,
2881
+ 435,
2882
+ 438,
2883
+ 441,
2884
+ 444,
2885
+ 447,
2886
+ 450,
2887
+ 453,
2888
+ 456,
2889
+ 459,
2890
+ 462,
2891
+ 465,
2892
+ 468,
2893
+ 471,
2894
+ 474,
2895
+ 477,
2896
+ 480,
2897
+ 483,
2898
+ 486,
2899
+ 489,
2900
+ 492,
2901
+ 495,
2902
+ 498,
2903
+ 501,
2904
+ 504,
2905
+ 507,
2906
+ 510,
2907
+ 513,
2908
+ 516,
2909
+ 519,
2910
+ 522,
2911
+ 525,
2912
+ 528,
2913
+ 531,
2914
+ 534,
2915
+ 537,
2916
+ 540,
2917
+ 543,
2918
+ 546,
2919
+ 549,
2920
+ 552,
2921
+ 555,
2922
+ 558,
2923
+ 561,
2924
+ 564,
2925
+ 567,
2926
+ 570,
2927
+ 573,
2928
+ 576,
2929
+ 579,
2930
+ 582,
2931
+ 585,
2932
+ 588,
2933
+ 591,
2934
+ 594,
2935
+ 597,
2936
+ 600,
2937
+ 603,
2938
+ 606,
2939
+ 609,
2940
+ 612,
2941
+ 615,
2942
+ 618,
2943
+ 621,
2944
+ 624,
2945
+ 627,
2946
+ 630,
2947
+ 633,
2948
+ 636,
2949
+ 639,
2950
+ 642,
2951
+ 645,
2952
+ 648,
2953
+ 651,
2954
+ 654,
2955
+ 657,
2956
+ 660,
2957
+ 663,
2958
+ 666,
2959
+ 669,
2960
+ 672,
2961
+ 675,
2962
+ 678,
2963
+ 681,
2964
+ 684,
2965
+ 687,
2966
+ 690,
2967
+ 693,
2968
+ 696,
2969
+ 698
2970
+ ],
2971
+ "rgb_read_inclusive_range": [
2972
+ 0,
2973
+ 698
2974
+ ],
2975
+ "cameras": [
2976
+ "front_camera",
2977
+ "right_camera"
2978
+ ],
2979
+ "all_action_indices": [
2980
+ 0,
2981
+ 698
2982
+ ],
2983
+ "all_proprio_indices": [
2984
+ 0,
2985
+ 699
2986
+ ]
2987
+ },
2988
+ {
2989
+ "demo_id": "demo_14",
2990
+ "descriptor_frames": [
2991
+ 0,
2992
+ 3,
2993
+ 6,
2994
+ 9,
2995
+ 12,
2996
+ 15,
2997
+ 18,
2998
+ 21,
2999
+ 24,
3000
+ 27,
3001
+ 30,
3002
+ 33,
3003
+ 36,
3004
+ 39,
3005
+ 42,
3006
+ 45,
3007
+ 48,
3008
+ 51,
3009
+ 54,
3010
+ 57,
3011
+ 60,
3012
+ 63,
3013
+ 66,
3014
+ 69,
3015
+ 72,
3016
+ 75,
3017
+ 78,
3018
+ 81,
3019
+ 84,
3020
+ 87,
3021
+ 90,
3022
+ 93,
3023
+ 96,
3024
+ 99,
3025
+ 102,
3026
+ 105,
3027
+ 108,
3028
+ 111,
3029
+ 114,
3030
+ 117,
3031
+ 120,
3032
+ 123,
3033
+ 126,
3034
+ 129,
3035
+ 132,
3036
+ 135,
3037
+ 138,
3038
+ 141,
3039
+ 144,
3040
+ 147,
3041
+ 150,
3042
+ 153,
3043
+ 156,
3044
+ 159,
3045
+ 162,
3046
+ 165,
3047
+ 168,
3048
+ 171,
3049
+ 174,
3050
+ 177,
3051
+ 180,
3052
+ 183,
3053
+ 186,
3054
+ 189,
3055
+ 192,
3056
+ 195,
3057
+ 198,
3058
+ 201,
3059
+ 204,
3060
+ 207,
3061
+ 210,
3062
+ 213,
3063
+ 216,
3064
+ 219,
3065
+ 222,
3066
+ 225,
3067
+ 228,
3068
+ 231,
3069
+ 234,
3070
+ 237,
3071
+ 240,
3072
+ 243,
3073
+ 246,
3074
+ 249,
3075
+ 252,
3076
+ 255,
3077
+ 258,
3078
+ 261,
3079
+ 264,
3080
+ 267,
3081
+ 270,
3082
+ 273,
3083
+ 276,
3084
+ 279,
3085
+ 282,
3086
+ 285,
3087
+ 288,
3088
+ 291,
3089
+ 294,
3090
+ 297,
3091
+ 300,
3092
+ 303,
3093
+ 306,
3094
+ 309,
3095
+ 312,
3096
+ 315,
3097
+ 318,
3098
+ 321,
3099
+ 324,
3100
+ 327,
3101
+ 330,
3102
+ 333,
3103
+ 336,
3104
+ 339,
3105
+ 342,
3106
+ 345,
3107
+ 348,
3108
+ 351,
3109
+ 354,
3110
+ 357,
3111
+ 360,
3112
+ 363,
3113
+ 366,
3114
+ 369,
3115
+ 372,
3116
+ 375,
3117
+ 378,
3118
+ 381,
3119
+ 384,
3120
+ 387,
3121
+ 390,
3122
+ 393,
3123
+ 396,
3124
+ 399,
3125
+ 402,
3126
+ 405,
3127
+ 408,
3128
+ 411,
3129
+ 414,
3130
+ 417,
3131
+ 420,
3132
+ 423,
3133
+ 426,
3134
+ 429,
3135
+ 432,
3136
+ 435,
3137
+ 438
3138
+ ],
3139
+ "rgb_read_inclusive_range": [
3140
+ 0,
3141
+ 438
3142
+ ],
3143
+ "cameras": [
3144
+ "front_camera",
3145
+ "right_camera"
3146
+ ],
3147
+ "all_action_indices": [
3148
+ 0,
3149
+ 438
3150
+ ],
3151
+ "all_proprio_indices": [
3152
+ 0,
3153
+ 439
3154
+ ]
3155
+ },
3156
+ {
3157
+ "demo_id": "demo_15",
3158
+ "descriptor_frames": [
3159
+ 0,
3160
+ 3,
3161
+ 6,
3162
+ 9,
3163
+ 12,
3164
+ 15,
3165
+ 18,
3166
+ 21,
3167
+ 24,
3168
+ 27,
3169
+ 30,
3170
+ 33,
3171
+ 36,
3172
+ 39,
3173
+ 42,
3174
+ 45,
3175
+ 48,
3176
+ 51,
3177
+ 54,
3178
+ 57,
3179
+ 60,
3180
+ 63,
3181
+ 66,
3182
+ 69,
3183
+ 72,
3184
+ 75,
3185
+ 78,
3186
+ 81,
3187
+ 84,
3188
+ 87,
3189
+ 90,
3190
+ 93,
3191
+ 96,
3192
+ 99,
3193
+ 102,
3194
+ 105,
3195
+ 108,
3196
+ 111,
3197
+ 114,
3198
+ 117,
3199
+ 120,
3200
+ 123,
3201
+ 126,
3202
+ 129,
3203
+ 132,
3204
+ 135,
3205
+ 138,
3206
+ 141,
3207
+ 144,
3208
+ 147,
3209
+ 150,
3210
+ 153,
3211
+ 156,
3212
+ 159,
3213
+ 162,
3214
+ 165,
3215
+ 168,
3216
+ 171,
3217
+ 174,
3218
+ 177,
3219
+ 180,
3220
+ 183,
3221
+ 186,
3222
+ 189,
3223
+ 192,
3224
+ 195,
3225
+ 198,
3226
+ 201,
3227
+ 204,
3228
+ 207,
3229
+ 210,
3230
+ 213,
3231
+ 216,
3232
+ 219,
3233
+ 222,
3234
+ 225,
3235
+ 228,
3236
+ 231,
3237
+ 234,
3238
+ 237,
3239
+ 240,
3240
+ 243,
3241
+ 246,
3242
+ 249,
3243
+ 252,
3244
+ 255,
3245
+ 258,
3246
+ 261,
3247
+ 264,
3248
+ 267,
3249
+ 270,
3250
+ 273,
3251
+ 276,
3252
+ 279,
3253
+ 282,
3254
+ 285,
3255
+ 288,
3256
+ 291,
3257
+ 294,
3258
+ 297,
3259
+ 300,
3260
+ 303,
3261
+ 306,
3262
+ 309,
3263
+ 312,
3264
+ 315,
3265
+ 318,
3266
+ 321,
3267
+ 324,
3268
+ 327,
3269
+ 330,
3270
+ 333,
3271
+ 336,
3272
+ 339,
3273
+ 342,
3274
+ 345,
3275
+ 348,
3276
+ 351,
3277
+ 354,
3278
+ 357,
3279
+ 360,
3280
+ 363,
3281
+ 366,
3282
+ 369,
3283
+ 372,
3284
+ 375,
3285
+ 378,
3286
+ 381,
3287
+ 384,
3288
+ 387,
3289
+ 390,
3290
+ 393,
3291
+ 396,
3292
+ 399,
3293
+ 402,
3294
+ 405,
3295
+ 408,
3296
+ 411,
3297
+ 414,
3298
+ 417,
3299
+ 420,
3300
+ 423,
3301
+ 426,
3302
+ 429,
3303
+ 432,
3304
+ 435,
3305
+ 438,
3306
+ 441,
3307
+ 444,
3308
+ 447,
3309
+ 450,
3310
+ 453,
3311
+ 456,
3312
+ 459,
3313
+ 462,
3314
+ 465,
3315
+ 468,
3316
+ 471,
3317
+ 474,
3318
+ 477,
3319
+ 480,
3320
+ 483,
3321
+ 486,
3322
+ 489,
3323
+ 492,
3324
+ 495,
3325
+ 498,
3326
+ 501,
3327
+ 504,
3328
+ 507,
3329
+ 510,
3330
+ 513,
3331
+ 516,
3332
+ 519,
3333
+ 522,
3334
+ 525,
3335
+ 528,
3336
+ 531,
3337
+ 534,
3338
+ 537,
3339
+ 540,
3340
+ 543,
3341
+ 546,
3342
+ 549,
3343
+ 552,
3344
+ 555,
3345
+ 558,
3346
+ 561,
3347
+ 564,
3348
+ 567,
3349
+ 570,
3350
+ 573,
3351
+ 576,
3352
+ 579,
3353
+ 582,
3354
+ 585,
3355
+ 588,
3356
+ 591,
3357
+ 594,
3358
+ 597,
3359
+ 600,
3360
+ 603,
3361
+ 606,
3362
+ 609,
3363
+ 612,
3364
+ 615,
3365
+ 618,
3366
+ 621,
3367
+ 624,
3368
+ 627,
3369
+ 630,
3370
+ 633,
3371
+ 636,
3372
+ 639,
3373
+ 642,
3374
+ 645,
3375
+ 648,
3376
+ 651,
3377
+ 654,
3378
+ 657,
3379
+ 660,
3380
+ 663,
3381
+ 666,
3382
+ 669,
3383
+ 672,
3384
+ 675,
3385
+ 678,
3386
+ 681,
3387
+ 682
3388
+ ],
3389
+ "rgb_read_inclusive_range": [
3390
+ 0,
3391
+ 682
3392
+ ],
3393
+ "cameras": [
3394
+ "front_camera",
3395
+ "right_camera"
3396
+ ],
3397
+ "all_action_indices": [
3398
+ 0,
3399
+ 682
3400
+ ],
3401
+ "all_proprio_indices": [
3402
+ 0,
3403
+ 683
3404
+ ]
3405
+ },
3406
+ {
3407
+ "demo_id": "demo_16",
3408
+ "descriptor_frames": [
3409
+ 0,
3410
+ 3,
3411
+ 6,
3412
+ 9,
3413
+ 12,
3414
+ 15,
3415
+ 18,
3416
+ 21,
3417
+ 24,
3418
+ 27,
3419
+ 30,
3420
+ 33,
3421
+ 36,
3422
+ 39,
3423
+ 42,
3424
+ 45,
3425
+ 48,
3426
+ 51,
3427
+ 54,
3428
+ 57,
3429
+ 60,
3430
+ 63,
3431
+ 66,
3432
+ 69,
3433
+ 72,
3434
+ 75,
3435
+ 78,
3436
+ 81,
3437
+ 84,
3438
+ 87,
3439
+ 90,
3440
+ 93,
3441
+ 96,
3442
+ 99,
3443
+ 102,
3444
+ 105,
3445
+ 108,
3446
+ 111,
3447
+ 114,
3448
+ 117,
3449
+ 120,
3450
+ 123,
3451
+ 126,
3452
+ 129,
3453
+ 132,
3454
+ 135,
3455
+ 138,
3456
+ 141,
3457
+ 144,
3458
+ 147,
3459
+ 150,
3460
+ 153,
3461
+ 156,
3462
+ 159,
3463
+ 162,
3464
+ 165,
3465
+ 168,
3466
+ 171,
3467
+ 174,
3468
+ 177,
3469
+ 180,
3470
+ 183,
3471
+ 186,
3472
+ 189,
3473
+ 192,
3474
+ 195,
3475
+ 198,
3476
+ 201,
3477
+ 204,
3478
+ 207,
3479
+ 210,
3480
+ 213,
3481
+ 216,
3482
+ 219,
3483
+ 222,
3484
+ 225,
3485
+ 228,
3486
+ 231,
3487
+ 234,
3488
+ 237,
3489
+ 240,
3490
+ 243,
3491
+ 246,
3492
+ 249,
3493
+ 252,
3494
+ 255,
3495
+ 258,
3496
+ 261,
3497
+ 264,
3498
+ 267,
3499
+ 270,
3500
+ 273,
3501
+ 276,
3502
+ 279,
3503
+ 282,
3504
+ 285,
3505
+ 288,
3506
+ 291,
3507
+ 294,
3508
+ 297,
3509
+ 300,
3510
+ 303,
3511
+ 306,
3512
+ 309,
3513
+ 312,
3514
+ 315,
3515
+ 318,
3516
+ 321,
3517
+ 324,
3518
+ 327,
3519
+ 330,
3520
+ 333,
3521
+ 336,
3522
+ 339,
3523
+ 342,
3524
+ 345,
3525
+ 348,
3526
+ 351,
3527
+ 354,
3528
+ 357,
3529
+ 360,
3530
+ 363,
3531
+ 366,
3532
+ 369,
3533
+ 372,
3534
+ 375,
3535
+ 378,
3536
+ 381,
3537
+ 384,
3538
+ 387,
3539
+ 390,
3540
+ 393,
3541
+ 396,
3542
+ 399,
3543
+ 402,
3544
+ 405,
3545
+ 408,
3546
+ 411,
3547
+ 414,
3548
+ 417,
3549
+ 420,
3550
+ 423,
3551
+ 426,
3552
+ 429,
3553
+ 432,
3554
+ 435,
3555
+ 438,
3556
+ 441,
3557
+ 444,
3558
+ 447,
3559
+ 450,
3560
+ 453,
3561
+ 456,
3562
+ 459,
3563
+ 462,
3564
+ 465,
3565
+ 468,
3566
+ 471,
3567
+ 474,
3568
+ 477,
3569
+ 480,
3570
+ 483,
3571
+ 485
3572
+ ],
3573
+ "rgb_read_inclusive_range": [
3574
+ 0,
3575
+ 485
3576
+ ],
3577
+ "cameras": [
3578
+ "front_camera",
3579
+ "right_camera"
3580
+ ],
3581
+ "all_action_indices": [
3582
+ 0,
3583
+ 485
3584
+ ],
3585
+ "all_proprio_indices": [
3586
+ 0,
3587
+ 486
3588
+ ]
3589
+ },
3590
+ {
3591
+ "demo_id": "demo_17",
3592
+ "descriptor_frames": [
3593
+ 0,
3594
+ 3,
3595
+ 6,
3596
+ 9,
3597
+ 12,
3598
+ 15,
3599
+ 18,
3600
+ 21,
3601
+ 24,
3602
+ 27,
3603
+ 30,
3604
+ 33,
3605
+ 36,
3606
+ 39,
3607
+ 42,
3608
+ 45,
3609
+ 48,
3610
+ 51,
3611
+ 54,
3612
+ 57,
3613
+ 60,
3614
+ 63,
3615
+ 66,
3616
+ 69,
3617
+ 72,
3618
+ 75,
3619
+ 78,
3620
+ 81,
3621
+ 84,
3622
+ 87,
3623
+ 90,
3624
+ 93,
3625
+ 96,
3626
+ 99,
3627
+ 102,
3628
+ 105,
3629
+ 108,
3630
+ 111,
3631
+ 114,
3632
+ 117,
3633
+ 120,
3634
+ 123,
3635
+ 126,
3636
+ 129,
3637
+ 132,
3638
+ 135,
3639
+ 138,
3640
+ 141,
3641
+ 144,
3642
+ 147,
3643
+ 150,
3644
+ 153,
3645
+ 156,
3646
+ 159,
3647
+ 162,
3648
+ 165,
3649
+ 168,
3650
+ 171,
3651
+ 174,
3652
+ 177,
3653
+ 180,
3654
+ 183,
3655
+ 186,
3656
+ 189,
3657
+ 192,
3658
+ 195,
3659
+ 198,
3660
+ 201,
3661
+ 204,
3662
+ 207,
3663
+ 210,
3664
+ 213,
3665
+ 216,
3666
+ 219,
3667
+ 222,
3668
+ 225,
3669
+ 228,
3670
+ 231,
3671
+ 234,
3672
+ 237,
3673
+ 240,
3674
+ 243,
3675
+ 246,
3676
+ 249,
3677
+ 252,
3678
+ 255,
3679
+ 258,
3680
+ 261,
3681
+ 264,
3682
+ 267,
3683
+ 270,
3684
+ 273,
3685
+ 276,
3686
+ 279,
3687
+ 282,
3688
+ 285,
3689
+ 288,
3690
+ 291,
3691
+ 294,
3692
+ 297,
3693
+ 300,
3694
+ 303,
3695
+ 306,
3696
+ 309,
3697
+ 312,
3698
+ 315,
3699
+ 318,
3700
+ 321,
3701
+ 324,
3702
+ 327,
3703
+ 330,
3704
+ 333,
3705
+ 336
3706
+ ],
3707
+ "rgb_read_inclusive_range": [
3708
+ 0,
3709
+ 336
3710
+ ],
3711
+ "cameras": [
3712
+ "front_camera",
3713
+ "right_camera"
3714
+ ],
3715
+ "all_action_indices": [
3716
+ 0,
3717
+ 336
3718
+ ],
3719
+ "all_proprio_indices": [
3720
+ 0,
3721
+ 337
3722
+ ]
3723
+ },
3724
+ {
3725
+ "demo_id": "demo_18",
3726
+ "descriptor_frames": [
3727
+ 0,
3728
+ 3,
3729
+ 6,
3730
+ 9,
3731
+ 12,
3732
+ 15,
3733
+ 18,
3734
+ 21,
3735
+ 24,
3736
+ 27,
3737
+ 30,
3738
+ 33,
3739
+ 36,
3740
+ 39,
3741
+ 42,
3742
+ 45,
3743
+ 48,
3744
+ 51,
3745
+ 54,
3746
+ 57,
3747
+ 60,
3748
+ 63,
3749
+ 66,
3750
+ 69,
3751
+ 72,
3752
+ 75,
3753
+ 78,
3754
+ 81,
3755
+ 84,
3756
+ 87,
3757
+ 90,
3758
+ 93,
3759
+ 96,
3760
+ 99,
3761
+ 102,
3762
+ 105,
3763
+ 108,
3764
+ 111,
3765
+ 114,
3766
+ 117,
3767
+ 120,
3768
+ 123,
3769
+ 126,
3770
+ 129,
3771
+ 132,
3772
+ 135,
3773
+ 138,
3774
+ 141,
3775
+ 144,
3776
+ 147,
3777
+ 150,
3778
+ 153,
3779
+ 156,
3780
+ 159,
3781
+ 162,
3782
+ 165,
3783
+ 168,
3784
+ 171,
3785
+ 174,
3786
+ 177,
3787
+ 180,
3788
+ 183,
3789
+ 186,
3790
+ 189,
3791
+ 192,
3792
+ 195,
3793
+ 198,
3794
+ 201,
3795
+ 204,
3796
+ 207,
3797
+ 210,
3798
+ 213,
3799
+ 216,
3800
+ 219,
3801
+ 222,
3802
+ 225,
3803
+ 228,
3804
+ 231,
3805
+ 234,
3806
+ 237,
3807
+ 240,
3808
+ 243,
3809
+ 246,
3810
+ 249,
3811
+ 252,
3812
+ 255,
3813
+ 258,
3814
+ 261,
3815
+ 264,
3816
+ 267,
3817
+ 270,
3818
+ 273,
3819
+ 276,
3820
+ 279,
3821
+ 282,
3822
+ 285,
3823
+ 288,
3824
+ 291,
3825
+ 294,
3826
+ 297,
3827
+ 300,
3828
+ 303,
3829
+ 306,
3830
+ 309,
3831
+ 312,
3832
+ 315,
3833
+ 318,
3834
+ 321,
3835
+ 324,
3836
+ 327,
3837
+ 330,
3838
+ 333,
3839
+ 336,
3840
+ 339,
3841
+ 342,
3842
+ 345,
3843
+ 348,
3844
+ 351,
3845
+ 354,
3846
+ 357,
3847
+ 360,
3848
+ 363,
3849
+ 366,
3850
+ 369,
3851
+ 372,
3852
+ 375,
3853
+ 378,
3854
+ 381,
3855
+ 384,
3856
+ 387,
3857
+ 390,
3858
+ 393,
3859
+ 396,
3860
+ 399,
3861
+ 402,
3862
+ 405,
3863
+ 408,
3864
+ 411,
3865
+ 414,
3866
+ 417,
3867
+ 420,
3868
+ 423,
3869
+ 426,
3870
+ 429,
3871
+ 432,
3872
+ 435,
3873
+ 438,
3874
+ 441,
3875
+ 444,
3876
+ 447,
3877
+ 450,
3878
+ 453,
3879
+ 456,
3880
+ 459,
3881
+ 462,
3882
+ 465,
3883
+ 468,
3884
+ 471,
3885
+ 474,
3886
+ 477,
3887
+ 480,
3888
+ 483,
3889
+ 486,
3890
+ 489,
3891
+ 492,
3892
+ 495,
3893
+ 498,
3894
+ 501,
3895
+ 504,
3896
+ 507,
3897
+ 510,
3898
+ 513,
3899
+ 516,
3900
+ 519,
3901
+ 522,
3902
+ 525,
3903
+ 528,
3904
+ 531,
3905
+ 534,
3906
+ 537,
3907
+ 540,
3908
+ 543,
3909
+ 546,
3910
+ 549,
3911
+ 552,
3912
+ 555,
3913
+ 558,
3914
+ 561,
3915
+ 564,
3916
+ 567,
3917
+ 570,
3918
+ 573,
3919
+ 576,
3920
+ 579,
3921
+ 582,
3922
+ 585,
3923
+ 588,
3924
+ 591,
3925
+ 594,
3926
+ 597,
3927
+ 600,
3928
+ 603,
3929
+ 606,
3930
+ 609,
3931
+ 612,
3932
+ 615,
3933
+ 618,
3934
+ 621,
3935
+ 624,
3936
+ 627,
3937
+ 630,
3938
+ 633,
3939
+ 636,
3940
+ 639,
3941
+ 642,
3942
+ 645,
3943
+ 648,
3944
+ 651,
3945
+ 654,
3946
+ 657,
3947
+ 660,
3948
+ 663,
3949
+ 666,
3950
+ 669,
3951
+ 672,
3952
+ 675,
3953
+ 678,
3954
+ 681,
3955
+ 684,
3956
+ 687,
3957
+ 690,
3958
+ 693,
3959
+ 696,
3960
+ 699,
3961
+ 702,
3962
+ 705,
3963
+ 708,
3964
+ 711,
3965
+ 714,
3966
+ 717,
3967
+ 720,
3968
+ 723,
3969
+ 726,
3970
+ 729
3971
+ ],
3972
+ "rgb_read_inclusive_range": [
3973
+ 0,
3974
+ 729
3975
+ ],
3976
+ "cameras": [
3977
+ "front_camera",
3978
+ "right_camera"
3979
+ ],
3980
+ "all_action_indices": [
3981
+ 0,
3982
+ 729
3983
+ ],
3984
+ "all_proprio_indices": [
3985
+ 0,
3986
+ 730
3987
+ ]
3988
+ },
3989
+ {
3990
+ "demo_id": "demo_19",
3991
+ "descriptor_frames": [
3992
+ 0,
3993
+ 3,
3994
+ 6,
3995
+ 9,
3996
+ 12,
3997
+ 15,
3998
+ 18,
3999
+ 21,
4000
+ 24,
4001
+ 27,
4002
+ 30,
4003
+ 33,
4004
+ 36,
4005
+ 39,
4006
+ 42,
4007
+ 45,
4008
+ 48,
4009
+ 51,
4010
+ 54,
4011
+ 57,
4012
+ 60,
4013
+ 63,
4014
+ 66,
4015
+ 69,
4016
+ 72,
4017
+ 75,
4018
+ 78,
4019
+ 81,
4020
+ 84,
4021
+ 87,
4022
+ 90,
4023
+ 93,
4024
+ 96,
4025
+ 99,
4026
+ 102,
4027
+ 105,
4028
+ 108,
4029
+ 111,
4030
+ 114,
4031
+ 117,
4032
+ 120,
4033
+ 123,
4034
+ 126,
4035
+ 129,
4036
+ 132,
4037
+ 135,
4038
+ 138,
4039
+ 141,
4040
+ 144,
4041
+ 147,
4042
+ 150,
4043
+ 153,
4044
+ 156,
4045
+ 159,
4046
+ 162,
4047
+ 165,
4048
+ 168,
4049
+ 171,
4050
+ 174,
4051
+ 177,
4052
+ 180,
4053
+ 183,
4054
+ 186,
4055
+ 189,
4056
+ 192,
4057
+ 195,
4058
+ 198,
4059
+ 201,
4060
+ 204,
4061
+ 207,
4062
+ 210,
4063
+ 213,
4064
+ 216,
4065
+ 219,
4066
+ 222,
4067
+ 225,
4068
+ 228,
4069
+ 231,
4070
+ 234,
4071
+ 237,
4072
+ 240,
4073
+ 243,
4074
+ 246,
4075
+ 249,
4076
+ 252,
4077
+ 255,
4078
+ 258,
4079
+ 261,
4080
+ 264,
4081
+ 267,
4082
+ 270,
4083
+ 273,
4084
+ 276,
4085
+ 279,
4086
+ 282,
4087
+ 285,
4088
+ 288,
4089
+ 291,
4090
+ 294,
4091
+ 297,
4092
+ 300,
4093
+ 303,
4094
+ 306,
4095
+ 309,
4096
+ 312,
4097
+ 315,
4098
+ 318,
4099
+ 321,
4100
+ 324,
4101
+ 327,
4102
+ 330,
4103
+ 333,
4104
+ 336,
4105
+ 339,
4106
+ 342,
4107
+ 345,
4108
+ 348,
4109
+ 351,
4110
+ 354,
4111
+ 357,
4112
+ 360,
4113
+ 363,
4114
+ 366,
4115
+ 369,
4116
+ 372,
4117
+ 375,
4118
+ 378,
4119
+ 381,
4120
+ 384,
4121
+ 387,
4122
+ 390,
4123
+ 393,
4124
+ 396,
4125
+ 399,
4126
+ 402,
4127
+ 405,
4128
+ 408,
4129
+ 411,
4130
+ 414,
4131
+ 417,
4132
+ 420,
4133
+ 423,
4134
+ 426,
4135
+ 429,
4136
+ 432,
4137
+ 435,
4138
+ 438,
4139
+ 441,
4140
+ 444,
4141
+ 447,
4142
+ 450,
4143
+ 453,
4144
+ 456,
4145
+ 459,
4146
+ 462,
4147
+ 465,
4148
+ 468,
4149
+ 471,
4150
+ 474,
4151
+ 477,
4152
+ 480,
4153
+ 483,
4154
+ 486,
4155
+ 489,
4156
+ 492,
4157
+ 495,
4158
+ 498,
4159
+ 501,
4160
+ 504,
4161
+ 507,
4162
+ 510
4163
+ ],
4164
+ "rgb_read_inclusive_range": [
4165
+ 0,
4166
+ 510
4167
+ ],
4168
+ "cameras": [
4169
+ "front_camera",
4170
+ "right_camera"
4171
+ ],
4172
+ "all_action_indices": [
4173
+ 0,
4174
+ 510
4175
+ ],
4176
+ "all_proprio_indices": [
4177
+ 0,
4178
+ 511
4179
+ ]
4180
+ }
4181
+ ]
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/registered_exploration_provenance.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "episode": 3,
4
+ "group": 103,
5
+ "rows": 4,
6
+ "eligible_path": false,
7
+ "reason": "sparse snapshots, not a complete path"
8
+ },
9
+ {
10
+ "episode": 5,
11
+ "group": 105,
12
+ "rows": 101,
13
+ "eligible_path": true,
14
+ "initial_observation": "exploration/ep05/start.pkl",
15
+ "center": [
16
+ 107.0815658569336,
17
+ 167.26785278320312
18
+ ],
19
+ "width_axis": [
20
+ 0.9126845598220825,
21
+ 0.4086647629737854
22
+ ],
23
+ "mask_pixels": 2162.0
24
+ },
25
+ {
26
+ "episode": 7,
27
+ "group": 107,
28
+ "rows": 107,
29
+ "eligible_path": true,
30
+ "initial_observation": "exploration/ep07/start.pkl",
31
+ "center": [
32
+ 108.58698272705078,
33
+ 166.44482421875
34
+ ],
35
+ "width_axis": [
36
+ 0.9758431315422058,
37
+ 0.21847252547740936
38
+ ],
39
+ "mask_pixels": 2061.0
40
+ }
41
+ ]
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/retrieval.py ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Unrehearsed D20 draft: non-neural observation-conditioned action retrieval.
2
+ No simulator, network, demo cursor, seed matching, or runtime training.
3
+ """
4
+ from pathlib import Path
5
+ import cv2
6
+ import numpy as np
7
+ from kinematics import fk
8
+
9
+ ROOT = Path(__file__).resolve().parent
10
+ ROBOTS = ('panda_leaphand-1', 'panda_leaphand_left-0')
11
+ CAMERAS = ('front_camera', 'right_camera')
12
+ _BANK = None
13
+ _calls = 0
14
+ _last_action = None
15
+ last_status = 'not_started'
16
+ _role = None
17
+ last_reference = None
18
+
19
+
20
+ def image_feature(rgb):
21
+ """Fixed central workspace crop; uint8 RGB, independent of scene identity."""
22
+ a = np.asarray(rgb)
23
+ if a.ndim == 4 and a.shape[0] == 1:
24
+ a = a[0]
25
+ if a.ndim != 3 or a.shape[2] != 3 or a.dtype != np.uint8:
26
+ raise ValueError('RGB must be uint8 HWC or 1HWC')
27
+ h, w = a.shape[:2]
28
+ if min(h, w) < 16:
29
+ raise ValueError('RGB too small')
30
+ crop = a[int(.18*h):int(.90*h), int(.20*w):int(.83*w)]
31
+ return cv2.resize(crop, (20, 16), interpolation=cv2.INTER_AREA).reshape(-1).astype(np.float32)/255.
32
+
33
+
34
+ def _load():
35
+ global _BANK
36
+ if _BANK is None:
37
+ with np.load(ROOT/'reference_bank.npz', allow_pickle=False) as f:
38
+ _BANK = {k: f[k] for k in f.files}
39
+ return _BANK
40
+
41
+
42
+ def reset_episode():
43
+ global _calls, _last_action, last_status, _role, last_reference
44
+ _calls = 0
45
+ _last_action = None
46
+ last_status = 'ready'
47
+ _role = None
48
+ last_reference = None
49
+
50
+
51
+ def act(obs):
52
+ """Return 44 normalized deltas in contract action_parts order, or None.
53
+ step_id 1 is AFTER the runner-owned hold. No extra initial hold is issued.
54
+ None is budget exhaustion or unsupported observation, never a success claim.
55
+ """
56
+ global _calls, _last_action, last_status, _role, last_reference
57
+ step = int(obs.get('step_id', _calls+1))
58
+ if step >= 800 or _calls >= 799:
59
+ last_status = 'native_horizon_exhausted'
60
+ return None
61
+ try:
62
+ p = obs['proprioception']
63
+ q = np.concatenate([np.asarray(p[f'agent/{r}/qpos'], dtype=np.float32).reshape(-1) for r in ROBOTS])
64
+ v = np.concatenate([np.asarray(p[f'agent/{r}/qvel'], dtype=np.float32).reshape(-1) for r in ROBOTS])
65
+ if q.shape != (46,) or v.shape != (46,) or not np.isfinite(q).all() or not np.isfinite(v).all():
66
+ raise ValueError('invalid proprioception')
67
+ feats = np.stack([image_feature(obs['rgb'][cam]) for cam in CAMERAS])
68
+ except (KeyError, ValueError, TypeError):
69
+ last_status = 'unsupported_observation'
70
+ return None
71
+ b = _load()
72
+ # Re-query ALL reference states every step. No locked demonstration or clock phase.
73
+ dq = (b['qpos']-q)/b['qscale']
74
+ qdist = np.mean(dq*dq, axis=1)
75
+ dv = np.clip((b['qvel']-v)/1.0, -3., 3.)
76
+ vdist = np.mean(dv*dv, axis=1)
77
+ visual = np.zeros(len(qdist), dtype=np.float32)
78
+ for i in range(len(CAMERAS)):
79
+ df = b['image'][:, i]-feats[i]
80
+ visual += np.mean(df*df, axis=1)/(0.12**2*len(CAMERAS))
81
+ distance = qdist + 1.5*visual + .01*vdist
82
+ if 'role' not in b:
83
+ b['role'] = np.zeros(len(b['action']), dtype=int)
84
+ for di in np.unique(b['demo_index']):
85
+ ii = np.flatnonzero(b['demo_index']==di)
86
+ role = int(np.linalg.norm(b['action'][ii[0],22:25]) > 0)
87
+ b['role'][ii] = role
88
+ b['pos'] = np.stack([fk(b['qpos'][:,i*23:i*23+7]) for i in range(2)],axis=1)
89
+ if _role is None:
90
+ _role = int(b['role'][np.argmin(distance)])
91
+ distance[b['role'] != _role] += 100.
92
+
93
+ best = int(np.argmin(distance))
94
+ # Unsupported appearance/configuration: finish without inventing recovery.
95
+ # Thresholds are hand-chosen draft settings, not calibrated by rollouts.
96
+ if qdist[best] > 9. or visual[best] > 5.:
97
+ last_status = 'outside_reference_support'
98
+ return None
99
+ near = np.argsort(distance)[:8]
100
+ anchor = b['action'][best]
101
+ last_reference = (int(b['demo_index'][best]),int(b['frame'][best]),float(qdist[best]),float(visual[best]))
102
+ # Avoid averaging opposing commands or different active-arm phases.
103
+ arm_idx = np.array([0,1,2,22,23,24])
104
+ near = near[np.max(np.abs(b['action'][near][:,arm_idx]-anchor[arm_idx]),axis=1) < .06]
105
+ if not len(near):
106
+ near = np.array([best])
107
+ weights = np.exp(-(distance[near]-distance[best])/.04)
108
+ action = np.sum(b['action'][near]*weights[:,None],axis=0)/np.sum(weights)
109
+ # Small Cartesian correction toward the retrieved demonstrated pose.
110
+ # Generic Panda FK is rotated into the observed action axes, validated
111
+ # from authorized demo qpos/action differences, without task state access.
112
+ for arm in range(2):
113
+ current = fk(q[arm*23:arm*23+7])
114
+ error = b['pos'][best,arm]-current
115
+ world = np.array([error[1],-error[0],error[2]]) if arm==0 else np.array([-error[1],error[0],error[2]])
116
+ action[arm*22:arm*22+3] += np.clip(3.*world,-.08,.08)
117
+ target = b['qpos'][best,arm*23+7:arm*23+23]
118
+ action[arm*22+6:arm*22+22] += np.clip(2.*(target-q[arm*23+7:arm*23+23])[np.array([4,0,8,12,5,1,9,13,6,2,10,14,3,7,11,15])],-.2,.2)
119
+ # Native box projection; no changes to native frequency or delta semantics.
120
+ action = np.clip(action, -1., 1.).astype(np.float32)
121
+ if action.shape != (44,) or not np.isfinite(action).all():
122
+ last_status = 'invalid_action'
123
+ return None
124
+ _calls += 1
125
+ _last_action = action.copy()
126
+ last_status = 'reference_action'
127
+ return action
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/skills.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Current compiled skills
2
+
3
+ 1. Read legal front/right RGB and both robots' qpos; choose an initial demonstration path by visible appearance. All 20 authorized demonstrations remain available in the fixed non-neural bank.
4
+ 2. Localize the gray lid in the legal top image using its dominant gray intensity and a connected-component rectangle. Estimate relative planar center/yaw from the chosen demo. This is approximate image registration, not calibrated hinge/contact sensing.
5
+ 3. Adjust demonstrated Cartesian hand positions using generic Panda serial-chain geometry and a projection fitted from legal demo motion. Ramp each arm's adjustment with its own motion to preserve sequential role timing.
6
+ 4. Re-select path progress each call from CURRENT hand positions, finger qpos, and front/right image descriptors. A local reference window limits large phase jumps. Translation preserves the demonstrated action rotated by the registered yaw, plus gain-3 Cartesian correction toward the current reference position, capped at 0.12 normalized per component. This retains contact motion even when a waypoint is reached. Rotation remains zero as in the demos.
7
+ 5. Retain demonstrated finger deltas and add bounded finger-position feedback using the inferred action-to-observed-joint permutation. Earlier exploration exposed and corrected the incorrect assumption of identical action/qpos ordering.
8
+ 6. Recover from reference ambiguity by advancing one row only after the active hand is observed within 12 mm of its lookahead following eight stalled decisions. This does not regrasp a lost object. Stop at the native horizon, a persistent terminal reference, or prolonged nonprogress. None never asserts success. No force sensing, verified grasp detector, or active regrasp recovery is implemented.
9
+
10
+ No neural weights, network, model agent, simulator, reset, or privileged scene state is used at runtime.
11
+
12
+
13
+ Continuation before episode 10: registered hybrid uses preserved demonstrated translation feedforward plus bounded Cartesian correction, observed local progression and permuted hand feedback. Bank includes successful legal exploration paths 5 and 7; sparse episode 3 is excluded from path selection. Episode 9 augmented retrieval ended at step 566 with native success false. Localization remains approximate; grasp is unverified and there is no hinge-angle estimator. Independent validation pending.
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/sparse_exploration_provenance.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "episode": 3,
3
+ "native_success": true,
4
+ "observation_action_frames": [
5
+ 0,
6
+ 99,
7
+ 199,
8
+ 299
9
+ ],
10
+ "source": "exploration/ep03",
11
+ "extra_demonstrations": 0
12
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/synthetic_check_results.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "passed": true,
3
+ "type": "syntax and synthetic-input only",
4
+ "reference_rows": 3759,
5
+ "synthetic_real_bank_call_seconds": 0.023926952853798866,
6
+ "real_bank_synthetic_status": "reference_action",
7
+ "environment_episodes": 0,
8
+ "task_success_evaluated": false
9
+ }
agent_d20_e20/frozen_20261102/tasks/DualArmOpenLaptop-v1/frozen/vision.py ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import cv2
2
+ import numpy as np
3
+
4
+ def laptop_pose(image):
5
+ a=cv2.resize(np.asarray(image).squeeze(),(240,320),interpolation=cv2.INTER_AREA)
6
+ spread=np.max(a,axis=2).astype(float)-np.min(a,axis=2)
7
+ gray=a.mean(2)
8
+ region=gray[65:265,45:215];sat=spread[65:265,45:215]
9
+ samples=region[(sat<8)&(region>75)&(region<140)].astype(int)
10
+ if len(samples)<100:raise ValueError('no gray lid')
11
+ mode=np.argmax(np.bincount(samples,minlength=256))
12
+ mask=((spread<10)&(abs(gray-mode)<4)).astype(np.uint8)
13
+ mask[:65]=0;mask[265:]=0;mask[:,:45]=0;mask[:,215:]=0
14
+ n,lab,stats,cent=cv2.connectedComponentsWithStats(mask)
15
+ if n<2:raise ValueError('no lid region')
16
+ i=1+np.argmax(stats[1:,cv2.CC_STAT_AREA]);ys,xs=np.where(lab==i)
17
+ if len(xs)<150:raise ValueError('small lid region')
18
+ rect=cv2.minAreaRect(np.stack([xs,ys],1).astype(np.float32));box=cv2.boxPoints(rect)
19
+ edges=np.roll(box,-1,axis=0)-box;vec=edges[np.argmax(np.linalg.norm(edges,axis=1))]
20
+ if vec[0]<0:vec=-vec
21
+ vec/=np.linalg.norm(vec)
22
+ return np.asarray(rect[0]),vec,float(len(xs)),box