Millions of people can talk but can't set a table or pour a glass of water without help: stroke survivors, people with tremors, older adults living alone. Thali gives that back. Say what you want and two SO-101 arms open the drawer, lay out the cutlery and the plate, and one arm holds the mug steady while the other pours. Say "stop" and it stops mid-motion. Only the person who said "Thali, listen" is obeyed. Everything except speech recognition runs on the Intel laptop already in the house. The closed loop: Speechmatics realtime speech (partials, end-of-turn at 0.6 s, speaker diarization for operator focus, custom vocabulary, Hindi) feeds a local Qwen2-VL-2B INT4 planner on OpenVINO that turns the overhead camera frame and a scene description into a JSON plan. A deterministic safety verifier checks every step before anything moves (reachability, grasp preconditions, drawer before cutlery, never pour unless the other arm holds the mug) and logs every decision to a sha256-chained audit trail; 20 of 20 injected unsafe plans were blocked. Per-arm queues dispatch skills (ACT/SmolVLA policies, retry, then a scripted IK expert), a camera check and the simulator confirm each one, and the robot replies by TTS. Barge-in on partial transcripts pauses the arm within one 20 ms control step. Measured on an Intel Core i7-13650HX with its UHD iGPU (no NPU): the full 7-skill task with a -table handoff and hold-while-pour succeeds on 5 of 10 held-out seeds; 6-axis robustness heatmap; the VLM planner runs at 44.6 tokens/s on the CPU with 100% of executed plans verifier-approved; ACT policies exported to OpenVINO IR and quantized to INT8 with NNCF cut a policy call from 49 ms to 17 ms with identical behaviour; all four voice samples (clear, tired, Hindi, noisy room) recover the correct skills, the background speaker is ignored, and speech end to arms moving takes 10.4 s. 1050-episode LeRobot dataset on Hugging Face.
Category tags: