一句话定位

RoboGen 是 CMU/Tsinghua IIIS/MIT/UMass Amherst 团队提出的**“提议-生成-学习”自动化机器人智能体**:用 GPT-4 驱动一条可无限重复查询的流水线——自主提议任务、检索/生成场景资产、选择学习算法(RL / 运动规划 / 轨迹优化)并生成对应的训练监督(奖励函数),最终在仿真中学出对应技能,试图把”造仿真环境需要大量人力”这一瓶颈自动化掉。ICML 2024 发表;论文正式提出”Generative Simulation”这一范式名称。

背景与定位

论文指出仿真驱动的机器人技能学习长期受制于人力密集的环境构建:设计任务、造语义相关的资产、摆出合理的场景布局、写奖励/损失函数,这些步骤在 RLBench、Behavior-100、Meta-World、ManiSkill2(参见 maniskill2)等基准中都靠人工完成,难以随着任务多样性扩展。与同期把 LLM 直接用于底层策略/动作输出的路线(Code as Policies、VoxPoser、RT-2 rt-2 等)不同,RoboGen 只从基础模型中提取它们真正擅长的知识——物体语义、可供性(affordance)、“什么任务值得学”的常识——用它们来搭建”环境游乐场”,再借助物理仿真本身产生机器人对物理交互的理解,这是作者反复强调的设计选择(他们认为 LLM 本身缺乏动力学/驱动/物理交互的训练数据,不适合直接产出关节力矩)。

论文将这一思路命名为 Generative Simulation(同一作者组此前在 arXiv:2305.10455 中提出的范式),RoboGen 是其”初次落地实现”。相关并发工作 GenSim(Wang et al., 2023a)同样用 LLM 生成机器人任务,但局限于桌面刚体拾放、直接用 LLM 写代码脚本操纵物体(复用 Ravens 基准的少量资产);Gen2Sim(Katara et al., 2023)也用 LLM 生成桌面刚体/铰接操作任务和奖励。RoboGen 与二者的区别在于:额外做场景生成(从 Objaverse 800k+ 资产库检索/生成资产、摆放位姿)和自动算法选择(不局限于写代码脚本,而是让 GPT-4 在 RL/运动规划/轨迹优化间选择),并把任务范围扩展到铰接物体操作、软体操作、四足/人形运动等更广的技能类别。

模型架构

RoboGen 本身不是一个策略网络,而是一条由 GPT-4 驱动、按阶段调用不同下游算法的流水线式智能体,架构按其四个阶段描述:

A) 任务提议:以机器人类型 + 随机采样物体(来自 PartNetMobility 预定义物体池,如 oven/microwave/dispenser/laptop/dishwasher)为输入种子,喂给 GPT-4;prompt 包含 1) 物体类别、2) 从 URDF 解析出的关节树(articulation tree)、3) 关节/连杆的语义标注(如”哪个 link 是微波炉的门”),并附一个 in-context 示例。GPT-4 输出任务名、任务自然语言描述、任务需要的额外物体、以及涉及的关节/连杆。对四足/人形运动和软体操作任务,改用基于示例的种子(从 11 个预定义任务中采样示例)而非物体种子。

B) 场景生成(4 个子步骤):

  • 相关资产:对刚体任务,用 Sentence-BERT 做语言 embedding 检索,从 Objaverse(80万+ 3D 资产库)中按相似度取 top-k=10 候选,再用 Gemini-Pro(VLM)对检索到的资产生成图像描述(caption),连同任务描述一起反馈给 GPT-4 做二次筛选验证;对软体操作任务改用文本生成流水线(见”数据”节)。
  • 资产尺寸:查询 GPT-4 生成符合真实世界比例、且能让任务可解的相对尺寸(如抽屉要比要放进去的书大)。
  • 初始资产状态:查询 GPT-4 设定铰接物体的初始关节角(如”关窗户”任务应初始化为开着的窗)。
  • 场景布局:查询 GPT-4 生成各资产的位置与特殊空间关系(如”从保险箱取文件”要求文件初始化在保险箱内部),并显式要求无碰撞摆放;碰撞检测后沿碰撞法线方向反向推开物体质心来消解碰撞。

C) 训练监督生成:GPT-4 先把高层任务分解为子任务,再为每个子任务选择学习算法(三选一:RL / 运动规划动作原语 / 基于梯度的轨迹优化),并生成对应奖励函数(RL 子任务,3 个 in-context 示例;奖励基于仿真器 API 可查询的底层状态;软体操作用当前粒子形状与目标形状之间的 Earth Mover’s Distance 作为代价)。动作原语覆盖抓取、接近、释放;因平行夹爪对多样尺寸物体的抓取能力有限,RoboGen 采用吸盘式末端简化抓取。

D) 技能学习:整合三类算法执行学习——SAC(RL)、BIT*(运动规划,通过 OMPL 实现)、Adam 梯度轨迹优化(软体);长时程任务按子任务顺序学习,每个子任务跑 N=8 次取奖励最高的终止状态作为下一子任务初始状态。

LLM/VLM 后端:任务提议、场景生成、算法选择、奖励生成统一用 GPT-4(OpenAI, 2023);资产验证用 Gemini-Pro。论文强调框架与具体后端模型无关,可随新模型升级替换。

仿真平台:RoboGen 部署在 Genesis——一个支持多材料、多求解器、完全可微分的仿真引擎(同一批作者的下一代项目,见 genesis-physics-engine)。论文发表时 Genesis 尚未公开发布,论文用的是其内部版本;公开的 GitHub 代码是用 PyBullet 重新实现的版本,只覆盖刚体操作与运动规划/RL 学到的运动技能,软体操作与完整 Genesis 流水线待 Genesis 公开后另行发布(详见 Infra 节)。

数据

  • 资产来源:铰接/非铰接物体池取自 PartNetMobility(经 SAPIEN 解析)与 RLBench 的物体列表;额外场景资产从 Objaverse(超 80 万个 3D 网格/纹理资产)检索,top-k=10。
  • 软体目标形状生成:论文用 Midjourney(文本生成 2D 图像,白底、正视图或俯视图,每批生成 4 张随机取 1 张)→ Zero-1-to-3(图像生成 3D 网格)→ **DMTet(Deep Marching Tetrahedra)**精修网格,作为软体操作任务(如揉面团成特定形状)的目标几何。
  • 任务规模(在提交时的一个快照,流水线可无限重复查询产生更多):论文报告的任务多样性对比集为 106 个任务(Table 1);人工评测场景/监督有效性的集合是 155 个物体操作任务;技能学习成功率评测集是 69 个任务(50 个刚体/铰接物体操作 + 7 个软体操作 + 12 个四足/人形运动任务,Table 5-7)。
  • 任务复杂度统计:生成任务平均子步数 3.13(多数 ≤4 步,最长达 8-10 步);平均需 RL 求解的子步数 1.5;平均需运动规划原语求解的子步数 1.63
  • 场景/演示无需人工标注:整条 A-D 流水线(任务、场景、奖励)均由 GPT-4/Gemini-Pro 自动生成,人工只在设计 prompt 与 in-context 示例、以及论文的人工评测环节介入。
  • 数据混合:无固定”数据配比”概念——论文的”数据”即流水线自动产出的任务定义 + 场景配置 + 奖励函数 + 学到的技能演示,规模由重复查询次数决定(“无限”是设计目标,非已产出总量)。

训练方法

  • RL(SAC):actor/critic 均为 [256, 256, 256] MLP,学习率 3e-4(actor、critic、熵正则统一);操作任务 horizon 100,frameskip 2;动作空间 6 维(前 3 维为平移量——GPT-4 建议用 delta 平移或目标位置,后 3 维为夹爪局部坐标系下的 delta 轴角旋转);每个子任务训练 100 万(1M)环境步
  • 运动规划BIT*(Batch Informed Trees)算法,通过 OMPL(Open Motion Planning Library)实现;抓取/接近原语:在目标物体/连杆表面随机采样一点,计算与法向对齐的夹爪位姿,规划无碰撞路径到达,再沿法向推进直至接触。
  • 轨迹优化(软体)Adam 优化器,学习率 0.05300 个梯度步;操作任务 horizon 为 150 或 200;代价函数为当前形状与目标形状粒子间的 Earth Mover’s Distance
  • 运动学习(四足/人形运动):用 交叉熵方法 CEM(非 RL),因其比 RL 更稳定高效;用真值仿真器本身作为 CEM 的动力学模型,优化对象是机器人关节角轨迹;horizon 150,frameskip 4
  • 长时程任务:按子任务顺序学习,每个子任务独立跑 N=8 次,取奖励最高的终止状态作为下一子任务初始状态。
  • GPT-4 采样温度:任务提议阶段用 0.8-1.0(保证多样性),其余阶段(场景生成、算法选择、奖励生成等)用 0-0.3(保证响应稳健)。
  • 论文未涉及任何模型参数的梯度训练/微调——GPT-4、Gemini-Pro 均为冻结 API 调用,“训练”仅发生在下游的 SAC/BIT*/Adam-轨迹优化/CEM 这几类经典算法上。

Infra(训练 / 推理工程)

  • 计算硬件:论文未披露使用 GPU;技能学习的计算描述为纯 CPU——单任务约用 8 线程、2.5GHz CPU运行,若一个 32 核(64 线程)集群节点可并行跑 8 个任务
  • 单任务耗时:若子目标均可用运动规划解决,通常 10 分钟内完成;若某些子目标需 RL 求解,每个 RL 必需子步约耗时 2-3 小时;综合下来单任务平均耗时 4-5 小时
  • GPU 训练卡数 / 总 GPU-hours:未披露(论文技能学习部分未提及使用 GPU;仿真本身在 Genesis 内部版本 / 公开的 PyBullet 版本上运行,均为 CPU 仿真器)。
  • 推理侧 FPS / 控制频率 / 端侧硬件:未披露(论文聚焦仿真中技能学习,未做真机部署或推理延迟测量)。
  • 代码开源现状(GitHub README 明确说明):公开仓库是 PyBullet 重新实现版本,只包含刚体操作与四足/人形运动的任务生成与技能学习;论文实验用的软体操作能力和完整流水线依赖尚未公开发布的 Genesis 引擎,作者称”稍后随 Genesis 一起发布”。

评测 benchmark

任务多样性(Table 1,106 个生成任务 vs. 5 个既有基准 + 并发工作 GenSim,指标越低越好):

指标RoboGenBehavior-100RLBenchMetaWorldManiSkill2GenSim
任务数106100106502070
任务描述 Self-BLEU ↓0.2840.2990.3170.3220.6740.378
任务描述 SentenceBert 相似度 ↓0.1650.2100.2000.2630.1940.288
场景图像 ViT 相似度 ↓0.1930.3890.3750.5170.3320.717
场景图像 CLIP 相似度 ↓0.7620.8330.8640.8670.8280.932

RoboGen 在语言与图像空间的多样性指标上全面优于既有人工构建基准以及并发的 GenSim(论文将后者归因于 GenSim 只做桌面刚体拾放、资产库更小)。

场景有效性:用 BLIP-2 分数评测 7 个生成任务上的检索资产与任务描述的匹配度,对比两个消融——去掉物体验证(Gemini-Pro 二次筛选)和去掉尺寸验证(用资产默认尺寸而非查询 GPT-4)——去掉尺寸验证导致 BLIP-2 分数大幅下降,去掉物体验证也使分数降低且方差增大。人工审查 155 个生成的物体操作任务,发现 **13 个(8.4%)**场景生成失败,归为三类:资产不支持所需功能(如打印机没有可移动纸盘)、对铰接物体关节状态的语义理解错误(如无法判断关节角 0 对应门开还是关)、精细空间关系匹配失败(如订书机与订书钉尺寸不匹配)。

训练监督有效性:同样在这 155 个物体操作任务中人工检查任务分解与奖励函数,发现 **6 个(3.9%)**失败案例,分类为引用未定义变量、奖励未编码预期行为(如把”折叠椅子”的奖励写反,实际鼓励展开椅子)。

技能学习成功率:在 69 个基准任务(50 个物体操作 + 7 个软体操作 + 12 个运动任务)上,平均成功率 0.774(约 3/4 的运行能学出技能);其中 50 个铰接物体操作任务的平均成功率为 0.745(Table 5,逐任务成功率区间为 0-1.0,完整列表见论文 Appendix B.2)。消融:在 12 个铰接物体操作任务上去掉”运动规划动作原语”选项、强制只用 RL 求解,论文报告”对大多数任务技能学习完全失败”(Figure 5 定性展示大幅下降,未给出该消融的具体平均数值)。

创新点与影响

贡献:(1) 首次把”任务提议 - 场景生成 - 训练监督生成 - 技能学习”整条流水线系统性地交给基础模型自动完成,正式提出并落地 Generative Simulation 范式;(2) 让 LLM 只承担它擅长的常识/语义/可供性推理,把物理理解交还给仿真器和经典算法(RL/运动规划/轨迹优化),是与”LLM 直接输出底层动作”路线的明确路径分野;(3) 任务多样性(语言 + 图像空间)系统性超过既有人工构建基准与并发的 GenSim;(4) 覆盖刚体/铰接物体操作、软体操作、四足/人形运动等异构任务类型,比同期 LLM-for-robotics 工作(多局限于桌面刚体拾放)范围更广。

论文自陈局限:1) 学到技能的大规模验证仍是难题,可能需要未来引入多模态基础模型的反馈来解决;2) 范式本质上受 sim-to-real gap 制约,真实世界部署是独立的研究方向(论文未做任何真机实验);此外从失败分析看,LLM 对铰接物体关节状态(开/关语义)的理解错误、连续往复动作(如”敲门""来回摆动机械手”)难以正确编码为奖励,是当前流水线的具体薄弱点。

影响:确立了”用基础模型生成任务/场景/监督、用经典算法学具体技能”这一分工范式,后续机器人数据生成/仿真工作(如与 Eureka 等 LLM 奖励生成工作并列)延续了这一”提取常识、物理仍靠仿真”的设计哲学;其仿真引擎 Genesis 后续独立发布并演进为通用机器人仿真基础设施(见 genesis-physics-engine)。

原始链接

一手源存档(sources/)