← Design notebook

BUILT BY AUTONOMOUS SYSTEMS · WORK IN PROGRESS

Prior art: closed-loop design of legged and wheel-legged robots

Research date: 2026-10-25. This file covers the loop gyropup wants to build: spec → CAD → URDF/MJCF → simulation → loads → FEA → manufacturability and cost → iterate.

Companion file: reference-robots.md covers the robots themselves (Diablo, Ascento, Upkie, Open Duck, Microduck). This file covers how other people designed robots in a loop.

How this was researched. The web-search budget ran out after a handful of queries. After that I went straight to primary sources:

Each entry says how deeply it was read: [full text] means the paper body was read, [abstract] means only the abstract or project page. "Not reported" means the source I read does not give the number. Licences come from the GitHub API (license.spdx_id); "none" means no licence file was detected, which legally means all rights reserved.


1. Executive summary

  1. Nobody has published the full gyropup loop. I found no work that goes CAD → sim → FEA → printability/cost → iterate automatically, and none that does it for a wheel-legged biped. The pieces exist separately:

    • Text2Robot: text → mesh → URDF → evolution + RL → PLA print.
    • RoboForge: agent-generated STEP/STL/URDF, pre-fabrication checks, then RL.
    • Skaterbots and Geilinger 2020: legged-wheeled design with trajectory optimisation.
    • Bjelonic 2023: design-conditioned RL plus Bayesian optimisation.
    • Quadruped skating 2026: BO outer loop, PPO inner loop, wheel angles as design variables.
    • Ascento: a topology-optimised printed wheel-legged robot, designed by hand.

    gyropup would be the first open loop of this kind, which leaves room to contribute but also means no proven recipe to copy end to end.

  2. Do not train RL from scratch for every candidate. It is the cost that limits everyone:

    • RoboMorph: ≈200 A100 GPU-hours per seed.
    • Disney BDX: ≈22 days on an RTX 4090 for one final policy, though 30 min was enough to preview behaviour.

    The approaches that work amortise training across designs:

    • one policy that takes the design parameters as input (Schaff 2018; Bjelonic 2023; Belmonte-Baeza 2022, which uses meta-RL);
    • pretrain on many designs, then fine-tune the best (Chen 2024; RoboCraft 2025; LACE 2026).
  3. Use a model-based controller for screening. For a wheel-legged biped, an LQR or MPC balancer (Ascento, Upkie) evaluates a design in seconds and needs no training. Use RL only for finalists.

  4. Toy-simulator co-design does not transfer to hardware. Evolution Gym, Transform2Act, NGE, BodyGen, RoboMorph and Debate2Create all optimise abstract MuJoCo or voxel bodies. Kriegman's lab (2026) says that of "countless" evolved virtual agents, "vanishingly few were realized as physical robots", because the abstraction throws away motors, electronics and wiring. Reuse their optimisers and benchmarks, not their design representations.

  5. LLMs propose designs well and verify them badly:

    • In RoboForge, the best model passed 4 of 6 mechanical-feasibility checks and older models passed 0–1. Common failures were missing mounting features, self-intersections and too little actuator clearance.
    • Wilhelm et al. (2026) could not verify any of 30 direct LLM designs as feasible.

    Pattern to copy: let the LLM build or modify an explicit parametric model, or propose samples alongside a numerical optimiser (Kawaharazuka 2025). Deterministic checks should gate everything.

  6. FEA is almost never in the loop. Most co-design papers treat links as rigid, uniform-density bodies with no stress check (SERL 2024 states it, Text2Robot does not discuss it). Where structure was addressed:

    • Ascento used topology optimisation once, then a manual redesign, printed in SLS PA12.
    • MechStyle (2025) feeds FEA stress back into generative geometry edits.
    • Sathuluri (2023) uses loads from dynamics simulation to optimise the structure.
    • Upkie's printed femurs and tibias broke in use, and v2 redesigned the lower leg as a fork.

    Extracting loads from simulation and running FEA on PLA parts is therefore a real gap gyropup can fill.

  7. Actuator models matter more than morphology for sim-to-real:

    • Disney BDX: system-identified actuator model with friction, backlash and reflected inertia.
    • Open Duck and Microduck: Rhoban BAM.
    • Bjelonic IJRR 2025: motor energy-loss model.

    A co-design loop optimising against a poor actuator model will push designs to wherever the model is wrong.

  8. Design-conditioned policy + BO is the best template for continuous variables like leg lengths, wheel radius and spring stiffness:

    • Bjelonic 2023: 33 % better torque-squared efficiency and 30 % lower peak torque on ANYmal.
    • Quadruped skating 2026: 14.6 % lower CoT.
    • SurGE 2026: CMA-ES with surrogate gradients; the trend found in simulation held on hardware.
  9. For discrete choices (actuator SKU, wheel, battery, leg topology), use a grammar or catalogue so that every candidate can be built (RoboGrammar, Text2Robot modules, Skaterbots components, Vitruvio actuator list). Then search with evolution or multi-objective TPE, with an LLM as an extra proposal operator.

  10. Licences: most of what gyropup would reuse is permissively licensed:

    • MIT: Eureka/DrEureka, RoboGrammar, Transform2Act, EvoGym, SurGE, onshape-to-robot.
    • Apache-2.0: Text2Robot, BAM, MuJoCo Playground, Upkie, Open Duck Mini, BodyGen.
    • RoboGen is GPL-3.0, and Vitruvio and Open_Duck_Playground have no licence file. Read those, don't copy them.

2. Comparison table

Abbreviations: EA = evolutionary algorithm, BO = Bayesian optimisation, TO = trajectory optimisation, CoT = cost of transport, DR = domain randomisation.

Work Year Robot type Design variables Evaluation Optimiser Manufacturing Code / licence Link
Text2Robot (Duke) 2024–25 (ICRA 2025) Quadruped, 8 servos Mesh from text; leg length (0.5 cm steps); joint axes; limb and body shape Isaac Gym PPO, velocity tracking + joint power EA (keep top 100, 50 mutation + 50 crossover per generation; 20–50 generations) PLA on a CR-10; Hiwonder servos, RPi 4; "about a day" to make Yes, Apache-2.0 arXiv 2406.19963, repo
RoboForge / agentic robot creation 2026 Gorilla quadruped (agent-designed), plus Go2, MicroDuck, Ostrich Full STEP/STL/URDF from an LLM 23 pre-fabrication checks; Isaac Lab PPO; user ratings LLM generate → verify → revise (at most 3 trials) PLA, Bambu X1E, 0.2 mm, 15 % infill; 8 × XL330 Project page only; no repo found arXiv 2610.17881
Disney BDX character RSS 2024 Biped, 5-DoF legs + 4-DoF neck, 15.4 kg Hand-designed, guided by animation and a gait tool Isaac Gym PPO imitation; hardware shows Human iteration Printed links between off-the-shelf actuators; moulded foam feet No arXiv 2501.05204
Bjelonic et al., PEA co-design (ETH) 2023 RA-L Quadruped (ANYmal) Knee parallel-elastic spring Design-conditioned RL policy BO over the design, using the trained policy Hardware PEA tested No repo found arXiv 2301.03509
Belmonte-Baeza et al., meta-RL design (ETH) 2022 (RA-L/ICRA 2023) Quadruped Kinematics, actuator parameters Meta-RL policy adapted per design, rough terrain Not stated in abstract Sim No repo found arXiv 2210.02750
Quadrupedal skating co-design 2026 (ICRA) Go1 + 3D-printed passive wheels Wheel yaw angles (1-D and 2-D) Isaac Lab PPO, CoT GP-BO outer loop Printed roller supports; hardware results not confirmed in what I read Not reported arXiv 2603.18408
Skaterbots (ETH/Disney) 2018 TOG Legged-wheeled creatures Servo / connector / wheel / foot arrangement and dimensions Trajectory optimisation (walk, roll, skate) Interactive + semi-/fully-automatic design edits 3D-printable connectors + servos; prototypes built No repo found DOI 10.1145/3197517.3201368
Geilinger et al., legged-wheeled framework 2020 RA-L Legged-wheeled robot End effectors, morphology Trajectory optimisation with continuation warm-start Gradient-based Built robot No repo found DOI 10.1109/LRA.2020.2978444
Ascento (ETH) 2019 ICRA Two-wheeled jumping biped, 10.4 kg 6 linkage parameters; topology-optimised parts Linkage path error; LQR balance; jumps Numerical least-squares; topology optimisation then manual redesign SLS PA12 parts, torsion springs No arXiv 2005.11435
Ha et al., task-based limb optimisation (Disney) 2016 IROS Legged Leg link lengths Σ joint torque² over jump, walk, step Two-stage TO Not reported No Disney page
Megaro et al., 3D-printable robotic creatures 2015 SIGGRAPH Asia 2/4/5-legged servo creatures Morphology, proportions, feet, gait Motion optimisation, physics sim Interactive Printed parts + servos; 6 creatures, prototypes built No Disney page
Desai et al., adjoint co-design (CMU) 2018 Legged Morphology + motion TO Adjoint gradients, interactive Sim No arXiv 1801.00385
Dinev et al., versatile co-design (Edinburgh) 2022 IROS Quadruped (Solo) Morphology, payload placement, actuator parameters Differentiable motion planner (jump, trot) Bilevel NLP Sim Not reported arXiv 2103.04660
Vitruvio (ETH) 2020 1–4-legged Links, density, actuator from list, layout Joint torque, speed, power and energy along TOWR trajectories GA Sim Yes, no licence repo
SERL / Wow Orin 2024 Biped, 10.5 kg Thigh and shin length (0.2–0.4 m) Isaac Gym RL reward, CoT, speed GA (population 250) alternating with RL CF/Al/PETG; no FEA Project page only arXiv 2408.15632
Pretraining–finetuning co-design 2024 Quadruped (parkour) Fore and hind leg lengths RL parkour Pretrained policy over designs, fine-tuned per design Sim Not reported arXiv 2407.06770
RoboCraft (humanoid fall recovery) 2025 7 public humanoids Morphology RL fall recovery Shared pretrained policy + priority buffer + optimiser Sim Not reported arXiv 2510.22336
SurGE 2026 (IROS) Hopper with parallel spring 4-D (2-D on hardware) Kino-SRB model + design-aware policy CMA-ES + surrogate-gradient mean shift Hardware: 37.65 % objective reduction Yes, MIT arXiv 2606.21866, repo
Jointly learning to construct and control 2018 ICRA Legged (sim) Link parameters RL over a design distribution Shift the design distribution with the policy gradient Sim Not checked arXiv 1801.01432
Co-adaptation (Luck) 2019 CoRL Sim Morphology parameters SAC; Q-function used to estimate designs Data-efficient design selection Sim Yes, MIT arXiv 1911.06832, repo
NGE 2019 ICLR Graph creatures (sim) Graph topology + attributes GNN policy, skills transferred between designs Evolution with uncertainty-aware mutation Sim Yes, MIT arXiv 1906.05370
RoboGrammar (MIT) 2020 TOG Modular legged (sim) Graph-grammar rule sequence Terrain traversal Graph Heuristic Search Grammar limits designs to "designs that can be fabricated"; sim only Yes, MIT DOI, repo
Transform2Act 2022 ICLR MuJoCo creatures Skeleton + joint attributes PPO Design steps folded into the RL episode Sim Yes, MIT arXiv 2110.03659
Evolution Gym 2021 NeurIPS Soft voxel robots Voxel grid PPO per design GA / BO / CPPN-NEAT baselines Sim Yes, MIT arXiv 2201.09863
DiffAqua 2021 SIGGRAPH Soft swimmers Wasserstein-barycentre shape Differentiable simulation Gradient-based Sim Yes, no licence arXiv 2104.00837
BodyGen 2025 ICLR MuJoCo creatures Topology + attributes RL Transformer design + control Sim Yes, Apache-2.0 arXiv 2503.00533, repo
RoboMorph 2024 Modular legged/wheeled (sim) Grammar text from GPT-4o MJX + Brax SAC, head velocity LLM evolution ("best-shot prompting") None Project page arXiv 2407.08626
RoboMoRe 2025 MuJoCo tasks Morphology + reward RL LLM coarse-to-fine + gradient updates Sim Not checked arXiv 2506.00276
Debate2Create 2025 MuJoCo (Ant, Swimmer, …) Fixed-topology parameters + reward RL per candidate Multi-agent LLM debate + LLM judges Sim Not checked arXiv 2510.25850
LACE-CRAFT 2026 Locomotion benchmarks + 1 prototype Morphology + reward RL with inherited actor Multi-role LLM "blackboard" One printed prototype walked indoors Repo, no licence arXiv 2610.09283
Auto-Robotist 2026 (EMNLP) EvoGym Voxel bodies EvoGym GA + LLM edits + natural-language skill library Sim Yes, MIT arXiv 2605.25832, repo
Kawaharazuka, BBO + LLM 2025 IEEE Access 4-joint arm (URDF) Base position, joint types, link lengths IK error + gravity torque Optuna multi-objective TPE + interleaved GPT-4o samples Sim Not reported arXiv 2511.17178
LLMs for model-based design 2026 Quadcopter, line follower Component selection Explicit engineering model LLM writes the model → multi-objective optimisation Not reported Not reported arXiv 2609.33423
RobotDesignGPT 2026 Bio-inspired legged / flying Kinematic design from prompt + image VLM visual feedback; user study VLM loop Not reported Not reported arXiv 2601.11801
Eureka / DrEureka 2023 / 2024 29 environments / quadruped Reward code; DR ranges (DrEureka) Isaac Gym RL LLM evolutionary search over code DrEureka: real quadruped Yes, MIT arXiv 2310.12931, arXiv 2406.01967
Kriegman lab, manufacturable blueprints 2026 Evolved virtual robots Abstract body → embedded motors, electronics, batteries, wiring Not reported (abstract only) Pipeline, not an optimiser Builder-ready blueprints Not reported arXiv 2603.13582
DOA personalised limbed robots 2026 npj Robotics Limbed (Centaur built) Motors, geometry, structural density Not reported (abstract only) A series of optimisation problems 3D-printed, Centaur fabricated Not reported DOI 10.1038/s44182-026-00101-3
MechStyle 2025 Printed objects (not robots) Stylised geometry FEA stress Generative stylisation guided by stress FDM Not reported arXiv 2509.20571
Sathuluri et al. 2023 Robotics Modular arms Architecture, then structure Dynamics-informed structural optimisation Informed search + structural optimisation 16 % lower structural mass than aluminium tubes Not reported DOI 10.3390/robotics12040091
RoboGen (EPFL) 2014 Modular printed + servo bots Body + neural controller Physics sim Evolution 3D-printed parts, servos Yes, GPL-3.0 repo
Open Duck Mini v2 2024–26 42 cm servo biped Hand design in Onshape MuJoCo Playground imitation RL Human iteration PLA + STS3215 servos, BOM < $400 Apache-2.0 (Playground: none) repo
Upkie 2022–26 Wheeled biped, mjbots qdd100 Hand design, parametric FreeCAD in v2 PyBullet/MuJoCo Gym envs, MPC/PD/RL Human iteration FDM parts Apache-2.0 repo, parts

Survey for more breadth: Wang et al., "Embodied Co-Design for Rapidly Evolving Agents" (arXiv 2512.04770) groups more than 100 studies into bi-level, single-level, generative and open-ended frameworks. Its paper list is at Yuxing-Wang-THU/SurveyBrainBody (Apache-2.0).


3. Per-work notes

3.1 Computational design and co-design of legged and wheel-legged robots

Disney BDX, "Design and Control of a Bipedal Robotic Character" (RSS 2024) [full text]. arXiv 2501.05204

Megaro et al. 2015, Coros, Thomaszewski: "Interactive Design of 3D-Printable Robotic Creatures" [abstract]. Disney page

Skaterbots (Geilinger, Poranne, Desai, Thomaszewski, Coros, SIGGRAPH 2018) and Geilinger, Winberg, Coros, "A Computational Framework for Designing Skilled Legged-Wheeled Robots" (RA-L 2020) [abstracts]. DOI 10.1145/3197517.3201368, DOI 10.1109/LRA.2020.2978444

Ascento (Klemm et al., ICRA 2019) [full text]. arXiv 2005.11435

Bjelonic et al., "Learning-based Design and Control for Quadrupedal Robots with Parallel-Elastic Actuators" (RA-L 2023) [abstract]. arXiv 2301.03509

Quadrupedal skating co-design (Wang, Fang, Hanna, Xiong, arXiv 2603.18408, ICRA 2026) [overview + abstract].

Dinev et al., "A Versatile Co-Design Approach for Dynamic Legged Robots" (IROS 2022) [abstract]. arXiv 2103.04660

Vitruvio (ETH, 2020) [README]. repo

SERL / Wow Orin (Cheng et al., 2024) [full text]. arXiv 2408.15632

Rapid co-design of whegged robots (MiniRHex, 2024) [search snippet only]. arXiv 2405.05096

3.2 Morphology–control co-design with RL in simulation: what transfers

Schaff et al., "Jointly Learning to Construct and Control Agents" (ICRA 2018) [abstract]. arXiv 1801.01432

Luck et al., Co-adaptation (CoRL 2019) [abstract]. arXiv 1911.06832, repo, MIT

NGE (ICLR 2019) [abstract], Transform2Act (ICLR 2022) [abstract], BodyGen (ICLR 2025) [abstract].

Evolution Gym (NeurIPS 2021) [abstract]. arXiv 2201.09863, repo, MIT

DiffAqua (SIGGRAPH 2021) [abstract]. arXiv 2104.00837, repo, no licence

RoboGrammar (Zhao et al., TOG 2020) [abstract + README]. DOI, repo, MIT

Kriegman lab, "Creating manufacturable blueprints for coarse-grained virtual robots" (2026) [abstract]. arXiv 2603.13582

What transfers to real, manufacturable robots, in summary:

What does not transfer:

3.3 LLM- and agent-driven robot design

Text2Robot (Ringel et al., Duke, ICRA 2025) [full text + README]: the closest analogue to gyropup. arXiv 2406.19963, repo, Apache-2.0, project

Pipeline:

  1. A text prompt goes to Meshy text-to-3D. Meshes are filtered manually for one connected body, bilateral symmetry and four legs.
  2. Fusion 360 scripts repair the mesh, convert it to a body and scale it to 6300 cm³.
  3. Joints are placed by slicing: shoulder at the minimum cross-section, knee at the maximum cross-section 2 cm above the ground.
  4. Servos go in printed snap-in boxes; the electronics box slides into a channel.
  5. The design is exported to URDF.
  6. Evolution keeps the top 100 designs and makes 100 new ones per generation (50 by mutation, 50 by crossover). Mutations change limb length, limb shape, body shape and joint axis, and are applied symmetrically.
  7. Each design gets its own PPO training in IsaacGymEnvs: 4096 envs, 2.46×10⁷ steps, "a few minutes".
  8. The design is printed in PLA on a CR-10 with 8 Hiwonder HTD-45H servos, an RPi 4 and a 3S LiPo, taking "about a day" to manufacture.

Results and gaps:

For gyropup, reuse:

Do not copy:

RoboForge, "Agentic Robot Creation through Generation, Verification, and Revision" (Li et al., Oct 2026) [full text]. arXiv 2610.17881, project

How it works:

Results:

For gyropup:

RoboMorph (Qiu et al., 2024; listed as ICRA by Semantic Scholar) [full text]. arXiv 2407.08626, project

RoboMoRe (2025), Debate2Create (2025), LACE-CRAFT (2026) [abstracts]. arXiv 2506.00276, arXiv 2510.25850, arXiv 2610.09283

Auto-Robotist (EMNLP 2026) [abstract]. arXiv 2605.25832, repo, MIT

Kawaharazuka et al., BBO + LLM (IEEE Access 2025) [full text]. arXiv 2511.17178

Wilhelm, Zhou, Napp, "LLMs for Model-Based Robot Design" (2026) [abstract]. arXiv 2609.33423

Eureka (ICLR 2024) and DrEureka (2024) [abstracts]. arXiv 2310.12931, repo, MIT; arXiv 2406.01967, repo, MIT

RobotDesignGPT (2026) [abstract], Lang2Morph (2025, robotic hands, not read; arXiv 2509.18937), DOA personalised limbed robots (npj Robotics 2026) [abstract].

3.4 Printed robots with structural constraints (FEA, strength, anisotropy)

What I found is thin. This part of the loop is not well covered in the robotics literature.

3.5 Open Duck Mini, Microduck and Upkie: design → sim → real in practice

Robot details are in reference-robots.md §2 and §5. Only the iteration loop is summarised here.

Open Duck Mini v2 (repo, Apache-2.0; sim2real.md)

The loop:

  1. Design in Onshape.
  2. Export URDF/MJCF with onshape-to-robot (MIT).
  3. Override part masses with slicer estimates, because printed parts have infill.
  4. Identify the STS3215 servos with BAM (Apache-2.0) and export damping, kp, frictionloss, armature and forcerange to MuJoCo.
  5. Generate reference gaits with a parametric walk engine.
  6. Train imitation RL in MuJoCo Playground "implementing the imitation reward described by Disney in their BDX paper".
  7. Deploy ONNX on a Pi Zero 2W.

The mechanical design was declared "pretty much finalized" in January 2025 before RL began, so there was no automatic design feedback. Iteration was human, driven by sim2real failures.

Microduck (Pollen, 2026): the same toolchain on mjlab, with voltage sag and backlash modelled. The author notes that actuator fidelity is "most of the sim2real gap".

For gyropup, copy:

Upkie (repo, Apache-2.0)

For gyropup:


4.1 Design representation: buildable by construction

Following RoboGrammar, Text2Robot, Skaterbots and the Kriegman blueprints work, the optimiser never sees free-form geometry. It sees a typed parametric template that CadQuery always turns into a buildable assembly.

Group Variables Type Notes / source
Topology Leg type: serial 2-link (Upkie), parallel/5-bar (Diablo-like), Ascento-style linkage categorical Small fixed set, each with its own CadQuery generator
Actuators Hip and knee motor SKU, wheel motor SKU (from catalog/) categorical Vitruvio-style list with torque–speed curves, mass, cost, BAM-style parameters
Kinematics Thigh and shin length, hip width, hip offset, knee range continuous SERL/Ha 2016/Chen 2024 show leg length ratios matter
Wheels Radius, width, tyre SKU mixed Ascento and Upkie both found wheel radius to be a main parameter
Mass layout Battery SKU and position, electronics bay position mixed Dinev 2022 payload distribution
Compliance Gravity-compensation spring stiffness and preload (optional) continuous Ascento torsion springs; Bjelonic PEA
Structure Wall/shell count, infill, rib thickness, fork vs single-plate leg, print orientation per part, material (PLA → PLA-CF/PETG-CF → sheet metal/CF tube) mixed Upkie fork; Ascento topology optimisation; this is how FEA results become design changes
Style Shell shape, colours, "character" parts free, but only on non-structural shells MechStyle: styling must not touch high-stress load paths

The guide writes an explicit spec and constraint file (Wilhelm 2026): payload, max size, budget, target speed, slope, curb height, hop height, runtime. Every optimiser run reads only that file, so the human or agent can audit what was asked for.

4.2 Evaluation suite: scenarios and metrics

Every scenario must log per-joint torque, speed and power time series, contact forces, and link wrenches. The wrenches are what feed FEA, and none of the papers above export them. Run each scenario across commanded directions; the skating paper's optimiser exploited a one-way design.

Scenario Pass/fail Continuous metrics Loads exported for FEA
Static stand and squat sweep (min to max height) Torque < continuous rating at every height Hip/knee holding torque vs height; thermal margin (RMS torque / continuous) Static link wrenches at the worst height
Balance at rest with sensor noise No fall in 60 s Pitch RMS, wheel torque RMS Not needed
Push recovery (impulse ramp, front/back/side) Survives impulse ≥ spec Max survivable impulse (N·s), recovery time, peak wheel torque Peak wrenches during recovery
Drive: velocity steps, turns, reversing Tracking error < spec Speed tracking RMS, max speed, yaw-rate tracking, electrical CoT (Bjelonic IJRR energy model) Not needed
Slope hold and climb (e.g. 5–20°) Holds the spec slope Max slope held and climbed, wheel torque margin Wheel and hub loads
Curb / step (drive-up or leg-lift) Clears the spec height Max step height Impact wrenches
Hop and landing Reaches the spec hop height Jump height, torque saturation fraction (BDX hit limits here), landing peak force Landing peak wrenches, the main FEA load case
Fall onto the side or front (unpowered) No part exceeds allowable stress (checked in FEA) Impact velocity, peak contact force Impact load case, which Upkie's broken legs suggest is the real killer
Domain-randomised repeat of all the above Pass rate ≥ X % Pass rate across mass ±10 %, CoM ±, friction, actuator parameters (Open Duck ranges) Not needed

Objectives are reported as a Pareto set, not one weighted sum: capability margins, mass, cost, print time, worst FEA safety factor and CoT. LLM judges (Debate2Create) can rank the Pareto set against the user's stated priorities, but they never replace the numbers.

4.3 Optimiser: multi-fidelity, with amortised control

Tier 0  analytic screen   ~10^4 candidates, ms each
        - catalogue compatibility, mass budget, bed fit
        - inverse dynamics of reference motions (Vitruvio / Ha 2016 Σtorque²)
        - static squat and slope torque vs actuator curves, wheel torque for slope
        - linearised wheeled-pendulum LQR: stabilisable? (Ascento/Upkie model)
Tier 1  model-based sim   ~10^2-10^3, seconds each
        - MuJoCo with an LQR/MPC balancer (Upkie MPC as reference), no training
        - full scenario suite except hop/curb, or with scripted hop
Tier 2  design-conditioned RL   one training run per design *family*
        - single policy with the design vector as input (Schaff 2018; Bjelonic 2023)
        - pretrain over the design distribution, fine-tune finalists (Chen 2024; RoboCraft; LACE inheritance)
        - preview budget ~30 min per fine-tune (BDX "preview" idea); full training only for the final design
Tier 3  structural + manufacturing   ~10, minutes each
        - loads from tiers 1-2 → CadQuery parts → FEA (linear static, worst load cases), derated for FDM
        - RoboForge-style 23-check gate, slicer mass + print time + cost
Tier 4  hardware   1-3 builds
        - BAM-style actuator ID, sim-vs-real comparison, update the actuator models, re-run tiers 1-3

Outer search:

LLM role, following Kawaharazuka, Auto-Robotist and Wilhelm:

  1. Turn the user's intent into the explicit spec.
  2. Propose about every 10th sample from the Pareto history.
  3. Diagnose failures (RoboForge: geometry, target or reward?).
  4. Keep a natural-language rule library learned from runs (Auto-Robotist).
  5. Write scenario rewards and DR ranges (Eureka/DrEureka).

The LLM is never the only optimiser and never skips the deterministic checks.

Pass candidates up a tier only when they are within a margin of the current Pareto front. Keep a priority buffer that re-evaluates promising candidates at higher fidelity (RoboCraft).

4.4 Keeping it manufacturable

  1. Buildable by construction. CadQuery generators only emit assemblies made from catalogue parts, with fastener bosses, tool access and cable channels built in. This avoids RoboForge's top failures: missing mounts, self-intersections and actuator clearance.
  2. Deterministic gate: the RoboForge checklist. Single watertight solids, fit on the P1S 256 mm bed, insertion paths, tolerance stack-up, fastener length chains, joint-limit margins, clearance through the full range of motion and under tracking error, and mass reconciliation (CAD vs slicer vs URDF).
  3. Masses from the slicer (Open Duck), not uniform density (SERL). Re-export URDF/MJCF inertials after every structural change.
  4. FEA with FDM derating. No robotics source I found does this, so it must be set and validated by gyropup:
    • treat each part as transversely isotropic or apply a Z-direction knock-down to allowables;
    • make print orientation a design variable;
    • use separate safety factors for the static squat, hop landing and fall impact cases.
    • Calibrate on hardware: break-test a few printed coupons and one leg. Also check that the FEA would have predicted Upkie v1's tibia break.
  5. Strain energy per gram (Li 2026) as a cheap system-level indicator of which part to slim or stiffen next.
  6. Cost and time. BOM from the catalogue, plus filament grams and print hours from the slicer, plus hardware. Later, SendCutSend sheet metal and CF tubes come in as alternative implementations of the same structural variables.

4.5 Pitfalls others hit, and how to avoid them

Pitfall Who hit it Mitigation in gyropup
Optimiser exploits the simulator or actuator model General co-design; BDX/Open Duck/Microduck say actuator fidelity dominates the gap BAM-style actuator ID; torque–speed limits, friction, backlash, voltage sag in sim; DR on actuator parameters
One-directional or narrow-task designs Quadruped skating (asymmetric wheel angles) Scenario suite covers reverse, turns, sideways pushes
Fixed reward makes all morphologies converge RoboMoRe Per-scenario rewards, Eureka-tuned where needed; imitation targets for squat and hop
RL cost explodes RoboMorph 200 GPU-h/seed; BDX 22 days/policy Tier 0/1 model-based screening; design-conditioned policy; fine-tune only finalists
LLM designs are infeasible RoboForge; Wilhelm 0/30 LLM edits parameters of a validated template; deterministic gate; Kawaharazuka-style interleaving
LLM overfits to fitness numbers RoboMorph (scores removed from prompt) Show diverse elites and rules, not raw score tables only
Uniform-density masses, no stress check SERL; Text2Robot Slicer masses; FEA tier
Printed legs break under impact Upkie v1 Fall/landing load cases; fork or closed-section leg templates; bearing supports for radial loads
Topology optimisation output not buildable Ascento (manual redesign) Parametric ribs and sections instead of free topology optimisation; topology optimisation only as a hint
Mesh-first generative designs need manual repair Text2Robot (manual filtering, Fusion repair) Parametric CadQuery first; text drives parameters and shell styling only
Toy sims never become robots Kriegman 2026 critique of the virtual-creature literature Search only in the CAD-backed template space
One code path for sim, test and RL is "too greedy" Upkie Separate the eval harness from the training envs; share only the robot model and actuator models

4.6 Concrete reuse list (with licences)

Reuse What for Licence
Text2Robot evolutionary driver and modular electronics pods Reference EA loop and per-design PPO budget Apache-2.0
RoboForge check taxonomy (arXiv 2610.17881) Manufacturability and validity gate Paper only; reimplement
Bjelonic 2023 design-conditioned RL + BO (arXiv 2301.03509); IJRR 2025 energy model (arXiv 2509.06342) Tier-2 method; electrical CoT Method; IJRR code said to be public (repo not checked)
SurGE CMA-ES with surrogate gradients for leg and spring parameters MIT
Optuna multi-objective TPE + LLM interleaving (Kawaharazuka) Mixed-variable outer loop Method
Eureka / DrEureka Scenario rewards and DR ranges MIT
Auto-Robotist Design-rule memory for the agent MIT
BAM Actuator identification → MuJoCo parameters Apache-2.0
onshape-to-robot Reference for CAD → URDF/MJCF export conventions (closing loops, inertials) MIT
MuJoCo Playground GPU RL envs Apache-2.0
Upkie, upkie_description, upkie_parts Baseline robot, MPC/PD balancers, failure case for FEA validation Apache-2.0
BDX reward and actuator-model structure (arXiv 2501.05204), as reimplemented in Open_Duck_Playground Imitation rewards for squat and hop Paper; Playground has no licence, so reimplement
RoboGrammar Reference for grammar and value-guided search MIT
Vitruvio Reference for the analytic screen No licence; read only
RoboGen Historical reference GPL-3.0; don't copy code

4.7 Open questions this research could not settle