> ## Documentation Index
> Fetch the complete documentation index at: https://kensou.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Play2perfect what matters in dexterous play pretra dissection

[//]: # "<!-- ontology-5axis
problem: n/a
representation: n/a
sensor: n/a
paradigm: learned
time: per-scene
ref: ../../cheat-sheet/ontology.md §5
\-->"

# 通过"玩耍"预训练实现灵巧精密装配 (Play2Perfect: What Matters in Dexterous Play Pretraining for Precise Assembly?)

> **发布时间**：2026-09-08（arXiv v3；v1 更早）
> **论文 / 模型名**：Play2Perfect
> **核心定位**：用**任务无关的"玩耍"RL 预训练**获得可复用的灵巧操作先验（抓取 / 手中重定向 / 6D 位姿到达），再在**稀疏奖励**下微调到 CAD 定义的精密装配；比从零开始 RL 样本效率高 **33×**，并零样本 sim-to-real 完成 0.5 mm 间隙紧插。

导语：精密装配对多指手来说是"接触丰富 + 稀疏奖励"的双重难题——模仿学习难采数据，直接 RL 探索不可行，所以前人靠专用夹爪、工具附件、环境夹具来"结构化"问题。本文主张：**机器人要先学会玩耍，才能精通装配**。它系统回答了"玩耍预训练里到底什么最重要"，并给出一个可复现的配方。

***

## X-Ray 开场

Play2Perfect 解决的是**多指灵巧手在稀疏奖励下的精密接触装配**问题：核心洞见是先用 RL 在**自由空间里玩物体**（把一堆程序化生成的组合体摆到随机 6D 目标位姿），把"抓取、手中重定向、位姿到达"这些可复用先验灌进一个 goal-conditioned 策略，再拿 CAD 模型自动生成的稀疏奖励微调到装配。对 spatial AI 研究者而言，它提供了一个"**任务无关操作先验 + CAD 自动转 RL 环境**"的范式：预训练不需要任何演示、不需要下游任务知识，而且作者用四组消融证明了"**学手指的 6D 手中操作**（而非固定抓握下的手臂搬运）才是迁移的关键"。

***

## 📍 研究全景时间线

```
2020 ─ Lynch et al. Learning Latent Plans from Play        ── "从玩耍数据学先验"的开端（需人采数据）
2022 ─ Tian et al. Assemble Them All (assembly-by-disassembly) ── 用拆解反推装配序列（本文借用）
2023 ─ IndustReal / MimicPlay                              ── 装配用稠密奖励；play 需人演示
2024 ─ SAPG (Singla et al.)                                ── population-based PPO，灵巧玩耍的优选 RL
2024 ─ FoundationPose (Wen et al.)                         ── 6D 物体位姿估计/跟踪（本文部署依赖）
2025 ─ Fabrica / AutoMate / Demostart                      ── 装配基准与稠密奖励/演示路线
2026 ─ SimToolReal / Dex4D / DexterityGen                  ── 任务无关灵巧先验，但零样本部署，难做精密
2026 ─ ★ Play2Perfect (本文)                                ── 玩耍预训练 + 稀疏微调 + CAD 自动转环境
       局限：只学"短程装配技能"，任务排序/选件/目标位姿依赖外部给定；每任务/每基准族单独微调
```

***

## 1 · 核心架构 / 方法总览

### 1.1 组件对比表

| 模块 | 输入 | 输出 | 训练/推理差异 |
| - | - | - | - |
| **玩耍预训练策略** πθ(s,o,g,φ) | 本体感觉 s、当前物体位姿 o∈SE(3)、目标位姿 g∈SE(3)、几何描述 φ（3D bbox 尺寸） | 29 维关节位置目标（7-DoF 臂 delta + 22-DoF 手 absolute） | 仅训练用；24,576 并行环境 × 7 天，单张 RTX A6000 |
| **装配微调策略** | 同上（不含 play 的抓取/抬升稠密奖励） | 同上 | 每任务 12,228 并行环境 × 1 天，稀疏奖励 |
| **SAPG**（Split & Aggregate Policy Gradients） | 大规模并行采样 | 梯度更新 | 预训练与微调用**同一套算法与超参** |
| **Assembly-by-disassembly 环境生成** | CAD（K 个刚体零件 + 最终装配位姿） | 装配步骤序列 + 稀疏接触目标集 𝒢ⁱ | 离线构建仿真环境 |
| **部署管线** | 机器人本体感觉 + FoundationPose 估计的零件位姿 + CAD 目标位姿 + 抓取 bbox | 关节位置指令 | 策略 60 Hz 闭环；位姿跟踪 30 Hz |

### 1.2 关键机制

**预训练目标设计**：玩耍被建模为 goal-conditioned RL。每个 episode 里物体被摆到随机位姿，机器人需**抓取并抬升**，然后依次到达**随机采样的 6D 目标位姿序列**——平移教会物体在工作空间移动，旋转逼出**手中重定向**。奖励：

```
r = r_smooth + r_grasp + I_grasped · r_goal
```

其中 `r_goal` 在 `d(o_t, g_t) < ϵ` 时给一个大稀疏成功 bonus，然后采样下一个目标。

**⚡ Eureka Moment**：**让迁移有效的不是"会玩"，而是玩耍必须逼机器人用**手指**做精确 6D 手中操作**——轨迹多样性、目标容差 1cm、6D 全位姿目标、1000 个物体，全都指向"不要用固定抓握去搬东西"。消融证明 Translation-only 预训练能学会抓取抬升，但因为不会物体朝向控制，下游装配直接失败；而 10cm 松容差目标也迁移失败，因为粗目标到达不需要精确位姿控制。

### 1.3 信息流 / 架构图

```
┌──────────────────── 玩耍预训练 (7 天, 24,576 并行 env) ────────────────────┐
│ 程序化物体(组合 two cuboids/capsules)  ──▶  随机 6D 目标序列              │
│        │                                        │                          │
│        ▼                                        ▼                          │
│   πθ(本体 s, 当前位姿 o, 目标 g, 几何 φ) ──▶ 7+22 DoF 关节位置指令        │
│   奖励: smooth + grasp(approach/lift) + 稀疏 goal bonus (ϵ=1cm)           │
│   域随机化: 位姿噪声/延迟/几何缩放/外力扰动                                │
└───────────────────────────────────┬────────────────────────────────────────┘
                                    │ 可复用先验
                                    ▼
┌──────────────── 装配微调 (每任务 1 天, 12,228 并行 env) ──────────────────┐
│ CAD ──assembly-by-disassembly──▶ 稀疏目标序列 𝒢ⁱ + SDF 接触几何          │
│   奖励退化为: r = r_smooth + 稀疏 goal bonus + 最终 retract bonus          │
│   （移除所有抓取/抬升/稠密位姿进度奖励）                                   │
└───────────────────────────────────┬────────────────────────────────────────┘
                                    ▼
┌──────────────────── 真实部署 (零样本, 无真机微调) ────────────────────────┐
│ FoundationPose (30Hz) ──▶ 当前零件位姿 ─┐                                  │
│ CAD 夹具位姿估计 + 目标变换 ─▶ 目标位姿 ─┼─▶ 策略 60Hz ─▶ 关节指令        │
│ CAD bbox ──▶ 抓取区域                    ┘                                  │
└────────────────────────────────────────────────────────────────────────────┘
```

***

## 2 · 数学核心

📌 **Napkin Formula**：用四个关键点的**最大世界坐标偏差**同时度量平移 + 旋转误差——

```
d(o, g) = max_i ‖ o_i − g_i ‖₂ ,   o_i = R_o·k_i + t_o
```

目标接近 1 cm 就打一个稀疏成功 bonus，把"精确 6D 位姿控制"变成可学的稀疏目标。

**目标 → 公式 → 变量说明 → 直觉**

* **目标**：设计一个统一、对物体几何不敏感、且能同时惩罚平移与旋转误差的位姿距离。
* **关键点定义**（局部坐标系，由尺寸 s=\[s\_x,s\_y,s\_z] 决定）：

```
K(s) = { [+s_x/2, +s_y/2, +s_z/2],
         [+s_x/2, −s_y/2, −s_z/2],
         [−s_x/2, +s_y/2, −s_z/2],
         [−s_x/2, −s_y/2, +s_z/2] }
```

* **变量**：
  * `o=(R_o,t_o)` 当前物体位姿，`g` 目标位姿；
  * 策略观测里关键点用**物体主部件的真实尺寸**定义；
  * **奖励计算里用固定尺寸** `s_rew = [0.14, 0.03, 0.03] m`，保证跨物体平移/旋转权衡一致；
  * `ϵ = 1 cm` 默认成功阈值。
* **直觉**：取 max 而非平均，意味着**最远的那个角/角点决定是否成功**——这正是紧配合装配需要的"最坏点对齐"语义。固定 `s_rew` 使一个大物体和小物体的"1cm"含义一致，避免大物体旋转误差被尺寸放大而无法达标。

**玩耍奖励分解**：

```
r_smooth = −λ_arm‖q̇_arm‖₁ − λ_hand‖q̇_hand‖₁                (λ_arm=0.03, λ_hand=0.003)
r_approach = λ_approach·max(d̄*_ft − d̄_ft, 0)                  (λ_approach=50)
r_lift = λ_lift·max(z − z_init, 0) + B_lifted·I[z ≥ z_lifted] (λ_lift=20, B_lifted=300)
r_goal = λ_goal·max(d* − d(o_t,g_t), 0) + B_succ·I[d(o_t,g_t) < ϵ] (λ_goal=200, B_succ=1000)
```

其中 `I_grasped=1` 一旦物体被抬升 10 cm。装配微调则**删掉** approach/lift/dense-progress，只剩：

```
r_t = r_smooth + B_succ·I[d(o_t, g_m) < ϵ] + r_retract
r_retract = B_retract·I[d(o_t, g_M)<ϵ ∧ ‖p_palm − p_obj‖₂ > 0.2 m]   (B_succ=B_retract=1000)
```

retract bonus 逼机器人**松手退开**，而不是靠持续接触把零件按在终点。

***

## 3 · 带数字走一遍（玩具设定）

> 以下为**玩具数值示范**，尺寸取自论文奖励用的固定 `s_rew = [0.14, 0.03, 0.03] m`（14cm × 3cm × 3cm 长条），计算为本文演示，非论文原表。

四个关键点位于 `(±0.07, ±0.015, ±0.015)`。

**情形 A：纯平移 1 cm（沿 x）**
每个关键点位移 `(0.01, 0, 0)`，`‖·‖₂ = 0.01 m`。
`d = max = 1.0 cm` —— **恰好落在 ϵ=1cm 阈值上**，刚好算成功。直觉：1cm 容差 = 允许整体平移 1 个厘米。

**情形 B：绕长轴（x）旋转 10°**
关键点 `(0.07, 0.015, 0.015)` 旋转后 ≈ `(0.07, 0.01217, 0.01737)`，位移 `(0, −0.00283, 0.00237)`，`‖·‖₂ = 3.7 mm`。
→ 绕长轴转 10° 只产生 3.7 mm 关键点误差，**仍在 1cm 内**。说明该度量对"围绕长轴的滚转"较宽容。

**情形 C：绕短轴（z）旋转 10°**
关键点 `(0.07, 0.015, 0.015)` 旋转后 ≈ `(0.0663, 0.0269, 0.015)`，位移 `(−0.0037, 0.0119, 0)`，`‖·‖₂ ≈ 12.5 mm`。
→ 12.5 mm **> 1 cm**，算失败。同样是 10°，绕短轴就过不了阈值。

**结论直觉**：关键点 max 距离对**力臂长的那个轴**的旋转极其敏感——这正是装配插入时"角点最容易撞到孔壁"的几何对应。用固定 `s_rew` 而非真实尺寸，避免了长物体因力臂大而旋转永远超标、短物体因力臂小而旋转被忽略。

***

## 4 · 工程视角

| 项目 | 数值（论文原文） |
| - | - |
| 训练硬件 | **单张 NVIDIA RTX A6000 GPU** |
| 物理仿真频率 | 120 Hz |
| 策略输出频率 | 60 Hz |
| 玩耍预训练规模 | **24,576 并行环境**，训练 **7 天** |
| 装配微调规模 | **12,228 并行环境**，**1 天**/任务（更少环境因接触建模更耗显存） |
| 策略网络 | Actor: LSTM\[1024] + MLP\[1024,1024,512,512]；Critic: MLP\[1024,1024,512,512] |
| RL 超参 | LR 1e-4，minibatch 98,304，SAPG block 4,096，entropy 0.002，γ=0.99，λ=0.95，PPO clip 0.1 |
| 部署控制频率 | 策略闭环 **60 Hz**；FoundationPose 位姿跟踪 **30 Hz**（两次跟踪间复用最近估计） |
| 观测维度 | 140 维 |
| 仿真任务耗时 | 4 个装配任务 **约 2–5 小时** wall-clock 达到高成功率 |
| 微调 vs 从头（Fixtured 简化版） | Play2Perfect **4 小时**达到，Scratch(dense) 需 **>100 小时** → **33× 加速** |
| 端到端 beam 装配 | Step1 **16/20**，Step2 **12/16**，整体 **12/20 (60%)** |
| 新任务微调时长 | iPhone plug **8.4 小时**、YCB fork **2.8 小时** 达到 90% |

**关键 trade-off**：预训练**贵而通用**（7 天 × 24,576 env），微调**便宜而专用**（1 天 × 12,228 env）。显存成为瓶颈——微调环境数减半，因为接触丰富仿真比自由空间玩耍更吃显存。推理侧无脚本化插入/拧螺丝/恢复控制器，全部行为由学到的策略产生，但**对位姿估计质量高度敏感**。

论文未报告 VRAM 占用、单步延迟（ms）、推理吞吐等更细的工程指标 → **「论文未报告」**。

***

## 5 · 数据与评测

**机器人平台**：22-DoF **Sharpa 五指手** 装在 7-DoF **KUKA iiwa 14** 臂上。

**任务（逐字来自原文）**：

1. **Tight-Insertion**：把 T 形销插入越来越紧的孔（销截面 30mm × 20mm，1mm 间隙↔31mm×21mm 孔）；
2. **Assemble-Beam**：来自 **Fabrica** 的多零件梁装配；
3. **Screw-Leg**：把家具腿拧进桌面夹具，来自 **FurnitureBench**。

> 注意：原 Fabrica/FurnitureBench 零件为平行夹爪设计且偏小，作者把 Assemble-Beam 零件 **3× 放大**、Screw-Leg 腿做 **3× 加长**，以便灵巧手操作并在遮挡下可靠视觉跟踪。

**评测指标**：

* **Success Rate**：零件在 `ϵ = 1 cm` 容差内到达最终目标配置；
* **Completion Time**：完整任务平均耗时（接近、抓取、搬运、最终接触交互）。

**条件**：仿真 **500 rollouts**（随机初始零件与夹具位姿）；真机 **每任务 10 rollouts**（固定夹具位姿 + 随机初始零件位姿）。

**核心结果（逐字数字）**：

* 仿真 Tight-Insertion：Play-only 在 **40 mm** 间隙 75% 成功，到 **4 mm** 几乎 0%；Play2Perfect **4mm 95% / 1mm 92% / 0.2mm 80%**（0.2mm 比训练分布还紧）。
* 真机 Tight-Insertion：**10mm 100% vs 60%**（Play-only）；**2mm 90% vs 20%**；**0.5mm 60% vs 0%**。
* 真机 Table 1：10mm **10/10**、2mm **9/10**、0.5mm **6/10**；Assemble-Beam Step1 **8/10**、Step2 **7/10**；Screw-Leg Insert **7/10**、Screw **5/10**。
* 完成时间：**6.8±1.5 s / 9.4±1.9 s / 11.1±5.1 s / 6.9±1.9 s / 6.4±2.5 s / 15.6±2.9 s**。
* 扰动鲁棒性：Scratch(dense) 在 10N 扰动下掉到 \~20%，更大扰动归 0%；Play2Perfect 在最大扰动下仍 >75%。
* 消融（4 任务 × 3 seeds）：物体多样性 10→100→1000 单调提升；Rotation-only 强但略慢于 6D；Translation-only 失败；固定 10/100 轨迹相似、online random 最快；1cm > 5cm > 10cm。

**预训练环境细节**：物体由两个 cuboid/capsule 刚体组合，主件长/截面 ∈ \[5,30]cm、副件长 ∈ \[1,15]cm、截面 ∈ \[0.5,12]cm；密度主件 ∈ \[300,600] kg/m³、副件 ∈ \[300,2000] kg/m³。首目标 x∈\[−0.35,0.35]、y∈\[−0.1,0.2]、z∈\[0.15,0.52] m；后续目标相对前一目标平移 ≤0.1 m、旋转 ≤90°。Episode 最多 600 控制步（10 s）。

***

## 6 · 能力与失败模式

**能做**：

* 从**共享灵巧先验**快速微调到 4 个接触丰富装配任务，**2–5 小时**达高成功率；
* 在比训练分布更紧的 **0.2 mm** 仿真间隙下仍 80% 成功；
* **零样本** sim-to-real：紧插、多零件长程装配、拧螺丝均成功；
* 学到**闭环恢复行为**：局部搜索、接触下纠正动作、掉落后**自主重新抓取**、手指内旋拧螺丝；
* 统一策略（4 任务共训）与单任务策略性能相当；
* 可训练**可移动夹具**版本（Tight-Insertion、Beam Step1 接近固定夹具）。

**不能做 / 局限**：

* **只学短程装配技能**，不是完整自主装配管线——任务排序、主动选件、目标位姿均由外部给定；
* 策略**每任务或每基准族单独微调**（统一策略可行但仍是同任务集内）；
* **不直接观测夹具或周围几何**，只观测目标位姿——无视觉/触觉，缺场景感知；
* 真机依赖**物体位姿估计**，在**遮挡或快速运动**下会失败。

**真实失败模式（原文）**：

* 大多数失败发生在**最终接触丰富阶段**；
* 遮挡降低感知、接触动力学引入 sim-to-real 失配；
* 拧螺丝尤其难——矩形腿有近似 **90° 旋转对称**，会迷惑位姿估计导致**反向旋转**（作者贴彩色胶带缓解，但快速旋转与遮挡下仍不完美）；
* 真机夹具用胶带固定在泡棉桌面，**受力会移动/顺应**，仿真中从不出现 → 纠正动作不再产生预期相对运动；
* 存在**手中重定向失败与掉落**；但抓取获取高度可靠，极少因漏抓失败。

### 隐含假设 (Hidden Assumptions)

1. **夹具在 rollout 内静止**：目标位姿 = 开始时估计的夹具位姿 × CAD 变换。若夹具在接触中被推动（真实泡棉桌面会发生），目标就错了。
2. **有精确 CAD 模型**：预训练后微调、部署时的目标位姿、抓取 bbox、SDF 接触几何全靠 CAD。无 CAD 就整套崩。
3. **物体位姿可被可靠跟踪**：FoundationPose 复用 CAD mesh；一旦遮挡/快速运动丢跟踪，整个闭环失稳。
4. **零件能放进手**：原基准零件太小，作者放大 **3×**；换成真正小物体（iPhone 插头、YCB fork）仿真可做，但真机因手部遮挡而跟踪困难（仅仿真验证）。
5. **几何多样性由原始体覆盖**：玩耍只用 cuboid/capsule 组合，假设足以覆盖下游任意装配零件的操作先验需求。
6. **仿真夹具刚性不可动**：真机夹具的柔顺/位移是对训练分布的**分布外扰动**，未被域随机化覆盖。
7. **单物体、单手操作**：所有任务都是单件依次装配，无双手协作或零件间相互支撑建模。

***

## 7 · 与相关工作对比

| 方法 | 结构来源 | 奖励 | 需要演示? | 手类型 | 精密装配? | 部署方式 |
| - | - | - | - | - | - | - |
| 夹具 / 工具方法 (FMB, Fit2Form, RoboCook) | 专用硬件/环境 | — | 否 | 多为平行夹爪/专用 | 是（但每装配需工程） | 工程化 |
| IndustReal / AutoMate | 稠密奖励塑造 | 稠密任务奖励 | 否 | 平行夹爪 | 是 | sim-to-real |
| JUICER / From-Imitation-to-Refinement | 遥操作演示 + 残差 RL | — | **是** | 平行夹爪 | 是 | sim-to-real |
| Demostart / 演示引导课程 | 遥操作 + 自动课程 | — | 是 | 多指 | 部分 | sim-to-real |
| DexterityGen / SimToolReal / Dex4D | 任务无关玩耍/工具先验 | 稠密 | 否/少量 | 多指 | **否（零样本部署）** | 零样本 |
| **Play2Perfect (本文)** | **任务无关玩耍 RL** | **稀疏** | **否** | **22-DoF 多指** | **是** | **先验 + 稀疏微调，零样本真机** |

与最接近的 SimToolReal / Dex4D 的区别：那些把任务无关玩耍策略**零样本部署**，在精密接触任务上仍挣扎；本文把玩耍当作**预训练**，再用 CAD 自动生成的**稀疏奖励**把它特化到装配。

**面试 Tip**：如果被问"这篇和 DexterityGen / SimToolReal 这种任务无关灵巧先验有什么本质区别？"——答：**它们把 play 当终点（zero-shot 部署），本文把 play 当起点（pretraining）**；并且本文用四组消融回答了"什么让 play 有用"：不是物体多样性本身，而是**它是否逼机器人做手指级 6D 手中操作**——Translation-only 和 10cm 松容差都会迁移失败，就是最有力的证据。

***

## 8 · GitHub-validated pitfalls (atlas 联动, 2026-09-23)

**诚实声明**：论文正文中**未出现任何 `github.com` 仓库链接**，只给出项目主页 `play2perfect.github.io`（非 repo URL）。因此**本文不引用任何 issue 编号、commit hash 或社区报告**；以下 pitfall 由 §6 失败模式 + §3/§4 方法约束**推导**（未经 issue 验证），标注 `UNVERIFIED`。

1. **目标位姿在夹具被推动后即失效（推导自 §6 "夹具胶带固定会移动/顺应" + §3.3/G "夹具位姿只在 rollout 开始估计一次"）**
   机制：部署时 `g_M = f_t · T_p^f`，`f_t` 只在开始时估计一次并假设静止。真机夹具贴在泡棉桌面，受力会位移/顺应（原文明确："This behavior is never observed in simulation"）。一旦夹具动，所有下游目标位姿都是错的，而策略不观测夹具、无法察觉。这不是"夹爪慢"之类的泛泛风险，而是**目标生成公式的结构性假设**在真实物理下失效。

2. **矩形/对称零件导致位姿跟踪歧义 → 反向拧（推导自 §6 "90° 旋转对称迷惑位姿估计、反向旋转" + §H 贴彩色胶带 hack）**
   机制：FoundationPose 用 CAD mesh 估计位姿，但矩形腿近似 90° 旋转对称，`d(o,g)` 的关键点在对称下区分度低。策略会沿错误方向旋转。原文只能靠**物理贴彩色胶带**增加视觉区分度——这是对 percepception 假设的补丁式妥协，换零件就得重来。

3. **SDF 只作用于接触临界区域，其余用凸分解 → 有效间隙被改变（推导自 §F "凸近似会扭曲窄孔、改变有效间隙/接触动力学，故仅孔与插入件用 256³ SDF"）**
   机制：非接触区用 convex decomposition，凸包会**膨胀**薄壁/窄槽附近的碰撞体。若下游任务的接触临界几何不在作者手工指定的 SDF 区域内，仿真有效间隙会大于真实值，策略学到的"1cm 容差"在真机上实际更松或更紧，导致插入失败。这直接源自 §F 的混合表征策略，而非泛泛的 sim-to-real 差距。

4. **预训练/微调显存不对称 → 接触丰富任务被迫降并行度（推导自 §B "微调用 12,228 env，比预训练的 24,576 少，因接触建模更耗显存"）**
   机制：同一张 A6000 上，接触仿真的显存开销迫使微调环境数减半。这限制了微调阶段的 on-policy 吞吐与探索广度（SAPG 依赖大规模并行）；换更小显存 GPU 时，微调规模会进一步压缩，可能重现论文中"scratch 需 >100 小时"的慢速困境。此为方法约束（SAPG 大并行假设）与硬件预算的直接冲突。

***

[← Back to dexterous-manipulation README](./README.md)

> **Status**：v0.1 · 基于 arXiv 全文 · 未在真机复现的数字标 `UNVERIFIED`

[//]: # "<!-- source: https://arxiv.org/abs/2606.26428 -->"


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.