PAPER DEEP DIVE
Draft: A Parametric Tool for Robot Design Exploration
Robot performance is often limited by the cost of iterating on morphology and control together, since every computer-aided design (CAD) change has to be carried into a simulation-ready model before control work begins. Co-design methods attempt to close this gap, but each uses a model generator written for a single platform or lack the use of real-world data to suggest that designs are plausible. We present Draft, a parametric generation tool whose generalized engine compiles any parametric tree of serial chains into a simulation-ready MJCF model, without CAD. It allows engineers to explore design tradeoffs through easily adjustable models and evaluate how changes influence controller performance. Draft grounds the free parameters of each design using trends fitted to a survey of $114$ actuators and $49$ published robot descriptions, so that a generated robot is anchored to real-world hardware. We validate those trends wholistically by building twins of four off-the-shelf robots, whose masses agree to 1.10× geometric mean fold error. Finally, we demonstrate how Draft exposes design tradeoffs by evaluating three quadrupeds through a two-stage reinforcement learning curriculum.
Draft: A Parametric Tool for Robot Design Exploration
Authors: David Nguyen, Marcelo Coelho, Sangbae Kim Published: September 29, 2026 Category: Robotics (cs.RO)
Paper: https://arxiv.org/abs/2609.38405 Code: https://github.com/davidhnguyen2000/draft (MIT, public)
Summary
Draft turns a compact set of lengths, an expression-based kinematic tree, and a root-body mesh into a simulation-ready MuJoCo MJCF file without requiring CAD. It fills the otherwise free mass, package, transmission, and rotor-inertia parameters with trends fitted to 114 integrated actuators and 118 published robot descriptions. The paper validates the resulting medium-fidelity models against four Unitree digital twins and uses three generated quadrupeds to expose distinct speed, terrain, recovery, and efficiency tradeoffs under a shared reinforcement-learning curriculum.
Figure 1: A parameter edit propagates through visual, collision, inertial, and actuation properties before compilation.
Why this problem matters
Early robot decisions have an unusually long reach. Leg length, stance width, actuator placement, and gear ratio determine what a controller can eventually achieve, yet those choices are often fixed before a controls team has enough evidence to evaluate them. The conventional CAD-to-simulation path adds several expensive handoffs: a mechanical engineer builds an assembly, exports a robot description, and waits for a controls engineer to train a controller and report back. Each pass consumes enough time that only a small number of alternatives are ever tested.
Co-design research addresses the interaction between hardware and control, but existing pipelines tend to specialize in one morphology, one optimizer, or one way of representing geometry. Some methods parameterize a fixed tree, some drive a CAD master model, and others deform a base mesh. Those choices can provide differentiability or geometric fidelity, but they do not produce a cheap, reusable compiler that can generate many complete learning environments before the detailed CAD stage.
There is also a feasibility gap. A model can be internally consistent and still describe hardware that cannot be bought or built. A common workaround is to fit motor mass from a small catalog and assign one density to every structural link. That permits an optimizer to request an implausible torque density and receive an impressive score from a fictional machine. Draft therefore targets a narrower layer: generate a complete robot quickly, anchor its free parameters in measured hardware trends, reject clear feasibility violations, and leave the final design judgment to an engineer.
The choice of MJCF follows the same reasoning. Unlike a purely kinematic description, MJCF carries actuator force limits, joint armature, gear-ratio-dependent reflected inertia, and inertia computed from collision geometry. These quantities directly affect reinforcement learning, so placing them in the compiled model removes a class of manual translation errors between robot design and controller training.
The evaluation follows an end-to-end logic. The authors first test whether the fitted trends compose into realistic total mass. They then compare joint-space dynamics at many poses rather than accepting a visual match. Finally, they train several designs in one environment and inspect which actuator reaches its torque-speed boundary. Model generation, physical plausibility, and controller behavior are therefore examined as one chain instead of as unrelated demos.
Required background
Draft calls its output medium fidelity because it intentionally omits screws, cable routing, bearing races, manufacturing tolerances, and structural compliance while retaining the quantities that dominate rigid-body locomotion and manipulation: link dimensions, collision geometry, mass, center of mass, inertia tensor, joint axes, peak torque, no-load speed, and reflected armature. This is not a replacement for production CAD, but it is detailed enough to compare the high-level consequences of a leg length or drivetrain choice.
Each joint is modeled with a linear DC-motor-style torque-speed envelope. Available torque is the lower of the declared actuator limit and a straight line from stall torque at zero speed to zero torque at no-load speed. The PD gains scale with peak torque, so the same normalized tracking error requests roughly the same fraction of available actuator capability across joints of different sizes.
How Draft works
Three files define a candidate machine. A parameter file lists lengths, densities, motor classes, and shared scale variables. A kinematic tree specifies body relationships, joint axes, initial poses, and link primitives, with arithmetic expressions in place of hard-coded numbers. A root-body file defines the lofted torso. Expressions let an upper limb inherit a radius from the actuator that drives it, so changing one motor class propagates consistently through several geometry and mass calculations.
The compiler contains no body plan. Humanoids, quadrupeds, and other serial articulated systems use the same code. The paper reports compilation times of approximately 202 ms for a 29-joint humanoid and 50 ms for a 12-joint quadruped on a laptop CPU. This speed changes the design interaction from a batch export to something closer to an interactive sweep: a family of parameter variations can be generated and inspected before a detailed mechanical model exists.
Figure 2: The basic, sphere, foot, and root primitives cover serial limbs, point contacts, support surfaces, and custom torso geometry.
Four primitives cover the topology. A basic link is a structural cylinder that carries the motor driving its child joint. A sphere link terminates a chain in a contact point. A foot link terminates one in a support surface and can define a contact polygon. The root link is the geometry-rich body from which limbs extend; its cross-section polygons are lofted into a closed mesh. Chaining a small vocabulary is what removes morphology-specific generators while still allowing the generated robot to have distinct arms, legs, necks, and feet.
Mass and inertia are consequences of the model, not separate annotations. For primitive links, Draft asks MuJoCo to compute mass, center of mass, and the inertia tensor from geometry and density. The root mesh is measured with trimesh. A longer link therefore changes rendering, collision, mass distribution, gravity load, and controller dynamics together. The remaining design freedom is then constrained with empirical hardware trends.
The actuator survey first closes mass and reduction. The catalog contains 114 integrated rotary modules: 111 products from 11 vendors plus three research actuators. It spans low-reduction QDD units, integrated planetary mid-gear units, and mostly strain-wave high-reduction units. Fitting module mass against peak torque gives:
$$m=0.0653\,\tau^{0.666}$$
The exponent below one means mass grows more slowly than torque. Assuming geometric similarity or linear mass scaling would systematically overstate the weight of larger actuators. The reduction trend is inferred from no-load output speed because product families with slower output speeds tend to use larger reductions:
$$N=327\,\omega_{\text{NL}}^{-1.066}$$
Volume and rotor inertia complete the actuator description. Bare-motor theory relates torque to air-gap shear stress, rotor radius squared, and axial length. A complete module adds housing and transmission volume, so the authors keep the physical dependence on radius and length but let the catalog determine the torque and gear exponents:
$$V=\frac{\tau^{0.700}N^{-0.167}}{23948}$$
Package aspect ratio decides how that volume is split between radius and length:
$$r=\left(\frac{V}{2\pi a}\right)^{1/3},\qquad \ell=2ar$$
Rotor inertia follows the rigid-body $r^4$ law, with the constant fitted to modules that publish inertia. Reflecting it through the reduction gives the armature seen by the joint:
$$J=27.2r^{4},\qquad \text{armature}=N^{2}J$$
This relation matters for design exploration. Increasing the transmission ratio does not only multiply torque; it also multiplies reflected inertia and can make the joint slower and harder to stabilize. A simplified optimizer that applies a torque multiplier but ignores armature would miss one of the most important costs of geared actuation.
Structural trends are fitted after actuator mass is removed. The authors parse 118 published humanoid, biped, and quadruped descriptions. After filtering, they retain 29 humanoids and 20 quadrupeds, totaling 1,037 segments and spanning 8.8 to 85.0 kg. Because each published link contains mass from the motor and gearbox as well as structure, Draft uses joint torque to estimate actuator mass and subtracts it before fitting. Segment classes are modeled separately:
$$m=cL^{e}$$
The exponent is constrained to be nonnegative so no member becomes lighter as it lengthens. Humanoid and quadruped populations are not combined: applying the humanoid thigh trend to quadrupeds would overpredict mass by more than a factor of three. Torso mass uses volume times density instead, producing 716 kg/m³ for humanoids and 654 kg/m³ for quadrupeds. Holding out an entire robot yields 1.22x geometric mean mass error for humanoids and 1.18x for quadrupeds, compared with median-robot baselines of 1.42x and 1.77x.
The feasibility filter turns regressions into design guardrails. Each generated model is checked against its transmission family and the overall catalog for torque and power density, fitted speed range, and package radius. Aspect ratios outside the observed 0.28 to 1.69 interval raise warnings, as do structural densities more than twice the class norm. Adjacent actuator envelopes cannot intersect, and solid geometry cannot penetrate the root mesh beyond a small tolerance. Every derived value, warning, rejection, and intentional override is written to a feasibility report. Draft therefore does not certify optimality; it provides a reproducible refusal boundary for models that the evidence does not support.
The implementation matches those equations. In src/draft/generation/spec_builder.py, SpecEmitter assigns actuator force limits to actfrcrange and copies damping, friction loss, and armature into the MJCF joint. The model is compiled and read back before writing, so mass audits use MuJoCo's numerical representation rather than a second hand-written estimate. In src/draft/trends/feasibility.py, size() computes radius and length from volume and aspect ratio, evaluates inertia_coef * r ** 4, and reflects it with gear ** 2 * j_rotor. In src/draft/analysis.py, available_torque() implements the same min(effort_limit, stall_torque * (1 - |w| / w_NL)) envelope used by the paper's utilization analysis.
Optional MJCF modules extend the primitive vocabulary. A tree node may attach an existing MuJoCo model with overridden bodies, joints, geometry, mass roles, and motor classes. The compiler namespaces its elements, copies assets, and integrates the module into the same mass and collision audit. Quadruped knee remotization can therefore be represented with fixed joints and combined modules. The current implementation cannot introduce closed kinematic loops, so a closed-loop design must first be converted into an equivalent tree.
flowchart LR A["Parameter file
length density motor class"] --> D["Expression kinematic tree"] B["Root section and mesh"] --> D C["114 actuator survey"] --> E["Mass volume inertia armature"] F["118 robot descriptions"] --> G["Per-segment structural trends"] D --> H["MuJoCo SpecEmitter"] E --> H G --> H H --> I["Feasibility filter"] I --> J["Compiled MJCF and reports"] J --> K["Digital-twin dynamics parity"] J --> L["Two-stage PPO curriculum"] L --> M["Speed terrain push recovery efficiency"]
Evidence from the experiments
Actuator fits are scored out of sample. Each held-out module is predicted after refitting on the remaining catalog. The paper reports geometric mean fold error:
$$\mathrm{GMFE}=\exp\left(\frac{1}{n}\sum_{i=1}^{n}\left|\ln\left(\frac{\hat y_i}{y_i}\right)\right|\right)$$
A value of 1.10 means the typical miss is about ten percent in either direction after logarithmic weighting. It is more informative than an in-sample R² because it measures whether a trend can generalize to hardware excluded from the fit.
| Parameter | Fitted relation | n | R² | LOO fold error |
|---|---|---|---|---|
| Reduction N | 327 ωNL-1.066 | 103 | 0.89 | 1.33x |
| Mass m | 0.0653 τ0.666 | 103 | 0.90 | 1.28x |
| Volume V | τ0.700N-0.167/23948 | 103 | 0.87 | 1.30x |
| Radius r | (V/2πa)1/3 | 103 | — | 1.12x |
| Length ℓ | 2ar | 103 | — | 1.14x |
| Rotor inertia J | 27.2r4 | 88 | 0.84 | 1.56x |
Inertia is the weakest prediction. Vendors report the housing envelope, not whether the rotor is an inrunner or outrunner, so the outer radius is an imperfect proxy for the effective rotor radius. An entire-vendor holdout still gives 1.31x error for reduction, similar to the ordinary leave-one-out score, which suggests that the trend is not merely memorizing sibling products from one product line.
Figure 4: Reduction, mass, volume, and rotor-inertia trends. Colors separate QDD, mid-gear, and high-reduction actuator classes.
Digital twins test whether the individual trends compose correctly. The authors rebuild Unitree G1, H2, Go2, and B2 from vendor geometry and joint capacities while withholding all mass, density, inertia, and armature values. The generated masses are 111%, 91%, 101%, and 84% of the original machines. All remain within the stated 25% band, with 1.10x geometric mean fold error. H2 requires allow_hypothetical because its ankle-roll limits lie beyond the catalog frontier, so the twin tests composition but is not a perfect reproduction of the shipped closed-loop hardware.
Total mass alone cannot establish dynamic similarity. The paper samples 300 configurations from the intersection of each pair's joint limits and compares the joint-space mass matrix and gravity vector using relative Frobenius error. The rotor term is disabled in every comparison because only G1 publishes per-joint armature. This prevents missing vendor data from being confused with evidence of model quality.
| Robot | Inertia, swept axes | Inertia, misaligned axes held | Gravity, swept axes | Gravity, misaligned axes held |
|---|---|---|---|---|
| G1 | 33.9% | 28.3% | 25.1% | 19.5% |
| H2 | 32.6% | 21.9% | 34.1% | 14.5% |
| Go2 | 12.8% | — | 21.4% | — |
| B2 | 21.7% | — | 34.1% | — |
The quadrupeds agree more closely because Draft reproduces all twelve of their joint axes. G1 has six axes misaligned by up to 16 degrees, while H2 has four misaligned by up to 30 degrees. Holding those axes still brings the humanoid errors close to the quadruped range. The result provides a useful decomposition: a mismatch can come from mass prediction or from limitations of the kinematic vocabulary, and the two sources can be separated instead of being hidden inside one aggregate error.
Figure 5: Vendor and twin renders with mass ratios on the left, and mass-matrix and gravity errors over 300 poses on the right.
A reinforcement-learning curriculum turns model differences into capability differences. The paper generates three quadrupeds from one specification language. Cheetah is a 33 kg machine with 0.48 m legs and 6:1 QDD actuators. Bear is a 110 kg, 0.74 m design using 20:1 mid-gear modules and a wide stance. Giraffe is a 91 kg machine with 1.30 m legs and 80:1 high-reduction drives. All three pass the feasibility filter. They are trained with PPO in mjlab from ten independent seeds, first on a shared locomotion task and then on one of three curricula targeting speed, terrain height, or push recovery.
Comparing robots at different scales requires changing the task without favoring one physical size. The curriculum uses Froude similarity, with:
$$s=\frac{L}{0.48},\qquad \hat v=\frac{v}{\sqrt{gL}}$$
Velocity, yaw, uprightness, air time, base height, foot clearance, and several penalties scale with leg length. PD gains scale with each joint's peak torque. A natural stride for short legs is therefore not penalized by a task tuned for long legs. Each reported capability is first a median over 256 parallel robot rollouts in one policy evaluation, then a median over ten independent training seeds.
| Design | Mass | Leg | Top speed | Froude speed | Step | Step/L | Push | Push/L | Efficiency |
|---|---|---|---|---|---|---|---|---|---|
| Cheetah | 33 kg | 0.48 m | 3.63 m/s | 1.67 | 0.12 m | 0.26 | 7.9 m/s | 3.65 | 0.20 |
| Bear | 110 kg | 0.74 m | 4.33 m/s | 1.61 | 0.12 m | 0.17 | 8.6 m/s | 3.20 | 0.47 |
| Giraffe | 91 kg | 1.30 m | 2.17 m/s | 0.61 | 0.20 m | 0.15 | 5.3 m/s | 1.48 | 0.41 |
In absolute units, Bear has the highest speed and push recovery, while Giraffe clears the tallest step. Cheetah wins no absolute column. After normalizing by leg length, the interpretation changes: Cheetah gains the highest Froude speed and clears a step equal to 26% of its leg length, compared with 15% to 17% for the larger designs. It therefore achieves the strongest relative agility, but its QDD drivetrain reaches only 0.20 efficiency versus 0.47 for Bear. No design dominates every objective, which is precisely the kind of tradeoff a design exploration tool should reveal.
The paper then identifies whether the learned behavior is limited by the hardware. Drivetrain efficiency is mechanical output power divided by mechanical output plus theoretical copper loss:
$$\eta=\frac{\overline P_m}{\overline P_m+\overline P_J}$$
$$P_m=\sum_j|\tau_j\dot q_j|,\qquad P_J=\sum_j\frac{\tau_j^2\omega_{\text{NL},j}}{\tau_{\text{peak},j}}$$
For each task, the table reports the 95th percentile torque and speed utilization of the most heavily loaded joint. A sum near or above one places that joint on its torque-speed boundary. Sprinting is actuator-limited for all three designs. Cheetah's knee is mainly torque-limited, while Giraffe's hip reaches both high torque and high speed. Bear is not near either individual rating, but the learned gait keeps it on the diagonal envelope boundary. Terrain traversal stays below the sprint and push limits because the policy learns to refuse risky climbs when falling terminates the episode, not because every actuator has spare capacity.
| Design | Sprint | Kick recovery | Terrain | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Joint | Torque % | Speed % | Joint | Torque % | Speed % | Joint | Torque % | Speed % | |
| Cheetah | Knee 1.05 | 95 | 25 | Hip 0.60 | 69 | 17 | Knee 0.44 | 43 | 13 |
| Bear | Knee 1.04 | 77 | 85 | Hip 0.93 | 66 | 59 | Knee 0.55 | 43 | 50 |
| Giraffe | Hip 1.08 | 96 | 105 | Hip 1.06 | 94 | 99 | Hip 1.00 | 76 | 71 |
A final ablation injects the measured Go2 and B2 vendor-to-twin link-inertia residuals into evaluation without retraining. The dashed curves in Figure 8 shift the absolute capability values, but they do not reverse the ordering among Cheetah, Bear, and Giraffe. This supports the use of Draft for identifying design trends while cautioning against treating a generated parameter set as a precise performance certificate for a physical prototype.
Figure 8: Median and seed range for speed, push recovery, terrain, and efficiency. Dashed curves include measured twin inertia error.
Limitations
Open serial trees only. The authors state that the primitive library cannot represent parallel or closed-loop mechanisms. A real quadruped knee can be remotized with fixed joints and combined modules, but H2's closed-loop knees, ankles, and waist must first be approximated by an equivalent tree. The resulting model cannot reproduce loop stiffness, constraint forces, backlash paths, or the exact structural load distribution of the original linkage.
Draft is not a complete co-design optimizer. It generates and evaluates alternatives, but the designer still supplies objectives, design families, constraints, and iteration logic. The paper demonstrates accelerated exploration, not an algorithm that automatically discovers an optimal robot. An external sampler or multi-objective optimizer would be required to turn Draft into a closed-loop search system.
The actuator survey favors commercial modules. The 114-entry catalog does not include most bare rotor-stator pairs, so a custom high-performance actuator may outperform the fitted mass, volume, or inertia curves. The authors describe their trends as a defensible floor or baseline rather than a universal ceiling on what can be built. A rejected design should be investigated, not declared impossible solely from a regression.
The twin evidence comes from one manufacturer. G1, H2, Go2, and B2 are all Unitree platforms. The four cases support composition on that family, but they do not establish equal accuracy for another vendor, hydraulic robots, compliant structures, unusual reducers, or highly integrated hands. H2 also uses allow_hypothetical, which makes clear that generation and exact hardware equivalence are different claims.
Segment-level structure is noisy. Individual link fold errors reach roughly 1.2x to 3.2x depending on class and population. Mistakes in assigning actuator mass to a link, material differences, and design choices all contribute. Total mass can benefit from cancellation even when local mass and center of mass are inaccurate. The 300-pose comparison and inertia perturbation test high-level robustness, but they do not remove the need for denser surveys and physical validation.
Learned capabilities remain simulation results. All designs use the same PPO implementation, observation space, action space, and curriculum. That controls experimental variables, but it does not model thermal limits, communication delay, backlash, structural flexibility, or sensor noise. The reported curves are credible relative comparisons inside the simulator, not a guarantee that a prototype will reproduce the same speed, terrain clearance, or recovery envelope.
Conclusion
Draft contributes a practical bridge between qualitative robot concepts and learning-ready simulation. Four link primitives provide a reusable geometric vocabulary; expression trees remove the need for morphology-specific generators; fitted actuator and structure trends turn free design variables into plausible hardware; a feasibility filter rejects unsupported combinations; and MuJoCo compilation produces a model whose visual, collision, inertial, and actuator properties remain synchronized. The four digital twins show that these parts compose into whole machines with moderate error, while the three quadruped experiments show why a single aggregate score would be inadequate: scale and drivetrain choices shift the balance between speed, terrain clearance, push recovery, and efficiency.
The most valuable extensions are straightforward to state but substantial to achieve. Draft needs closed-loop mechanisms, denser and more diverse structural surveys, actuator data for dexterous hands, automatic multi-objective search, and external validation across vendors and physical prototypes. Until then, its current role is best understood as a fast, evidence-grounded design exploration layer rather than a full replacement for detailed engineering design.
Key takeaway
Draft compresses one design iteration from a CAD export and a long training cycle into milliseconds of compilation, without disconnecting the candidate from measured actuator trends or from the dynamics that determine whether a controller can actually use it.
