如果你曾尝试单手搬运沉重的搬家纸箱,或者一只手折叠大床单,你就知道这有多费劲。我们人类在很大程度上依赖双臂操作 (即双手的协调配合) 来与世界互动。对于要在家庭和仓库中真正发挥作用的机器人来说,它们也需要掌握同样的技能。
然而,训练机器人协调双臂比训练单臂要难上指数级倍数。你需要管理更高的自由度,确保双臂不会互相碰撞,并保持精确的协调以防止物体掉落。传统的模仿学习 (Imitation Learning, IL) ,即机器人通过模仿人类演示来学习,虽然效果不错,但对数据极其饥渴。收集数千条协调的双臂演示数据既昂贵又费力。
这引出了一篇引人入胜的新论文: D-CODA: Diffusion for Coordinated Dual-Arm Data Augmentation (D-CODA: 用于协调双臂数据增强的扩散模型) 。研究人员提出了一种方法,无需让机器人运行数小时,就能人为地扩展训练数据集。通过利用扩散模型 (即 DALL-E 和 Midjourney 背后的技术) ,他们可以合成逼真的“伪”数据,教机器人如何处理以前从未见过的且具有挑战性的情况。
在这篇文章中,我们将详细拆解 D-CODA 的工作原理,解释为什么简单的增强方法在双臂任务中会失效,以及该方法如何在仿真和真实世界中取得令人印象深刻的结果。
问题所在: 双臂数据为何难以获取
在视觉模仿学习中,机器人通常使用“手眼” (eye-in-hand) 相机——即直接安装在手腕上的相机。这对于近距离观察动作非常有利。然而,要在这些图像上训练一个神经网络并使其具备良好的泛化能力,需要海量的数据。
如果在训练过程中,机器人看到的物体角度与训练时稍有不同,它可能会失败。标准的解决方案是什么? 数据增强 (Data Augmentation) 。
在计算机视觉中,我们通常只是翻转或裁剪图像。但在机器人技术中,如果你改变了图像 (即“状态”) ,你就必须知道对应于那个新图像的正确机器人运动 (即“动作”) 。
对于双臂来说,这变得非常棘手。如果你人为地移动左臂的相机视图,你必须确保:
- 该视图与右臂看到的内容保持一致。
- 产生的动作能保持双臂的协调。
如果你在像“举托盘”这样的任务中随机抖动相机,增强后的数据可能会建议左手移开,而右手保持不动。如果机器人学到了这一点,它就会把托盘弄掉。
D-CODA 登场
D-CODA 代表 Diffusion for COordinated Dual-arm Data Augmentation (用于协调双臂数据增强的扩散模型) 。这是一个离线框架,它利用少量真实的演示数据,将其倍增为一个更大、更丰富的数据集。

如图 1 所示,该系统获取原始的手腕相机图像,并生成“增强”图像,看起来就像机器人稍微偏离了原始轨迹一样。至关重要的是,它会计算出与这些新图像相匹配的正确关节空间动作,从而教机器人如何从错误中恢复。
该框架包含三个主要阶段,如下面的架构图所示:
- 扩散模型 (Diffusion Model) : 合成视觉数据。
- 扰动采样 (Perturbation Sampling) : 决定相机应该“移向何处”。
- 策略学习 (Policy Learning) : 训练实际的机器人控制器。

让我们深入探讨其中的两个核心技术创新: 扩散合成和协调采样。
1. 用于新视图合成的扩散模型
第一个挑战是视觉上的: 如果我们想象机器人的手向左移动了 2 厘米,相机能看到什么?
作者采用了一种条件扩散模型。扩散模型的工作原理是向图像添加噪声直到它变成静态噪声,然后学习逆转这个过程来重建清晰的图像。在这里,模型是“条件性”的——它不是凭空产生随机图像;它基于以下条件生成特定视图:
- 原始源图像 (\(I^l_a, I^r_a\))。
- 位姿变换 (\(\Delta p\))——相机移动了多少。
该模型使用 VQ-GAN 自编码器将图像压缩到潜在空间 (使计算过程可行) ,并使用 U-Net 架构执行去噪。
训练目标实际上是最小化添加的噪声与模型预测的噪声之间的差异:

通过将相对相机位姿信息注入模型的交叉注意力层,D-CODA 确保生成的左手和右手腕部图像是视角一致的。这意味着如果左侧相机移动了,生成图像中的光照、物体透视和相对位置都符合场景的物理规律。
2. 核心逻辑: 约束采样
这是 D-CODA 的“大脑”。你可以生成完美的图像,但如果位姿扰动 (\(\Delta p\)) 意味着物理上不可能或不协调的动作,那么数据就是垃圾。
研究人员使用 SAM2 (Segment Anything Model 2) 来跟踪夹爪并检测机器人是否接触到了物体。这不仅将任务分成了两种模式:
模式 A: 非接触 (自由空间)
如果机器人在空气中移动,协调性就不那么重要。系统均匀地采样随机相机扰动 (图 2 中的绿色/黄色点) 。这教会机器人从不同的角度接近物体。
模式 B: 富接触 (握持物体)
这正是以前的方法失败的地方。如果机器人拿着一个箱子,左手和右手在物理上是耦合的。你不能在不移动另一只手或不移动物体的情况下移动一只手。
为了解决这个问题,D-CODA 将扰动采样视为一个约束优化问题 。 它寻找一个位姿变化 \(c_{trans}\),该变化满足适合双臂任务的特定规则。

上述约束 (如上图所示) 确保:
- 安全性: 新的位姿不在桌子内部 (\(d_{table}\)) 且不与另一只手臂碰撞 (\(d_{eff}\))。
- 可行性: 逆运动学 (IK) 求解器确认机器人手臂实际上可以到达这个新位置。
- 协调性: 至关重要的是,当处于接触状态时,通常会施加相同的扰动或限制,以保持夹爪之间的相对距离。
为了直观地理解这一点的重要性,请看下面的比较。

在图 9 中,注意“随机动作” (蓝色箭头) 。如果增强仅仅是随机抖动位置,末端执行器会分开,增加它们之间的距离。在现实中,这会导致机器人掉落球体。“强制约束动作” (红色/栗色箭头) 确保了相对几何形状得以保持,从而保持球体稳定。
3. 动作标注
一旦确定了新的相机位姿 (通过优化) 并合成了新的图像 (通过扩散) ,系统就会计算新的动作标签。它使用机器人已知的运动学链来计算实现新位姿所需的关节位置。
结果是一个新的训练对: (合成图像, 修正动作)。当加入数据集后,这教导机器人: “如果你在拿着箱子时发现自己稍微偏离了中心,这就是你调整以保持在正轨上的方法。”
实验设置
团队在 5 个仿真任务和 3 个真实世界任务中评估了 D-CODA。选择这些任务是为了专门测试协调性。
仿真任务 (使用 RLBench/PerAct2) :
- 协同举球 (Coordinated Lift Ball): 平衡一个大球体。
- 协同举托盘 (Coordinated Lift Tray): 需要保持水平方向的任务。
- 推箱子 (Push Box): 移动重物。
- 双按键 (Dual Push Buttons): 同步按下按钮。
- 双臂理绳 (Bimanual Straighten Rope): 可变形物体操作。

真实世界设置: 他们使用了两个配备 RealSense 腕部相机的 UR5 机械臂。

结果与分析
结果表明,D-CODA 显著优于基线方法,包括 VISTA (一种最先进的单视图增强方法) 和 Bimanual DMD (Diffusion Meets DAgger,但没有协调约束) 。
仿真结果
在仿真基准测试中,D-CODA 在 5 个任务中的 4 个任务里取得了最高的成功率。

以 协同举托盘 (Coordinated Lift Tray) 任务为例。没有增强的标准 ACT (Action Chunking with Transformers) 仅有 37.3% 的成功率。使用 D-CODA 后,这一比例跃升至 44.0% , 而不协调的“Bimanual DMD”则暴跌至 13.3%。这证明了朴素的增强就像噪声一样,会在协调任务中混淆策略。
真实世界表现
真实世界的结果甚至更具说服力。团队测试了举球、举抽屉和推滑块任务。

如表 2 所示,D-CODA 在“举球”任务中取得了 17/20 的成功率,相比之下,标准 ACT 为 15/20,而 VISTA 仅为 12/20。
区别在哪里?在现实世界中,光照条件和确切的物体位置各不相同。D-CODA 的增强数据覆盖了更广泛的状态空间区域,使机器人对这些变化具有鲁棒性。

图 3 展示了这种覆盖范围。蓝点是原始的人类演示。栗色和黄色的云团是 D-CODA 的增强状态。该方法有效地探索了理想轨迹周围的空间,给了机器人一个知识的“缓冲地带”。
视觉质量
同样值得注意的是生成图像的质量。扩散模型保留了夹爪和物体的视觉保真度,即使在合成原始数据中不存在的视图时也是如此。

在图 11 (真实世界) 中,观察红框图像 (增强后的) 。它们在夹爪上保持了一致的光照和清晰的细节,这对于策略正确识别状态至关重要。
结论与启示
D-CODA 代表了双臂机器人学习向前迈出的重要一步。它解决了数据增强中的协调性这一特定瓶颈。
主要收获:
- 增强需要物理规律: 对于机器人技术,你不能只是凭空想象新图像;几何关系必须合理。
- 接触很关键: 区分自由空间运动和富接触操作对于生成有效的训练数据至关重要。
- 效率: D-CODA 完全离线运行。它无需模拟器或数小时额外的机器人远程操作即可生成训练数据。
通过将扩散模型的生成能力与运动学优化的严格约束相结合,D-CODA 允许机器人从更少的人类演示中学习更鲁棒的双臂技能。随着我们迈向通用人形机器人,像这样的技术对于教导它们如何处理我们所处的复杂的双手世界将是必不可少的。
](https://deep-paper.org/en/paper/2505.04860/images/cover.png)