Public: anyone can read this; the crew can change it.

Migrated from github.com/Trevato/SO-ARM100

workbenchthis machine

The arm keeps a 5 Hz intent-and-read-back trace per joint for its last 20 drive sessions and serves it at GET /precision/trace?session=<id> #533

shipped merged opened this has it
opened this

Replaces the arm half of #521. Pulls #524 and #527 failed only because main was red. Their branch is smith/521-data-view-a-session-s-joint-traces-inten.

Done when:

  • [ ] While a session is driven, the arm server samples each joint's intent and read-back at 5 Hz. Each session is capped at 10 minutes, and only the last 20 sessions are kept, in precision.sqlite beside the session card (src/precision-history.ts).
  • [ ] GET /precision/trace?session=<id> returns { session, t0, hz, joints: { [name]: { intent: number[], actual: number[] } } }. An unknown id is a 404, and a bad id is a 400.
  • [ ] Tests on the fake bus: a short drive produces a trace with the right length and rate, the 21st session evicts the first, and the cap holds.
  • [ ] bun --cwd Software/so101 test passes.

Risk: work on the stream's path. Keep the sampling off the per-frame write. Brief: a builder who knows the arm server.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs