1. RDT2项目概述:跨本体泛化的机器人基础模型
在机器人技术快速发展的当下,构建能够适应多样化场景的通用智能体已成为行业核心挑战。RDT2作为清华大学团队提出的创新解决方案,通过三阶段训练框架实现了在新型机器人平台上零样本部署的能力。这个7B参数的视觉-语言-动作(VLA)模型基于Qwen2.5-VL架构,其突破性在于:
- 跨五维泛化能力:在机械臂形态(跨本体)、不同物体操作(跨物体)、多任务执行(跨任务)、环境切换(跨场景)以及光照条件变化(跨环境)等维度展现出色适应性
- 数据采集革新:采用改进版UMI(Universal Manipulation Interface)系统,在100多个真实家庭环境中收集超过10,000小时操作数据,涵盖50+日常任务和1,000+物体交互
- 训练效率突破:通过残差矢量量化(RVQ)离散化预训练加速收敛,相比直接扩散训练节省约40%训练时间
关键硬件配置:数据采集使用定制化UMI设备,配备Hikrobot MV-CS016-10UC工业相机(1440×1080@30fps)和VIVE Tracker 3.0红外追踪系统。部署阶段测试平台包括Franka Research 3和UR5e机械臂,均配备统一规格的ZhiXing夹爪。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心技术架构解析
2.1 三阶段训练流程设计
2.1.1 阶段一:基于RVQ的离散化预训练
RVQ(残差矢量量化)编码器将连续动作序列$A_t \in \mathbb{R}^{T_a \times d}$转换为离散token的过程包含四个关键步骤:
- 特征提取:使用1D CNN编码器$\phi_{enc}$将动作块压缩为n个潜在向量${z_i}_{i=1}^n$
- 分层量化:对每个$z_i$执行m次残差量化,每次从码本$e_j \in \mathbb{R}^{K \times C}$选择最接近的条目:
$$
\begin{aligned}
k_j^i &= \arg\min_{1\leq k\leq K}|r_{j-1}^i - e_j(k)|2^2 \
r_j^i &= r^i - e_j(k_j^i)
\end{aligned}
$$ - 重构解码:通过$\phi_{dec}$解码器将量化结果$\hat{z}i = \sum^m e_j(k_j^i)$还原为动作序列
- 联合优化:采用三部分损失函数:
$$
\mathcal{L}_{vq} = \mathbb{E}[|A_t-\hat{A}_t|_2^2 + |sg(z_i)-\hat{z}_i|_2^2 + \beta|z_i-sg(\hat{z}_i)|_2^2]
$$
实际部署中设置n=8,m=4,K=1024,实现约16倍压缩率。相比传统VQ-VAE,RVQ在相同重构误差下减少30%的token数量。
2.1.2 阶段二:连续动作专家训练
冻结的VLA主干与4亿参数动作专家通过交叉注意力融合,采用流匹配(Flow Matching)损失:
$$
\mathcal{L}{expert}(\theta) = \mathbb{E}[|v\theta(\tau,A_t^\tau,VLA(\ell,o_t)) - u(A_t^\tau|A_t)|_2^2]
$$
关键创新点包括:
- 非均匀时间采样:使用Logistic Normal分布(μ=0,σ=1)替代均匀采样,使模型聚焦复杂过渡区域(τ≈0.5)
- 多模态监控:验证时评估动作MSE、末端位置误差、旋转测地距离和夹爪宽度误差四项指标
- 架构优化:用分组查询注意力(GQA)替换标准多头注意力,降低30%计算开销
2.1.3 阶段三:蒸馏为一步生成器
通过最小化蒸馏损失将多步扩散过程压缩为单步生成:
$$
\mathcal{L}{distill} = \mathbb{E}[|f\theta(o_t,\ell,\epsilon) - A_t|2^2]
$$
其中$f\theta$为蒸馏后的生成器,$\epsilon$为随机噪声。实测推理速度提升15倍(从200ms降至13ms),满足实时控制要求。
2.2 数据系统构建
2.2.1 UMI硬件改进
原始UMI系统存在两个主要问题:
- 位姿跟踪漂移(平均累积误差达2.3cm/min)
- 夹爪灵巧度不足(仅支持<5cm物体抓取)
改进方案包括:
- 结构强化:采用PA66+GF材料3D打印外壳,刚度提升3倍
- 追踪优化:四目VIVE Tracker配置,将漂移误差控制在0.5cm/h内
- 夹爪重设计:可调机械限位机构支持8-120mm物体操作
2.2.2 数据集构建流程
10,000小时数据采集遵循双阶段标注策略:
- 粗粒度分段:按高层任务指令划分(如"整理餐桌")
- 细粒度标注:分解为原子动作(如"右手拿起红色杯子")
- 语言增强:通过Gemini 2.5 Pro生成语义等效的多样化指令
典型数据增强示例:
code复制原始指令:"将黑色手柄的滚刀放在桌子近左侧"
增强变体:
1. "用左手把滚刀移至桌面左前方"
2. "黑色刀具请放置于左侧台面"
3. "将刀具移到桌子左边"
3. 实现细节与优化技巧
3.1 训练配置优化
3.1.1 视觉编码增强
采用组合式图像增强策略:
- 基础增强:颜色抖动(亮度±0.2,对比度±0.3,饱和度±0.3,色相±0.1)
- 噪声注入:依次应用:
- 高斯噪声(σ=0.1)
- 运动模糊(核大小15×15)
- JPEG压缩(质量随机50-90)
- 区域遮挡:随机擦除2-5个矩形区域(占比10-25%)
3.1.2 学习率调度
三阶段采用不同调度策略:
- 离散预训练:余弦退火(初始lr=3e-4)→最后8K步指数衰减
- 扩散训练:恒定lr=1e-4配合EMA(β=0.999)
- 蒸馏阶段:线性预热(5K步)→余弦衰减
3.2 部署实践要点
3.2.1 跨本体适配
在新机器人平台部署时需注意:
- 视觉对齐:保持相机视角与训练数据一致(建议手眼配置)
- 运动学标定:末端执行器最大速度限制在训练数据的±15%内
- 夹爪归一化:将物理夹爪开度映射到[0,1]区间
3.2.2 实时性保障
实测表明影响推理延迟的关键因素:
| 因素 | 影响程度 | 优化建议 |
|---|---|---|
| 图像分辨率 | 每提高1MP增加8ms | 保持1440×1080 |
| 序列长度 | 每token增加0.3ms | 限制在512内 |
| 批量大小 | batch>1时非线性增长 | 单样本推理 |
4. 挑战与解决方案
4.1 常见问题排查
4.1.1 动作抖动问题
现象:连续动作输出不稳定
- 检查项1:确认相机曝光时间<10ms(避免运动模糊)
- 检查项2:验证时间戳同步误差<5ms
- 解决方案:在动作空间加入低通滤波(截止频率5Hz)
4.1.2 跨本体性能下降
典型case:从Franka迁移到UR5e时成功率降低20%
- 根因分析:最大加速度差异导致(3.0m/s² vs 1.5m/s²)
- 适配方案:在推理时对速度分量乘以0.7缩放系数
4.2 效果优化技巧
4.2.1 任务成功率提升
实验验证有效的技巧:
- 多视角融合:增加45°斜视角相机可提升3.2%成功率
- 语言指令分解:将复合指令拆分为原子动作序列
code复制优化前:"拿起杯子并倒入水壶" 优化后:["定位杯子", "抓取杯子", "移动至水壶上方", "倾斜倒水"] - 重试机制:设置3次尝试机会可挽回42%的失败操作
4.2.2 长时任务优化
针对超过30步的复杂任务:
- 状态缓存:每5步保存一次场景图像(占用<2MB/min)
- 进度验证:设置关键检查点(如"杯子已拿起")
- 异常恢复:当连续3步动作相似度>95%时触发重置
5. 应用实例:叠衣服任务实现
以典型家庭任务为例,展示RDT2的全流程处理:
-
视觉感知:
- 输入:640×480 RGB图像
- 输出:衣服关键点(领口、袖口等)定位误差<5px
-
动作规划:
python复制def fold_cloth_policy(obs): # 观测处理 img_feat = vlm_encoder(obs['image']) lang_feat = text_encoder(obs['instruction']) # 三阶段动作生成 if training_stage == 1: tokens = rvq_encode(obs['demo_actions']) return vlm_predict(tokens, img_feat, lang_feat) elif training_stage == 2: return diffusion_expert(obs['noisy_actions'], img_feat, lang_feat) else: return one_step_generator(img_feat, lang_feat) -
执行监控:
- 关键指标:布料平整度(通过应变检测)
- 异常处理:当检测到褶皱度>阈值时重新抚平
实测结果:
- 平均折叠时间:23.5秒/件
- 成功率:家庭环境86.7%,养老院场景78.2%
- 跨本体测试:从UR5e迁移到Franka保持82.1%成功率
6. 未来演进方向
基于实际部署经验,建议从三个维度持续优化:
-
数据多样性:
- 增加可变形物体交互数据(目前仅占数据集8.7%)
- 收集多文化场景数据(如不同餐具使用方式)
-
架构改进:
- 探索Mixture of Experts架构降低计算成本
- 引入物理引擎辅助训练(如NVIDIA FleX)
-
部署优化:
- 开发专用量化工具(目标FP16精度下<5%性能损失)
- 设计机器人专属的NeRF表示方法
这个框架的价值不仅在于技术突破,更在于验证了通过大规模真实数据训练通用机器人智能体的可行性。随着数据规模的持续扩大和算法不断精进,我们正逐步接近"一个模型控制所有机器人"的终极目标。
