一句话定位

NeurIPS 2021(Datasets and Benchmarks Track)提出的首版 ManiSkill:基于 sapien 全物理仿真器,围绕 4 个铰接物体操作任务(开柜门/开抽屉/推椅子/搬水桶)、162 个具备真实拓扑几何多样性的 PartNet-Mobility 物体,配套约 36,000 条成功轨迹(约 1.5M 点云/RGB-D 帧)的大规模演示数据集,目标是检验策略对同类别未见物体几何的泛化能力,并首次把该问题包装成可复现、分轨道(RL / 模仿学习 / 免限制)的标准 benchmark,是后续 ManiSkill2(ICLR 2023)、maniskill3(RSS 2025)这条长期仿真-benchmark 谱系的起点。

背景与定位

论文要解的问题是”物体级泛化操作技能(object-level generalizable manipulation skill)“:人类学会开一类柜门后,无论扶手/轮子数量/靠背形状如何变化都能立刻操作同类新物体,但既有操作 benchmark 普遍缺乏这种类内几何多样性。作者指出当时的两条主流路线各有短板:

  • 抽象动作空间的场景级 benchmark(AI2-THOR、VirtualHome、Gibson、habitat、ThreeDWorld、ManipulaTHOR)已假设好操作技能本身,无法研究低层复杂物理;
  • 全物理但缺乏类内几何多样性的操作 benchmark(robosuite、rlbench、MetaWorld)任务丰富但物体基本固定或程序化生成有限,DoorGym 用程序化生成门/把手做到了一定多样性,但仍覆盖不了”同一柜子上多扇不同尺寸门”这类真实复杂度,且这些商业软件(RLBench 依赖 V-REP、robosuite/MetaWorld 依赖 MuJoCo 商业授权)也构成使用壁垒。

ManiSkill 的定位是把 sapien(同一实验室此前发布的 part-level 交互仿真器 + PartNet-Mobility 资产库)第一次包装成面向”3D 视觉 + 操作学习”交叉研究者的标准化 benchmark:用自我中心(egocentric)全景相机输出点云/RGB-D,强制研究者面对部分可观测、遮挡、几何多样性这些真实设定,同时提供大规模演示以降低 3D 视觉背景研究者的入场门槛。范式上属于”全开源、full-physics、物体级泛化的操作 benchmark”,与同时期抽象动作空间或程序化生成路线区分开。

模型架构

本作是 benchmark + 仿真基础设施论文,没有单一”网络架构”,但定义了固定的环境/机器人/传感器接口,并提供了论文自设计的 baseline 网络:

  • 仿真后端sapien(PartNet-Mobility 资产 + PhysX 全物理仿真 + 可定制渲染器)。
  • 机器人本体:移动平台(可平面移动/旋转、高度可调)+ Sciurus 机器人躯干 + 1–2 条 Franka Panda 机械臂;单臂配置 13 个关节,双臂配置 22 个关节,全部用 PID 位置/速度控制器(速度控制器基于 PhysX 内置逆动力学 + 一阶低通滤波近似真实机器人;位置控制器在速度控制器上叠加 PID);同时支持关节空间与操作空间(末端 Cartesian)控制。
  • 感知:机器人头部安装 3 个相机、间隔 120° 构成全景视野,单相机分辨率 400×160,三路融合成一个 egocentric 全景观测;支持 state / pointcloud / rgbd 三种观测模式,其中后两者才用于检验物体级泛化(state 模式可直接读物体状态,不现实)。
  • 动作条件:动作即控制器目标值(关节速度/位置目标或末端位姿增量),不涉及离散 token 化。
  • Baseline 策略网络(点云输入):
    • PointNet:单一 PointNet(隐藏层 [256, 512])对整个点云提特征,拼接机器人状态后过 MLP([512, 256, action_dim])输出动作;
    • PointNet + Transformer:按分割掩码把点云切成 k 个子点云(k = 掩码维度)+ 无掩码点 + 全量点云共 k+2 路,各过独立 PointNet(隐藏维度 256)得到 k+2 个全局特征,再与机器人状态 MLP 特征、一个可训练任务偏置向量一起送入 Transformer($d_{model}=256$,$d_{ff}=1024$,无位置编码——论文发现加了反而显著掉点),全局 attention pooling 后过 MLP([256, 128, action_dim])出动作。

数据

  • 物体资产:从 sapien 底层的 PartNet-Mobility 数据集精选并人工重建,共 162 个铰接物体、3 个类别(柜子/椅子/水桶),按任务划分训练/测试集(Table 1):
    • OpenCabinetDoor:52 个柜子(合计 82 扇门),训练 42(66 扇门)/ 测试 10(16 扇门);
    • OpenCabinetDrawer:35 个柜子(合计 70 个抽屉),训练 25(49 个抽屉)/ 测试 10(21 个抽屉);
    • PushChair:36 把椅子,训练 26 / 测试 10;
    • MoveBucket:39 个水桶,训练 29 / 测试 10。
  • 演示数据规模:约 36,000 条成功轨迹、约 1.5M 点云/RGB-D 帧,每个训练物体每个任务采集 300 条成功轨迹。为省存储,演示以内部环境状态形式发布,用户按需用官方脚本渲染出点云/RGB-D 帧;另外也公开了针对 baseline 的降采样后点云数据集(经 ManiSkill-Learn 仓库分发)。
  • 演示生成方式(非人工遥操作):论文证明直接训练单个 RL agent 跨大量物体从零学习不可行(Table 5:SAC 在 OpenCabinetDrawer 上,1 个柜子成功率 100%,5 个 82%,10 个骤降到 2%,20 个 0%)。因此采用 divide-and-conquer:为每个任务设计一套跨物体共享的多阶段稠密奖励模板(人工先验设计模板本身,奖励数值自动按物体实例生成),再对每个物体实例单独训练一个 SAC agent(2×10⁶ 步/环境),用训练好的 agent 与环境交互采集成功轨迹;奖励模板正确性用 **MPC(CEM,20 CPU 并行,15 分钟内可验证单条轨迹)**快速验证,再用 SAC 批量生成演示。
  • 点云降采样规则(baseline 训练用):单帧原始点云 192,000 点(3×400×160);先对每个分割掩码采样至多 50 点,再从”至少命中一个掩码”的剩余点中采样至多 800 点,最后从”不属于任何掩码且非地面(z>0)“的点中采样至多 1200 点。
  • 分割掩码:随观测提供任务相关的二值掩码(如 OpenCabinetDoor 提供目标门把手/目标门/机器人 3 类掩码,PushChair/MoveBucket 仅机器人掩码),帮助模型定位操作目标。
  • 资产精修/校验:人工剔除 PartNet-Mobility 标注错误(如门轴标反);原始 VHACD 凸分解在部分模型(尤其水桶)产生失真伪影,改用 Blender 手动凸分解修复;每个物体最终都要在仿真中跑通一次成功策略(MPC 验证)才纳入数据集,保证”环境可解”。
  • 无 sim-to-real 或跨任务共训数据;论文明确此局限(见”创新点与影响”)。

训练方法

  • 任务/目标定义:POMDP,state/pointcloud/rgbd 三观测模式,二值成功信号 R,配套稠密奖励(多阶段模板,保证下一阶段奖励恒大于当前阶段以防 agent 卡在中间阶段)与稀疏奖励(成功判据本身)。
  • 三条评测轨道(Multi-Track Training-Evaluation Protocol),鼓励不同背景研究者切入:
    • No Interactions:只能用官方演示数据训练(典型是行为克隆),面向 3D 视觉研究者;
    • No External Annotations:允许在训练环境上在线微调/交互,但不能引入新标注数据(如新物体),面向在线 RL 方法;
    • No Restrictions:允许任意方法,包括运动规划、新标注数据等传统机器人学路线。
  • 演示利用 baseline 算法:行为克隆(BC,直接 L2 回归动作)、Batch-Constrained Q-Learning(BCQ,先 VAE 拟合演示动作分布再学 Q 函数择优)、TD3+BC(TD3 损失叠加加权 BC 项,$\pi=\arg\max_\pi \mathbb{E}[\lambda Q(s,\pi(s))-(\pi(s)-a)^2]$,原论文 $\alpha=2.5$;本文用 $\alpha=0.02$,并发现 $\alpha$ 非零时 TD3+BC 全面弱于纯 BC,$\alpha=0$ 即退化为 BC)。
  • 关键发现:网络架构对样本效率影响明显(PointNet+Transformer 全面优于单 PointNet);离线 RL(BCQ/TD3+BC)在本 benchmark 上没有超过 BC——作者归因于演示全为成功轨迹、且机器人高自由度加大了离线 RL 难度。
  • SAC 演示生成超参:Adam,学习率 3×10⁻⁴,折扣 0.95,replay buffer 10⁶,3 层隐藏层×256 单元,ReLU,minibatch 1024,target smoothing coefficient 0.005,每步 1 次梯度更新,总仿真步数 2×10⁶,4 进程并行采样。

Infra(训练 / 推理工程)

  • 演示生成算力:全部环境、全部任务的 SAC 训练 + 演示生成,总计约 2 天,用 4 台 8-GPU、64-CPU 机器(共 32 GPU)完成;GPU 型号未披露。
  • Baseline 训练算力:BC/BCQ/TD3+BC 在单张 NVIDIA RTX 2080Ti GPU 上训练 150k 梯度步,耗时分别约 5 小时(BC)、35 小时(BCQ)、9 小时(TD3+BC)(PointNet+Transformer 架构)。
  • 环境仿真吞吐(FPS,Table 4,单 Intel i9-9960X CPU + 单 NVIDIA RTX TITAN GPU)
    • state 模式:OpenCabinetDoor 112±4、OpenCabinetDrawer 113±4、PushChair 53±9、MoveBucket 61±7;
    • pointcloud/rgbd 模式:OpenCabinetDoor 48±3、OpenCabinetDrawer 47±2、PushChair 31±4、MoveBucket 34±3(三相机同时渲染是主要开销)。
    • 每个环境步对应 5 个物理控制步(frame-skipping),作者说明关闭该机制可把 FPS 提高 5 倍但会增加任务难度。
  • MPC 验证吞吐:CEM 在 20 CPU 并行下,可在 15 分钟内验证单条轨迹是否可解。
  • 未披露:推理时的控制频率(Hz)、端到端延迟、边缘硬件部署数据(本作聚焦仿真基准,不涉及真机推理)。

评测 benchmark

  • 单环境(固定物体实例)演示数量消融(Table 2,OpenCabinetDrawer,100 条评估轨迹取平均成功率)

    演示轨迹数10301003001000
    PointNet, BC0.130.230.370.680.76
    PointNet+Transformer, BC0.160.350.510.850.90
    PointNet+Transformer, BCQ0.020.050.230.450.55
    PointNet+Transformer, TD3+BC0.030.130.220.310.57

    (对应梯度步数 2000/4000/10000/20000/40000。)

  • 物体级泛化结果(Table 3,300 条演示/训练环境,5 次运行取均值±标准差,测试集为 10 个测试环境×50 条评估轨迹)——最佳配置 BC + PointNet+Transformer:

    任务训练集成功率测试集成功率
    OpenCabinetDoor0.30±0.060.11±0.02
    OpenCabinetDrawer0.37±0.060.12±0.02
    PushChair0.18±0.020.08±0.01
    MoveBucket0.15±0.010.08±0.01

    其余组合(单 PointNet+BC、PointNet+Transformer+BCQ、PointNet+Transformer+TD3+BC)测试集成功率均更低(0.02–0.11 区间)。作者的结论是:即便是当时最好的 baseline,物体级泛化成功率依然很低,说明现有 3D 视觉 + 模仿学习方法尚不足以解决该问题,benchmark 留出了很大改进空间。

  • 论文未与其它 benchmark 做统一指标横向对比(因任务定义/资产完全不同,不可比)。

创新点与影响

贡献(论文自陈):

  1. 首次把类内拓扑/几何多样性做成可比较物体级泛化能力的操作 benchmark,且每个物体都验证过 RL 可解;
  2. 4 个任务分别对应不同运动约束类型(转动关节/棱柱关节/平面运动/无约束)与技能属性(是否需双臂协作、是否可被运动规划求解),刻意覆盖不同难度维度;
  3. 提供大规模(~36,000 条/~1.5M 帧)演示数据集,且演示由可扩展的 RL + 分治管线自动生成(无需人工遥操作);
  4. 提供多个 3D 深度学习 baseline(PointNet、PointNet+Transformer)及三条评测轨道,鼓励视觉/RL/机器人学三个社区共同参与;
  5. 完全开源免费(对比 robosuite/MetaWorld/RLBench/DoorGym 依赖商业物理引擎或软件)。作者致谢 Qualcomm 赞助了配套的挑战赛。

影响:本作是 ManiSkill 系列的第一代,后续演化为 ManiSkill2(ICLR 2023,统一操作 benchmark)与 maniskill3(RSS 2025,全 GPU 并行仿真+渲染,单卡 30,000+ FPS,据项目页 2026 年数据已被 100+ 机构采用、GitHub 超 1,100 star、下载超 39,000 次),是当前开源机器人操作仿真生态最长期活跃的谱系之一;GitHub 仓库 haosulab/ManiSkill 目前已是 v3 代码库。

作者自陈局限

  1. 当时仅有 162 个物体,计划从 PartNet-Mobility 引入更多;
  2. 4 个任务虽覆盖不同运动类型,但不足以全面覆盖家庭操作技能,计划增加同类技能任务(如双臂协作倒水);
  3. 尚未做 sim-to-real 实验,留作未来方向。

原始链接

一手源存档(sources/)

  • maniskill—github-readme — GitHub README 快照(sources/embodied/2021/maniskill—github-readme.md;注:当前仓库已是 ManiSkill3 代码,README 记录了 v1→v2→v3 的引用谱系)
  • maniskill—project-page — maniskill.ai 项目主页快照(sources/embodied/2021/maniskill—project-page.md;同样反映的是当前 v3 状态与采用规模)
  • arXiv 全文(2107.14483,PDF)为 arXiv 原文 PDF,不入 git,见上方 arXiv 链接