一句话定位
RLBench 是 Imperial College London Dyson Robotics Lab 提出的大规模视觉引导操作(vision-guided manipulation)仿真基准与学习环境:100 个手工设计、互不相同的任务,共用一台 Franka Emika Panda 7-DoF 机械臂,每个任务通过运动规划器(motion planner)在若干路点上生成无限量专家演示,同时提供 RGB / 深度 / 分割掩码 / 本体感知等多种观测模态。它把强化学习、模仿学习、多任务学习、几何视觉与 few-shot 学习统一到同一套任务上评测,并首次提出机器人领域的大规模 few-shot 挑战。
背景与定位
论文的核心论点:截至 2019 年,机器人操作方法(从传统的「感知—状态估计—规划」模块化流水线,到端到端深度学习)缺乏统一基准。已有连续控制基准如 OpenAI Gym、DeepMind Control Suite 面向的是「玩具任务」,不贴近真实世界;而各家论文常自造任务,使任务设计本身成为一个隐藏超参(在简单任务上报好结果、回避难任务),可复现性差。few-shot 机器人工作(Finn 2017、James 2018 TecNet、Yu 2018)又把「把桃子放红碗」和「把苹果放绿碗」当成两个不同任务,任务分布过窄。
RLBench 定位为「one-size-fits-all」的基准:既能喂大规模数据给端到端方法,也能让经典系统在同一批任务上公平比较。它明确对标并区别于同期的几个工作——同期刚宣布的 meta-world(多任务 meta-RL 基准,论文写作时其文档尚未公开)、众包演示的 RoboTurk(仅 3 个任务)、真实-仿真混合的 Simitate。相比只覆盖单一子问题的抓取 / 感知基准(OpenGrasp、YCB、BigBIRD),RLBench 评测的是完整机器人流水线。RLBench 后来成为 3D 操作策略研究的基础平台(peract、RVT、GemBench 等均在其上评测),与 calvin、vima-bench 等同属仿真操作基准谱系。所属范式:大规模仿真操作基准 + 运动规划自动演示生成。
模型架构
RLBench 本身不是模型,而是一套仿真基准 / 学习环境。其”架构”由仿真场景、观测系统、动作接口与任务层级构成。
仿真栈:构建于 V-REP(论文用名;软件后更名 CoppeliaSim,README 锁定 v4.1.0)+ PyRep 之上。PyRep 是同实验室的机器人学习工具箱,在 V-REP 基础上改进了速度、渲染与机器人控制 / 场景操作 API。
场景:跨所有任务保持恒定——一台 Franka Emika Panda 7 自由度机械臂固定在木桌上,周围 3 盏方向光。每个任务从「机械臂不持物」的假设开始,涉及工具的任务必须先正确抓取,明显加大难度(对齐真实家用机器人条件)。机械臂可一行代码换臂(README 支持 Franka Panda / Mico / Jaco / Sawyer(Baxter 夹爪) / UR5(Robotiq 85 夹爪);但基准评测须固定为 Franka Panda)。
观测(多模态):
- 视觉:一台 over-the-shoulder 立体相机 + 一台 eye-in-hand 腕部单目相机,每帧提供 RGB / 深度 / 分割掩码;默认图像尺寸 128×128(README)。
- 本体感知:关节角、关节速度、关节力矩,以及末端执行器 / 夹爪位姿。
动作接口(action modes):论文列出 10 种——关节速度(绝对 / 增量)、关节位置(绝对 / 增量)、关节力矩(绝对 / 增量)、末端执行器速度(绝对 / 增量)、末端执行器位姿(绝对 / 增量)。奖励为完全稀疏:仅任务完成时给 +1。
任务层级(Task / Variation / Episode):每个 Task 含一个或多个 Variation,每个 Variation 可抽出无限个 Episode。跨 Variation 通常改变目标物体或颜色,跨 Episode 改变位置。每个 Variation 附带一组自然语言文本描述(可用于 HRI / NLP 研究)。形式化:episode 轨迹 τ = [(o₁,a₁),…,(o_T,a_T)],τ ∼ ν,任务 T = {ν₁,…,ν_N}。
数据
RLBench 的「数据」= 任务集合 + 可无限生成的演示。
- 任务规模:100 个完全独特、手工设计的任务(论文 v1;官网亦称 100 unique tasks),难度分层——从简单的够取(reaching)、开门,到多阶段长程任务(如打开烤箱把托盘放进去、清空洗碗机:开门→拉出托盘→抓盘子→取出)。
- 演示生成:每个任务及其 Variation 都自带专家算法 π*,通过 OMPL(Open Motion Planning Library) 运动规划器在任务创建时给定的若干路点上规划,产出无限量演示;可预先下载大批演示,也可即时(on-the-fly)生成。演示不靠众包(区别于 RoboTurk)。
- 任务长度:图 7 统计(取 75 个任务、每任务第一 Variation 的 5 条演示均值)显示长度从 100 到 1000 个时间步不等;长任务由多组复合动作构成。
- 文本描述:每个 Variation 附文本描述;图 7 上半部分给出去除功能词后描述中内容词的词频分布。
- sim vs real:纯仿真(牺牲真实性换取可扩展的任务多样性);提供域随机化(domain randomisation)渲染选项以支撑 sim-to-real 研究(见 domain-randomization)。
- 任务资产:3D 模型来自 turbosquid / cgtrader / free3d / thingiverse / cadnav(README 致谢)。每个任务两个文件:
.ttm(V-REP 场景模型 + 演示路点)+.py(把场景对象接到 RLBench 后端、施加 Variation、定义成功条件)。
训练方法
RLBench 是基准,不训练自有模型;它定义了多种学习范式的评测协议:
- Few-shot 挑战 v1.0(论文主打贡献):100 个任务中 10%(10 个)划为 meta-test、其余 meta-train。测试时给系统每个未见任务 K 条演示(K-shot),在新配置下报成功率;规定报告 1-shot / 5-shot / 20-shot 三档结果,且系统不得预先知道未见任务的任何先验。论文明确标注为 v1.0,预期随任务增长发布更高版本以保持结果可比。
- 代码侧 Task Sets(README):few-shot 用
FS10 / FS25 / FS50 / FS95(X 个训练任务 + 固定 5 个测试任务);多任务用MT15 / MT30 / MT55 / MT100。 - 其它可评测范式:强化学习(稀疏奖励 + 演示引导降低样本复杂度;腕部相机支持部分可观测研究)、模仿学习(自带定量演示 + 可无限生成)、多任务学习、sim-to-real、乃至 task-based SLAM。
- 奖励:默认稀疏 +1;后续(2022-05)为
reach_target与take_lid_off_saucepan两个任务加入 shaped rewards(shaped_rewards=True)。 - 接口:
Environment为入口,可 spawnTaskEnvironment;API 仿照标准 agent-environment RL 设定(task.reset()/task.step(action)/task.get_demos(k));Gym 兼容(reach_target-state-v0/-vision-v0)。 - 任务构建工具:新任务通过 PyRep 边编辑 V-REP 场景边写
.py,并跑任务验证器(校验路点运动规划只在少数情况下失败)后,可经 GitHub PR 贡献进任务库。
Infra(训练 / 推理工程)
- 仿真 / 渲染:CoppeliaSim(V-REP)+ PyRep;带光照与阴影的图形,域随机化渲染选项。论文未做全光真实感(photorealism)或通用真实物理的声明。
- 无 GPU 训练 / GPU-hours:RLBench 本身是仿真环境非训练模型,论文与 README 未披露任何训练算力、GPU 型号 / 数量、并行策略、精度。
- headless GPU 渲染:README 提供无显示器(云 VM / 集群)下用 X server(
nvidia-xconfig+X :99)跑带渲染的 RLBench,并可按DISPLAY=:99.<gpu_id>选卡。 - 仿真吞吐 / 控制频率 / 推理 FPS / 延迟:论文与 README 未披露具体 FPS / control-Hz 数值。
- 软件版本线:v1.2.0(2022-02,含 action mode 破坏性 API 变更);RA-L 录用(2020-01,ICRA 现场展示)。
评测 benchmark
论文本身不含任何实验 / 基线结果——RLBench (arXiv:1909.12271) 是一篇基准与环境的引入性论文,正文只描述任务、观测、动作、few-shot 协议与潜在研究方向,没有跑任何算法给出定量成功率,也未列出 baseline 对比表。作者明确把 few-shot v1.0(报告 1/5/20-shot)作为面向社区的公开挑战,留待后续方法在其上刷分。
因此「评测数字」在本一手源中为空。RLBench 的价值在于被后续工作当作评测平台:如 3D 操作策略 peract、RVT、GemBench 等均用其任务集报成功率(这些属于引用 RLBench 的下游工作,不在本页一手源范围内)。
创新点与影响
贡献:
- 首个覆盖 100 个手工设计、难度分层的视觉操作任务的大规模仿真基准,统一强化学习 / 模仿学习 / 多任务 / few-shot / 几何视觉于同一机械臂与场景。
- 用运动规划器 + 路点在任务创建时自动生成无限量专家演示,摆脱众包 / 人工示教的规模瓶颈。
- 首次提出机器人领域大规模 few-shot 挑战(M 训练任务 / N 未见任务 / K-shot 协议),并给出 Task/Variation/Episode 抽象与文本描述以支撑多任务与语言研究。
- 开源可扩展的任务构建工具(
.ttm+.py+ 验证器 + PR 贡献),把基准做成可社区共建的活体仓库。
改变了什么:为视觉操作提供了可复现、共享的评测底座,成为 2020s 3D / 语言条件操作策略(PerAct、RVT、GemBench 等)的标准试验场之一;后续演化出 CoppeliaSim v4.1、多机械臂支持、Gym 接口、shaped rewards 等。
作者自陈的局限:
- 非真实:无法宣称全光真实感渲染或通用真实物理;纯仿真牺牲了真实世界属性(换取任务可扩展性)。
- 低维状态观测「须极度谨慎使用」(README Gotchas):RLBench 不保护物体飞出工作空间,物体掉出桌面后低维值即分布外;基准刻意强调视觉而非低维输入。
- 换用非 Franka 机械臂后不保证任务可解(如 Mico 工作空间过小)。
- 项目规模大,预期上线初期有 teething problems,需持续维护与社区扩充任务。
原始链接
- 论文(arXiv abs):https://arxiv.org/abs/1909.12271
- 论文 PDF:https://arxiv.org/pdf/1909.12271
- 期刊:IEEE Robotics and Automation Letters (RA-L) 2020,ICRA 2020 展示
- 代码(GitHub):https://github.com/stepjam/RLBench
- 项目主页:https://sites.google.com/view/rlbench
- 依赖工具箱 PyRep:https://github.com/stepjam/PyRep
一手源存档(sources/)
- rlbench—github-readme — GitHub README 快照(sources/embodied/2019/rlbench—github-readme.md)
- rlbench—project-page — 项目主页快照(sources/embodied/2019/rlbench—project-page.md)
- arXiv 原文 PDF(arXiv:1909.12271v1,不入 git):见上方 PDF 链接