LLM按残缺网格写程序,关节资产真机策略掉点不超过10

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.30.1940.18961.20.366
SIMART36.00.2820.27346.70.262
Particulate33.40.3000.28948.30.244
Articraft-Astra64.00.2040.19615.10.092
USDCraft-Sol79.80.5860.5689.20.068
USDCraft-Astra84.80.6940.6706.80.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-Sol90% / 20%90% / 10%80% / 20%
Particulate0% / 0%50% / 10%0% / 0%
Mini Workflow-Astra100% / 0%90% / 60%85% / 70%
USDCraft-Astra100% / 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%。

术语

原文与代码

相关论文

全部论文解读