Leader ↔ follower teleop
60 Hz leader/follower bridge between Haller's two physical SO-101 arms — back-drive one, the other mirrors.
The HMI has two teleop modes — leader↔follower (this page) and human-pose teleop (drive both arms from your webcam). They're mutually exclusive — only one runs at a time across the whole HMI.
Leader ↔ follower (60 Hz)
Turns the HMI into a leader/follower bridge between the two physical arms.
- On the dashboard, find the Teleop card.
- Pick the arm you'll back-drive in the Leader dropdown.
- Pick the arm that should mirror it in the Follower dropdown (or click
⇄to swap). - Click start. The backend:
- disables torque on the leader (so you can move it freely),
- enables torque on the follower,
- spawns a thread reading the leader's positions, clamping to the follower's calibrated limits, and writing them as the follower's goal at 60 Hz.
- Move the leader arm by hand. The follower mirrors. The header chip on each arm card flips to
TELEOP · LEADER/TELEOP · FOLLOWER(green), and joint sliders / Home / preset replay are disabled for the duration. - Click stop to end. Both arms restore to
manualwith torque on.
E-STOP also stops teleop before disabling torque — so the follower can't jump to a stale queued goal when you next re-engage.
Midpoint mismatch
If teleop tracking shows a per-joint offset (most visibly on shoulder_lift, which changes arm height), the two arms were calibrated in different physical neutral poses. Fix with the calibration wizard: re-calibrate one arm while it holds the other arm's neutral pose. Or see the SO-101 arms guide for the underlying issue.
REST surface
| Method | Path | Notes |
|---|---|---|
| GET | /teleop | Current status: running flag, leader/follower ids, configured Hz. |
| POST | /teleop/start | { leader, follower, hz? } — starts the loop. 400 if leader == follower, 409 if any teleop is already running. |
| POST | /teleop/stop | Stops the loop and restores both arms. |
See HMI overview for the full endpoint table.
See also
- Human-pose teleop — drive both arms bimanually from a laptop webcam (mutually exclusive with this mode).
- Calibration wizard — fix midpoint mismatches without leaving the browser.
- Design spec — full HMI design including teleop frame schemas.
Calibration wizard
Calibrate an SO-101 arm end-to-end in the browser — homing, range-of-motion sweep, review, save with automatic backup.
Human-pose teleop
Drive both SO-101 arms from a laptop webcam — in-browser MediaPipe pose → joint-angle retargeting → 60 Hz bimanual control, with a SPACE dead-man and per-side pinch-to-gripper calibration.