想象一个繁忙的工厂车间。一个机械臂拿起一个零件并将其放在传送带上。这是一个已经解决的问题;机器人知道它在哪里,零件在哪里,以及如何在不撞到自己的情况下移动。
现在,想象一下八个机械臂围成一圈,同时伸向同一个中心料箱分拣物体。突然间,问题不仅仅是移动,而是协调 。 如果机器人 A 向左移动,机器人 B 可能需要等待,而机器人 C 可能需要采取完全不同的路径以避免碰撞。
这就是多臂运动规划 (Multi-Arm Motion Planning, MAMP) 所面临的挑战。当我们向团队中添加更多机器人时,协调它们的复杂性不仅是线性增长,而是呈指数级爆炸。
在这篇文章中,我们将深入探讨 MIT 的 Viraj Parimi 和 Brian Williams 撰写的一篇精彩论文 《Diffusion-Guided Multi-Arm Motion Planning》 (扩散引导的多臂运动规划) 。 他们提出了一种名为 DG-MAP 的方法,该方法将扩散模型 (AI 绘画生成器背后的技术) 的生成能力与经典路径查找算法的结构化逻辑相结合。其结果是一个能够扩展到大型机器人团队的系统,且无需大量复杂的训练数据。
让我们来拆解一下他们是如何教机器人在不踩到对方脚趾的情况下跳舞的。
可扩展性问题
要理解为什么这篇论文很重要,我们首先需要了解为什么多臂规划如此困难。
机器人学家经常谈论“配置空间” (Configuration Space, C-space) 。对于一个具有 6 个关节 (自由度) 的单个机械臂,C-space 是 6 维的。从起点到终点找到一条路径,就是在这种 6 维空间中找到一条不触碰障碍物的线。
如果你有两个机械臂,系统就有 12 个维度。如果你有八个机械臂,你就是在48 维空间中工作。
两种标准方法 (及其困境)
- 基于采样的规划器 (例如 RRT, PRM) : 这些算法在空间中随机采样点以构建路线图。在 48 维空间中,空间如此巨大,以至于随机找到一条没有机器人发生碰撞的有效路径在计算上变得不可能。这就像大海捞针,但这片大海有宇宙那么大。
- 端到端学习 (RL) : 我们可以训练一个神经网络来观察所有机器人的状态并输出下一步动作。这在运行时很快,但它需要一个中心化策略 。 要训练它,你需要一个八个机器人一起移动的数据集。如果你想添加第九个机器人,你必须从头开始重新训练整个系统。它不能很好地“扩展”到未见过的团队规模。

如图 1 所示,纯粹基于学习的方法 (上排) 通常在密集环境中失败,因为它们在训练期间未见过那种特定的复杂交互。DG-MAP 方法 (下排) 则成功顺畅地完成了任务。
核心洞察: 分解
MIT 的研究人员意识到,虽然全局问题是高维的,但冲突通常是局部的。即使有 10 个机器人,碰撞通常一次只发生在两个机器人之间。
这一观察引出了 DG-MAP 的架构。他们没有试图一次性解决 48 维的问题,而是将其分解:
- 单独为每个机械臂规划 (忽略其他机械臂) 。
- 检查碰撞。
- 修复发生的特定成对碰撞。
为了实现这一点,他们需要一种方法来生成灵活、高质量的轨迹,以及一种在两个机器人即将相撞时“修复”轨迹的方法。这就是扩散模型发挥作用的地方。
背景: 用于运动规划的扩散模型
你可能通过 Midjourney 或 DALL-E 等工具了解扩散模型。它们的工作原理是获取一张图像,向其中添加噪声直到变成静态噪声,然后学习逆转这一过程——将静态噪声变回清晰的图像。
在机器人技术中,我们把轨迹 (随时间变化的一系列关节位置) 就像对待图像一样处理。
- 获取一个良好的机器人动作。
- 向坐标添加高斯噪声,直到变成随机乱码。
- 训练神经网络预测噪声并将其去除。
在数学上,逆过程 (去噪) 如下所示:

这里,\(\epsilon_{\theta}\) 是神经网络。通过从随机噪声 \(z_K\) 开始,重复应用这个去噪步骤 \(K\) 次,我们得到一个平滑、有效的轨迹 \(z_0\)。该模型使用预测噪声与实际噪声之间的标准均方误差损失进行训练:

与其他方法相比,使用扩散的好处是它可以很好地处理多模态性 。 如果有两条路可以绕过障碍物 (左边或右边) ,扩散模型可以生成其中任何一条,而其他模型可能会试图取平均值,结果直接撞上障碍物。
DG-MAP 方法
DG-MAP 利用两个专用的扩散模型和一个搜索算法来协调它们。
1. 单臂模型 (\(\epsilon_{\theta_1}\))
这个模型是“自私的”规划器。它是在单个机器人从起始姿态移动到目标姿态的数据上训练的。它对其他机器人一无所知。
- 输入: 当前的历史观测值 (关节角度,目标位置) 。
- 输出: 未来的一系列关节运动 (\(\Delta q\))。

2. 双臂模型 (\(\epsilon_{\theta_2}\))
这是“谈判者”。它是在两个机器人交互的数据上训练的。
- 输入: “自身 (ego) ”机器人 (我们正在为其规划的那个) 的历史记录 加上 “冲突”机器人的历史记录 (转换到自身机器人的坐标系中) 。
- 输出: 自身机器人的轨迹,该轨迹明确避开了另一个机器人。

关键点: 这些模型仅在单臂和双臂数据上进行训练。它们在训练期间从未见过 3 个、4 个或 8 个机器人。这就是使系统具有可扩展性的原因。
3. 搜索框架 (整合)
系统运行一个闭环滚动时域控制器 (Closed-Loop Receding Horizon Controller) 。 这意味着它不断地重新规划未来的一小段轨迹,执行其中的一小部分,然后再进行规划。
流程如下,可视化效果见图 2 :

- 生成初始计划: 每个机器人使用单臂模型建议一条通往其目标的路径。
- 检测冲突: 系统检查这些路径中是否有任何路径发生碰撞。
- 搜索树 (MAPF) : 如果发现机器人 A 和机器人 B 之间存在碰撞,系统会创建一个“搜索节点”。它需要解决这个冲突。它有两种策略来生成“后继”节点 (新的潜在计划) :
策略 A: 重分支 (Rebranch)
有时,扩散模型只是在随机种子上运气不好。 重分支策略 (算法 2) 只是要求单臂模型采样一条不同的随机轨迹。由于扩散是随机的,新路径可能会偶然避开碰撞。

策略 B: 修复 (Repair)
如果随机重采样不起作用,规划器就会请来专家。 修复策略 (算法 3) 使用双臂模型 。 它明确地告诉模型: “这是机器人 B 移动的地方。为机器人 A 生成一条既尊重其目标又避开机器人 B 的路径。”

规划器使用代价函数来评估这些新节点,优先考虑平滑、无碰撞且更接近目标的路径:

项 \(P_{coll}\) 对任何残留的碰撞施加重罚,引导搜索走向安全的解决方案。
实验与结果
作者在 PyBullet 仿真器中测试了 DG-MAP,团队规模从 3 到 8 个机器人不等。他们按难度对任务进行了分类——本质上是看机器人的工作空间重叠程度。

问题 1: 它能扩展吗?
最令人印象深刻的结果是 DG-MAP 与基于相同有限数据训练的基准模型( Baseline-LD )相比的表现。请记住,这两种方法在训练期间都只见过 1 或 2 个机器人。
表 1 (文中隐含数据) :
- Baseline-LD (3 臂) : 约 41% 成功率。
- Baseline-LD (8 臂) : 约 2% 成功率 (完全失败) 。
- DG-MAP (8 臂) : 92.4% 平均成功率。
因为 DG-MAP 将问题分解为成对交互,所以它不在乎以前从未见过 8 个机器人。它只看到“许多对冲突”并逐一解决它们。
问题 2: 它和“大数据”模型一样好吗?
作者还将其与 Baseline-ED (扩展数据) 进行了比较,后者是一个在包含 3 和 4 个机器人交互的海量数据集上训练的模型。
值得注意的是,DG-MAP 与这个重量级基准相比具有竞争力 , 实际上在最困难的场景 (8 臂,高难度) 中甚至超越了它。这证明结构化规划 (修复特定冲突) 通常比试图端到端地学习所有内容更稳健。
实际应用: 抓取与放置
移动到特定坐标是一回事;执行任务是另一回事。团队设置了一个“抓取与放置”模拟,四个机械臂必须抓取物体并将它们倾倒在中央料箱中。

- Baseline-LD 成功率: 37.5%
- DG-MAP 成功率: 89.0%
这证实了该方法不仅仅是理论上的设想;它在密集的、面向任务的环境中行之有效。
权衡: 计算时间
天下没有免费的午餐。因为 DG-MAP 在每一步都运行搜索算法 (检查碰撞、分支、修复) ,所以它在计算上比简单的神经网络推理要重。

如图 5 所示,DG-MAP 计算一个规划步骤需要 2 到 3.5 秒,而端到端基准仅需几分之一秒。然而,在许多工业应用中,如果能保证机器人不会相撞 (碰撞会导致更长时间的延误) ,2 秒的规划时间是可以接受的。
结论与关键要点
DG-MAP 论文为混合 AI 系统提出了令人信服的论据。
- 不要抛弃经典算法: 多智能体路径查找 (分解问题、搜索解决方案) 的逻辑非常强大。
- 用 AI 做它擅长的事: 扩散模型非常擅长在复杂空间中生成自然、可行的运动。
- 局部交互驱动全局行为: 你可以通过仅仅理解如何让任何两个机器人不相撞,来协调一个庞大的机器人群体。
通过将条件扩散模型与受 MAPF 启发的搜索相结合,Parimi 和 Williams 创建了一个既数据高效 (仅在成对数据上训练) 又高度可扩展的规划器。随着机器人集群在物流和制造业中变得越来越普遍,像 DG-MAP 这样的技术可能会成为保持编排顺畅和安全的标准。
](https://deep-paper.org/en/paper/2509.08160/images/cover.png)