2026-05-24 user pivot — pick contact threshold from CLEAN charts.
Researcher recommendation τ = 13 N stands as the
starting point; this cleaner baseline may shift the call. Action:
review the strips below, compare side-by-side with the
raw picker, pick a
threshold value in N, DM VisionWorker. VW files the follow-up bd to lock
it in the next training cycle.
Phase B point-mass + static offset compensation.
Validation effect:
Fclean = Fmeas − Rworld→EE(q) · Fgrav,world − Foffset,EE,
fit by LSQ over 6361 open-gripper frames across 92 / 191
validation episodes. A-vs-B bench-off winner:
+11.9% RMSE better than the Phase A pooled-mean
constant-offset baseline on 80 / 20 held-out (n = 1272).
Validation effect:
‖F‖start drops
mean 4.17 → 3.76 N,
median 4.19 → 2.87 N,
min 2.73 → 1.07 N — frames where pose-aware fit
aligns well now collapse near zero. Example
shard00047_ep00 goes 4.75 → 1.97 N.
At-rest false-positives crossing the 8 N gate:
val gate_label total 592 → 414 (−30%).
Episodes without open-gripper frames at start
(~50% of corpus, recorded mid-insert) keep
their frame-0 force — that is the true engaged force after bias
removal, not artifact. Peak ‖F‖ shifts by under
0.1 N across all 10 picker episodes, so the
candidate threshold lines land in the same places as the raw variant.
Reading the charts. Each PNG has three rows:
- Row 1 — image strip: 8 thumbnails (cam
side_left) evenly sampled across the episode timeline. - Row 2 —
‖F‖time-series: bias-subtracted force magnitude with candidate thresholds (3 / 5 / 8 / 12 / 16 / 20 N) drawn as horizontal dashed lines. - Row 3 — per-axis triplet: bias-subtracted Fx, Fy, Fz traces, full episode.
Candidate thresholds (drawn on each chart)
3 N
5 N
8 N
13 N · Researcher rec
12 N
16 N
20 N
Summary
val data
fmb_real_clean/val
bias method
Phase B point-mass (+11.9% RMSE vs A)
shapes shown
3 · 5 · 9
episodes
10 (4 / 3 / 3)
cam view
side_left
compare
Episode index
| shape | episode | T (frames) | peak ‖F‖ (N) | median ‖F‖ (N) | class |
|---|---|---|---|---|---|
| 3 | shard00046_ep02 | 66 | 21.36 | 6.32 | clear-insert |
| 3 | shard00045_ep00 | 38 | 17.32 | 5.75 | moderate-contact |
| 3 | shard00046_ep00 | 27 | 16.24 | 5.89 | moderate-contact |
| 3 | shard00047_ep00 | 269 | 13.91 | 4.75 | moderate-contact |
| 5 | shard00040_ep02 | 30 | 19.88 | 4.76 | moderate-contact |
| 5 | shard00049_ep00 | 195 | 19.28 | 3.98 | moderate-contact |
| 5 | shard00044_ep01 | 49 | 16.92 | 5.78 | moderate-contact |
| 9 | shard00040_ep00 | 83 | 17.32 | 5.57 | moderate-contact |
| 9 | shard00044_ep00 | 156 | 16.60 | 3.99 | moderate-contact |
| 9 | shard00046_ep01 | 36 | 15.62 | 3.86 | moderate-contact |
Peak / median ‖F‖ values barely shift under Phase B
pose-aware compensation (< 0.1 N delta across all 10 episodes) —
contact peaks dominate the gravity / offset terms.
Frame-0 (‖F‖start) is where the visible change
concentrates; see the per-axis triplet rows below.
Charts
Shape 3
4 episodes · peaks 13.9 – 21.4 N
shard00046_ep02
clear-insert
T = 66 frames
peak ‖F‖ = 21.36 N
median ‖F‖ = 6.32 N
color_id 4 · object_id 255
shard00045_ep00
moderate
T = 38 frames
peak ‖F‖ = 17.32 N
median ‖F‖ = 5.75 N
color_id 4 · object_id 255
shard00046_ep00
moderate
T = 27 frames
peak ‖F‖ = 16.24 N
median ‖F‖ = 5.89 N
color_id 3 · object_id 255
shard00047_ep00
moderate
T = 269 frames
peak ‖F‖ = 13.91 N
median ‖F‖ = 4.75 N
color_id 6 · object_id 255 · long · VW example: ‖F‖start 4.75 → 1.97 N (Phase B)
Shape 5
3 episodes · peaks 16.9 – 19.9 N
shard00040_ep02
moderate
T = 30 frames
peak ‖F‖ = 19.88 N
median ‖F‖ = 4.76 N
color_id 5 · object_id 255
shard00049_ep00
moderate
T = 195 frames
peak ‖F‖ = 19.28 N
median ‖F‖ = 3.98 N
color_id 2 · object_id 255 · long
shard00044_ep01
moderate
T = 49 frames
peak ‖F‖ = 16.92 N
median ‖F‖ = 5.78 N
color_id 1 · object_id 255
Shape 9
3 episodes · peaks 15.6 – 17.3 N
shard00040_ep00
moderate
T = 83 frames
peak ‖F‖ = 17.32 N
median ‖F‖ = 5.57 N
color_id 5 · object_id 255
shard00044_ep00
moderate
T = 156 frames
peak ‖F‖ = 16.60 N
median ‖F‖ = 3.99 N
color_id 4 · object_id 255 · long
shard00046_ep01
moderate
T = 36 frames
peak ‖F‖ = 15.62 N
median ‖F‖ = 3.86 N
color_id 1 · object_id 255
Source data
| artifact | path |
|---|---|
| index manifest | index.json (this directory) — per-episode descriptor + threshold candidate list |
| val data | /home/dom_iva/fmb_real_clean/val (DL_A6000) — Phase B point-mass + offset (LSQ fit, A-vs-B bench-off winner +11.9% RMSE) from sinew-137 |
| raw variant | /plots/contact_threshold_picker/ — same 10 episodes, no bias subtraction (fmb_real_no_bias/val) |
| NAS FTP archive | ftp://143.248.121.169:7002/IntelligentManipulationTeam/DomrachevIvan/ · path under contact_threshold_picker_clean/ |
| tracker | sinew-137 (VW source) · sinew-138 (initial mirror) · sinew-139 (Phase B callout refresh) |
| follow-up | VisionWorker files post-pick bd to lock threshold in next training cycle |