DiffuseBot 利用物理学增强生成扩散模型改进软体机器人设计

DiffuseBot 利用物理学增强生成扩散模型改进软体机器人设计

设计软体机器人系统需要考虑系统几何形状、组件和行为之间的权衡,这是具有挑战性和耗时的。

来自麻省理工大学的Tsun-Hsuan Wang, Pingchuan Ma, Yilun Du, Andrew Spielberg, Joshua B. Tenenbaum, Chuang Gan以及Daniela Rus, 介绍了他们基于生成扩散模型的 DiffuseBot 的贡献,解决了这些问题。

DiffuseBot 是一个框架,解决了共同设计软体机器人形态和控制的挑战。DiffuseBot 的目标是利用扩散模型的力量生成最佳的机器人设计,并利用预先训练的 3D 生成模型。该框架将基于物理的模拟与扩散过程相结合,创建在各种任务中表现优异的软体机器人设计。DiffuseBot 引入了一种新颖的方法,将生成扩散模型与基于物理的模拟相结合,自动化并加速了共同设计过程。通过将扩散合成与物理动力学模拟相结合,DiffuseBot 生成了针对各种任务(包括运动、操纵和被动动力学)进行优化的软体机器人形态。这种方法允许自动创建多样性和高效性的机器人设计。DiffuseBot 填补了现代软体机器人中发现的各种设计与自然界的多样性之间的差距,并为该领域提供了有效的自动内容创建框架。

他们如何开发的 DiffuseBot

DiffuseBot 框架

软体机器人共同设计涉及软体机器人形状和控制的联合优化。这涉及查找机器人的最佳几何形状、刚度和致动器位置,以及确定致动器的适当控制信号。目标是最小化考虑机器人形态和控制参数的损失函数。共同设计优化由于身体和控制变量之间的复杂关系、竞争性设计修改和灵活性与有效性之间的权衡而具有挑战性。他们首先着眼于利用扩散模型搜索最佳机器人设计,生成各种机器人并利用预先训练的 3D 生成模型的结构偏差。

他们解释了从 Point-E 扩散模型获得的扩散样本的机器人化过程。扩散样本以曲面点云的形式存在,无法直接用于基于物理的模拟中的机器人。他们提出了一种名为“嵌入优化”的方法,将扩散样本转化为可以在模拟中评估的机器人几何形状。该过程涉及几个步骤。首先,他们使用扩散模型生成数据,并利用基于物理的模拟评估样本。然后聚合结果,并用于优化扩散样本的嵌入。他们使用了基于材料点法(MPM)的模拟,该模拟需要实体几何形状作为输入。这带来了两个挑战:将曲面点云转换为实体几何,以及处理在中间步骤的扩散样本的非结构性。为了解决这些挑战,他们使用去噪扩散隐式模型(DDIM)来预测每个扩散时间步骤的干净样本。然后使用这些干净样本为模拟构建更好的结构化数据。预测的曲面点被转换为实体几何,通过重建表面网格和在其内部采样一个实体点云。他们修改了从点到形状的优化方法,以实现可区分的泊松曲面重建。为了将固化过程整合到扩散采样器中,他们使用高斯内核计算了关于预测曲面点的固体几何的梯度。这个梯度控制着每个固体点受附近预测曲面点的影响程度。他们还基于固体几何对机器人进行了致动器放置和刚度参数化的定义。致动器被嵌入为肌肉纤维,并且假定刚度是恒定的,以简化问题。

他们提出了一种用于通过优化和共同设计提高机器人性能的物理增强扩散模型(PADM)。PADM 包括两个主要步骤:嵌入优化和扩散作为共同设计。在嵌入优化步骤中,从扩散模型积极生成新数据,并存储在缓冲区中。利用基于物理的模拟评估生成数据的性能。然后根据扩散模型和偏斜的数据分布对嵌入进行优化。这种方法消除了在策划培训数据集时手动努力的需要,并避免了降低整体生成的风险。它还节省了为每个新任务存储模型权重的成本。扩散作为共同设计步骤通过将扩扩散采样过程转换为共同设计优化来进一步提高个别样本的性能。这通过结合基于梯度的优化技术和马尔可夫链蒙特卡洛(MCMC)采样实现。扩散时间被转化为机器人设计变量,并且控制变量被优化以适应设计。这个过程在扩散步骤中定期执行。他们提供了实验结果,证明了通过扩散模型增强物理模拟的效果提高。结果展示了在被动动力学任务(平衡、着陆)、运动任务(爬行、跳跃)和操纵任务(抓握、移动箱子)中的性能改进。

DiffuseBot 真的有用吗?

DiffuseBot 和其他模型生成的示例

他们进行了实验和分析,以评估提出的方法的有效性。他们将他们的方法 DiffuseBot 与不同的基准进行了比较,并进行了消融研究,以分析方法的各个组成部分的影响。 他们首先呈现了一张表,显示了结合嵌入优化和扩散共同设计提高物理效用的结果。他们对每个条目使用预设随机种子绘制 100 个样本,以确保有效的比较。结果表明,在使用提议的技术时,所有任务的性能都有所提高。但他们指出,由于扩散过程中的随机性和在某些情况下的可区分模拟的低质量,样本级性能并不总是单调提高。 接下来,他们将 DiffuseBot 与在软体机器人共同设计中常用的各种基准进行了比较。他们对每种基线方法进行了 20 种不同的随机初始化运行,并选择了最佳方法,而对于 DiffuseBot,他们绘制了 20 个样本并报告了最佳结果。结果显示 DiffuseBot 优于所有基线方法。 然后,他们在图中展示了由 DiffuseBot 生成的软体机器人的示例。这些机器人展示了 DiffuseBot 在为不同任务生成设计时的多样性和灵活性。他们还显示了机器人如何从初始设计发展到与任务目标一致的改进设计。 在消融分析中,他们进行了爬行任务的实验,以获得对所提出方法的洞察。他们比较了不同的嵌入优化方法,发现手动设计文本提示对功能机器人设计不够有效。对扩散模型本身进行微调也没有取得更好的性能。他们还调查了在不同步骤应用扩散共同设计的影响,并找到了开始应用的最佳时机。此外,他们将扩散后共同设计优化与他们的方法进行了比较,并显示他们的方法略微更好。 他们强调扩散模型在整合人类反馈方面的灵活性。他们演示了组合不同的数据分布,包括人类文本反馈,进入扩散共同设计框架的能力。 最后,为了证明他们方法的实际适用性,他们制造了一个用于抓握任务的物理机器人。他们使用了 3D 碳打印机来重构生成的设计,并采用了肌腱传动致动器。他们指出,物理机器人制造和实际应用面临挑战,这个实验只是作为一个概念验证。 总的来说,实验和分析支持了 DiffuseBot 在生成不同任务的软体机器人设计方面的有效性和灵活性。