双手与单臂远程操作

如果您完成了 OpenArm 路径,您已经了解什么是远程操作以及为什么它比脚本化运动产生更好的训练数据。 双手遥控操作具有这些基本原理,但引入了两个额外的挑战,这些挑战将影响您在第 4 单元和第 5 单元中所做的一切:

单臂 (OpenArm)

一个行动空间

6 个关节角度 + 夹具。 您的注意力完全集中在末端执行器的位置和抓握上。 从错误中恢复是本地的——只有一只手臂需要重置。

双手 (DK1)

两个耦合的动作空间

12 个关节角度 + 2 个夹具。 手臂必须及时协调。 一只手臂的错误常常会导致另一只手臂的状态失效。 在重试之前,双臂必须恢复到一致的起始姿势。

关键含义:双手遥控操作需要更谨慎、更慢的动作——尤其是在早期阶段。 匆忙会产生不一致的示范,很难从中进行训练。 目标是平滑和可重复而不是快速。

深入阅读——可选

远程操作系统概述

涵盖领导者-跟随者架构、触觉反馈、延迟分析以及双手系统不同远程操作范例之间的权衡。 在机器人库中打开 →

双手会话设置

完整的会话设置指南位于 硬件/dk1/数据收集。 以下五个步骤总结了第一次双手会话的流程:

  1. 两个从动臂均归位

    在每次训练之前,使用以下方法将双臂置于其家庭姿势 robot.home()。 起始姿势在您的配置文件中定义,并将双臂置于中立、对称位置,末端执行器指向上方且夹具打开。 在继续之前,请确认双臂已到达原点并且没有错误标记。

  2. 启动双手遥控服务器

    启动 DK1 teleop 节点: ros2 launch dk1_teleop bimanual_leader_follower.launch.py config:=~/dk1-config.yaml。 您将在终端中看到左右跟随者的同步联合状态镜像。 网络用户界面位于 localhost:8080/dk1/teleop 显示双臂的实时可视化。

  3. 将第一个会话的速度设置为 25%

    双手训练的初始速度比单臂训练低。 放 speed_scale:=0.25 在启动命令中。 在 25% 时,你有时间在做出反应之前考虑两只手臂之间的协调。 一旦您能够一致地执行立方体切换,则增加到 50%。

  4. 校准两个同时手臂的工作空间

    随着远程操作会话的运行,缓慢地将引导臂移动到预期任务空间的边缘,并观察跟随者到达其关节极限的位置。 确定双手重叠区域(双臂可以同时触及的区域),如果您还没有从第 1 单元开始,请用胶带标记其边界。数据收集期间的所有任务对象都将在该区域内开始和结束。

  5. 练习立方体交接任务

    将 5 厘米泡沫立方体放置在双手工作区的中心。 练习这个顺序:右臂从桌子上抓住立方体→将其举到工作区中央→左臂从右臂上抓住→右臂释放→左臂将立方体放在工作区的左侧→双臂返回到原点。 重复此操作,直到您可以连续干净地执行此序列 6 次。 这是您将在第 4 单元中记录的任务。

5 分钟连续里程碑

一旦您熟悉了立方体切换,就可以运行 5 分钟的连续远程操作会话,而无需停止、断开连接或触发任一手臂的关节限制错误。 这证实了您的硬件、USB 连接和 CAN 总线足够稳定,可以支持第 4 单元中完整的 100 个演示录制会话。

如果任一臂在 5 分钟测试期间停止,请记下错误代码并在继续之前检查第 2 单元的故障排除表。 中断 5 分钟测试的硬件问题将在最糟糕的时刻中断您的数据收集会话。

第 3 单元完成时...

您可以连续远程操作双臂 5 分钟,而不会出现中断、同步错误或任一臂关节限制跳闸的情况。 您可以干净地执行立方体切换任务 - 相同的开始位置、相同的切换点、相同的结束位置 - 10 次尝试中至少有 6 次。 每次尝试前双臂都会返回到起始姿势,无需手动调整。 这种一致性就是你带入第 4 单元的内容。