README: merge back the three-action-space section and the anchored exec-N numbers (do not overwrite this file)
Browse files
README.md
CHANGED
|
@@ -16,6 +16,8 @@ action/latent head (`action_decoder.pt` β **required**, it is not inside the m
|
|
| 16 |
with the measured numbers and the exact deployment loop.
|
| 17 |
|
| 18 |
**Code:** https://github.com/DingTianxingjian/Latent_Free β branch `newton`, public, no token needed.
|
|
|
|
|
|
|
| 19 |
|
| 20 |
```bash
|
| 21 |
git clone -b newton https://github.com/DingTianxingjian/Latent_Free.git latent_free && cd latent_free
|
|
@@ -49,6 +51,20 @@ huggingface-cli download Potestates/TERRA --include "<dir>/*" --local-dir .
|
|
| 49 |
|
| 50 |
---
|
| 51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
## Inventory β which directories are **ours (TERRA)** and which are **controls / baselines**
|
| 53 |
|
| 54 |
Every policy here shares the same interface (LoRA r32 + flow-matching head + 4 query tokens, chunk 12). What differs
|
|
@@ -139,7 +155,11 @@ One model for **both** tasks (press_button x2 + pick-can mixture), using **chunk
|
|
| 139 |
per-step parameterisation from k>=2, slightly worse at k=0. Trained with the old backward sample window (magnitudes
|
| 140 |
under-predicted ~0.8x). **`press_button_anchored_fwd_step1500` is the first checkpoint with the window fixed**
|
| 141 |
(press-button only, snapshot of a run still training): its error stops growing with chunk position β it levels
|
| 142 |
-
off near 3.5Β° instead of climbing to 13Β° β and it will supersede these for that task.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
(`chunk_targets`, no ensembling) β read their READMEs.
|
| 144 |
|
| 145 |
---
|
|
@@ -208,3 +228,9 @@ control). Use it to track a single run or pick a checkpoint within one run β *
|
|
| 208 |
|
| 209 |
`HANDOFF_press_button.md` at the root of this repo is the brief for training the next real-robot task on a fresh
|
| 210 |
host. The full experiment ledger, including everything retracted or superseded, is `LEDGER.md` in the code repo.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
with the measured numbers and the exact deployment loop.
|
| 17 |
|
| 18 |
**Code:** https://github.com/DingTianxingjian/Latent_Free β branch `newton`, public, no token needed.
|
| 19 |
+
Real-robot deployment wrapper: `acdc_la/realrobot/piper_policy.py`; LIBERO evaluator:
|
| 20 |
+
`acdc_la/downstream/vla/run_libero_eval_cont.py`.
|
| 21 |
|
| 22 |
```bash
|
| 23 |
git clone -b newton https://github.com/DingTianxingjian/Latent_Free.git latent_free && cd latent_free
|
|
|
|
| 51 |
|
| 52 |
---
|
| 53 |
|
| 54 |
+
## The three action spaces on the Piper β getting this wrong drives the arm somewhere else
|
| 55 |
+
|
| 56 |
+
`ctrl_meta.json -> action_space` says which one a directory uses, `PiperPolicy` reads it and prints it on load.
|
| 57 |
+
(It used to be *absent* on the pick-can directories and inferred from the joint means; since 2026-11-12 all three
|
| 58 |
+
record it explicitly, so **a missing key now means an old copy** β re-download.)
|
| 59 |
+
|
| 60 |
+
| `action_space` | what `chunk[k]` is | the call | how many steps per chunk |
|
| 61 |
+
|---|---|---|---|
|
| 62 |
+
| `absolute` | the joint target itself | send `chunk[k]` directly | β |
|
| 63 |
+
| `delta` | target β joints measured **at step k** | `to_joint_targets(a, q)`, `q` re-read **every tick** | **1** β the teleop lead adds up linearly and with opposite signs on j1/j2 (β0.74 / +0.75 deg per step on pick-can), so the direction bends |
|
| 64 |
+
| `delta_anchored` | `target[s+k]` β joints read **once** at the chunk's start | `chunk_targets(chunk, q)`, `q` read once per chunk; **no ensembling** (the policy disables it) | 1, then try 2 and 4: tracking drift does not exist here, what limits N is the model's own error growing with k |
|
| 65 |
+
|
| 66 |
+
---
|
| 67 |
+
|
| 68 |
## Inventory β which directories are **ours (TERRA)** and which are **controls / baselines**
|
| 69 |
|
| 70 |
Every policy here shares the same interface (LoRA r32 + flow-matching head + 4 query tokens, chunk 12). What differs
|
|
|
|
| 155 |
per-step parameterisation from k>=2, slightly worse at k=0. Trained with the old backward sample window (magnitudes
|
| 156 |
under-predicted ~0.8x). **`press_button_anchored_fwd_step1500` is the first checkpoint with the window fixed**
|
| 157 |
(press-button only, snapshot of a run still training): its error stops growing with chunk position β it levels
|
| 158 |
+
off near 3.5Β° instead of climbing to 13Β° β and it will supersede these for that task. Measured on the 5 held-out
|
| 159 |
+
press_button episodes, mean error over the steps actually executed: **exec 2 / exec 4 = 1.50 / 2.28Β°** for the
|
| 160 |
+
window-fixed snapshot, 1.44 / 2.65Β° for `piper_multi_anchored_step5500` (old window), 1.66 / 3.50Β° for the
|
| 161 |
+
per-step `press_button_terra_delta` under ideal tracking. Both anchored models are **snapshots of runs still
|
| 162 |
+
training** (1500 of 3000, and step 5500) and **neither has been on the robot**. Different deployment call
|
| 163 |
(`chunk_targets`, no ensembling) β read their READMEs.
|
| 164 |
|
| 165 |
---
|
|
|
|
| 228 |
|
| 229 |
`HANDOFF_press_button.md` at the root of this repo is the brief for training the next real-robot task on a fresh
|
| 230 |
host. The full experiment ledger, including everything retracted or superseded, is `LEDGER.md` in the code repo.
|
| 231 |
+
|
| 232 |
+
---
|
| 233 |
+
|
| 234 |
+
*This card is version-controlled at `acdc_la/hf_cards/TERRA_root_README.md` in the code repo and is written
|
| 235 |
+
from both hosts. **Merge into it, do not overwrite it** β two hosts replaced each other's version of this file
|
| 236 |
+
on 2026-11-12 before anyone noticed.*
|