SO-101 Robot Arms ×2 — Imitation Learning
Flagship · Active
Two SO-101 6-DOF robot arms — a leader/follower pair — collecting teleoperated demonstrations and training manipulation policies. The most software-heavy build here, and the one where the machine stops being a mechanism and starts being a robot.
Overview
The SO-101 is the open-source successor to the SO-100 — a low-cost 6-DOF manipulator built from 3D-printed parts and serial bus servos, designed by TheRobotStudio and used worldwide as a base platform for imitation-learning research. I run two of them as a leader/follower pair: one arm is moved by hand, the joint states stream over serial, and the follower replays them — that's the data-collection rig. Recorded demonstrations then train a policy that drives the arm on its own.
Build process
- Printed and assembled both arms; calibrated joint offsets and IDs
- Brought up the Jetson companion computer (flashing, env, serial I/O)
- Built a bench rig with a battery power rail and audible start/end cues for clean episode recording
- Teleoperated the leader to record demonstration episodes
- Trained policies on the recorded dataset; evaluated rollout success on the bench
Technical details
- 6 DOF per arm + gripper; Feetech STS/STS-style serial bus servos
- Leader/follower teleoperation over USB serial (pyserial-level control)
- Jetson Orin Nano companion computer for logging and training
- Python data pipeline: episode logging, dataset structuring, policy training
- Battery-powered rig (8.3 V rail) for repeatable bench recording
Key learnings
- Bus-servo ecosystems lie: reported IDs and positions can be stale or phantom — going to raw serial reads is the only ground truth
- Clean data beats clever training: disciplined episode start/end markers improved dataset quality more than any training tweak
- Hardware quirks (a "scrambled" arm) usually mean the wrong board or an ID artifact, not broken servos
| Configuration | 2 × SO-101, leader/follower |
|---|---|
| Degrees of freedom | 6 + gripper, per arm |
| Actuation | Feetech-style serial bus servos |
| Compute | Jetson Orin Nano |
| Data collection | Teleoperated demonstration episodes |
| Training method | Imitation learning (policy trained on demonstrations) |
| Training episodes | TBD — count from dataset log [VERIFY] |
| Policy success rate | TBD — from latest evaluation run [VERIFY] |