Can a 22-DOF home robot be printed in PLA around one $15 servo, and which of its twin's simplifications matter for learning to reach and pick?
research/homebot
A 3D-printable 22-DOF bimanual mobile manipulator (two 7-DOF arms with geared elbows and parallel grippers, head, lift, omni base) on one $15 servo, $627–948 in parts, with a MuJoCo twin generated from the same parameters as the CAD: reach and pick policies trained on the exact twin ignore servo, friction and mass errors but fail at one 40 ms step of latency (reach 99→29%, pick 91→41%); randomisation fixes reaching almost for free but costs picking 14 points; an interference sweep over the printed solids caught an elbow range the twin allowed but the parts could not reach. Simulated only, not yet built.
What it found
An open design for a home-assistant robot built from one cheap servo (Feetech STS3215, 12 V) and PLA: two 7-DOF arms with parallel grippers, a pan/tilt head, a 0.5 m belt lift and a three-omni-wheel base, 22 actuators for $627–948 in parts. One parameter file generates the printable parts (CadQuery) and the MuJoCo twin, whose inertias come from the printed geometry and whose servo model reproduces the datasheet torque–speed line. Version 2 gears the elbow 2:1 (from 120% to 69% of its continuous rating with 200 g at full reach) and replaces a pivoting jaw with rack-and-pinion parallel jaws (cube slip in a scripted pick from 34 mm to 0). An interference sweep over the exact printed solids found that v1’s elbow could not reach the range its twin allowed, because the simulator ignores contacts between linked bodies. Policies (PPO, 3 seeds) trained on the exact twin ignore servo, friction, mass and object errors but fail with one 40 ms step of action latency (reaching 99%→29%, picking 91%→41%); domain randomisation fixes reaching almost for free, but for picking it costs 14 points on the nominal twin and about 6× the samples. A whole-body mobile policy trained on a planar base twin reaches 95% under combined perturbations on a roller-wheel twin, without tipping. A rendered head camera with an ArUco fiducial locates the cube to 3.5 mm including head-servo backlash, but with the cube position taken from rendered images in the loop the arm hides the cube and pick success falls to 32–50%. Simulation only: nothing has been printed or built, and the servo parameters beyond the datasheet are priors from the 7.4 V servo.
Paper, code and results
More in Digital twins & sim-to-real
- How few real trials certify a robot policy when a biased simulator supplies the rest?Research programme (milestones 3 to 6 logged): valid, bias-agnostic sim-to-real evaluation of robot policies, consolidating about 130 twin projects into one question, with 13 checked references, hypotheses H1 to H6 and CoRL as the target venue
- A stereo twin that adds Gaussian noise to depth gets the median right: what does it get wrong about over-range errors, safety margins and averaging compared with real disparity-space noise?Gaussian-depth-noise stereo twin vs real disparity-space noise: median exact, gated mean biased by ≈s², over-range errors up to 191× more frequent at 40 m, a twin 3σ margin exceeded 10× as often, mean-depth averaging floors while averaging disparity converges (negative result at the 60 m range floor). Stylised.
- A rigid-body twin of a cart carrying liquid predicts no slosh: how wrong is that, what does a slosh-safe move cost, and what does a stale frequency calibration do to it?A rigid twin of a cart carrying liquid predicts zero slosh: minimum-time move leaves 10.7 cm (10× tolerance), slosh-safe move is 55% slower, and a full-tank frequency calibration fails at low fill (28 s vs 8.7 s recalibrated; tuning-free bound 24.7 s).
- Can an input shaper make a liquid-carrying cart’s move robust to a stale slosh-frequency calibration, and how fast can it be?Input-shaped moves of a liquid-carrying cart: ZV/ZVD residual
sin(πε/2),sin²(πε/2)exactly multiplies the bang-bang residual, so a stale frequency calibration that breaks the null-tuned move (28 s) is harmless to a 5.9 s ZV move; closed-form tolerated error and a fill-band design that spends the tolerance on a shorter shaper. - What is a digital twin worth for training a controller?What a digital twin is worth for training a controller: exact LQ sim-to-real regret with a stability cliff, a validation blind spot (zero score gap yet mistrained control without probing), and a twin worth exactly
σ²/(vδ²)real samples at any accuracy. - How wide should domain randomization be, and what does it buy?Domain randomization over a twin, exactly: cliff-limited width, quartic price when the twin was right, cliff pushed out ~15%, but uniform-average training is not minimax and the best width tracks the prior.
All 164 Digital twins & sim-to-real projects →
Other research topics
Proper scoring & elicitation28Effort & peer prediction9Verification games & slashing19Detection & tolerances14Markets as routers13Prediction-market design9Paying contributors8Decentralised training systems23Digital twins & sim-to-real164LLM chip design loops40Robot manufacturing loops53Ambient AI assistant46Self-replicating manufacturing34Simulation-first design64Engineered clothing45Task-specific AI accelerators40Algorithmic chip-design loops42Open-source purpose-built robots44The software-engineering loop43Adversarial human imitation41Open-source residential construction41Autonomous multi-angle capture34Sensing, imaging and 3D31Energy supply and dense energy storage39Robot societies among people31Agentic co-design of low-cost robots27Laundry-hanging robots25Machine learning on qualitative data23Robots on the building site27Civilizations & group psychology1History & human sciences1
Produced with AI assistance (Claude). Results are from the code in this repository and are simulated or stylised unless the abstract says otherwise; nothing here implies affiliation with or endorsement by any lab, researcher or company cited. MIT licensed.