Project Roadmap: Voice + Vision + Robot Arm
"The question is the home." β Iliya Angelov Radulov, August 2026
A staged plan for combining a Google AIY Voice Kit, AIY Vision Kit, and a WitMotion SO-ARM101 leader/follower arm pair into one integrated system β built on Raspberry Pi and Hugging Face's LeRobot framework.
Phase 1 β Foundations β Complete
- β Voice Kit assembled, WiFi fixed, Google Cloud speech recognition working β see the final report and setup guide
- β
Vision Kit assembled, WiFi fixed (own hostname
aiy-vision), camera hardware replaced after original sensor failed, face detection + joy scoring + object detection all confirmed working on-device β see the final report, initial troubleshooting log, and camera fix summary
Phase 2 β Arm Basics β Complete (validated on target hardware)
- β Assemble both arms (leader + follower)
- β Install LeRobot on the Raspberry Pi4 (or laptop) driving the follower arm
- β
Calibrate servos, run standard
so101_followersetup - β Basic teleoperation: move leader, watch follower mirror it live β see the full setup log (60Hz, stable, arm + camera together)
Phase 3 β Record Demonstrations β Complete
- β Use LeRobot's recording tools to capture leaderβfollower sessions for a simple task β see the first Pi 4 attempt and the Mac migration & 30-episode dataset
- β Produces a first dataset β useful on its own, even before any training
- β Beyond the original plan: a full ACT policy was trained on the recorded data, and the follower arm achieved fully autonomous pick-and-place β see the complete project write-up
- β Security/robustness side investigation: reproduced and corrected a data-poisoning backdoor attack methodology from published research. Discovered mid-investigation that the ACT architecture has no language-conditioning pathway (a text-prompt trigger cannot function on it), then designed and validated a genuine, working visual trigger backdoor instead. Two full write-ups: the corrected text-trigger investigation and the working visual-trigger report
- β Dataset generalization work: a severe position bias, a real x=10 dead zone (since fixed), and the project's most significant finding β near-total failure on any untrained background. Full write-up: model lineage & generalization findings report.
- β SO101 background-diversity experiment complete (Aug 20β23): 300-episode dataset, 5 backgrounds. Background diversity substantially improved generalization, with failure modes cleanly separated into distinct mechanisms (pattern-distractor, glare/specular, a confirmed camera hardware limit). Full write-up: background-diversity experiment report.
Phase 4 β Add Vision β Complete (folded into the arm, not built standalone)
- β Vision ended up serving the arm directly rather than existing as a separate "watch and describe" capability β the two cameras feeding the ACT policy (and now the voice-triggered rollout) are this project's vision integration. Worth stating plainly rather than leaving a separate "Vision Pi watches and logs" item open indefinitely.
- β A standalone "what does the camera see" capability, independent of arm control, was never built and isn't currently planned β the AIY Vision Kit build (Phase 1) already covers that use case on its own hardware.
Phase 5 β Add Voice as Trigger β Complete
- β VoiceβBrain network trigger loop proven, fully local/offline: spoken trigger phrase (Vosk STT) β HTTP request (Flask) β spoken reply (Piper TTS), no cloud anywhere in the chain. Full write-up: session wrap-up.
- β Connected the trigger to a real ACT rollout on the SO-101 β the actual payoff this phase was built around. Diagnosed and fixed a genuine ARM/OpenBLAS crash during inference, then wired the working rollout into both the Flask endpoint and the spoken trigger. Full write-up: Milestone: First Voice-Triggered Autonomous Rollout.
- β Reference used: reSpeaker + SO-ARM101 voice control demo (prior art)
Voice Polishing Side Thread β Dimitar (Piper Bulgarian TTS) Fine-Tuning
Two completed fine-tuning rounds on the bg/dimitar Piper voice, fixing pronunciation/stress issues found during Voice Kit testing. A genuine side branch throughout Stage 1 β never blocked the core roadmap, and doesn't block Stage 2 either.
Phase 6 β Learned Autonomy β Complete (achieved ahead of sequence)
- β Trained an imitation-learning policy (ACT) from recorded demonstrations
- β Follower performs pick-and-place autonomously, not just live mirroring
- β Achieved during Phase 3 work, out of the originally planned order β see the milestone report
- β Subsequently hardened and extended: two data-poisoning investigations, and an ongoing dataset-rebalancing effort after discovering a severe position bias (see Phase 3 notes)
Phase 6 Extension β Voice-Conditioned Control via SmolVLA β Continues in Stage 2
Proposed as a natural convergence point for Phases 4, 5, and 6: swap the ACT policy for SmolVLA, a true Vision-Language-Action model, enabling genuine free-form voice-conditioned behavior instead of fixed trigger phrases. The compute blocker that stalled this at Stage 1's close has since been resolved (new ML Desktop, CUDA confirmed).
Phase 7 β Mobility Expansion β Continues in Stage 2 (new branch, not originally planned)
A wheeled base (LeKiwi, with a path to XLeRobot) β genuinely new hardware direction inspired by ALOHA-2, rather than an extension of the stationary arm this roadmap was originally scoped around. By Stage 1's close: base kit delivered, both arms assembled and validated, all motor IDs set β but blocked on defective parts from the supplier.
Hardware notes
Compute and platform decisions β Pi 4 capacity testing, the M.2 SSD-vs-AI-accelerator research, the training PC's full spec and reasoning, and now the completed new ML desktop setup and the home server's expanded, dedicated role β all live on their own pages: Hardware Notes.
Parts list
Full inventory β already have, still needed, LeKiwi order status, and what's reserved for the future XLeRobot upgrade: Parts List.