USDCraft: Geometrically Grounded Programmatic Modeling of Articulated 3D Assets for Simulation
Chuanrui Zhang, Zaijia Yang, Duomin Wang, Lu Shi, Daquan Zhou, Ruihua Zhang, Ziwei Wang
cs.RO
2026-10-08
预训练模型不微调,把残缺网格写成可仿真关节资产,部件F1达到84.8%,真机三项任务掉点最多10。
仿真训练的操作策略要迁到真机,资产得对齐实物尺寸,关节位置要对,质量、摩擦和限位也得进仿真器。Particulate、SIMART、ArtLLM 在静态网格上切零件、估轴。缺面或粘连会让切分失败,开口和内部补不回来,少见机构又因为依赖标注训练而泛化差。Articraft 和 Procedura 用大模型写程序造物体,类别广,但没有实物尺寸,抓取点会偏。
USDCraft 不做任务微调。预训练 LLM 读源网格和参考图,自己选工具,写出程序,编译后再改。没有网格时按文字或图片生成。
网格读不了:渲染没有尺度,顶点列表太长。源几何分析把表面采样到统一度量坐标的格子上,竖直排成切片,并记下包围盒、凸起、开孔和内部结构。源表面没盖到的格子标成未知,不标空,也不标实心。洞不一定是空,壳内也不一定是实心,这两处按图像和功能补。
零件、关节和物理量都是程序参数,错了改局部。机械件用 CadQuery,有机外形用符号距离场,贴图写在同一段代码里。质量、摩擦、限位、驱动直接用 PhysX 参数,编译带上碰撞体,USD 原样进 Isaac Sim。
几何复查把候选编码回同一格子。源有而候选没有,算作要改;候选多出而源未知,可能是内壁或漏扫件,不一律惩罚。六个方向的首表面深度里,中位数偏移 b 是前后平移,去掉平移后残差的 90 分位 eprofile 是形状差。把手的 b 为 0.64 mm,eprofile 为 3.41 mm,该改轮廓。视觉反馈在不同关节姿态下渲染分色图,查缺件、装反和干涉。生成主要靠这一步。
USDCraft-bench 含 60 个代理资产,USDCraft、Articraft、Procedura 各 20 个,另加 40 个网格与真实扫描,输入无零件标注。Sol 是 GPT-5.6、高推理力度,Astra 是 GPT-6、低推理力度,后者为三次均值。ArtLLM 只统计切分成功的样本。
| 方法 | 部件 F1(%) | 静态 gIoU | 展开 gIoU | 轴角误差(°) | 轴位置误差 |
| ArtLLM(仅成功) | 19.3 | 0.194 | 0.189 | 61.2 | 0.366 |
| SIMART | 36.0 | 0.282 | 0.273 | 46.7 | 0.262 |
| Particulate | 33.4 | 0.300 | 0.289 | 48.3 | 0.244 |
| Articraft-Astra | 64.0 | 0.204 | 0.196 | 15.1 | 0.092 |
| USDCraft-Sol | 79.8 | 0.586 | 0.568 | 9.2 | 0.068 |
| USDCraft-Astra | 84.8 | 0.694 | 0.670 | 6.8 | 0.044 |
九项全部领先,推理力度更低的 Astra 仍高于 Sol。切分补不回缺失零件。Articraft 只看图,静态 gIoU 仅 0.204。零件 Chamfer 从 Particulate 的 0.127 降到 Astra 的 0.052。
Lightwheel 有 243 件人工资产、14 类。无提示时 Astra 的 F1 为 87.0%,高于原网格上 Instruct-Particulate 的 83.4% 和 Articraft 的 67.0%;静态 gIoU 0.590,展开 gIoU 0.555,轴位置误差 0.009。分割路线的整物体 Chamfer 更低、mIoU 更高,因为直接沿用输入表面。Articraft 轴角误差 7.7°,低于 USDCraft 的 10.2°,可动零件召回却只有 66.8%,USDCraft 为 85.0%。无实例标注的 14 类关节文本把 F1 提到 89.8%,轴角误差降到 4.5°。
同一骨干下,几何工具九项优于通用工具 Mini Workflow,轴上差距最大,Sol 版每项都高于 Mini Workflow-Astra。Claude Opus 5 和 Gemini 3.8 Flash 换上同一套工具后,多数指标同样超过 Mini Workflow。GPT 上多花约 1 到 2 分钟。Astra 平均 4.2 分钟、0.85 美元一件,Claude 27.5 分钟、4.51 美元。
iPhone Pro 扫描抽屉、烤面包机和支架盒,各约两分钟。可交互资产各收 200 条仿真演示,Diffusion Policy 训练 80 个 epoch、batch 128,部署到 UR7e 与 Robotiq 2F-85。各 20 次仿真和真机,没有真机微调。成功为抽屉拉开至少 5 cm、压杆按下至少 4 cm、开关转过 5° 以上。
| 资产来源 | 开抽屉 仿真/真机 | 按压杆 仿真/真机 | 开开关 仿真/真机 |
| Articraft-Sol | 90% / 20% | 90% / 10% | 80% / 20% |
| Particulate | 0% / 0% | 50% / 10% | 0% / 0% |
| Mini Workflow-Astra | 100% / 0% | 90% / 60% | 85% / 70% |
| USDCraft-Astra | 100% / 90% | 90% / 85% | 85% / 85% |
Sol 与 Astra 掉点最多 10。Articraft 掉 60 到 80 个点。Mini Workflow-Astra 开抽屉真机为 0%,把手放歪造成危险接触。Particulate 只恢复压杆,机体固定后仿真成功率 50%。
文字与图像生成各 50 条,匿名 Sol/high 打 1 到 5 分,五维最高都在 USDCraft。Astra 中位 4.9 分钟,Procedura-Sol 中位 58.7 分钟。USDCraft-10k 有 1 万件、500 多类,70% 文字、30% 图像。
编写工具包使轴角误差从 21.1° 降到 9.2°。去掉源几何分析,F1 从 84.8% 降到 82.0%,静态 gIoU 从 0.694 降到 0.616,轴角误差升至 10.2°。去掉视觉反馈,gIoU 仍为 0.694,F1 降到 83.6%。额外的纯图像观察代理让九项都变差。
出自 NVIDIA 实习。导出的 USD 带碰撞体和 PhysX 参数,进 Isaac Sim 不用手调。真机掉点不超过 10,把手和开关的位置跟着测量走。新类别不用另训关节网络。库里已有一万件。这是分钟级的代理循环,没有和 Particulate 这类前馈切分比过耗时。网格完整时切分更合适;网格残缺、还要直接训策略时,改程序更对口。
细格子保不住。球拍线和购物车铁丝的间距、连接对不上源网格。柔性体只保留静止几何,伞骨关节不描述伞面张力,柔性动力学没有在 Isaac Sim 里验证。
60 个代理资产里有 20 个由 USDCraft 自己生成。去掉后 F1 仍为 83.9%;去掉全部代理生成参考后为 89.8%,九项仍第一。ArtLLM 的 19.3% 排除了 28 例切分失败。生成分由同族的 Sol/high 打,看的是运动学截图,不是物理仿真。真机只有三个物体、三项任务、各 20 次,支架还用了 USDCraft-Astra 的重建。摩擦和质量来自编写指南,不是实测。主表把每个物体单独归一化。换到参考坐标系后,Astra 的 F1 仍为 83.3% 且九项第一,只看图的 Articraft 从 64.0% 掉到 37.4%。