sinew · plots · contact-threshold picker — clean

contact-threshold picker — cleanfmb_real_cleanPhase B point-mass

Same 10 episodes as the raw picker, but per-axis force traces are pose-aware bias-compensated using the sinew-137 Phase B point-mass model on fmb_real_clean/val — A-vs-B bench-off winner (+11.9% RMSE vs Phase A pooled-mean baseline on 80/20 held-out).
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. 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:

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

Episode index

shape episode T (frames) peak ‖F‖ (N) median ‖F‖ (N) class
3shard00046_ep026621.366.32clear-insert
3shard00045_ep003817.325.75moderate-contact
3shard00046_ep002716.245.89moderate-contact
3shard00047_ep0026913.914.75moderate-contact
5shard00040_ep023019.884.76moderate-contact
5shard00049_ep0019519.283.98moderate-contact
5shard00044_ep014916.925.78moderate-contact
9shard00040_ep008317.325.57moderate-contact
9shard00044_ep0015616.603.99moderate-contact
9shard00046_ep013615.623.86moderate-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
shape 3 shard00046_ep02 — clear-insert, peak 21.36 N (clean)
shape 3 · shard00046_ep02 clear-insert T = 66 frames peak ‖F‖ = 21.36 N median ‖F‖ = 6.32 N color_id 4 · object_id 255
shape 3 shard00045_ep00 — moderate-contact, peak 17.32 N (clean)
shape 3 · shard00045_ep00 moderate T = 38 frames peak ‖F‖ = 17.32 N median ‖F‖ = 5.75 N color_id 4 · object_id 255
shape 3 shard00046_ep00 — moderate-contact, peak 16.24 N (clean)
shape 3 · shard00046_ep00 moderate T = 27 frames peak ‖F‖ = 16.24 N median ‖F‖ = 5.89 N color_id 3 · object_id 255
shape 3 shard00047_ep00 — moderate-contact, peak 13.91 N (Phase B clean) · ‖F‖_start 4.75→1.97 N
shape 3 · 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
shape 5 shard00040_ep02 — moderate-contact, peak 19.88 N (clean)
shape 5 · shard00040_ep02 moderate T = 30 frames peak ‖F‖ = 19.88 N median ‖F‖ = 4.76 N color_id 5 · object_id 255
shape 5 shard00049_ep00 — moderate-contact, peak 19.28 N, T=195 (clean)
shape 5 · shard00049_ep00 moderate T = 195 frames peak ‖F‖ = 19.28 N median ‖F‖ = 3.98 N color_id 2 · object_id 255 · long
shape 5 shard00044_ep01 — moderate-contact, peak 16.92 N (clean)
shape 5 · 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
shape 9 shard00040_ep00 — moderate-contact, peak 17.32 N (clean)
shape 9 · shard00040_ep00 moderate T = 83 frames peak ‖F‖ = 17.32 N median ‖F‖ = 5.57 N color_id 5 · object_id 255
shape 9 shard00044_ep00 — moderate-contact, peak 16.60 N, T=156 (clean)
shape 9 · shard00044_ep00 moderate T = 156 frames peak ‖F‖ = 16.60 N median ‖F‖ = 3.99 N color_id 4 · object_id 255 · long
shape 9 shard00046_ep01 — moderate-contact, peak 15.62 N (clean)
shape 9 · shard00046_ep01 moderate T = 36 frames peak ‖F‖ = 15.62 N median ‖F‖ = 3.86 N color_id 1 · object_id 255

Source data

artifactpath
index manifestindex.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 archiveftp://143.248.121.169:7002/IntelligentManipulationTeam/DomrachevIvan/ · path under contact_threshold_picker_clean/
trackersinew-137 (VW source) · sinew-138 (initial mirror) · sinew-139 (Phase B callout refresh)
follow-upVisionWorker files post-pick bd to lock threshold in next training cycle