一句话定位

CoRL 2021 论文,给基于 PyBullet 的交互式仿真器 iGibson 1.0 加上三样东西:扩展物理状态(温度、湿度、清洁度、开关、切片)、逻辑谓词系统(判别式状态→符号 + 生成式符号→采样物理状态)、VR 交互接口,使”做饭""清洁""浸泡”这类此前仿真器管不了的家务活动第一次可以被研究;是后续 BEHAVIOR-100 / BEHAVIOR-1K / OmniGibson 的直接前身。

背景与定位

论文划分的范式谱系:一端是只做运动学-刚体接触仿真的传统机器人仿真器(PyBullet/MuJoCo/PhysX 驱动的 habitatsapien、Robosuite、RLBench、Meta-World 等),只能支持”重排列”(rearrangement)类任务;另一端是 ai2-thor、VirtualHome 这类基于 Unity 的物体中心表示仿真器,但它们的状态变化是预定义、离散、符号化的动作(如”raw→cooked”直接由动作后置条件触发,类似 PDDL/STRIPS),不维持底层连续物理过程。iGibson 2.0 的定位是:保留连续物理仿真,但补上温度/湿度/清洁度这类此前被忽略的”物体扩展状态”,再用一层逻辑谓词把连续物理值映射到语义符号(如”Cooked”),从而同时兼顾物理真实感和任务可描述性。

它是 iGibson 1.0(Shen et al., IROS 2021;15 个全交互场景 + 500+ 物体模型)的直接延伸,也是同组后续 BEHAVIOR-100(100 个由研究者挑选的家务活动,跑在 iGibson 2.0 上)以及再下一代 behavior-1k(1,000 活动、迁移到自研 OmniGibson/Omniverse+PhysX5 仿真器)的技术前身——iGibson 2.0 的”扩展状态 + 逻辑谓词”设计被完整继承并在 BEHAVIOR-1K 中扩展为 BDDL。

模型架构

iGibson 2.0 不是一个训练出来的模型,而是仿真器架构的扩展;核心新增三层:

1) 扩展物理状态(Extended Physical States):在 iGibson 1.0 的运动学状态(位姿、关节角)之上,为每个物体维护 5 个额外标量状态,object-centric(每个物体一个值,不区分部件):

  • 温度 T:热源/热汇按 WordNet 类别标注(如炉灶、冰箱),更新规则 T_{t+1} = T_t·(1 + Δsim·r·(T_source − T_t)),室温默认 23°Cr 为按类别标注的变温速率(°C/s);同时维护历史最高温 T_max,外观由 T_max 决定(即使降温后仍保持”烧焦”外观)。
  • 湿度 w:droplet 粒子系统近似流体——水龙头等生成液滴、水槽等吸收液滴、可吸湿物体(毛巾)接触液滴后 w 增加,液滴也可被容器(杯子)盛装后倾倒。
  • 清洁度:分 dustiness d(灰尘,需干工具清洁)与 stain s(污渍,需湿工具/scrubber 清洁),初始化时物体表面生成固定数量粒子(100% 对应清洁度 0),清洁按接触移除的粒子比例更新。
  • 开关状态 TS:二值状态,通过标注的 TogglingLink(虚拟固定 link)被智能体接触后翻转。
  • 切片状态 SS:不可逆,SlicingToolSlicingLink 施力超过阈值 F_sliced = 10 N(默认)后触发,物体被替换为两个继承原扩展状态(如温度)的半体,只能切一次(不支持多次切分)。
  • WordNet 语义骨架:每个物体实例必须属于某个 WordNet 类别,扩展状态需求(是否可 Cooked/Burnt/Frozen/Soaked/Dusty/Stained/ToggledOn/Sliced)通过众包标注挂在类别上,而非逐实例标注。

2) 逻辑谓词系统(Logical Predicates):一元/二元谓词,覆盖运动学关系(InsideOf、OnTopOf、NextTo、InContactWith、Under、OnFloor、Open)与扩展状态关系(Cooked、Burnt、Frozen、Soaked、Dusty、Stained、ToggledOn、Sliced)及智能体感知关系(InFoVOfAgent、InHandOfAgent、InReachOfAgent、InSameRoomAsAgent)。每个谓词同时实现:

  • 判别函数:把连续物理状态映射为布尔符号,如 Frozen(o) = (T_o ≤ 0°C)Soaked(o) = (w ≥ 1)Dusty(o) = (d > 0.5)Stained(o) = (s > 0.5)(均为默认阈值,可按类别/模型覆盖)。
  • 生成函数:给定目标符号态,反向采样满足条件的物理状态,如采样 Frozen(o)=True 时把温度设为 T_frozen−10T_frozen−50 间的随机值;采样运动学谓词(OnTopOf/InsideOf/Under/OnFloor)用射线投射(ray-casting)+ 稳定朝向标注的位姿采样算法,保证生成位姿不穿模、有支撑面。该生成系统被用来把 iGibson 1.0 原 15 个场景重新”填充”小物体(单场景增加 100+ 个物体实例),按语义规则采样放置位置(如 p(InsideOf(Beer,Fridge) ∧ InsideOf(Fridge,Kitchen)))。

3) VR 交互接口:基于 OpenVR,兼容 HTC Vive Pro Eye / Oculus Rift S / Oculus Quest 三款主流头显;双手化身(头 + 双手 + 可选躯干追踪器),头部姿态直接映射(跳过物理仿真避免眩晕),手/躯干通过物理约束”拉向”目标位姿(手部约束力上限 300 N,躯干约束力上限 50 N)。**辅助抓取(Assistive Grasping, AG)**机制:扳机按压超过 50% 激活手掌与被抓物体间的固定/点对点关节约束,需满足物体在手内(16 条射线判定)、离掌心最近、与手接触且受力三个条件;扳机松开低于 50% 或物体质心偏离手掌超过 D_AG_max = 10 cm 时断开。渲染分辨率 1296×1440 立体图像,系统能力上限 90 Hz,但为兼容物理+扩展状态更新的额外计算实际降到 30 fps。所有交互全量记录、可确定性回放。

数据

  • 场景:沿用 iGibson 1.0 的 15 个全交互场景(对应 108 个真实房间);用生成式系统重新填充小物体后场景更密集(单场景 +100 余个实例)。
  • 物体模型:官方特性对比表(Table A.7)给出 iGibson 2.0 提供 1,217 个物体模型(原表标 * 号,抽取文本未保留脚注说明其具体含义)。
  • 人类演示数据:VR 采集,针对 Bimanual Pick and Place 任务采集 30 条演示,共 6,500+ 帧(约 215 秒);动作标签直接来自 VR 手柄/头显位姿,无需人工标注。
  • 任务集:论文自定义 6 个新任务作为能力展示(非大规模基准):Grasping Book、Soaking Towel、Cleaning Stained Shelf、Cooking Meat、Slicing Fruit、Bimanual Pick and Place。
  • 无互联网规模预训练数据——本文数据是程序化生成的仿真场景/物体状态 + 小规模人类 VR 演示,全部为纯仿真(sim-only),未涉及真实机器人数据采集。

训练方法

本文不训练新的基础模型,而是用现有 RL/IL 算法验证新仿真能力:

  • 强化学习(SAC):两种具身——VR 化身同构的双手人形机器人Fetch 机械臂。观测为 128×128 RGB-D 图像 + 本体感知(手/末端执行器位姿、抓握开合比例),编码器为 3 层 CNN(RGB-D→256 维)+ MLP(本体感知→256 维),拼接后过 MLP 输出动作。默认采用”sticky mitten”简化抓取(接触即固定约束);Fetch 上另做去简化消融,动作空间增加 1 维夹爪开合自由度。单步任务超时 200 个时间步(合 20 秒,约 10 Hz 决策频率),训练 10,000 episodes。奖励 = 达成目标谓词的一次性成功奖励 + 距离型 shaping(鼓励手/物体接近任务相关物体)+(清洁任务专属)按已清洁污渍粒子数给的部分进度奖励。
  • 模仿学习(行为克隆):Bimanual Pick and Place 上,输入为任务相关物体真值位姿 + 本体感知(非像素输入),双手 12 自由度线速度/角速度动作(抓握开合不学习、直接回放人类演示),两个 MLP 编码器拼接后过 MLP 输出动作,训练至验证集 loss 平台期。因全任务长达 300+ 步、策略因协变量偏移(covariate shift)发散,改用”倒放”(rewind)评测协议:从成功人类演示的目标前几秒初始化,再交给策略接管。

Infra(训练 / 推理工程)

  • 仿真速度基准(论文 A.4,沿用 iGibson 1.0 设置):空闲场景(放置 TurtleBot、零动作),动作步长 t_a=1/30 s,物理步长 t_s=1/120 s,15 个场景统计,硬件为 Intel 5930K CPU + Nvidia GTX 1080 Ti GPU,单进程,渲染 512×512 RGB-D:

    仿真器Mean(steps/s)MaxMin
    iGibson 1.010015068
    iGibson 2.012521773

    尽管新增了扩展状态计算,iGibson 2.0 平均速度反而提升 25%,论文归因于更好的物体休眠(sleeping)机制与渲染器里位姿的惰性(lazy)更新。

  • VR 渲染:1296×1440 立体图像,系统能力上限 90 Hz,实际运行降至 30 fps 以容纳额外的物理+扩展状态计算。

  • RL/IL 实验的训练 GPU 数量、GPU-hours、并行策略、精度:论文未披露(论文重心是仿真器能力展示,非训练规模);从描述看均为单机单卡规模实验。

评测 benchmark

全部结果来自论文一手数据(无标准化跨仿真器任务榜,只有内部消融 + 与 1.0 的速度对比 + 特性对比表)。

RL(SAC)六任务成功率(双手人形 & Fetch,均用 sticky-mitten 简化):Grasping Book / Soaking Towel / Cleaning Stained Shelf / Cooking Meat 均达 100%;Slicing Fruit 双手人形 15%、Fetch 0%(因需精确对齐刀刃与水果);Bimanual Pick and Place 双手人形 0%(双手协调困难)。

Fetch 去除抓取简化(真实摩擦抓取):2 个任务 25% 成功率,其余 3 个 0%——凸显通用抓取仍是主要瓶颈。

泛化消融(Soaking Towel,3 种训练多样性——无变化/变位姿/变物体+位姿,测试于未见物体+位姿):成功率 19% / 79% / 87%,说明生成式系统提供的多样性对策略泛化至关重要。

IL(Bimanual Pick and Place,倒放协议):从目标前 6 秒 / 3 秒初始化,成功率分别为 19% / 46%(从头训练的全任务策略因长时程协变量偏移而发散/失败)。

特性对比表(Table A.7,对比 iGibson 1.0、Gibson、habitatsapienai2-thor、ManipulaTHOR、VirtualHome、ThreeDWorld):iGibson 2.0 是表中唯一同时具备”连续扩展状态”+“非运动学状态”+“几何采样”+“基于逻辑状态初始化”+“VR 人机接口”的仿真器;场景规模与 1.0 持平(15 家庭 / 108 房间),提供 1,217 个物体模型。

创新点与影响

  • 把”扩展物理状态 + 逻辑谓词(判别式+生成式)“系统化:首次让仿真器同时维持连续物理过程(温度/湿度/清洁度)与语义符号层,且符号态可反向生成物理初始状态,为”用少量逻辑描述批量生成任务实例”打开了路。
  • VR 接口 + 辅助抓取机制:为双手长时程操作任务采集高质量人类演示提供了实用工具,直接催生同组后续基于人类需求问卷设计任务集的 BEHAVIOR 系列基准。
  • 直接前身地位:其扩展状态与逻辑谓词设计被 BEHAVIOR-100 完整复用,再被 behavior-1k 扩展为 BDDL 并迁移到 OmniGibson(Omniverse+PhysX 5)以支持流体/可变形体的更高保真度仿真——iGibson 2.0 是这条脉络里”仅用刚体+粒子近似流体/清洁度”路线的代表节点。
  • 作者自陈局限(原文各处明确写出):①Slicing Fruit 与 Bimanual Pick and Place 上 RL 成功率很低,切割对齐精度与双手协调对当前 RL 方法仍是难题;②去除抓取简化后 Fetch 成功率大幅下滑,通用抓取本身未解决;③IL 策略在完整长时程任务(300+ 步)上因协变量偏移而发散,只能靠”倒放”评测规避;④VR 渲染帧率被迫从 90 Hz 上限降到 30 fps 以容纳扩展状态计算。

原始链接

一手源存档(sources/)

  • igibson-2—github-readme — GitHub README 快照(含更新历史、引用信息)
  • igibson-2—project-page — 项目官网首页快照(新闻栏含 BEHAVIOR Challenge / iGibson Challenge 2021 announcement)
  • arXiv 原文 PDF(2108.03272v4)不入 git,见上方 arXiv 链接