← 返回列表

ImplicitRDP: An End-to-End Visual-Force Diffusion Policy with Structural Slow-Fast Learning

作者 Wendi Chen, Han Xue, Yi Wang, Fangyuan Zhou, Jun Lv, Yang Jin, Shirun Tang, Chuan Wen, Cewu Lu
年份 2025
会议/期刊 arXiv 2025
评分
标签 机器人操控 扩散策略 力控制
摘要 端到端视觉-力觉扩散策略:结构化慢-快学习(因果注意力处理异步视觉/力信号)+ 虚拟目标表征正则化(防止模态坍塌),翻箱 18/20、拨开关 18/20

核心思想

机器人的精细操控(如翻箱子、拨开关)需要同时使用视觉(看)和力觉(摸)。但这两种信号有根本差异:

特性 视觉 力觉
信息丰富度 高(空间) 低(标量/向量)
频率 慢(10 Hz) 快(≥100 Hz)
延迟
作用 全局规划 局部反应

现有方法要么分层处理(信息瓶颈),要么简单拼接(频率不匹配)。ImplicitRDP 提出:

  1. 结构化慢-快学习(SSL):用因果注意力让动作 token 只看”过去和当前”的力信号 → 实现 action chunk 内的闭环力调整
  2. 虚拟目标表征正则化(VRR):将力反馈映射为”虚拟运动目标” → 防止扩散模型忽略力信号

背景知识

什么是扩散策略(Diffusion Policy)

扩散策略将机器人控制问题建模为去噪扩散过程

训练时——给真实动作序列加噪声,训练网络去噪:

\[\mathbf{A}^k_t = \sqrt{\bar{\alpha}_k} \mathbf{A}^0_t + \sqrt{1 - \bar{\alpha}_k} \boldsymbol{\varepsilon}^k\] \[\mathcal{L}_\varepsilon = \mathbb{E}_{k, \boldsymbol{\varepsilon}^k, (\mathbf{O}_t, \mathbf{A}^0_t)} \left[\|\boldsymbol{\varepsilon}^k - \boldsymbol{\varepsilon}_\theta(\mathbf{O}_t, \mathbf{A}^k_t, k)\|^2\right]\]

其中:

  • $\mathbf{A}^0_t$:真实动作序列(action chunk,如未来 16 步动作)
  • $\mathbf{A}^k_t$:第 $k$ 步加噪后的动作
  • $\bar{\alpha}k = \prod{i=1}^k \alpha_i$:噪声调度累积量
  • $\boldsymbol{\varepsilon}_\theta$:去噪网络

推理时——从纯噪声出发,逐步去噪得到动作序列。

Action Chunk 的问题

扩散策略通常一次性预测整个 action chunk(如 16 步动作),然后开环执行前几步,再重新规划。

但对力敏感任务,开环执行是致命的:

  • 推箱子时力突然增大 → 需要立即减速
  • 但 action chunk 已经预测好了 → 无法中途修改

核心矛盾:action chunk 追求平滑长程规划,力控追求即时反应

什么是柔顺控制(Compliance Control)

物理世界中,人类用手触碰物体时会自然地调整力度——这就是柔顺控制。数学上用弹簧-质量-阻尼器模型:

\[f_\text{ext} = M\ddot{x} + D\dot{x} + K(x - x_\text{ref})\]
  • $M$:质量(惯性)
  • $D$:阻尼
  • $K$:刚度(弹簧常数)
  • $x_\text{ref}$:参考位置
  • $f_\text{ext}$:外部接触力

直觉:刚度 $K$ 大 → 硬(力大时几乎不让步);$K$ 小 → 软(力大时大幅让步)。

方法详解

1. 结构化慢-快学习(SSL)

1.1 核心思想

将观测分为慢模态(视觉、本体感受)和快模态(力信号):

模态 更新频率 角色
慢(视觉 + 关节角) 每个 action chunk 一次 提供全局任务理解
快(力/力矩) 每个控制步一次 提供即时接触反馈

1.2 因果注意力掩码

力信号通过 GRU 编码(保持因果性),然后用因果注意力掩码确保:

时间步 $s$ 的动作 token 只能关注时间步 $\leq s$ 的力 token

这意味着 action chunk 中的每个动作都能根据当时的力反馈调整,而非全部基于同一时刻的力信息。

1.3 一致性推理机制(Algorithm 1)

输入:慢观测 O_slow, 力序列缓冲
1. 编码 O_slow → 缓存(整个 chunk 不变)
2. 初始化噪声 ε → 缓存
for 每个控制步 s = 1, 2, ..., chunk_size:
    3. 获取最新力信号 f_s
    4. GRU 编码力序列 → 快特征
    5. 用缓存的慢特征 + 最新快特征 → DDIM 去噪
    6. 提取第 s 步动作 a_s → 执行

关键:使用 DDIM($\eta = 0$,确定性采样),确保从同一噪声出发 + 同一慢特征 → 动作序列的一致性。唯一变化的是力输入 → 只有力相关的调整。

2. 虚拟目标表征正则化(VRR)

2.1 问题:模态坍塌

直接将力信号拼接到观测中,扩散模型往往忽略力信号——因为视觉信息更丰富、更容易学习。

2.2 虚拟目标公式

利用柔顺控制理论,将力反馈转化为”如果有外力,末端应该去哪里”的虚拟位置目标

对准静态操控(忽略惯性和阻尼项),弹簧模型简化为:

\[x_\text{vt} = x_\text{real} + K^{-1} f_\text{ext}\]

直觉

  • 如果外力为零 → 虚拟目标 = 真实位置(不需要调整)
  • 如果外力指向右方 → 虚拟目标在真实位置右方(应该向右让步)

2.3 自适应刚度

刚度不是固定的,而是根据力的大小动态调整:

\[k_\text{adp} = \begin{cases} k_\text{max}, & \|f_\text{ext}\| < f_\text{min} \quad \text{(力小 → 硬,精确定位)} \\ k_\text{max} - \frac{k_\text{max} - k_\text{min}}{f_\text{max} - f_\text{min}}(\|f_\text{ext}\| - f_\text{min}), & \text{中间范围} \\ k_\text{min}, & \|f_\text{ext}\| > f_\text{max} \quad \text{(力大 → 软,安全避让)} \end{cases}\]

直觉:力小时保持精准(硬弹簧),力大时柔顺让步(软弹簧)——模拟人的自然行为。

2.4 刚度方向分解

刚度在力的方向正交方向上不同:

  • 力方向:使用 $k_\text{adp}$(自适应)
  • 正交方向:使用 $k_\text{max}$(保持硬)

这样只在力的方向上柔顺,其他方向保持精确。

2.5 统一训练目标

将虚拟目标和刚度作为辅助预测目标拼接到动作向量:

\[a_\text{aug,t} = \text{concat}([a_t, x_\text{vt}, k_\text{adp}])\]

扩散模型同时预测动作、虚拟目标和刚度 → 力信号通过虚拟目标获得了与动作空间同构的表征 → 不再被忽略

3. 学习稳定性增强

3.1 速度预测参数化

替代 $\varepsilon$-预测,使用速度(velocity)预测:

\[\mathbf{v}^k_t \triangleq \sqrt{\bar{\alpha}_k} \boldsymbol{\varepsilon} - \sqrt{1 - \bar{\alpha}_k} \mathbf{A}^0_t\] \[\mathcal{L}_\mathbf{v} = \mathbb{E}\left[\|\mathbf{v}^k_t - \mathbf{v}_\theta(\mathbf{O}_t, \mathbf{A}^k_t, k)\|^2\right]\]

为什么更稳定:$\varepsilon$-预测在低噪声时梯度爆炸(因为 $\sqrt{1-\bar{\alpha}_k} \to 0$),速度预测在所有噪声水平都有平衡的梯度。

3.2 欧拉角旋转表示

使用欧拉角而非 6D 旋转或四元数 → 减少旋转回归中的耦合问题。

实验结果

硬件配置

  • 机器人:Flexiv Rizon 4s(带关节力矩传感器 + 6 轴力/力矩传感器)
  • 相机:腕部 webcam(10 Hz)
  • 自制柔性指尖

任务描述

任务 描述 难点 演示数
翻箱子 推薄箱子翻转,力 <14N 力约束 + 精确推力方向 40
拨开关 拨动断路器开关 需要特定力阈值才能触发 40

主要结果

方法 翻箱子 拨开关
Diffusion Policy(无力) 0/20 8/20
Reactive DP(分层力控) 16/20 10/20
ImplicitRDP(完整) 18/20 18/20

无力觉的 Diffusion Policy 在翻箱子上完全失败(0/20)→ 力觉是必需的。

SSL 和 VRR 的消融

配置 翻箱子 拨开关
无 SSL 无 VRR 6/20 5/20
有 VRR 无 SSL 4/20 15/20
完整 ImplicitRDP 18/20 18/20

两者缺一不可——VRR 防止模态坍塌,SSL 实现闭环调整。

辅助任务对比

辅助任务 翻箱子 拨开关
无辅助任务 6/20 6/20
力预测(直接预测力) 8/20 10/20
虚拟目标预测 18/20 18/20

直接预测力效果一般,虚拟目标远优于力预测 → 因为虚拟目标与动作空间同构,力信号本身太”异质”。

学习稳定性消融

参数化 翻箱子 拨开关
$\varepsilon$-预测 9/20 18/20
样本预测 7/20 14/20
6D 旋转 16/20 12/20
速度预测 + 欧拉角 18/20 18/20

个人思考

  1. 慢-快分离精准地抓住了视觉和力觉的本质差异:视觉提供”做什么”(全局规划),力觉提供”怎么调”(局部修正)——用因果注意力实现这种分工非常自然。
  2. 虚拟目标的巧妙之处:不是让网络直接理解”力→应该怎么动”这个复杂映射,而是用物理模型先转化为”虚拟位置”→ 网络只需要学”位置→动作”这个简单映射。
  3. DDIM 确定性采样的关键角色:只有确定性采样才能保证”同一噪声 + 同一慢特征 → 一致的 action chunk”,然后力信号的微小变化才会带来合理的微调。
  4. 0/20 → 18/20 的跨越说明力觉对接触密集任务不是”锦上添花”而是必需品——纯视觉策略在这类任务上完全无能为力。
  5. 自适应刚度的工程价值:力小时硬(精确)、力大时软(安全)——这种设计可直接迁移到工业场景。
← 返回列表