枢纽
机器人Franka/UR5e/Fetch
数据集ManiSkill3
物理感知
输入模态vision

ManiSkill3:让「视觉 RL」从「按小时计」变成「按分钟计」的模拟器

Stone Tao, Fanbo Xiang, Arth Shukla, Yuzhe Qin 等(UCSD + Hillbot + CMU + TU Dresden + 清华 + KCL)。arXiv:2410.00425v2 (2024-10, 更新 2025-05)。 项目页 · Apache-2.0 开源 · imitationGPU sim + sim2real

🧠 一句话心智模型:让机器人学技能,最大的瓶颈不是算法,而是「数据太贵」——真机示教慢、贵、低质;仿真生成数据快但「渲染不够快、内存吃得狠」。ManiSkill3 是一个把「仿真+渲染」全 GPU 并行化的引擎:每秒 3 万帧、显存只占对手 1/4,让原本数小时的视觉 RL 训练压到分钟级。

🎯 为什么重要:视觉 RL 的「数据生成器」决定一切

2024 年机器人学习的现状:算法(PPO、SAC、TD-MPC2、Diffusion Policy)已经卷到极致,但视觉策略要在真机上 work,必须先在仿真里生成海量交互数据。问题来了——

三大痛点(论文 §1):
① 渲染太慢:Isaac Lab、Brax/MJX 主要为 state-based RL 优化,视觉渲染一开 FPS 暴跌,视觉 RL 几小时起步;
② 显存吃狠:128 个并行环境 Isaac Lab 吃 14.1GB 显存,off-policy 算法(SAC/TD-MPC2)的 replay buffer(20 万帧 RGB ≈ 9GB)直接 OOM;
③ 异构模拟缺失:现有 GPU 模拟器要求所有并行环境结构完全一致(同物体、同自由度)。但「打开任意一个抽屉」「在 YCB 物体堆里抓任意一个」这类任务,每个并行环境天生就该不同。

ManiSkill3 不是又一个「跑分模拟器」,而是冲着「让视觉 RL + 异构任务成为日常工具」去的。它解决的不是单点性能,而是把整个工程栈从头重塑。

痛点 ①:视觉渲染慢 CPU 仿真 ~25 FPS Isaac Lab 128 envs ≈ 数千 FPS → PickCube 视觉训练要 80 分钟 ManiSkill3:30,000+ FPS PickCube 视觉训练 10 分钟 痛点 ②:显存爆 128 envs Isaac Lab = 14.1GB + replay buffer 9GB → OOM → 无法训大模型/长 buffer ManiSkill3:3.5GB(同设定) → 省 4x,VLA 也能塞进去 痛点 ③:环境必须同构 所有 envs 同 DOF / 同物体 → 无法批量练「任意抽屉」 → 泛化被结构卡死 ManiSkill3:异构 GPU 模拟 每个 env 独立采样场景
图 1:ManiSkill3 针对的三大痛点(论文 §1 + Fig.2/4)。数字均来自原文。

💡 核心思想:全栈 GPU 并行 + 数据导向系统设计

ManiSkill3 不是「在已有模拟器上加速渲染」,而是从底层重新设计:基于开源 SAPIEN 引擎 + PhysX GPU 后端,把仿真、渲染、相机、点云、控制器全部搬到 GPU 上批量并行。同时通过数据导向设计(DOD)解决异构场景的显存管理。

用户代码:面向对象 API(无需手写 tensor index) 算法层:PPO / SAC / TD-MPC2 / Diffusion Policy / RLPD / RFCL / BC / ACT / PerACT 评测:Octo / RT-X / RDT-1B(VLA,仅推理) 数据生成管线:运动规划 / RL 收敛策略 / VR 遥操作(~10 条)→ RLPD/RFCL 自动扩 百万级示教帧 + trajectory replay(可改 observation / reward / 控制器) ManiSkill3 核心 12 类任务 · 20+ 机器人 异构并行 · 域随机化 SAPIEN 并行渲染 + PhysX GPU RGB / Depth / Seg 并行 点云 / Voxel / Soft body / 数字孪生
图 2:ManiSkill3 的分层架构(论文 §III)。每层都为「视觉 RL 规模化」专门设计。

🛠️ 五大核心贡献(论文 §III)

贡献具体内容关键数字
① GPU 仿真+渲染 仿真、RGB/Depth/Seg 渲染、点云/体素、控制器全部 GPU 并行;基于 SAPIEN 光栅化器(也支持光线追踪非并行模式) 30,000+ FPS(基准任务)
ReplicaCAD 复杂场景 2,000+ FPS
② 显存高效 数据导向系统设计 + 最小化 Python/PyTorch 开销 128 envs 仅 3.5GB(vs Isaac Lab 14.1GB,省 4x)
Isaac Lab 在 128 envs 后 OOM,ManiSkill3 可继续扩展
③ 异构 GPU 模拟 每个并行环境可含不同 DOF 的铰接件、不同数量物体、不同场景。论文称这是目前唯一完全支持的框架 OpenCabinetDrawer:每个 env 不同柜子 + 不同目标抽屉
PickClutter YCB:每个 env 不同物体数量 + 随机目标
④ 统一 OOP API 从铰接件/链接/关节/网格全程对象化;批量 Pose 对象支持方法链;消除 tensor index Fig.9-10 对比代码:写「柜子把手位姿 + 抽屉关节角」
IsaacGymEnvs / Isaac Lab 都要手动操作 index,ManiSkill3 一行链式调用
⑤ 数据生成管线 简单任务用运动规划;中等任务用收敛 RL 策略 rollout;复杂任务用 VR 遥操 ~10 条 + RLPD/RFCL 在线 IL 自动扩 百万级示教帧;trajectory replay 可改观测空间、reward 形式、控制器类型、CPU↔GPU 互转
🔮 直觉:为什么「显存效率」比「FPS」更关键?
论文 §III-B 有一段反直觉的观察:「从视觉 RL 实验中我们发现,显存效率比 FPS 重要性更高」。原因:一旦并行环境数够用,再加 FPS 收益递减;但显存如果爆了,off-policy 算法的 replay buffer(典型 20 万帧 RGB ≈ 9GB)+ 大模型(如 VLA)就装不下。ManiSkill3 把显存砍到 1/4,等于把「VLA + visual RL + 大 buffer」整套生态一次性打开了。

📊 关键结果(PDF 溯源)

1. 性能 vs Isaac Lab(基准任务 Cartpole + 各种相机设定)

指标ManiSkill3Isaac Lab v1.2.0
仿真+渲染 FPS(最高)30,000+较低(论文未给单值,Isaac Lab 在更少 envs 已更慢)
128 envs 显存(640×480 RGB+Depth,仿 Open-X/Droid)3.5GB14.1GB(再增加 envs 即 OOM)
复杂 ReplicaCAD 场景 FPS2,000+—(Robocasa CPU 后端 ~25 FPS;Isaac Lab 此场景未报告)

2. 视觉 RL 训练加速(PickCube,PPO)

设定ManiSkill3(GPU 仿真)相对 ManiSkill2 加速
State-based(delta 关节控制)~1 分钟到 ~100% 成功率15×
RGB-based(并行渲染)~10 分钟到收敛

来源:§IV-C。任务「从小时级 → 分钟级」是 ManiSkill3 投稿的核心 narrative。

3. Sim2Real / Real2Sim 真机验证

实验设定结果
视觉 sim2real:Koch 机械臂抓方块$300 机械臂 + 手机摄像头 + NatureCNN + PPO + 域随机化 + 绿幕;RTX 4090 训 1 小时(15M 样本,256 envs)22/24 = 91.6% 真机成功率(3 次训练 × 8 次滚动)
视觉-触觉 sim2real:peg 插入硅胶触觉传感器用 softbody 模拟(参引文 [9])95.08% 真机成功率
Real2sim 数字孪生(评估 Octo / RT-1X)SIMPLER 4 个任务的 ManiSkill3 并行版相关性 0.9284,MMRV 0.0147(与原 SIMPLER 持平)
数字孪生评估速度对比真机/原 SIMPLER真机的 60×–100×;比 SIMPLER 快 ~10×
关键洞察:ManiSkill3 的「卖点」不是某个 SOTA 算法,而是把整套视觉 RL 工程栈的 ROI 改写了——一个研究生用 $300 机械臂 + 一张 4090 + 1 小时训练,就能跑通零样本 sim2real。这才是它被社区迅速采纳(HuggingFace LeRobot 集成等)的真正原因。

🌐 在领域中的位置

PyBullet / Mujoco(CPU 后端,慢) Isaac Gym / OmniGibson(GPU 仿真但渲染受限) ManiSkill2(首版 GPU 视觉,但同构) ManiSkill3(异构 + 低显存 + 全栈)⭐

同代对手:Isaac Lab(闭源 Isaac Sim 后端)、Brax/Mujoco MJX(暂无并行渲染)、Robocasa(CPU 后端)。ManiSkill3 的差异化是唯一同时做到「异构 + 开源 + 视觉并行 + 显存高效」。它是 T05/T03 谱系中「基础设施」类的代表作——本身不发明新算法,但定义了下一代视觉 RL 实验的默认环境。关联线索:T05 扩散谱系(Diffusion Policy 等基线在此环境评测)。

❓ 常见误区

ManiSkill3 比 Isaac Lab 快 30,000 倍吗?

不是。30,000+ FPS 是特定基准任务(如 Cartpole)在最优配置下的仿真+渲染总吞吐,不是和 Isaac Lab 的直接倍数。论文 §III-B 明确说:渲染技术不同(ManiSkill3 默认光栅化,Isaac Lab 默认光追),不是严格 apples-to-apples。在显存上才是 ManiSkill3 的明显优势(3.5GB vs 14.1GB)。

异构 GPU 模拟有什么实际用处?

核心场景:泛化训练。例如「开任意柜子的任意抽屉」——PPO 可以同时在一批并行环境里练不同结构的柜子(不同 DOF)。以前必须一个一个串行练,现在并行练。论文 §III-C 给出 PickClutter YCB(每个 env 不同物体数)和 OpenCabinetDrawer(每个 env 不同柜子)两个例子。

91.6% 的 sim2real 是不是太理想了?

这是非常受限的设置:单任务(抓方块)、用绿幕去掉背景干扰、NatureCNN 小模型、域随机化。它的意义不是「ManiSkill3 让 sim2real 解决了」,而是「一个低成本可复现的 sim2real baseline 跑通了」。论文明确说「需要进一步研究去除绿幕」。把它当成「hello-world 级 sim2real」更准确。 我不能用 Mujoco MJX + 自己加渲染吗?

可以,但你要自己解决并行渲染(MJX 目前没有)、异构模拟、物体级 API、轨迹 replay、VR 遥操这一整套。论文 §II 强调:Isaac Lab / Brax/MJX 是模拟器,ManiSkill3 是「模拟器 + 工具链 + 数据管线 + 基线 + 数字孪生」的整包。这就是它「democratizing」叙事的来源。

它和 LeRobot 是什么关系?

互补。LeRobot(HuggingFace)提供低成本硬件 + IL 工具链;ManiSkill3 提供仿真+渲染+RL 基线。论文 §IV-D 的 Koch 抓方块 sim2real 演示就明确用 LeRobot 的硬件和库来做,强化「$300 机器人 + 单卡 4090 + 1 小时」的可复现叙事。