Real-robot teleop · imitation learning · build in public

SO-101 · Smartphone Teleoperation → ICRA

WebXR + Python + LeRobot + ACT — from first principles

Live project status auto-generated from working notes · updated 12 Jul 2026
Phase 1
Build · week 1/16 · Jul – Oct 2026
0/8
milestones completed
Tue
weekly advisor presentations — first: 14 Jul 2026
5
technical study notes

SO-101 arm — live 3D demo

drag to orbit
RobotSO-101 6-DoF
Statusconnected
Modesimulation
SIMULATION
Ready position

The project

A smartphone is the cheapest ubiquitous 6-DoF sensor in the world. This project turns one into a teleoperation device for a low-cost robot arm: WebXR streams the phone's pose at 60 Hz over WebSocket to a 50 Hz Python server (clutch-based delta-pose, One-Euro filtering, damped-least-squares IK) driving a 6-DoF SO-101 arm. Demonstrations are recorded as LeRobot datasets and used to train imitation-learning policies (ACT, SmolVLA fine-tuning).

The system is deliberately built from first principles — kinematics, deep learning, controls — rather than assembled from black boxes. Every topic studied must leave a runnable artifact in the repo. The full teleoperation stack will be released open-source (repo + reproducible README + video + blog) by the end of 2026.

The research claim is intentionally kept open until mid-2027, when it will be finalized with the advisor against the novelty landscape at that time (candidates: controlled comparison of demonstration interfaces × data quality × policy; residual calibration for low-cost servos). Experiments run summer 2027; primary target ICRA 2028, with an early-submission attempt at ICRA 2027 if results are strong.

SO-101 6-DoF armFeetech STS3215 ×6WebXR / WebSocketPython 50 Hz control loopLeRobotACTSmolVLAROS 2 JazzyMuJoCoUbuntu 24.04Kaggle T4

Roadmap — four phases to a paper

One focus per phase. Statuses are parsed live from the project's working notes — including what is not done yet.

  1. Phase 1 · BuildNOWJul – Oct 2026

    Kinematics done properly (Modern Robotics ch. 2–6 with exercises), SO(3) / quaternions / Lie exp-log, servo-bus electronics, WebXR streaming + One-Euro filtering + damped-least-squares IK.

    Artifacts: FK verified against a ruler · retargeting unit tests · latency plots · video: the arm writing letters in the air
    H0M0M1M2M3M4
  2. Phase 2 · ML from first principlesNov 2026 – Feb 2027

    PyTorch, then Karpathy's Zero-to-Hero in full (micrograd → GPT), hand-rolled behavior cloning to watch compounding error happen, ACT paper + code studied block by block, SmolVLA fine-tuning, minimal statistics (Wilson CI, multi-seed) before any evaluation.

    Artifacts: M5 smoke test with confidence intervals · two-policy comparison table · open-source release: repo + reproducible README + video + blog
    M5
  3. Phase 3 · Breadth with disciplineMar – Jun 2027

    ROS 2 Jazzy (port the teleop stack to a node graph), classical control (PID, trajectory tracking), intro RL (PPO) in MuJoCo — each pillar time-boxed to ~1 month with exactly one artifact. Research claim finalized with advisor. ICRA 2027 early submission attempt if results are strong.

    Artifacts: ROS 2 port · tracking-error plots before/after tuning · RL-vs-IL comparison note · research claim finalized
  4. Phase 4 · PaperJul – Sep 2027

    Statistics and experiment design, run the paper experiments (3 interfaces × 3 tasks + ablations), write.

    Artifacts: ICRA 2028 submission (~15 Sep 2027)
    M6
  5. ICRA 2027 early submission attempt if Phase 3 results are strong
  6. ICRA 2028 submission ≈ 15 Sep 2027 · primary target · backups: IROS 2028, RA-L

Milestones

#DeliverableDefinition of doneStatus
H0Order componentsServos, control board and PSU ordered; STL files sent for 3D printingplanned
M0Environment + simulationUbuntu + LeRobot running; end-to-end phone → virtual-arm teleop and an imitation-learning dry-run, all in simulationplanned
M1Arm aliveAssembled and calibrated; per-joint jog; forward kinematics verified against a physical rulerplanned
M2Baseline teleopEnd-effector control from keyboard; 5 demos recorded and replayed; logging schema v0 frozenplanned
M3Phone streamingWebXR pose + live visualizer; < 50 ms latency to the serverplanned
M4Phone → real armWriting letters in the air; clutch, filtering and safety limits running; demo video publishedplanned
M5Imitation learning end-to-end30 demos → ACT trained on Kaggle → ≥ 50 % success over 20 rollouts, reported with Wilson CIplanned
M6Paper experimentsFull dataset: 3 interfaces × 3 tasks + ablationsplanned

Skills — each one tied to evidence

A skill is only claimed when the milestone that proves it is done. Gray = scheduled, with the phase that will produce the evidence.

Mathematics & robotics

  • 3D rotations — SO(3), quaternions, Lie exp/logplanned
  • Forward / inverse kinematicsplanned
  • Differential IK — damped least squaresplanned
  • Signal filtering — One-Europlanned
  • PID & trajectory trackingMar – Jun 2027

Machine learning

  • PyTorchNov 2026 – Feb 2027
  • Neural nets from scratch (Karpathy Z2H)Nov 2026 – Feb 2027
  • Behavior cloning & compounding errorplanned
  • ACT — transformers for controlplanned
  • VLA fine-tuning — SmolVLAplanned
  • Intro RL — PPO in simulationMar – Jun 2027

Systems & tooling

  • WebXR + WebSocket real-time streamingplanned
  • Servo-bus electronics (Feetech STS3215)planned
  • LeRobot data pipelineplanned
  • MuJoCo simulationplanned
  • ROS 2 (Jazzy) node graphMar – Jun 2027
  • Static-site tooling & CI (this page)done

Research practice

  • Three-pass paper reading6 papers read
  • Novelty scanning & prior-work watchlistdone
  • Wilson CI, multi-seed evaluationplanned
  • Experiment design & user studyplanned
  • Weekly research presentations to advisordone

Research practice

Advisor & cadence

Working with Tuan Dang (University of Arkansas). A knowledge presentation every Tuesday — preparation capped at 1 h / 5 slides so building always beats slide-making. First session: 14 Jul 2026.

Plus a fixed 15-minute Sunday review against a per-week checklist.

Reading & novelty

6 papers read in full (three-pass method), notes kept per paper.

Prior work tracked weekly: Phone2Act, RoboPocket, GELLO, RoboTurk. This watchlist already caught one overlap early (Phone2Act, May 2026) and forced a strategic re-plan — which is exactly why the paper claim stays open until mid-2027.

Technical study notes

Every topic ends as a note with checkpoint questions, which feed a spaced-repetition review on a 1-7-30-day schedule.

  • One-Euro filter — smoothing noisy pose streams
  • Feetech STS3215 — bus protocol, memory table, limits
  • SO(3) exponential & logarithm maps
  • SVD & damped-least-squares inverse kinematics
  • VIO / ARCore drift characteristics

Working rules

  1. Artifact rule — a topic counts as learned only when something runnable lands in the repo, with a short note. No artifact, not learned.
  2. One focus per phase — never half-studying and half-chasing a paper in the same week.
  3. Public deliverable mid-way — the open-source teleop release (end of 2026) replaces a deadline as forcing function, and doubles as portfolio.