Roadmap Stage 2: Mobility, SmolVLA & Voice Polishing
The three threads that outgrew the original Voice + Vision + Arm roadmap, now tracked on their own β the original goal is closed and achieved.
Thread 1 β LeKiwi Mobility β In Progress
A wheeled base β genuinely new hardware direction, not an extension of the stationary arm. Inspired by ALOHA-2; settled on LeKiwi as the affordable entry point, with a documented upgrade path to XLeRobot later.
Where it stands
- β Base kit delivered, both arms assembled and validated on the Mac (MPS), all 9 motor IDs set
- β Pi 5 power question resolved β Yahboom Power Expansion Board ordered, ETA 8β15 Sept
- β οΈ Three defects found on delivery, formal complaint filed with Seeed (Order #13152): wrong buck converter, arm mount doesn't fit the base plate, undersized screws. Full details: LeKiwi Base: Delivery, Defects & Wheel Motor Setup.
- β Physical daisy-chain assembly currently blocked on the arm-mount defect β waiting on Seeed's replacement parts
- β ACT validation pass on the LeKiwi arm once physically assembled (hardware/pipeline check, not a SmolVLA data run)
- β Camera/mount upgrade complete (see Thread 2) β new wide-angle cameras and standardized mounts now installed across the setup, and the calibration convention (parallel-to-table, true-center) is fixed the same way on every arm, which should help once cross-hardware transfer to LeKiwi is retested
Thread 2 β Voice-Conditioned Control via SmolVLA β In Progress
Swap the ACT policy for SmolVLA, a true Vision-Language-Action model with an actual language encoder β genuine free-form voice-conditioned behavior, not just fixed trigger phrases.
Where it stands
- β Compute blocker resolved β new ML Desktop built and confirmed (Ubuntu 26.04, RTX 5060 Ti 16GB, CUDA 13.2 verified). Full spec and reasoning: Hardware Notes.
- β Base network trigger protocol (Flask + Vosk + Piper) already proven in Stage 1 β reusable as-is for SmolVLA's command path
- β New wide-angle cameras installed (110Β° vs. the previous 75Β° FOV) β fixes the known camera-coverage failure (position P7) and gives a consistent setup going into multi-task recording
- β SO-101 rig migrated from Mac to a Pi 5 β root-cause fix for recurring camera-crash-during-rollout errors (the Mac's lack of native USB-A was forcing cameras and the arm controller to share hub bandwidth). Full diagnosis and debugging arc: SO-101 Rig Migration: Mac β Pi 5.
- β Record β transfer β train pipeline proven end to end on the new hardware β first Pi-5-hosted dataset (28 episodes) recorded, transferred to the ML Desktop, GPU confirmed genuinely functional. Full setup, storage policy, and open questions: ML Desktop: LeRobot Setup & First Pi 5 Dataset.
- β Camera-framing bug found and fixed β the prior 120-episode "dense" dataset's total rollout failure traced to the operator's own hand being visible in-frame under the old high overhead mount. New front-facing mount installed, 96-episode dataset re-recorded and re-trained. Full report: Camera Fix, Recording & Quantified Rollout Testing.
- β ACT rollout quantified at real sample sizes: 86.3% (69/80) on the trained 8-position grid, 53.6% (30/56) on genuinely novel positions. Lighting sensitivity now measured in actual lux, not just observed β a ~400 lux glare threshold for light-colored samples, a separate low-contrast localization failure for dark ones. One sharp, reproducible anomaly (a near-total "blind spot" for one sample at one position) was investigated and knowingly closed, unresolved, in favor of the roadmap below.
- β Roadmap pivot, 22 Sept: rather than deciding the SmolVLA multi-task dataset schema in the abstract, the plan is now three parallel tracks β real multi-task recording, a MuJoCo simulation track (confirmed working the same day), and SmolVLA training once both feed it. Full plan: SO-101 Sim-to-Real Integration Roadmap.
- β Immediate next step (Track A): record a second task β "push the object to the left" β for genuine language variety, reusing the existing pick-and-place dataset as Task 1
- β In parallel (Track B): MuJoCo sim on the ML Desktop β pipeline learned, domain randomization prototyping next; three concrete sim/real compatibility gaps identified (action space, resolution, task variety), not yet closed
- β Pi 5 SmolVLA inference-speed question resolved β not by making the Pi faster, but by moving inference off it entirely: on-Pi CPU inference measured 0.55 Hz (54Γ too slow, confirmed compute-bound). A surgical one-line patch to LeRobot's rollout engine now routes the model's forward pass over the LAN to the ML Desktop's GPU on request, taking cadence to 3.02 Hz and worst-case action latency from 97.4s to 1.16s β first confirmed correct grasp-and-place through the full remote-inference pipeline. One precisely-identified bottleneck (uncompressed image transfer) remains, with a known fix queued. Full write-up: SmolVLA Remote Inference: From 0.55 Hz to 3 Hz.
- β Once trained: re-test the original text-triggered backdoor attack from the poisoning investigation β SmolVLA is the architecture it was actually designed for, unlike the earlier mismatched ACT test
Thread 3 β Voice Polishing: Dimitar (Piper) & XTTS Experiments β Parked, ready to resume
Fixing pronunciation/stress issues in the bg/dimitar Piper voice used by the assistant. A genuine
side branch β never blocked Stage 1, and doesn't block Stage 2 either.
Where it stands
- β Round 1 (94 clips, RunPod): voice character present, artificial pacing. Full write-up: round 1 report.
- β Round 2 (138 clips, continuous-passage recording): closer match to the real voice, real improvement. Full write-up: round 2 report.
- β Full runbook documented for both rounds β round 3 can start quickly whenever picked back up
- β³ Round 3 now genuinely easier than before β the new ML Desktop means local training, no more RunPod GPU-rental dance
- β Swap the polished round-2 voice into the live assistant on
voiceβ currently still running the original unmodified Dimitar; zero technical risk, just hasn't been done yet - β XTTS fine-tuning experiment on the same dataset β planned purely as a curiosity project, not part of core assistant work
- β Zero-shot XTTS voice cloning (Bulgarian reference β Russian output) already tried, purely for fun
Hardware & parts
Full compute/platform decisions and complete inventory still live on their own pages, shared across both stages: Hardware Notes and Parts List.