引言

如果你让机器人去拿一个咖啡杯,它很可能会成功。杯子是刚体;当你触碰它时,它的形状不会改变。如果你知道把手在哪里,你就能精确计算出如何抓取它。

现在,让同一个机器人去叠一件弄皱的 T 恤。它很可能会惨败。

布料操作是机器人技术中的“圣杯”之一。与刚性物体不同,布料拥有近乎无限的自由度。它会起皱、折叠,并且会遮挡住自身的形状。当一件衬衫堆在一起时,你只能看到其表面的一小部分。对于机器人的摄像头来说,一件皱巴巴的衬衫看起来就像一团混乱、无法识别的东西。此外,布料的物理特性复杂且非线性;拉动袖子可能会拖动整件衬衫,也可能只是拉伸了面料。

多年来,研究人员一直使用图神经网络 (GNN) 来模拟这些物理过程,将布料视为连接粒子的网格。虽然这对简单的任务有效,但 GNN 往往难以扩展,并且无法捕捉“长视界 (long-horizon) ”的依赖关系——这意味着你试图预测的未来越远,误差累积就越严重。

在加州大学圣地亚哥分校和 Hillbot Inc. 最近发表的一篇题为 “Diffusion Dynamics Models with Generative State Estimation for Cloth Manipulation” 的论文中,研究人员提出了一种范式转变。与其仅仅试图计算物理过程,为什么不利用生成式 AI 的力量来想象它们呢?

通过通过改编为 DALL-E 或 Midjourney 等图像生成器提供动力的扩散模型 (Diffusion models) ,他们创建了 UniClothDiff——这是一个统一的框架,可以“构想”出皱巴巴的衬衫中被隐藏的部分,并准确预测它将如何移动,从而使机器人能够以极其熟练的技巧折叠衣物。

双重挑战: 盲区与混乱

要操作布料,机器人需要同时解决两个巨大的难题:

  1. 状态估计 (感知) : 机器人看着一堆织物 (部分点云) ,需要理解完整的 3D 形状 (网格) 。由于布料会自我折叠 (自遮挡) ,大部分数据是缺失的。机器人必须“填补空白”。
  2. 动力学建模 (预测) : 一旦机器人知道了形状,它需要预测: “如果我把这个点向右拉 10 厘米,衬衫会变成什么样?” 这就是动力学模型。

研究人员假设扩散模型是解决这两个问题的关键。扩散模型非常擅长学习复杂的数据分布。如果在足够的数据上进行训练,它们就能学习到有效的衬衫形状和有效的衬衫运动分布。

解决方案: UniClothDiff

该文提出的框架 UniClothDiff 包含两个主要引擎: 扩散感知模型 (DPM)扩散动力学模型 (DDM) 。 让我们来分解它们是如何工作以及如何结合在一起的。

图 1: 概览。(a) 感知: 我们的扩散感知模型 (DPM) 从部分点云重建完整的布料状态。(b) 动力学预测: 我们的扩散动力学模型 (DDM) 根据当前估计的状态和机器人动作生成未来的布料状态。

1. 感知: 构想不可见部分

请看上面的图 1(a)。输入是一个“部分点云”——这是机器人实际看到的东西。它是稀疏且不完整的。目标是得到“重建状态”,即一个完整、平滑的 3D 网格。

传统方法试图将像素直接映射到网格,当遮挡严重时,这通常会导致锯齿状、不切实际的形状。 扩散感知模型 (DPM) 采用了不同的方法。它将状态估计视为一个条件生成问题。

该过程如下运作:

  1. 条件化 (Conditioning) : 模型接收部分点云并将其编码为特征向量。
  2. 去噪 (Denoising) : 它从一个纯随机噪声构成的网格开始。经过若干步骤 (\(K\) 步) ,模型迭代地去除噪声。
  3. 引导 (Guidance) : 关键在于,这个去噪过程是以部分点云为条件的。模型会问: “基于我能看到的 (部分点云) ,这件衬衫最可能的完整形状是什么?”

该架构使用了 Vision Transformer (ViT) 。 布料网格被分解为“补丁 (patches) ” (类似于 ChatGPT 将文本分解为 token) 。这使得模型能够高效地处理几何结构。在扩散过程结束时,模型实际上已经根据可见部分“想象”出了衬衫的背面和隐藏的褶皱,就像人类即使看不见也能凭直觉知道衬衫有背面一样。

2. 动力学: 预测未来

一旦机器人有了估计的状态 (网格) ,它就需要移动它。这就是 扩散动力学模型 (DDM) 发挥作用的地方,如图 1(b) 所示。

标准的动力学模型 (如 GNN) 获取当前状态和动作,并输出单一的预测下一状态。问题在于布料动力学具有高度的不确定性。输入中的微小误差可能导致输出中的巨大误差,尤其是在长序列中。

DDM 将动力学视为一个序列生成任务。

  • 输入: 当前布料状态 + 机器人动作 + 历史状态。
  • 输出: 布料的下一状态。

DDM 不是进行简单的回归 (预测一个数字) ,而是学习可能的未来状态的概率分布。它通过去噪来生成下一个状态,并以当前状态和机器人的动作为条件。

为什么要用 Transformer? 研究人员发现图神经网络的可扩展性较差。随着布料网格变得更加精细 (顶点更多) ,GNN 会变得更慢且更难训练。然而,Transformer 非常擅长处理长序列和捕捉全局依赖关系。通过使用 Transformer 骨干网络,DDM 可以推理拉动袖子如何影响衣领——这是 GNN 经常遗漏的长程相互作用。

3. 大脑: 基于模型的规划

如果你不使用模型来做决策,那么拥有一个能预测未来的模型是毫无用处的。研究人员将他们的扩散动力学模型集成到了一个 模型预测控制 (MPC) 框架中。

逻辑流程如下:

  1. 采样动作: 机器人生成数千个随机的潜在动作序列 (例如,“抓这里,移到那里”) 。
  2. 模拟: DDM 预测每个序列的结果。
  3. 评估: 系统计算每个结果的“成本”。成本仅仅是预测状态与目标状态 (折叠好的衬衫) 之间的差异。

目标函数如下所示:

MPC 最小化方程

这里,\(\phi(s_T, s_g)\) 代表最终预测状态 (\(s_T\)) 与目标状态 (\(s_g\)) 之间的差异,第二项则是最小化动作本身的成本 (以确保运动平滑) 。

通过最小化这个函数,机器人选择最有可能导致衬衫被整齐折叠的动作序列。

实验结果

理论听起来很扎实,但它有效吗?研究人员在仿真环境 (使用 SAPIEN) 和现实世界中测试了 UniClothDiff。

感知性能

首先,让我们看看机器人“看”得有多好。研究人员将他们的扩散感知模型 (DPM) 与几个基线方法进行了比较,包括 GarmentNets 和其他基于 Transformer 的方法。

表 1: 状态估计的定量结果。数值越低表示性能越好。

如表 1 所示,DPM 在简单的布料和复杂的 T 恤上都实现了最低的误差率 (MSE 和倒角距离 Chamfer Distance) 。

从定性上看,差异是明显的。在下方的图 2 中,请看从原始点云 (a 行) 到预测状态 (c 行) 的转换。即使对于现实世界中高度皱缩的衣服,该模型也能重建出一个平滑、合理的网格。

图 2: 状态估计的定性结果。(a) 行显示原始点云。(b) 行显示分段点云。(c) 行显示预测的布料状态。

动力学预测

最关键的测试是模型能否随时间推移准确预测物理过程。如果模型在第 1 步犯了一个小错误,该错误通常会累积。到了第 20 步,预测结果通常就是垃圾了。

研究人员将他们的 DDM 与标准的 GNN 方法进行了比较。

图 3: 长视界动力学预测随时间的误差。(a) 使用 Oracle 状态,(b) 使用 DPM 感知估计。

图 3 中的图表讲述了一个令人信服的故事。蓝线 (DDM - Ours) 即使在动作步数增加时也始终保持低位 (接近零误差) 。然而,红线 (GNN) 直线上升,表明 GNN 难以应对误差累积。

动力学预测的定性差异在下方的热力图中得到了直观展示。“Transformer”基线 (b 行) 随着时间的推移开始出现高误差的红色“热点”,导致衬衫变形。DDM (a 行) 保持蓝色 (低误差) ,保持了与真值 (Ground Truth) 紧密匹配的逼真形状。

图 4: 动力学预测的定性结果。预测的衣服配置的可视化,每个顶点根据其误差进行颜色编码。

现实世界折叠

最后是终极测试: 将软件部署到物理机器人上。研究人员设置了涉及折叠各种类型衣物的实验——从简单的方巾到长袖衬衫。

图 11: 现实世界系统部署的定性结果。目标状态在每行的最后一列。各行显示了折叠任务期间的渐进变形。

该系统被证明非常有效。在图 11 中,你可以看到机器人成功地将一件 T 恤从皱巴巴的状态操作成折叠好的方块。

表 2 (如下) 量化了成功率。对于像在“混合 (Combined) ”遮挡 (手臂和布料本身遮挡视线) 下折叠 T 恤这样的复杂任务,标准的 GNN 方法几乎完全失败 (2/10 的成功率) 。而所提出的方法成功了 6/10 次——这是机器人可靠性的巨大提升。

表 2: 现实世界操作的定量结果。GNN 与我们的方法之间的成功率比较。

跨具身 (Cross-Embodiment) 泛化

该系统最酷的功能之一是动作空间是“具身无关”的。模型关心的是夹爪对布料的效果,而不是夹爪本身。这意味着同一个训练好的模型可以控制简单的二指夹爪,或者复杂的多指机械手。

图 6: 跨具身泛化结果。

图 6 展示了相同的底层逻辑驱动两套完全不同的机器人硬件设置,以实现相同的折叠目标。

这为何重要

这项研究代表了机器人操作技术的成熟。我们正在从显式的、硬编码的物理计算转向学习到的、生成式的物理

以下是给学生和研究人员的关键要点:

  1. 生成式 AI 作为物理引擎: 扩散模型不仅仅用于创作艺术。它们可以模拟物理对象的转换概率,有效地充当学习到的模拟器。
  2. 可扩展性优于归纳偏置: 虽然 GNN 具有很强的物理归纳偏置 (节点和边) ,但在处理像布料网格这样复杂的高维数据时,标准 Transformer 结合扩散模型似乎具有更好的可扩展性。
  3. “想象力”的重要性: 重建衬衫隐藏背面的能力使机器人能够规划准确的折叠。没有这个生成式感知步骤,动力学模型将基于错误的数据运行。

UniClothDiff 证明,通过教机器人想象不可见的事物并预测不确定的事物,我们可以使它们能够处理我们日常生活中混乱、皱巴巴的现实——从洗衣服开始。


本文博客文章中使用的图片均来自论文 “Diffusion Dynamics Models with Generative State Estimation for Cloth Manipulation”。