← 返回列表

GenDexHand: Generative Simulation for Dexterous Hands

作者 Feng Chen, Zhuxiu Xu, Tianzhe Chu, Xunzhe Zhou, Li Sun, Zewen Wu, Shenghua Gao, Zhongyu Li, Yanchao Yang, Yi Ma
年份 2025
会议/期刊 arXiv 2025
评分
标签 机器人操控 灵巧手 仿真生成
摘要 首个灵巧手生成式仿真流水线:LLM 提议任务 + MLLM 迭代校验场景 + 子任务分解 + 运动规划/RL 混合控制,成功率提升 53.4%

核心思想

训练灵巧手(5 指机器人手)做复杂操控任务需要大量训练数据,但人工设计任务和环境费时费力。GenDexHand 提出全自动流水线:

  1. LLM 提议任务:给定物体资产,自动生成可行任务描述
  2. MLLM 校验场景:渲染图像 → 视觉语言模型检查物理合理性 → 迭代修正
  3. 分层轨迹生成:LLM 作为高层规划器分解子任务,选择合适的低层控制器

这是首个针对灵巧手操控的生成式仿真方法(此前仅有夹爪和行走的方案)。

背景知识

为什么灵巧手特别难

方面 夹爪 灵巧手
自由度 1-2 16-24
控制维度 极高
接触点 2(开/合) 多点多指
典型任务 抓放 旋转、翻转、拧盖子

自由度高 → 探索空间指数级增大 → 纯 RL 很难收敛。

生成式仿真是什么

不由人类设计每个任务和环境,而是由 AI(LLM/VLM)自动生成:

  • 任务描述(”把苹果放进碗里”)
  • 场景配置(物体位置、大小、状态)
  • 奖励函数
  • 训练策略

方法详解

Stage 1:任务提议与环境生成

1.1 任务提议

输入:物体资产库(DexYCB、RoboTwin、Partnet-Mobility 等)

LLM(Claude 4 Sonnet,温度 1.2 提高多样性)生成任务:

  1. 从资产库中采样可用物体
  2. 生成可行的操控任务描述
  3. 验证引用的物体确实存在
  4. 输出结构化 YAML 配置

示例任务:”把苹果放进碗里”、”旋转网球”、”打开笔记本电脑”。

1.2 环境合成

LLM 同时生成:

  • 物体大小调整(相对于手的尺寸)
  • 物体配置(位置、初始状态)
  • 场景布局(多物体组合)

Stage 2:MLLM 迭代校验

问题:3D 数据集的物体尺寸、朝向不一致 → 自动生成的场景可能物理不合理(物体穿透、大小不对、位置错误)。

解决方案:渲染 → 检查 → 修正循环

for iteration = 1 to max_iter:
    1. 从 3 个视角渲染场景图像
    2. 多模态 LLM(Gemini 2.5 Pro)分析图像
    3. 识别问题:穿透?错放?尺寸不对?
    4. 输出调整指令:
       - Scale_Action(object, factor)
       - Position_Action(object, dx, dy, dz)
       - Pose_Action(object, rotation)
    5. 执行调整,更新配置文件
    if 无问题: break

关键洞察:用视觉(渲染图像)而非纯文本来验证场景——视觉比文本描述更能发现物理不合理。

Stage 3:分层轨迹生成

3.1 LLM 作为高层规划器

LLM 承担三个职责:

  1. 子任务分解:将长程任务分解为短子任务
    • “把苹果放进碗里” → ①移动到苹果上方 ②抓取苹果 ③移动到碗上方 ④释放
  2. 控制器选择:为每个子任务选择合适的低层控制器
    • 无碰撞点到点运动 → 采样式运动规划(快速可靠)
    • 接触丰富的精细操控 → 强化学习(灵活但训练慢)
  3. 自由度管理:动态冻结/解冻手指关节
    • 抓取阶段:解冻所有手指
    • 移动阶段:冻结手指(仅移动手臂)→ 减少探索维度

3.2 为什么混合控制更好

方法 优势 劣势
纯运动规划 可靠、快速 无法处理接触操控
纯 RL 灵活 探索空间巨大,训练慢
混合 各取所长

运动规划负责”移动到位”,RL 负责”精细操控” → 总探索空间大幅缩小。

3.3 RL 训练细节

  • 算法:PPO
  • 并行环境:1024 个
  • 仿真频率:120 Hz,控制频率:20 Hz
  • 奖励函数:由 LLM 自动生成(包含接近奖励、接触力奖励、目标完成奖励)

LLM 生成的奖励函数示例(伪代码):

reward = (
    approach_reward(hand, object)  # 手接近物体
    + grasp_reward(contact_forces)  # 指尖接触力
    + goal_reward(object_pose, target_pose)  # 物体到达目标
)

实验结果

任务多样性

语义多样性(任务描述的余弦相似度,越低越多样):

方法 MiniLM MPNet DistilRoBERTa
Meta-World 0.52 0.53 0.60
RoboTwin 0.32 0.36 0.39
GenDexHand 0.29 0.28 0.32

GenDexHand 生成的任务最多样化(数值最低)。

策略学习效率

混合控制方案(运动规划 + RL + 子任务分解 + DoF 冻结)vs 基线:

方法 平均提升
直接 RL(无分解) 基线
+ 子目标分解 小幅改善
+ 冻结自由度 中等改善
+ 运动规划(完整方案) +53.4%

训练配置

参数
仿真器 Sapien
LLM Claude 4 Sonnet(任务提议),Gemini 2.5 Pro(场景校验)
并行环境 1024
训练轮次 250 epochs
每 episode 步数 400(无分解)/ 200(每子任务)

个人思考

  1. “生成器-校验器”范式的通用性:先生成再用视觉检查 → 这个模式可以推广到任何仿真环境构建。
  2. 子任务分解大幅降低 RL 难度:53.4% 的提升说明灵巧手的长程任务不应端到端学习,而应分而治之。
  3. 冻结自由度是直觉但有效的策略:移动阶段不需要动手指 → 冻结它们减少搜索空间。
  4. LLM 生成奖励函数是双刃剑:省去了人工设计,但可能产生运动抖动或不稳定——需要人工审查。
  5. 首个灵巧手生成式仿真填补了重要空白:此前 RoboGen、GenSim 等仅支持夹爪和行走。
← 返回列表