PAPER DEEP DIVE
Draft:面向机器人设计探索的参数化工具
Draft 将连杆参数、表达式运动学树和根体网格直接编译为可运行的 MuJoCo MJCF,并用 114 个集成执行器和 118 份公开机器人描述拟合质量、体积、传动比与转子惯量。论文通过四台 Unitree 数字孪生和三种四足强化学习实验,展示无 CAD 的快速设计探索、可行性筛选及速度、地形、抗推和效率之间的能力权衡。
Draft:面向机器人设计探索的参数化工具
作者:David Nguyen、Marcelo Coelho、Sangbae Kim 发表时间:2026 年 9 月 29 日 分类:机器人学(cs.RO)
论文:https://arxiv.org/abs/2609.38405 代码:https://github.com/davidhnguyen2000/draft(MIT,已公开)
一句话总结
Draft 把“连杆参数、运动学树、根体网格”直接编译为可仿真的 MuJoCo MJCF,并用 114 个真实执行器与 118 份公开机器人描述拟合质量、体积、传动比和惯量规律,使设计者在没有 CAD 的情况下快速生成、筛选并训练机器人方案。论文进一步用四台 Unitree 机器人的数字孪生和三种四足设计的强化学习实验,证明这套中间保真度流程既能贴近真实硬件,又能暴露尺度和执行器选择带来的能力差异。
图 1:一次参数修改会同时传播到机器人的几何、碰撞、惯量与执行器属性,最终形成可直接加载的 MJCF。
研究背景与动机
机器人早期设计最昂贵的问题并不是“能否把一个想法画出来”,而是设计团队在还不知道控制极限时就必须冻结腿长、电机位置、传动比和机身尺度。传统流程里,机械工程师先在 CAD 中构造装配体,再导出机器人描述文件;控制工程师随后训练或调参,并把控制器表现反馈给硬件团队。每次往返都伴随建模、导出和训练成本,因此真正可尝试的设计版本往往只有少数几个。
共同设计研究试图把硬件参数与控制器放进同一个优化问题,但这些系统的模型生成器经常只服务某一个平台、某一种控制器或某一类形态。有的方法把设计参数写成额外的虚拟关节,有的直接驱动参数化 CAD 主模型,还有的通过基础网格变形获得新外形。它们分别获得了可微性、几何精度或局部形貌自由度,却没有同时提供一种能跨人形、四足和其他串联机构复用、并且足够便宜以支持大量采样的模型编译层。
现有共同设计还常把“可构建性”放得太轻。电机质量可能来自少量电机的经验曲线,结构则统一赋一个密度。这样一来,优化器可以轻易提出扭矩密度远超市场模块的方案,并在不存在的硬件上获得漂亮分数。论文因此提出一个更窄但更关键的目标:不替工程师完成全部共同设计优化,而是先做一个可信、快速、跨形态的参数化模型生成与可行性检查中间层。
选择 MJCF 而不是 URDF 也是这一目标的直接结果。MuJoCo 的 MJCF 能显式承载关节电枢惯量、传动、执行器力矩范围以及由几何自动计算的质量属性;这些量恰好决定强化学习中的动力学响应。Draft 因而把“CAD 到仿真”的长链路改写成“简短参数到经 MuJoCo 编译验证的 MJCF”的短链路。
论文的验证并不停留在生成文件是否语法正确。作者先检查生成模型的质量、质量矩阵和重力项是否贴近商用人形与四足,再把三个同环境、不同参数的机器人交给同一个两阶段强化学习课程。这样,模型生成、硬件可行性、控制器性能和设计权衡被串成一条可审计的证据链。
预备知识
Draft 中的“中保真度”不是指渲染粗糙,而是指它只保留会显著影响结构与控制的量:连杆长度、包络半径、质量、质心、转动惯量、关节轴、峰值力矩、空载速度和反射电枢惯量。它不尝试生成螺钉、线束、轴承滚道或制造公差,因此不能替代详细 CAD;但在设计空间探索阶段,这些细节对比较腿长、传动比和尺度趋势的贡献远小于刚体参数。
执行器采用直流电机式的线性力矩—速度包络。给定峰值力矩与空载速度,任一转速下可用力矩随速度近似线性下降,速度超过空载速度后仍可能被反向驱动,因此实验中的力矩与速度利用率之和可以略大于一。每个关节还使用与峰值力矩成比例的 PD 增益,让不同规格电机在相同跟踪误差下消耗大致相同比例的可用能力。
方法详解
第一层输入是三个互补文件。参数文件记录连杆长度、密度、电机类别和尺度变量;运动学树描述父子关系、关节轴、初始位姿和链接原语,其中字段允许写算术表达式而不是固定数字;根体文件则给出躯干截面与放样网格。表达式的存在使参数传播更紧凑,例如连杆半径可以定义为某个电机的包络半径,而不必手工为每一级复制常数。
第二层是不含身体先验的编译器。生成器本身不知道“人形”或“四足”的含义,只接受一棵由串联链构成的参数树。29 自由度人形在笔记本 CPU 上约 202 毫秒完成编译,12 自由度四足约 50 毫秒。这个时间尺度意味着设计者可以在一次交互式浏览中改变若干参数,而不需要等待 CAD 导出。
图 2:basic、sphere、foot 与 root 四种链接原语覆盖串联肢体、点接触、足底接触和定制躯干。
四种链接原语把几何与驱动绑定在一起。basic 链接是承力圆柱,并在远端放置驱动子关节的电机;sphere 链接以球形接触点结束一条链;foot 链接用足底平面形成支撑多边形;root 链接自由度最高,由截面多边形放样成闭合网格。将它们首尾连接,就能用同一套代码搭建腿、手臂、颈部和躯干,而不需要为每种机器人另写一台生成器。
质量与惯量由构造保证自洽。原语链接调用 MuJoCo 的 inertiafromgeom,从几何和密度计算质量、质心与惯量张量;根体网格由 trimesh 计算后再写入 MJCF。这样,改变一节腿的长度或半径不仅改变外观,也会同步改变碰撞体、质量分布和关节负载。作者随后用真实执行器和机器人统计拟合这些自由参数,把“自洽”提升为“像一台可制造的机器”。
执行器统计先处理质量与传动。调查包含 114 个集成旋转执行器,其中 111 个来自 11 家厂商,另 3 个来自研究论文;模态覆盖 QDD、行星减速的中传动比模块以及主要使用谐波减速的高传动比模块。对峰值力矩拟合得到质量曲线:
$$m=0.0653\,\tau^{0.666}$$
指数小于一说明质量增长慢于力矩,直接按等比例放大电机会高估大型关节的质量。传动比则由空载速度反推,因为产品目录中“输出速度越高、减速比越低”的关系比单个型号的型号名更稳定:
$$N=327\,\omega_{\text{NL}}^{-1.066}$$
体积、形状与转子惯量继续闭合参数链。根据气隙剪切应力的电机理论,裸电机力矩与转子半径平方、轴向长度成正比,而完整模块的体积还受壳体和减速器影响。作者固定体积关于半径与长度的物理形式,只让数据决定力矩和减速比上的指数,得到:
$$V=\frac{\tau^{0.700}N^{-0.167}}{23948}$$
执行器长径比 $a=\ell/(2r)$ 决定体积如何分配:
$$r=\left(\frac{V}{2\pi a}\right)^{1/3},\qquad \ell=2ar$$
转子惯量使用刚体尺度律并固定半径四次方,只拟合常数;反射到关节输出端后,MuJoCo 的 armature 为减速比平方乘以转子惯量:
$$J=27.2r^{4},\qquad \text{armature}=N^{2}J$$
这条链路很重要,因为它解释了不同传动比为什么不只改变力矩。高减速比会同时放大力矩和反射惯量,使机器人响应变慢;只在优化器里给扭矩乘一个倍数,会遗漏控制中最关键的动态代价。
结构统计按肢体类别拆分。作者解析 118 份人形、双足和四足描述,保留 29 台人形与 20 台四足,共 1037 个段,质量范围 8.8 至 85.0 千克。每个描述中的连杆质量先扣除由该关节力矩估算的执行器质量,再按大腿、小腿、髋链接、上臂、前臂、手、足等类别拟合:
$$m=cL^{e}$$
指数被限制为非负,避免出现“结构越长反而越轻”的反物理拟合。人形与四足分开建模,是因为把统一曲线用于四足大腿会高估三倍以上。躯干不用长度曲线,而用体积乘密度,得到人形 716 千克每立方米、四足 654 千克每立方米。留一台机器人作验证时,人形总质量误差为 1.22 倍,四足为 1.18 倍,优于中位数基线。
可行性过滤器把趋势变成约束。所有拟合结果重新编译成逐设计检查:扭矩密度不能超过同类传动或全目录的极端值;长径比超出 0.28 至 1.69 时报警;连杆密度超过同类两倍时报警;相邻执行器包络重叠或实心结构嵌入根体网格时直接拒绝。警告与错误都写入 feasibility_report.yaml,执行器质量、躯干质量占比和所有覆盖关系也可追溯。Draft 因此不能保证一个方案“最优”,但能拒绝明显不可能制造的方案。
代码实现与论文公式一一对应。在官方仓库的 src/draft/generation/spec_builder.py 中,关节峰值力矩被写成 actfrcrange,阻尼、摩擦损耗和 armature 也由解析后的参数写入 MJCF;这意味着生成器不是先做一个视觉模型再补动力学,而是在同一份规格上一次性产生全部属性。src/draft/trends/feasibility.py 的 size 函数先由质量、体积和长径比求半径与长度,再用 inertia_coef * r ** 4 计算转子惯量,并以 gear ** 2 * j_rotor 得到反射电枢。src/draft/analysis.py 的 available_torque 则按 min(effort_limit, stall_torque * (1 - |w| / w_NL)) 生成每个时刻的力矩上限,和论文中的直流电机包络对应。
完整编译结果会先经过 MuJoCo 验证。SpecEmitter 先构造 MjSpec,再加入根体、关节、几何、传感器和可选的外部 MJCF 模块,最后调用 compile。只有当模型能够加载、几何质量可回读、执行器质量审计通过且包络检查完成时,文件才会写出。对于四足膝部远程驱动,树中可用固定关节和组合模块模拟电机前置,但闭环连杆必须由设计者预先展开为等价串联结构;这是工具边界,也是后文局限之一。
flowchart LR A["参数文件
长度 密度 电机类别"] --> D["表达式运动学树"] B["根体截面与网格"] --> D C["114 个执行器趋势"] --> E["体积 质量 惯量 反射电枢"] F["118 份机器人描述"] --> G["分肢体结构质量趋势"] D --> H["MuJoCo SpecEmitter"] E --> H G --> H H --> I["可行性过滤器"] I --> J["MJCF 与参数报告"] J --> K["数字孪生动力学对比"] J --> L["PPO 两阶段课程"] L --> M["速度 地形 抗扰 效率"]
实验结果
执行器拟合的误差用留一法衡量。每次移除一个样本,在其余样本上重拟合,再预测被移除的硬件。几何平均折叠误差定义为:
$$\mathrm{GMFE}=\exp\left(\frac{1}{n}\sum_{i=1}^{n}\left|\ln\left(\frac{\hat y_i}{y_i}\right)\right|\right)$$
该指标为 1.10 表示典型预测偏差约为 10%,且向上和向下误差在取对数后同等加权。论文没有用样本内 R² 代替泛化误差,这是判断趋势是否能进入设计流程时更可靠的口径。
| 参数 | 拟合关系 | 样本数 | R² | 留一折叠误差 |
|---|---|---|---|---|
| 传动比 N | 327 ωNL-1.066 | 103 | 0.89 | 1.33 倍 |
| 质量 m | 0.0653 τ0.666 | 103 | 0.90 | 1.28 倍 |
| 体积 V | τ0.700N-0.167/23948 | 103 | 0.87 | 1.30 倍 |
| 半径 r | (V/2πa)1/3 | 103 | — | 1.12 倍 |
| 长度 ℓ | 2ar | 103 | — | 1.14 倍 |
| 转子惯量 J | 27.2r4 | 88 | 0.84 | 1.56 倍 |
惯量误差最大,但作者给出了明确原因:目录只公布外壳包络,不公布内转子还是外转子,因此无法从外壳半径准确恢复真实转子半径。即便如此,半径四次方趋势仍与刚体动力学一致,且整机验证表明误差没有扭转设计层面的大趋势。按厂商整体留出时,传动误差仍只有 1.31 倍,说明拟合没有过度依赖同一厂商的兄弟型号。
图 4:传动比、质量、体积与转子惯量趋势;不同执行器类别共享趋势但仍保留离散性。
数字孪生检验趋势能否组合成整机。作者用 Unitree G1、H2、Go2、B2 的几何与关节限制生成四个孪生体,但不传入质量、密度、惯量或电枢。生成质量分别为原机的 111%、91%、101% 和 84%,都在正负 25% 内,几何平均折叠误差为 1.10 倍。H2 的踝部能力超出目录前沿,因此启用了 allow_hypothetical;它验证了组合流程,但不等于完整复现真实 H2 的闭环连杆与全部结构。
仅有总质量一致还不够。论文在关节限位交集内采样 300 组姿态,分别比较关节空间质量矩阵与重力向量的 Frobenius 相对误差。由于只有 G1 公布逐关节电枢,孪生对比统一关闭转子项,避免把缺失数据误当成模型优势。
| 机器人 | 惯量误差:全部轴 | 惯量误差:固定错轴 | 重力误差:全部轴 | 重力误差:固定错轴 |
|---|---|---|---|---|
| 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% | — |
四足误差明显低于人形,主要原因不是质量曲线突然变准,而是 Draft 的树结构完整复现了四足的全部 12 个关节轴。G1 有 6 个关节轴最多偏 16 度,H2 有 4 个最多偏 30 度;把这些轴固定后,人形误差迅速接近四足。这个结果揭示了一种有用的误差分解:质量预测错误与运动学表达能力错误可以被分开定位,而不是混成单一整机误差。
图 5:左侧为原机与孪生体质量比,右侧为 300 个位姿下的惯量与重力误差;第二组分布固定了轴错位关节。
强化学习把模型差异转化为设计能力差异。三个四足设计共用同一规格语言和环境,但改变尺度、站姿、腿长与电机:猎豹为 33 千克、0.48 米腿长、6:1 QDD;熊为 110 千克、0.74 米、20:1 中减速;长颈鹿为 91 千克、1.30 米、80:1 高减速。它们全部通过可行性过滤,然后使用 PPO 在 mjlab 中从 10 个随机种子训练。每个种子先学基础运动策略,再分别沿最大速度、地形高度和推力恢复三个方向继续课程。
为了公平比较不同尺寸,奖励函数按 Froude 相似缩放。尺度变量和归一化速度定义为:
$$s=\frac{L}{0.48},\qquad \hat v=\frac{v}{\sqrt{gL}}$$
速度、偏航、直立、腾空时间、机身高度和足端间隙都随尺度调整,PD 增益则随关节峰值力矩调整。于是短腿的自然步幅不会被长腿标准误判为“动作太小”,不同机器人也不是靠环境权重获得优势。最终每个能力数值先对 256 条并行机器人轨迹取中位数,再对 10 个训练种子取中位数,以降低单次训练波动。
| 设计 | 质量 | 腿长 | 最高速度 | 归一化速度 | 台阶 | 台阶/腿长 | 抗推速度 | 归一化抗推 | 效率 |
|---|---|---|---|---|---|---|---|---|---|
| 猎豹 | 33 kg | 0.48 m | 3.63 m/s | 1.67 | 0.12 m | 0.26 | 7.9 m/s | 3.65 | 0.20 |
| 熊 | 110 kg | 0.74 m | 4.33 m/s | 1.61 | 0.12 m | 0.17 | 8.6 m/s | 3.20 | 0.47 |
| 长颈鹿 | 91 kg | 1.30 m | 2.17 m/s | 0.61 | 0.20 m | 0.15 | 5.3 m/s | 1.48 | 0.41 |
绝对单位下熊最快、抗推最强,长颈鹿跨台阶最高,猎豹没有任何绝对能力夺冠。按腿长归一化后结论反转:猎豹的归一化速度略微领先,台阶高度占腿长 26%,明显高于另外两台的 15% 至 17%。它用最小尺度获得了很强的相对机动性,但 QDD 的效率只有 0.20,远低于熊的 0.47。这正是设计探索需要呈现的多目标权衡:并不存在一台在所有轴上都占优的“最佳四足”。
论文进一步定位限制来源。传动效率定义为机械输出功率除以机械输出与理论铜耗之和:
$$\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}}$$
若某关节的 95 分位力矩与速度占比之和接近或超过一,它就位于力矩—速度包络附近。三个设计的冲刺任务都受机器人本体限制,而不是训练不够;长颈鹿髋关节同时受到力矩与速度限制,熊虽然力矩和速度单项都不高,却贴着包络边界。地形任务的使用率普遍较低,反映了策略在“可能摔倒”与“继续爬升”之间选择了保守动作,而不是执行器已经没有余量。
| 设计 | 冲刺 | 抗推 | 地形 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| 关节 | 力矩% | 速度% | 关节 | 力矩% | 速度% | 关节 | 力矩% | 速度% | |
| 猎豹 | 膝 1.05 | 95 | 25 | 髋 0.60 | 69 | 17 | 膝 0.44 | 43 | 13 |
| 熊 | 膝 1.04 | 77 | 85 | 髋 0.93 | 66 | 59 | 膝 0.55 | 43 | 50 |
| 长颈鹿 | 髋 1.08 | 96 | 105 | 髋 1.06 | 94 | 99 | 髋 1.00 | 76 | 71 |
最后,作者不重新训练,只把从 Go2 和 B2 孪生实验测得的连杆质量偏差注入策略评估。图 8 中虚线代表含惯量误差的版本,四条能力趋势均未改变。参数变化会移动绝对数值,却没有把猎豹、熊、长颈鹿的相对排序翻转,说明该流程适合发现趋势,而不应被解读为对某一台真实样机的精确性能预测。
图 8:十个训练种子的能力中位数与范围;虚线为注入实测惯量误差后的同策略评估。
局限性
第一,生成器只覆盖开链和可展开为串联树的机构。作者明确指出,当前链接库不支持并联或闭环结构。四足膝部远程驱动可以用固定关节与组合模块表达,但 H2 真实存在的膝、踝和腰部闭环必须预先展开成等价树。对于依赖闭环刚度、约束反力或精确连杆几何的机器人,Draft 的动力学相似度会明显下降。
第二,Draft 不是完整的共同设计优化器。它生成并评估候选方案,但设计者仍然负责定义目标、选择参数和判断权衡。论文展示的是“工具让人更快迭代”,不是“算法自动找到最优机器人”。若需要自动搜索,仍需在外部增加采样、约束优化和多目标决策层。
第三,执行器统计偏向商业集成模块。目录覆盖 114 个模块,却不包含大量未集成的转子—定子组合。自定义高扭矩密度电机可能优于拟合曲线,因此趋势更像可辩护的基线或下限,而不是物理上限。设计者若直接采用模型拒绝的边界值,不能据此断言硬件一定不可制造。
第四,数字孪生验证的厂商多样性不足。四台目标机器人全部来自 Unitree。质量和动力学误差较小,说明在该厂商的形态、材料与关节布局上有效,却不能单独证明对其他厂商、液压驱动、柔性结构或特殊传动具有同等泛化能力。H2 还启用了 allow_hypothetical,进一步说明“能生成”与“完全等价真实样机”之间有差距。
第五,结构统计的类别内离散仍然很大。论文给出的部分连杆折叠误差在 1.2 至 3.2 倍之间,执行器归属、材料和设计选择都会影响结果。整机总质量能相互抵消,不代表每个连杆的质量和质心都准确。作者用 300 个位姿和惯量扰动检验了高层趋势,但仍需要更多腿型、人形、灵巧手执行器和真实样机实验来收紧误差。
第六,强化学习结论是同一课程内的相对能力。三个设计都使用 PPO、固定环境接口和相同课程,这有利于控制变量,却不等同于真实硬件上的最优控制。仿真中没有电机热约束、通信延迟、齿隙、结构柔性和传感器噪声;图 8 的曲线因此适合比较设计趋势,不应直接当成样机承诺。
总结与展望
Draft 的核心贡献不是一张更漂亮的机器人图,而是把设计参数、数据驱动硬件规律、MJCF 编译、可行性检查和强化学习评估接成可重复的短回路。它用四种链接原语消除形态专用生成器,用 114 个执行器和 1037 个机器人段把自由参数锚定在真实硬件,用四个数字孪生证明总质量和动力学误差可控,再用三个四足设计证明这些误差不会掩盖尺度、传动和腿长带来的能力变化。
下一步最有价值的方向包括:增加并联与闭环机构、引入更密集的人形和腿部扫描、把可行性检查变成自动约束优化、扩展到灵巧手执行器,以及用多家厂商的真实样机进行外部验证。Draft 当前扮演的是“设计探索中间层”;当约束、优化和硬件校准继续并入后,它才可能成为从任务需求到可制造机器人方案的完整闭环。
金句
Draft 不替工程师决定机器人应该是什么,而是把每次“改一个参数试试看”的代价压缩到毫秒级,同时让这个决定仍然站在真实硬件趋势与动力学证据之上。
