COWBOY: A Scalable Sim-to-Real Framework for Learning Contextual Whole-Body Manipulation
Jiahui Yang, Jason Jingzhou Liu, Ray Muxin Liu, Andrew E. Wang, Kenneth Shaw, Deepak Pathak, Ruslan Salakhutdinov
cs.RO
2026-10-21
全身控制器批量完成避障到达,三个局部RL专家只学抓取,再蒸馏成一个点云策略。24个真实场景零样本抓取成功率91%。
同一个物体换个地方,全身动作就得跟着换。瓶子在空桌面、搁板里或抽屉里,人会先挪位置、转头,再决定从上抓还是从侧面抓。加上移动底盘之后,策略还得在不完整的机载观测里处理碰撞和视线。直接用 RL 学完整场景很别扭:观测维度高,奖励要在各种摆放下都有效,动作又叠着底盘、手臂、脖子和灵巧手。已有的 sim-to-real 抓取大多换物体、不换环境,训练锁在一个固定场景里。
平台是全向 TidyBot++ 底盘、Franka 手臂、16 自由度 LEAP Hand、带着 RealSense D435 的 ARX 脖子,以及底盘上的 Unitree L2 激光雷达,一共 32 个自由度。COWBOY 要这个系统只看场景和物体几何,自己改站位、视线、臂型和抓法。
到达和接触拆开。到达交给可批量的全身控制器(whole-body controller,WBC),输入只有末端目标位姿和三维注视点,不另给底盘目标。底层是 geometric fabrics:靠近、避障、注视、关节限位写成任务空间里的力,按状态相关的度量合成关节加速度。计算图固定,所以能在 GPU 上整批跑。实现到 4096 个并行环境、60 Hz,每个环境每步约 0.03 毫秒。QP 和 MPC 每步都要求解,活动约束随场景变,铺不到这个批量。论文并不声称 fabrics 比优化类控制器更优,选它是为了能并行。
远距离由底盘吸引子把机器人开过去,手臂吸引子在远处关掉,避免还没走到手臂就伸直。目标进入手臂工作空间后,底盘项平滑退出,细调交给手臂。机身用碰撞球近似,推开场景里的长方体、胶囊和球。
接触是三个 PPO 专家,都在末端坐标系里训练:开口容器从上往下抓,细长物体从侧面抓,有顶板的架子从侧面把物体抽出来。观测用仿真里的特权信息,包括物体包围盒、局部墙壁、手部关节和指尖。动作是相对末端指令加手部关节,仍由 WBC 跟踪。坐标系绑在末端上,同一个专家就能嵌进成千上万个大场景,只要物体周围那一块约束还在。
蒸馏时把这块局部区域放进随机的桌面、抽屉、盒子和架子,周围再撒障碍。机器人从距目标 0.2 到 2 米起步。WBC 先避障走到专家熟悉的初始分布,评测里这一比例是 98.4%,没走到的也计入老师成功率,然后专家接手抓取。学生是点云 Transformer,用在线 DAgger 学。输入为脖子深度相机和底盘雷达的部分点云、本体状态、目标三维位置,输出 32 维:底盘速度,以及手臂、手、脖子的关节增量。部署时 SAM3 做初始分割,点云质心当作目标位置;策略以 60 Hz 更新这个估计,SAM3 在检测有效时以 3 Hz 校正。三个老师家族蒸馏成一个学生,数据是 8192 个完整场景、250 个物体,用 8 张 A6000。
真机没有微调。24 个场景覆盖不同高度的桌面、架子、盒子、椅子、冰箱、抽屉,也有楼梯、沙发这类没有按真实户型建模、只靠程序化随机近似的布局。每个场景 25 个物体(固定的 20 个,再从 100 个未见物体里抽 5 个),每个物体 3 个朝向。成功指无碰撞抬高 10 厘米。平均成功率 91%。测试物体都没进过仿真训练集,包括不规则和可变形物体。同一张沙发上,瓶子从侧面抓,红色毛绒玩具从上面抓;底盘被挡住时,手臂补上剩下的距离。侧面抓取容易把物体碰倒,倒了就没有恢复。
留出仿真为 8192 个环境、150 个未见物体。抓取成功率(%)如下。
| 方法 | 桌面 | 抽屉 | 箱子 | 架子 | 平均 |
| 端到端 RL | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| ManipGen | 54.8 | 21.2 | 63.1 | 89.2 | 87.2 |
| COWBOY | 94.7 | 90.5 | 92.4 | 92.9 | 91.3 |
端到端 RL 改过奖励、课程和视觉编码器,场景里有障碍仍是 0%,去掉障碍能到 96%。ManipGen 用点云局部策略和 AIT 规划,中间目标交给 VLM,这个目标不照顾后续抓取,手臂经常停在奇异点附近。四类场景里 COWBOY 都更高,抽屉是 90.5% 对 21.2%,桌面是 94.7% 对 54.8%。论文报告的平均是 91.3% 对 87.2%。两边专家的切法不同:ManipGen 给大量单个物体各训专家,COWBOY 每个专家覆盖几百个物体,种类少很多。
老师和学生在这四类上的成功率是:桌面 96.0% 对 94.7%,抽屉 97.3% 对 90.5%,箱子 95.6% 对 92.9%,架子 93.4% 对 91.3%。落差最大的是抽屉。正文专门写架子难在遮挡更重,侧向取出更吃避障精度。
换掉老师用的 WBC,蒸馏环境里的结果一起变。
| 控制器 | 抓取成功率 | 碰撞率 | 可操作度 | 关节限位裕度 |
| 加权 IK | 43.6% | 41.4% | 0.039 | 1.51 rad |
| 无避障 fabrics | 74.8% | 32.6% | 0.067 | 1.87 rad |
| 完整 fabrics WBC | 95.6% | 4.3% | 0.072 | 1.99 rad |
加权 IK 把手臂伸向远处目标,关节顶到限位。无避障的 fabrics 把成功率抬到 74.8%,碰撞仍有 32.6%。完整 WBC 的碰撞率是 4.3%,可操作度最高。
观测决定迁移是否成立。
| 观测 | 仿真成功率 | 真机成功率 | 真机碰撞率 |
| 脖子固定 | 78.8% | 46.7% | 8.2% |
| 无激光雷达 | 75.2% | 71.1% | 31.7% |
| 真值完整点云 | 94.4% | 0.0% | 11.3% |
| 按传感器渲染的深度加雷达 | 92.4% | 91.1% | 3.9% |
用完整点云训练,仿真 94.4%,真机 0%。按真实传感器渲染的系统,真机成功率 91.1%,碰撞率 3.9%。脖子锁死之后真机掉到 46.7%,贴地和箱内的物体容易离开视野。去掉雷达,真机碰撞率升到 31.7%。深度相机视场有限,还有最近探测距离,近处的桌沿经常是空的。
推理时没有全身规划器,也不输入抓取类型或站位。站位、视线、臂型和抓法从点云里一起出来。
两处设计比单看 91% 更有用。一是不要让 RL 从零学避障到达,奖励可以只写接触。二是仿真观测必须带上真实传感器的遮挡和视场。完整点云在这组消融里仿真分数最高,真机是 0%。
目前迁过去的是抓取。专家只有三个,学生能表现的行为种类就被这个数封住。
论文承认:抓法只由场景和物体几何推断,同一个物体如果后面的用途不同,可以有多种合法抓法。功能性全身抓取还需要场景之外的条件,策略里没有这一路输入。
成功只定义到无碰撞抬高 10 厘米。没有放置,没有开抽屉或冰箱门。文中说再训练局部专家就能加技能,实验没有做。真机也没有和其他移动操作系统对照,0% 和 21.2% 是仿真里的差距。
「抓哪个」来自外部给出的三维位置,部署时用 SAM3 初始化并低频校正。策略学的是跟踪和全身协调。SAM3 跟丢或分错物体占多少失败,论文没有单列。侧面抓取会把物体碰进无法恢复的姿态,真机上架子是更弱的一类。主动视觉或雷达少一路,真机数字就明显下滑,这 91% 绑在这套 32 自由度的传感配置上。