两条臂的推理设置

双手推理运行一个单一的策略网络,同时输出双臂的动作。 观察-动作循环以 50Hz 运行——与训练数据的频率相同——两个从动臂同步执行各自的动作块。

来源 ~/dk1-env/bin/activate # Keep your hand near the E-stop for the first 3 evaluation episodes python -m lerobot.scripts.eval \ --policy-checkpoint ~/dk1-policies/cube-handoff-v1/checkpoint_XXXXX \ --robot-path ~/dk1-config.yaml \ --机器人类型 dk1_bimanual \ --设备cuda \ --num-eval-episodes 10 \ --录制视频\ --output-dir ~/dk1-evals/v1 # Replace XXXXX with your best checkpoint step (from Unit 5 loss curve analysis) # --record-video saves both arm views as separate mp4 files for failure analysis

对于第一次评估运行,允许策略不间断地执行,除非即将发生物理碰撞。 双手策略在适应真实环境时常常会在前 1-2 次发作中产生意想不到的动作。 第3-10集是有意义的评估数据。 请注意该策略是否始终达到任务的相同阶段(接近、抓取、转移、放置、回家),即使它最终失败了——部分成功是诊断信息。

双手评估方案

使用结构化协议。 非正式评估——“看起来它正在发挥作用”——对于双手政策来说是不可靠的,因为部分成功更为常见,并且可能掩盖从根本上被破坏的交接。

协议项目 双手规格
集数最少 10 个; 添加更多数据之前,20 可获得高置信度结果
立方体起始位置固定的、用胶带标记的位置 — 与您的第 4 单元训练设置相同
灯光必须符合训练条件。 即使打开窗户也会改变照明足以影响工作区相机
什么才算完全成功立方体从右侧开始,在左侧结束,双臂返回原始姿势,发作期间没有人接触
什么算作部分成功掌握正确但转移失败,或转移成功但放置偏离目标。 分别记录这些。
故障分类日志:(A) 抓取失败,(B) 交接失败 — 手臂到手臂的转移掉落,(C) 放置失败,(D) 超时。 切换失败类别 (B) 是双手独有的,并且对于改进来说信息量最大。
报告指标完全成功率(所有 4 个阶段均正确的剧集)。 还报告部分成功率。 示例:“4/10 已满,7/10 已达到切换阶段”。

常见的双手故障模式

这些故障模式与单臂故障不同,需要针对双手进行修复:

  • 手臂异步到达切换点: 一只手臂到达交接位置并等待; 另一个迟到了。 该策略尚未了解各臂之间的相对时间。 修复:添加 20 个演示,其中双臂在完成转移之前在交接点明确暂停 1-2 秒。 这使得数据中的同步要求变得明确。
  • 切换掉落——立方体落在两个手臂之间: 最常见的双手特定故障。 相对于给予臂的释放,接收臂太早或太晚关闭其夹具。 修复:收集 15 个慢动作切换演示,具体以 25% 的速度进行。 夸张的时间为政策提供了有关夹具状态转换序列的更清晰的信号。
  • 政策集中于单臂策略: 该策略学会仅用一只手臂完成任务,而忽略另一只手臂的能力。 当一只手臂的表现比另一只手臂的表现更加一致时,就会发生这种情况。 修复:从训练曲线(第 5 单元)中检查每个手臂的动作错误,并收集专门针对较弱手臂阶段的其他演示。
  • 臂间碰撞: 两条手臂都试图占据相同的工作空间位置。 这是一个安全事件 — 在 DK1 硬件服务器中启用碰撞避免(collision_avoidance: true 在评估期间在 dk1-config.yaml 中。 始终遵守安全手臂分离的演示培训将防止大多数碰撞; 硬件级防护处理边缘情况。
  • 部署时的相位去同步: 该策略执行正确的操作,但不按正确的时间顺序 - 例如,右臂先于左臂转移。 这是一个动作分块工件,其中块边界与任务阶段转换不一致。 修复:减少 chunk_size 从 100 到 50 并重新训练。

用于双手改进的数据飞轮

适用于单臂策略的相同改进循环也适用于双手 - 增加了一项针对双手的特定功能:始终针对 第一的 任务序列中的故障模式。 如果抓握(A 阶段)仍然不一致,则无法改进切换(B 阶段)。 修复任务序列顺序中的错误。

1

评价

连播10集。 按阶段对每个故障进行分类 (A/B/C/D)

2

目标

确定第一个故障阶段。 收集 20-30 个专门涵盖该阶段的演示

3

重新训练

将目标演示添加到数据集。 从头开始重新训练或微调最佳检查点

4

评价

再次播放10集。 完全成功率提高了吗? 进入下一个故障阶段。

下一步是什么

您现在已经有了一个可用的双手学习管道。 立方体切换是基础——相同的架构可以扩展到更加复杂的任务:

第 6 单元完成时...

您的 DK1 在结构化评估运行中自主完成立方体移交任务,完全成功率至少为 6/10。 您已按阶段 (A/B/C/D) 对所有故障事件进行分类,并确定了哪个阶段造成了大多数故障。 您已经观看了失败视频并且可以具体阐明出了什么问题。 您对双手数据飞轮有足够的了解,可以规划您的下一次改进迭代。

您构建了一个可用的双手机器人学习系统。

您配置了领导者/跟随者架构,收集了同步的两臂演示,从头开始训练了协调策略,并将其部署在真实硬件上。 这个级别的双手操作是研究实验室运作的地方。 您在这里建立的基础可以扩展到组装、烹饪和接触丰富的任务,这些任务在您开始这条道路之前是遥不可及的。