Skip to content
davidhnguyen2000Public

About

Draft: A Parametric Tool for Robot Design Exploration

Resources

Contributing

Stars

76 stars

Watchers

0 watching

Forks

Repository files navigation

Draft

A parametric tool for robot design exploration

Paper (arXiv) · Video

Draft video

Draft compiles a short declarative robot description into a simulation-ready MuJoCo model, without CAD. You state link lengths and the torque and speed each joint needs. Trends fitted to 114 catalogued actuators and 49 published robot descriptions fill in the masses, motor sizes and reflected inertias, then check whether the assembled machine could be built. Design variants take seconds to generate, and every one can be trained with the included quadruped RL tasks.

Quick start

conda env create -f environment.yml && conda activate draft
export PYTHONNOUSERSITE=1          # keep ~/.local packages out of the env
pip install -e ".[editor,twins,figures,dev]" -c constraints.txt
python scripts/robot_tuner.py                       # browser editor
python scripts/generate_robot.py --robot quadruped  # headless, writes generated/

Training needs a CUDA GPU: add the rl extra (pip install -e ".[rl]" -c constraints.txt) and see docs/tasks.md. Everything else runs on a laptop CPU.

Layout

src/draft/
  generation/   the compiler: parameter table + kinematic tree -> MJCF
  trends/       fitted trends, the feasibility checks, and their coefficients
  robots/       the shipped specifications (humanoid, quadruped)
  twins/        four Unitree robots rebuilt from specs and scored
  tasks/        quadruped locomotion environments and curricula
  lineup/       the paper's training and evaluation sweep
  editor/       the browser editor
datasets/       actuator catalogue and robot-description survey, with fitting scripts
experiments/    design variants, sweep spec, frozen results
scripts/        command-line entry points and figure scripts
tests/          pytest; --runslow adds the twin rebuilds

Vendor robot models are not included. python scripts/setup_data.py fetches them. The full documentation is in docs/.

Citing

If you use Draft or its datasets, please cite the paper:

@article{nguyen2026draft,
  title         = {Draft: A Parametric Tool for Robot Design Exploration},
  author        = {Nguyen, David and Coelho, Marcelo and Kim, Sangbae},
  journal       = {arXiv preprint arXiv:2609.38405},
  year          = {2026},
  eprint        = {2609.38405},
  archivePrefix = {arXiv},
  primaryClass  = {cs.RO},
  url           = {https://arxiv.org/abs/2609.38405}
}

License

MIT, see LICENSE. Fetched vendor descriptions keep their own licences.

About

Draft: A Parametric Tool for Robot Design Exploration

Resources

Contributing

Stars

76 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages