24年10月来自纽约大学的论文“Bridging the Human to Robot Dexterity Gap through Object-Oriented Rewards”。
直接通过人类视频训练机器人是机器人技术和计算机视觉领域的一个新兴领域。尽管双指机械手在双指夹持器方面取得了显著进展,但以这种方式让多指机械手学习自主任务仍然充满挑战。造成这一困难的一个关键原因是,由于形态差异,在人手上训练的策略可能无法直接迁移到机械手上。本研究提出 HUDOR 技术,它能够通过直接从人类视频中计算奖励来在线微调策略。重要的是,该奖励函数基于从现成的点跟踪器中获取的面向目标轨迹构建,即使人手和机械手之间存在形态差异和视觉差异,也能提供有意义的学习信号。给定一段人类解决任务(例如轻轻打开音乐盒)的视频,HUDOR 能够让四指 Allegro 机械手仅通过一小时的在线交互就能学会该任务。在四项任务中的实验表明,HUDOR 的性能比基线提升 4 倍。
人类在日常生活中能够毫不费力地完成各种灵巧的任务 [1]。让机器人具备类似的能力对于它们在现实世界中的有效部署至关重要。为此,最近的进展使得双指夹持器 [2, 3, 4, 5] 能够利用从遥控机器人数据中进行的模仿学习 (IL) 来学习多模态、长视界和灵巧的行为。然而,事实证明,将此类方法扩展到多指手的复杂任务具有挑战性。
将基于遥控操作的学习应用于多指手的挑战源于两个关键问题。首先,即使是通过这种方式实现中等程度的鲁棒性也需要大量数据。涉及双指夹持器 [6, 7, 8, 9] 的任务通常需要数千次演示来训练鲁棒策略。对于动作维度更大的手以及需要更高精度和灵巧性的任务,这种数据需求可能甚至更大。其次,由于在控制多个自由度时需要低延迟和持续反馈,遥操作多指手提出一个具有挑战性的系统问题 [10, 11, 12]。这使得收集完成灵巧任务所需的大量数据变得更加困难。
一种绕过遥操作的替代方法,是使用人类执行任务的视频来为机器人制定策略 [13, 14, 15]。然而,之前的大多数方法都需要额外的遥机器人演示 [16] 或人为干预学习 [17] 来进行微调。这些额外的信息通常是必要的,以弥合人手(如在人类视频数据中看到的那样)和机器人手(在机器人交互中观察的那样)之间的形态和视觉差异。
机器人灵巧操作学习。学习多指手的灵巧策略一直是一个长期存在的挑战,并引起机器人学习社区的广泛关注 [18, 19, 10]。一些研究通过在模拟环境中训练策略并将其部署到现实世界中来解决这个问题 [20, 19]。尽管这种方法在手部操作方面取得了深刻的成果 [21, 22],但在操作场景中的物体时,缩小模拟与现实之间的差距变得十分困难。其他研究则侧重于开发不同的遥操作框架 [23, 24, 11, 25],并使用通过这些框架收集的机器人数据训练离线策略。虽然这些框架响应速度很快,但由于当前机械手形态不匹配,且远程操作员缺乏触觉反馈,在不直接与物体交互的情况下远程操作灵巧手对用户来说仍然很困难。
从人类视频中学习。为了利用更容易获取的来源扩大数据收集,视觉和机器人社区一直致力于从人类视频中学习有意义的行为和模式 [31, 32, 33, 34]。一些研究侧重于学习模拟器,这些模拟器使用生成模型 [32, 35, 31] 从人类视频中紧密模拟机器人的真实环境,并使用这些模拟器训练策略,通过预测潜在的未来结果来做出决策。其他研究则使用互联网规模的人类视频来学习更高级的技能或 affordance [33, 36]。然而,这些研究要么需要低级策略来学习与物体交互的动作原语 [33],要么只关注单个接触点即可完成操作的简单任务 [36]。还有一些方法利用现场人类视频来学习多阶段规划 [16, 14],但需要额外的机器人数据来学习低级物体交互。值得注意的是,所有这些研究都集中在双夹持机器人上,其操纵能力有限,物体的关节较少。一些研究[17, 37, 38]利用多台摄像机结合手部运动捕捉系统采集的场景内人体视频,解决灵巧手的这一问题。这些研究要么侧重于简单的抓取任务[38, 37],要么需要针对灵巧任务设置一个带有人工反馈的在线微调阶段[17]。此外,这些方法的离线学习过程需要大量的预处理,以便从环境点云中屏蔽人手。
这项工作提出 HUDOR,一种通过在线模仿学习来弥合人类视频和机器人策略之间差距的新方法。HUDOR 引入了一个框架,用于从单个场景中的人类任务执行视频中学习灵巧策略。其方法包含三个步骤:(1)使用 VR 头戴设备和 RGB 摄像头录制人类视频及其对应的手势轨迹;(2)使用姿势变换和全-机器人逆运动学 (IK) 将手势传输到机器人上并执行;(3)使用强化学习 (RL) 成功模仿专家轨迹。如图所示:
机器人设置和人体数据采集
硬件设置包括一个 Kinova JACO 6 自由度机械臂,以及一个 16 自由度四指 Allegro 手 [10]。两台 RealSense RGBD 摄像头 [39] 放置在手术台周围,用于标定和视觉数据采集。Meta Quest 3 VR 头戴设备用于收集手部姿势估计值。第一步是计算 VR 框架和机器人框架之间的相对变换,以便将记录的手部姿势轨迹从人体视频直接传输到机器人,如图所示。使用两个 ArUco 标记点(一个在手术台上,另一个在 Allegro 手的顶部)来计算相对变换。第一个标记点用于定义世界框架并将指尖位置从 VR 框架转换到世界框架,而第二个标记点用于确定机器人底座和世界框架之间的变换。
使用 Quest 3 VR 头戴设备上现有的手势检测器收集人类手势估计值,并使用 RGBD 摄像头捕捉视觉数据。
使用开发的 VR 应用,用户可以捏住右手的食指和拇指,开始用自己的手直接与物体交互。收集演示数据后,用户可以再次捏住手指,表示演示结束。计算演示开始时相对于世界坐标系的手腕姿势,并在部署过程中将机器人手臂初始化到该初始手腕姿势。这使得机器人能够从合适的起始位置开始探索。
在数据收集过程中,会记录所有 t = 1 … T 的指尖位置 a_rt 和图像数据 ot,其中 T 是轨迹长度。由于这些分量是以不同的频率收集的,因此会根据收集的时间戳将它们对齐,从而为每个时间 t 生成同步的三元组 (a_rt, o^t)。然后将数据下采样至 5 Hz。
为了确保机器人的指尖相对于其底座遵循所需的位置,为整个机器人手臂系统实现一个自定义的逆运动学 (IK) 模块。该模块对关节角度使用梯度下降法,利用机器人指尖相对于关节角度的雅可比矩阵,最小化所需指尖位置与当前指尖位置之间的距离 [41]。对于 IK 优化器,对手部和手臂关节应用不同的学习率,使其能够优先处理手部运动。手部学习率设置为手臂学习率的 50 倍,从而实现更自然、更精确的手指控制。总而言之,IK 模块将所需的指尖位置 a_rt 以及手部和手臂的当前关节位置 jt 作为输入,并输出达到目标所需的下一个关节位置 j∗t+1 = I(a_rt, j^t)。
使用上述标定和 IK 程序,机器人手臂系统可以直接从场景中的人体视频中跟踪指尖轨迹。如图展示使用的人类演示。
残差策略学习
由于人机形态差异以及 VR 手势估计的误差,即使物体位于同一位置,单纯地在机器人上重放重定位的指尖轨迹通常也无法成功完成任务。为了缓解这个问题,利用强化学习 (RL) 来学习一种在线残差策略,以增强轨迹重放。传统的现实世界机器人强化学习算法,依赖于基于图像的匹配奖励 [42, 30, 29] 等简单方法,并使用领域内演示数据得出的奖励函数。然而,由于人手和机器人手的视觉外观存在显著差异,这些方法无法提供有效的奖励信号。为了弥补这一域差距,提出了一种以目标为中心的轨迹匹配奖励算法。
a) 目标点跟踪和轨迹匹配:奖励计算涉及使用现成的计算机视觉模型来跟踪感兴趣物体上点的运动。计算人类专家视频中这些点的二维轨迹与机器人策略展开之间的均方误差,并将其作为在线学习框架中每个时间步的奖励。
目标状态提取:给定一条轨迹 τ = [o1, … , oT],其中 T 是轨迹长度,ot 是时刻 t 的 RGB 图像。将第一帧 o1 作为基于语言的“SAM”[43, 44] – langSAM 的输入。langSAM 使用文本提示和 GroundingDINO [45]提取物体的边框,然后将其输入到SAM [44]生成掩码。langSAM对应于 o1 的输出,是初始物体位置 P1 的分割掩码,P^1表示为物体上N个检测点的集合,其中N是超参。参数 N 决定目标追踪的密度,并根据目标在摄像机视图中的大小进行调整。
点跟踪:掩码 P1 用于初始化基于 Transformer 的点跟踪算法 Co-Tracker [46]。给定 RGB 图像的轨迹 τ 和第一帧分割掩码 P1,Co-Tracker 会在整个轨迹 τ 上跟踪图像中的点 p_it = (x_it, y_it),其中 t ∈ {1…T},P1 = [p_11,…p_N1]。使用 τp = [P1,…P^T] 表示由跟踪点集组成的点轨迹。如图所示说明了人类和机器人轨迹的目标跟踪情况。
匹配轨迹:首先,定义两个附加量:检测点的质心 ˆPt 和时间 t 时的平均平移 δ_transt。 δ_transt 定义为 Pt 中所有点相对于 P1 的平均位移。给定时间 t 的两个独立目标运动,一个对应于机器人 T_Rt,另一个对应于人类 T_H^t,奖励通过计算它们之间的负均方根误差来计算。
b) 探索策略:选择动作维度子的一个集进行探索和学习。例如,在卡片滑动任务中,只关注拇指的 X 轴和 Y 轴,而不是探索所有手指的所有轴。这种方法加快学习过程并实现快速适应。对于探索策略,使用预定的加性 Ornstein-Uhlenbeck (OU) 噪声 [47, 48] 来确保机器人动作流畅。
在提取有意义的奖励函数并确定动作空间的相关子集后,通过使用 DrQv2 [49] 最大化中每个 episode 的奖励函数,在该子集上学习残差策略 π_r(·)。
残差策略 a_+^t = π_r() 在时间 t 的输入包括:(a) 人类重定位的指尖相对于机器人基座 a_r^t 的位置,(b) 当前机器人指尖位置的变化 ∆s^t = s^t − s^t−1,© 机器人轨迹 Pˆ_R^t 上追踪点的质心,以及 (d) 在 t 时刻的目标运动 T_Rt。最后,计算执行的动作:at = a_r^t + a_+^t。
动作 a^t 被发送到 IK 模块,该模块将其转换为机器人的关节命令。随着机器人与目标交互的经验不断积累,该策略会使用 DrQv2 进行改进。
本文实验四项灵巧任务,如图所示。图中提到的探索轴均相对于机器人底座。
a) 拾取面包:机器人必须找到一块橙色面包,将其拾起并保持一段时间。在验证过程中,面包的定位和方向应在 15cm × 10cm 的空间内。在此任务中探索所有手指的 X 轴。用于检索遮罩的文本提示是“橙色面包”。
b) 滑动卡片:机器人必须用拇指找到并滑动一张薄卡片,然后用其余手指支撑卡片将其拾起。在验证过程中,卡片的定位和方向应在 10cm × 10cm 的空间内。用于检索物体掩码的文本提示是“橙色卡片”。仅探索拇指的 X 轴和 Y 轴。
c) 打开音乐盒:机器人必须找到并打开一个小音乐盒。它用拇指稳定盒子,同时用食指打开盒盖。验证过程中,盒子被放置在10cm×10cm的空间内并定向。探索拇指和食指的所有轴,使用的文本提示是绿色音乐盒。
d) 纸张滑动:机器人必须将给定的纸张向右滑动。在验证过程中,纸张被放置在 15 厘米 × 15 厘米的空间内并定向。用于检索面具的文本提示是一张印有披萨图案的蓝色纸张。纸张向右移动的距离越远,奖励就越高。此任务的成功程度以纸张向右移动的距离(以厘米为单位)来衡量。探索所有手指的 X 轴和 Z 轴。