Allegro 手内操作部署

在 16 自由度的 Allegro 手上进行方块重定向。UniLab 以无触觉 方式训练 —— 观测仅为关节状态 + 方块位姿。

难点在哪

手内操作是对摩擦与接触敏感的任务。在以下方面的微小偏差:

  • 方块边缘几何(圆角半径、表面粗糙度)

  • 手指接触垫摩擦(取决于温度和湿度!)

  • 关节回差

都可能把策略推到它在仿真中未曾见过的工况之外。使用任务自带的域随机化配置,并在硬件 上机前于仿真中验证这些范围;见 面向真机迁移的域随机化

观测契约

分组

维度

硬件上的来源

关节位置

16

编码器

关节速度

16

编码器差分,低通滤波

方块位姿(世界系)

7

视觉(RGB-D + 位姿估计器,或基准标记)

方块线速度/角速度

6

位姿的有限差分,低通滤波;在真机上有噪声

目标旋转四元数

4

指令

上一步动作

16

上一次策略输出

视觉管线延迟

位姿估计延迟取决于具体的部署栈。在硬件观测构建器中测量它,然后在硬件部署前让训练 owner 与部署运行时在观测时序上达成一致。见 延迟预算

抓取生成器

allegro_inhand 环境自带一个抓取生成器,用于采样 合理的初始手部构型。硬件侧的等价物是操作员把方块放到手里 —— 请核实你的起始构型分布 与训练环境的抓取生成器输出相匹配(参见 unilab.tasks.manipulation.allegro_inhand.grasp_gen)。

如果你真实世界的起始握持存在系统性差异,把这些位姿加入抓取生成器,重新训练, 然后再试。

动作接口

操作类环境通过任务控制配置把策略动作映射为关节位置目标。Allegro 的声明由 src/unilab/conf/ppo/task/allegro_inhand/base.yaml 与其 Manager-Based action term 持有。 部署控制器必须使用相同的关节顺序、动作缩放与限位策略。

失败恢复

掉落在不重新抓取的情况下无法恢复。硬件侧安全层应当持有掉落检测器,使用部署栈实际 提供的任何方块位姿或力感知。一旦检测到,进入控制器的安全状态并告警操作员。

另请参阅