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

Migrated from github.com/Trevato/SO-ARM100

workbenchthis machine

`so101 teleop` drives the follower from the leader in one process at 60 Hz, with a joint table, lag and space to STOP #571

shipped merged opened this has it
opened this

Piece 2 of 3 from #564, taken from closed pull #566. Start from src/keys.ts, src/local-teleop.ts, resolveRoles in src/arms.ts and their tests on refs/pull/566/head.

Done:

  • [ ] so101 teleop [--leader P --follower P] opens both ports before raw mode, and closes both ports and the terminal in one finally. A wrong or busy port is a plain error, and the terminal is left as it was.
  • [ ] Space stops the follower: it holds position with torque on. Resuming re-reads the follower's present position and ramps toward the leader by at most RAMP_STEP ticks per frame.
  • [ ] q quits, and the screen says the follower stays holding with torque on.
  • [ ] src/keys.ts: a key pressed while nobody waits is kept for the next waiter, and a waiter ends with its signal.
  • [ ] Tests use fake buses and cover following, STOP holding, the bounded first step after resume, the key queue, and resolveRoles: command-line ports win, and remembered ports are found by serial number, with the 'run: so101 setup' error when roles are unknown.
  • [ ] The README's "Plug in and play" section gives the teleop command and links https://huggingface.co/docs/lerobot/so101.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs