第一部分 FurnitureVLA: Learning Long-Horizon Bimanual Furniture Assemblywith Vision-Language-Action Model

1.1 引言与相关工作

1.1.1 引言

由于家具装配具有长时程与高精度的特性,一直是机器人领域中的长期难题

  1. 装配一件家具需要以严格的顺序操作多个相互依赖的部件,早期的错误会被逐步放大并导致级联式失败 [1]–[4]
    成功的装配还要求配合部件之间具有严格的几何对齐 [5]–[8]
  2. 在实际尺度场景中,这些挑战进一步被放大:大型且沉重的部件需要持续的双臂协同操作,两只机械臂必须在整个装配过程中共同操控部件,同时满足可达性限制并避免运动学奇异性 [9],[10]

本工作的目标是利用视觉-语言-动作模型(Vision-Language-Action models,VLAs),如图1所示

为真实尺度的双臂机器人家具装配学习一种通用策略。以往工作主要聚焦于玩具尺度或缩小比例的家具,并且仅采用单臂操作 [1]–[8]。在本文中,作者形式化了真实尺度的双臂家具装配任务,并构建了一个由两个互补组件组成的系统

  1. 首先,作者开发了一个可扩展的双臂仿真流水线,能够通过运动规划在多种家具类型和不同任务时域上生成专家示教数据
    这个受控环境可以在可达性和运动学约束下验证任务可行性,并作为大规模评估的测试平台
  2. 其次,为了支持在真实世界中的部署,作者开发了一套 VR 远程操控系统
    其设计原则专门针对真实尺度的双臂装配任务进行优化,使单个远程操作者能够在 Kinova Gen3 平台上协调控制双臂,从而采集高质量的示教数据

在该系统框架下,直接在完整长度的双臂示教数据上对一个单体式 VLA 策略进行微调依然不是最优方案,因为当前的 VLA 模型在几何精度要求相对宽松的短时序任务上效果最佳 [11], [12]。长时序轨迹会引起分布漂移,其中微小偏差就可能将策略推向分布外状态,并导致误差逐步累积 [13], [14]

  1. 为了解决这一问题,作者将每个装配过程分解为具有语义基础的子任务,并在更短的、由语言条件约束的片段上对 VLA 进行微调。这样可以收窄每个子任务内部的状态分布,并为任务阶段提供线索

    重要的是,作者将子任务边界定义在手臂回撤之后的稳定、无接触状态,而不是定义在部件装配完成后立即出现的接触密集状态。由于回撤后的状态不受接触与力约束的限制,执行中的小误差不太可能被放大为大的偏差,从而为后续每个子任务提供更一致的初始状态分布,并降低跨子任务的分布偏移
  2. 然而,这要求在执行过程中确定何时在子任务之间进行切换
    对此,作者通过引入一种进度增强型 VLA 来解决这一问题,该模型在推理时联合预测动作以及显式的子任务进度信号,用于触发子任务切换
  3. 最后,为了提高真实尺度装配中的精度
    作者围绕关键的感知与控制设计因素进行了一项聚焦研究,包括动作时域长度、时间集成(temporal ensembling)[15]、图像分辨率以及相机视角,并分析这些设计选择如何影响装配成功率

1.1.2 相关工作

首先,对于机器人家具装配

  1. 机器人家具装配将长时域规划与严格的几何约束耦合在一起。早期工作依赖于人工设计的感知与任务-运动规划 [16];而后续工作则通过将装配手册转换为结构化计划,并结合学习得到的接触修正和视觉-语言对齐来实现扩展 [4],[17],[18]
  2. 在仿真基准 [1],[19] 的基础上,基于学习的方法研究了大规模模仿学习 [3]、用于提高精度的残差策略[6]、在有限真实数据条件下的仿真到现实迁移[5],[8],[20],以及人机协作 [21]

    然而,现有工作在很大程度上聚焦于玩具级场景中的单臂、任务特定策略,尚未解决如何为真实尺度的双臂装配训练通用策略这一问题

其次,对于用于长时程操作的视觉语言行动模型(VLA)

长时程执行由于误差累积和协变量偏移而依然脆弱 [13],[14], [22], [23]。一种常见策略是将长演示分解为更短的阶段

  1. 一些工作通过外部切换机制来学习模块化技能(例如操作、移动)[24]–[26]
    而另一些工作则将 VLA 结构化为可复用的模块,在故障检测器的作用下进行重新规划和恢复 [27], [28]
  2. 一条互补的研究路线是赋予 VLA 推理能力,使其在执行过程中输出下一个子任务 [29]–[31],但代价是更高的计算开销

而作者提出的进度增强型 VLA 能够在推理过程中自动完成子任务转换,而无需外部阶段估计器

最后,对于用于精细操作的 VLA

  1. 通用型机器人策略(例如 VLAs[11], [12], [30], [32])通常仍然受到精度限制:跨机体(cross-embodiment)的标准化可能会使动作表示变得粗糙 [33],
    而离散化的动作tokenization在处理灵巧且高频的数据时可能失效 [34],这一点已在大规模真实机器人评估中得到验证 [35]
  2. ACT [15] 通过动作分块(actionchunking)和时间集成(temporal ensembling)来减少误差累积并平滑控制;而 Openpi Comet [36] 则表明,感知与控制回路设计的具体选择会对操作精度产生实质性影响

而作者在真实规模的双臂装配中研究这些因素,并为几何对齐和装配成功率提供了具体见解

1.2 任务与系统设置

如原论文所述,接下来

  1. 将首先形式化任务设定并引入关键假设
  2. 随后,该系统包括一个用于数据生成和评估的可扩展仿真流水线
  3. 一个用于高质量真实世界数据采集的VR遥操作系统

1.2.1 双臂家具装配任务

首先,对于硬件配置

装配操作在桌面上完成,使用两台Kinova Gen3 七自由度机械臂:左臂配备 RobotiqHand-E 夹爪,右臂配备 Robotiq 2F-85 夹爪

桌面示意图如图 3 所示

除了以往 VLA 工作 [30] 中常用的前置摄像头和腕部摄像头之外,作者还添加了一个后置摄像头,以提供互补视角,因为大型家具部件以及频繁的双臂交互往往会遮挡正面的观测视野

其次,作者做出两个关键假设

  1. 首先,使用磁铁在家具部件对齐后将其固定,从而绕过拧螺丝这一过程
    拧螺丝是一个与本工作正交且更具挑战性的问题[37]、[38],并且在基于物理的仿真器中难以模拟。以往的装配基准同样规避了拧螺丝过程 [1]、[19]
  2. 其次,每个家具部件在初始化时,其位置相对标称姿态在 3 cm 范围内随机扰动,姿态在 5◦ 范围内随机扰动,这与常见的 VLA 设置一致 [11]、[30]、[32]

最后,对于任务属性

作者研究采用真实尺度的双臂家具装配任务,所用对象为三个难度逐步提升的宜家(IKEA)家具:LACK边桌、KALLAX 书架和 IVAR 椅子

且作者为其定义了子任务分解,并配以相应的语言指令,这些指令要求简洁、具具备语义描述性

如图2 所示

任务具有以下特性,使其尤其具有挑战性

  1. 长时域执行
    每个装配任务都需要完成一系列严格顺序的子任务,其时域长度从 4(LACK、KALLAX)到7(IVAR)不等,对应 650–1550 个控制步(65–155秒),超出了以往基准任务 [39]–[41] 的范围
  2. 高精度插装
    每个子任务都要求在严格的平移和旋转阈值约束下,实现配合零件之间的精确对齐,这比此前玩具尺度装配基准 [1]、[19] 更为苛刻
  3. 多样化的操作技能
    每个子任务都由结构化的语言指令来指定(例如,“抓取、对齐并插入一个零件”),并且需要组合多种操作技能,例如抓取、对齐、插入、抬升和旋转

    因此,一个简单的装配任务(例如由 4 个子任务组成的 LACK)大约需要执行 12 次技能,而更复杂的装配任务(例如IVAR)由于具有更长的时间跨度以及额外的双手协作操作(如对已装配结构进行协调抬升和旋转),可能涉及多达 25 次技能
    这些技能必须在多变的条件下执行,包括存在遮挡、接触密集的插入操作,以及在部分装配结构周围进行具备碰撞意识的机动
  4. 双手协调
    若干子任务要求双臂在大型、沉重部件上协同作业
    例如
    安装 KALLAX 顶板需要双臂同时抬起、旋转并对齐整块宽度的面板;
    组装IVAR 时,需要先将已部分组装好的椅架整体抬起并旋转至竖直姿态,然后再安装座板。

    这些双手子任务最多涉及四个按顺序执行的动作原语,并且在整个过程中必须保持可达性并避免奇异位姿

1.2.2 仿真数据生成与成功判据

首先,对于通过运动规划进行数据生成

作者使用运动规划在仿真环境中生成专家示范

  1. 对于单臂动作,作者直接规划末端执行器的位姿轨迹
  2. 对于双臂动作,作者关闭物理仿真,而是为被操纵物体规划轨迹,并约束两只机械臂像刚性连接的末端执行器一样跟随该物体

所有生成的轨迹都会通过在仿真中回放并验证装配是否成功来进行校验。初始零件摆放经过精心设计以确保可行性:所有零件始终处于机器人可达范围内,在操作过程中避免物体之间的碰撞,并防止导致运动学奇异的构型

其次,对于装配成功判定标准

参考 FurnitureBench [1],作者在每件家具中指定一个零件作为基座零件,并通过测量其他每个零件相对于该基座的相对位姿误差来评估装配情况。令\mathbf{T}_{b}, \mathbf{T}_{k} \in S E(3)分别表示基座零件和第 k 个零件的位姿

继而,计算相对变换:

\mathbf{T}_{\mathrm{rel}}=\mathbf{T}_{b}^{-1} \mathbf{T}_{k}

并将其与真实的组装位姿 \mathbf{T}_{\mathrm{rel}}^{*}进行比较,如果满足以下条件,则认为一个零件被成功组装

\begin{aligned} \left|t_{\mathrm{rel}, i}-t_{\mathrm{rel}, i}^{*}\right| \leq \epsilon, & i \in\{x, y, z\} \\ \cos \left(\mathbf{r}_{\mathrm{rel}, j}, \mathbf{r}_{\mathrm{rel}, j}^{*}\right) \geq \delta, & j \in\{u, v, w\} \end{aligned}

其中,t_{\mathrm{rel}, i}表示平移向量的第 i  个分量,\mathbf{r}_{\mathrm{rel}, j}表示 T_rel 的旋转矩阵的第 j 列

作者将小部件设定为\epsilon=1 \mathrm{~cm},大部件设定为\epsilon=2 \mathrm{~cm},并将\delta=0.998(≈4.0◦每个旋转轴),这与FurnitureBench [1] 保持一致,但由于真实世界家具的尺度更大,因此要求更高。只有当所有部件都满足这两个标准时,才认为完整装配是成功的

1.2.3 通过 VR 远程操作进行真实世界数据采集

为支持在真实环境中的部署,作者开发了一套 VR远程操作系统,用于高质量示教数据采集,使单个远程操作员可以在 Kinova Gen3 平台上协调控制双臂。详细的实验搭建如图 3 所示

鉴于长时程、高精度双臂装配任务的复杂性,作者采用以下设计原则,使远程操作过程精确、高效且易于上手:

  1. 解耦的平移与旋转控制
    三个平移轴同时受控,以实现平滑的末端执行器运动;而旋转则被独立处理,从而提升稳定性和精度
    这对于精确插入类子任务至关重要,例如在 IVAR 中对轨道进行对齐时,微小的旋转误差都可能导致任务失败
  2. 预定义抓取基元
    作者预先定义了一组抓取姿态,每种姿态具有离散的 90° 朝向变体,并通过按键输入触发。激活后,末端执行器的朝向会瞬时对齐到某个预设值,同时保持其当前位置不变,从而免除手动旋转手腕,并强制采用一致的、针对任务的专用构型
    这些预设可用于稳定抓取细长轨道、平坦座椅面板以及大型侧面框架,既减轻了操作员负担,又提升了示教的一致性
  3. 双手同步控制
    作者引入了一种同步模式,在该模式下,两只机械臂同时执行镜像指令,从而高效地完成大型和重型家具部件的再定位、对齐与旋转
    这对某些子任务至关重要,例如需要双臂协同抬起并旋转 IVAR 椅架时,必须依靠协调一致的运动来保持稳定性并实现精确放置

1.3 FurnitureVLA:进度增强型VLA的完整方法论

如原论文所述,作者提出了一种进度增强型 VLA,通过在语义上有明确依据的子任务上进行微调,以缓解长时间跨度任务中的分布漂移问题。该模型联合预测动作和一个进度信号,以触发子任务切换(图 4,每个装配任务被分解为带有连续进度标签的子任务,这些进度标签由基础动作单元提取而来。通过微调,VLA 能够联合预测动作和进度信号,进度信号在推理过程中自动触发子任务之间的切换

接下来,将首先介绍如何利用带有“后退后”子任务边界的动作基元进行连续进度分配,然后说明它如何在推理过程中支持子任务切换

预备知识。一个VLA 策略\pi_{\theta} 将观测o_{t}(RGB 图像和本体感知)以及语言指令g 映射为机器人动作

  1. 在连续的绝对末端执行器空间中表示动作。对于双臂控制,左右手臂的动作被定义为a_{t}^{L}, a_{t}^{R} \in \mathbb{R}^{7},其中每个动作被定义为\left[x_{t}, y_{t}, z_{t}, u_{t}, v_{t}, w_{t}, \gamma_{t}\right]^{\top},表示目标末端执行器位姿和夹爪状态
  2. 完整动作通过拼接形成,a_{t} \in \mathbb{R}^{14}
    该策略使用flow matching [30] 在一次前向传播中解码一段长度为H 的未来动作:\pi_{\theta}\left(a_{t: t+H-1} \mid o_{t}, g\right)

1.3.1 进度增强的子任务微调

首先,对于通过动作原语进行进度分配

作者将任务g 分解为子任务G=\left(g_{1}, \ldots, g_{K}\right),并用标量进度信号p_{t} 扩展14 维双手动作a_{t},得到\tilde{a}_{t}=\left[a_{t}^{\top}, p_{t}\right]^{\top} \in \mathbb{R}^{15}

每个子任务由N_{k} 个动作原语组成(图2),例如拾取、放置和后退。这些原语将进度离散化为N_{k}个均匀间隔的里程碑,每个原语定义一个固定的完成阶段(图4)

s_{i} 表示第i  个原语的起始时间步,s_{i+1}表示下一个原语的起始时间步(或对最后一个原语来说是子任务的结束时间步)。每个片段i \in\left\{0, \ldots, N_{k}-1\right\}占据一个均匀区间\left[\frac{i}{N_{k}}, \frac{i+1}{N_{k}}\right],进度计算为

p_{t}=\frac{i}{N_{k}}+\frac{1}{N_{k}} \cdot \frac{t-s_{i}}{s_{i+1}-s_{i}}, \quad s_{i} \leq t<s_{i+1}

这在每个子任务上产生了从0 到1 的单调信号。每个片段对应一个固定的控制目标,而在片段内部运动平滑演化,使得线性插值成为进度的自然时间参数化方式

作者通过在增强的动作块上进行flow matching 来微调策略,\pi_{\theta}\left(\tilde{a}_{t: t+H-1} \mid o_{t}, g_{k}\right),以联合预测动作和进度

其次,后动作之后定义子任务边界(Post-Retreat Subtask Boundaries)

作者在退后(retreat)之后而不是在装配完成后立即定义子任务边界

  • 在装配完成时进行子任务切换是脆弱的:微小的偏差就可能导致插入不完全或接触不稳定,从而引发失败
  • 装配后富接触(contact-rich)的状态对执行误差也极为敏感,因此细微偏差会在不同回放(rollout)之间产生巨大的状态差异,从而扩大下一个子任务的初始状态分布

相比之下,退后之后的状态则不存在接触与力的约束。小的误差不太容易被放大,从而产生更窄且更一致的初始状态分布,并减少跨子任务的分布偏移

1.3.2 推理与子任务切换

在推理时,策略在当前子任务g_{k} 的条件下预测\tilde{a}_{t: t+H-1}。当预测进度\hat{p}_{t} 超过阈值时会触发子任务切换。为抑制虚假预测,作者应用了一个轻量级的滤波器

对于高置信度信号\hat{p}_{t} \geq \tau_{p},如果满足下式则触发切换:

h_{t}=\left(\hat{p}_{t} \geq \tau_{p}\right)

\text { TRANSIT }=\left\{\begin{array}{ll} 1, & h_{t} \wedge h_{t-1} \\ 1, & h_{t} \wedge \neg h_{t-1} \wedge \neg h_{t-2} \wedge \exists \Delta \geq 3: h_{t-\Delta} \\ 0, & \text { otherwise } \end{array}\right.

这种方式能够滤除孤立的尖峰信号,同时仍然对持续信号保持敏感。一旦得到确认,系统就会推进到 g_{k+1},重置进度,并清空动作缓冲区

// 待更

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐