25年1月来自CMU和首尔大学的论文“Learning to Transfer Human Hand Skills for Robot Manipulations”。
提出一种通过人类手部动作演示教会机器人灵巧操作任务的方法。现有方法仅依赖运动学信息而不考虑机器人和目标交互的合理性,不同的是,本文方法直接从人体运动演示中推断出合理的机器人操作动作。为了解决人手和机器人系统之间的具体化差距,其学习一个关节运动流形,该流形可以在 3D 中映射人手运动、机器人手部动作和目标运动,能够从其他运动成分中推断出一个运动成分。其关键思想是生成伪监督的三元组,将人、目标和机器人的运动轨迹综合配对。通过对机器手操作真实实验,证明该数据驱动的重定向方法明显优于传统的重定向技术,有效地弥合了人手和机器人手之间的具身差距。
如图所示:该模型使用不成对的(即目标可能以不同的方式移动)人体动作捕捉和机器人遥控数据集来学习人到机器人的重定向模型。
通过专家演示进行的模仿学习(IL)的最新进展,显著提高多指机械手的灵巧操作能力[1]–[5]。这些演示通常来自机器人遥操作,其中人类使用动作捕捉手套或基于视觉的手部估计模块遥操作机械手。虽然这些方法提供所收集数据的物理合理性,但通过远程操作收集演示通常成本高昂、耗时,并且需要复杂的技能来操作机器人硬件,而由于系统的结构限制,不同操作员的性能可能会有所不同。在相比之下,通过人体动作捕捉进行演示提供一种更自然、更方便的替代方法。基于视觉的方法的最新进展,有望提供更易于访问的解决方案 [6]–[8],允许用户随意执行任务并可能生成更大量的数据。运动捕捉数据还提供有关如何操纵目标的丰富手部信息,这对于灵巧操纵至关重要。
然而,由于人手和机械手之间的具身差距,将人体运动演示迁移到机器人上并不是一件简单的事。骨骼结构、手的大小和所能施加力量的差异给直接应用模仿学习(IL)策略带来重大挑战。因此,传统的重定向方法(例如通过基于运动学的 [1]、[5]、[9] 对齐)将人类演示迁移到机械手上,通常会产生次优结果,从而导致任务失败。理想的重定位应该能够推广到不同的手部/目标运动,以受益于人体运动演示的可扩展性,并且在这种具身差距下为机械手输出物理上合理的动作。
机器人遥操作。近年来,机器人遥操作已成为机器人技术的常见数据源。有几篇研究成果提出跨不同机器人平台的遥操作系统,包括灵巧机器人手[1]–[4]、移动机器人[10]、双手机器人[11]–[14]和人形机器人[15]–[ 17]。这种系统通常由一个感知模块和一个重定向算法组成,其中感知模块用于估计人类遥控操作员的运动,而重定向算法则将人类运动运动映射到机器人动作上。虽然遥操作数据包含丰富的信息,可用于通过模仿学习来训练机器人策略,但它有两个主要缺点:需要硬件系统(即机器人和遥操作设备,如 VR 设备 [11]、[18]、外骨骼 [12])和额外的链接系统[19])以及人类遥控操作员和机器人之间的具身差距。其中,后者虽然重要,但往往受到较少的关注。具体而言,当人类遥控操作员通过系统间接与环境交互时,遥控操作员应在数据收集期间通过视觉反馈来填补具身差距(即查看机器人是否以期望的方式与环境交互)。如果机器人没有按照预期行动,遥操作员应该随着时间的推移隐性地调整遥操作策略,使得遥操作在执行复杂的操作任务时可扩展性降低。
人手重定位到机器手。将人类的运动或与环境的交互重定位到机器人的运动或与环境的交互一直是一个具有挑战性的研究课题[20]–[24]。本文关注的是将人类手部运动重定位到机器人手中。 [1], [3], [5], [9] 使用一种通过运动损失的优化算法,旨在将某些人体关节(例如指尖)的位置与相应的机器人关节的位置相匹配。还可以选择考虑时间一致性损失和自碰撞损失。 [2] 学习能量模型,而不是进行具有类似学习目标的优化。虽然这些方法对于遥操作非常有效,但当目的是重现人手和目标之间的交互时,它们可能会失败,因为匹配的关节位置并不一定会导致相同的交互。为了考虑人手与目标之间的相互作用,[25] 还考虑给定人手和目标网格的接触热图,使得重定向的机械手可以像人类一样抓取相同的目标,同时仅限于抓取。 [26], [27] 还考虑人手与目标的接触区域,并尝试将其与目标(target)机器人和同一目标进行匹配,但需要人类专家的标签,例如目标机器人内接触区域的中心、人手与目标之间的对应点手和机器人等。虽然匹配接触区域可能会导致机器人沿目标做出更符合物理规律的运动,但这并不能保证与人类动作捕捉的接触区域完全匹配,即便如此,人类手和机器人之间的具身差距仍然很大。手可能会对目标物体产生不同的结果。简而言之,先前的工作隐含地假设匹配的运动约束或接触区域将导致相同的机器人-目标相互作用,但这可能并不总是成立。
灵巧的操纵。有多项研究利用人类动作捕捉数据来学习灵巧的机器人手策略,要么将其用作目标任务演示 [5]、[9],要么将其用作大型数据集来提取一般先验 [28]、[29]。 [5],[9] 使用目标任务的人体动作捕捉数据作为训练机器人策略的演示,同时需要使用强化学习或遥控数据进行微调。 [28] 使用感知模块从网络视频 [30] 中提取人类手部和手指的姿势,并学习先验模型,该模型根据视觉输入输出合理的机器人手部动作。 [29] 另外从人体视频数据集中提取人体姿势上的二维接触位置和活动目标边框标签,用于训练视觉编码器。 [31]的目的是通过优化参数化的准物理模拟器,根据人类动作捕捉数据找到一系列机器人动作。然而,其主要关注点在于模拟,缺乏现实世界的评估。此外,由于其目的是在给定人类和目标运动的单一序列的情况下找到一系列机器人动作,因此当给定人类手操纵单个目标的一组不同运动时,重定位过程在计算上会非常昂贵。
本文提出一个基于学习的重定向方法,从人体运动演示中推断出合理的机器手动作。具体来说,目标是找到机器手动作和人手运动之间的映射,以实现相同的目标物体运动。其框架概述如图所示:
具体来说,该方法以目标物体轨迹 O 和人手演示 H 作为输入,并输出相应的合理机器人动作轨迹 R: R = F(O, H)。提出的框架 F 通过训练卷积自动编码器模型 [33],[34] 来学习 O、H 和 R 上的联合时空流形而构建,包括编码器和解码器: (O, H, R) ≈ Ψdec (Ψenc (O, H, R))。
其中编码的瓶颈层 Ψenc (O, H, R) = L 表示流形潜代码,用于模拟操作过程中人手、机器人动作和目标物体轨迹之间的相关性。通过这个学习流形,能够通过基于优化的框架来估计缺失的组件。例如,给定人手运动 H 和目标物体轨迹 O,通过优化潜代码 L 推断出相应的合理机器手轨迹 R。一旦找到最佳 L*,就可以通过应用解码器并从输出中提取机械手组件来计算所需的机械手运动 R: R = Ψ_decR(L*)。由于潜代码的优化是通过梯度下降法进行的,因此选择一个好的初始 Linit 非常重要。为了实现这一目标,首先使用基于传统逆运动学 (IK) 的优化方法,通过将机器人指尖位置与人类指尖位置进行匹配,根据人类运动 H 估计初始机器人手部运动 Rinit。然后将其用作编码器的输入来初始化潜代码:Linit = Ψenc(O, H, R^init)。
为了学习 (O, H, R) 上的流形空间,需要收集用于监督的配对数据,包括导致相同目标操作的人和机器人手部动作。然而,获取这样的数据集是不可行的,因为两个演示不能同时进行。该文的主要见解是合成合理的伪真值对。
合成的伪-GT 三元组 DB
为了学习流形空间,需要一个包含一组三元组 {O_i , H_i , R_i } 的数据集。然而,收集这样的数据集是不切实际的。提出的解决方案是根据收集的机器人遥控数据 {O_i , R_i } 合成相应的人手运动样本 H_i。
具体来说,给定一个目标物体,收集两个独立的数据集:通过人体动作捕捉操作演示 {O_jM, H_j^M},以及通过遥操作 {O_i , R_i }。然后,建立一个框架 E 来合成手部动作: H_i = E(O_i, R_i)。
学习 {O_i, H_i} 的流形空间。首先通过使用人体动作捕捉数据集 {O_jM, H_jM} 训练一个时间卷积自动编码器模型 [33], [34],学习 O 和 H 上的联合时空流形空间:(O, H) ≈ ψdec (ψenc (O, H))。训练完成后,该模型可用于根据物体轨迹 O_i 推断相应的手部运动 H_i,通过找到最佳潜代码 l*_i。一旦获得最佳的 l*_i,就可以获得所需的人手运动 H_i:H = ψ_dec^H (l*).。
与框架优化一样,选择一个好的初始潜代码 linit 非常重要。因此,首先根据机器人动作 R_i 估计初始手部运动 H_iinit,并将其应用于预训练编码器 l_iinit = ψenc (O, H_iinit)。然而,与之前使用传统 IK 求解器的情况不同,这里训练一个神经回归器来估计 H_i^init。
从机器人动作回归手部动作。从提供的机械手 R_i(通过遥操作获得)估计初始人手运动 H_iinit 的一种方法是通过传统的逆运动学 (IK),对齐相应的指尖和关节位置。然而,这种从机械手到人手的 IK 优化并不稳定,不像相反的方向(人手-到-机械手)那样,因为人手通常具有更高的自由度和更多的手指。作为解决方案,构建一个神经回归器 H_iinit = Ω(R_i),在成对的人类和机器人手部运动数据集 {H_k,R_kIK} 上对其进行训练。为了构建配对 DB,使用传统的 IK 优化,根据人手 H_k 计算机械手 R_kIK,从而最大限度地减少人类指尖和机器人指尖位置之间的差异。为了表示人手和机械手,其包括手腕的旋转和位置,以及手指关节和指尖的位置(人手有 24 个位置,而机器人只有 4 个指尖,相对于手腕框架定义)。然后,训练神经网络回归器根据机器人动作预测人手运动:H_i^init = Ω(R_i)。该回归模型 Ω 由 6 层多头自注意 [35] 组成,有 8 个头,每个头的嵌入维度为 256。Ω 每帧操作一次,将每个机械手配置转换为人手姿势。
手部动作细化。虽然 Ω 产生的人体手部运动 H_i^init 初始估计值显示出一定的视觉可信度,但由于传统 IK 的监督质量有限,其质量也受到限制,更重要的是,仅以机械手作为输入,它未能解释手部之间的相互作用和目标轨迹。使用这个时域卷积自动编码器模型进行基于流形的优化,通过捕捉人类手部运动和目标运动之间的关系,显著提高了手部运动合成的质量,从而得到最终输出 H_i。
虽然运动流形自动编码器是用固定窗口大小训练的,但它可以应用于任意长度的 {O_i,H_i},方法是以滑动窗的方式在每个起点应用它,并优化所有时间窗口上的潜代码,同时强制重叠输出的时间一致性。
数据收集的硬件系统设置
为了收集所需的人体动作捕捉演示和机器人遥控数据,构建一个多摄像头系统,该系统由 16 个摄像头组成,并配有可穿戴动作捕捉设备和手套,用于捕捉 3D 人体运动和目标运动,如图所示,其系统来自 [36]。
3D 人体和手部动作线索是从可穿戴动作捕捉设备获得的。多摄像头系统用于通过跟踪目标和手套上附加的 ARUCO 标记来跟踪 3D 目标运动,如图所示,其中手套上的标记需要将人体运动和目标对齐相同的3D坐标系。多相机系统同步并进行空间标定。在设置中,目标、人手以及机器人手臂和手,位于共同的 3D 坐标中,捕获频率为 30Hz。标定后,使用同一系统收集人体动作捕捉演示和机器人遥操作数据。为了执行机器人遥操作,直接使用遥控操作员的手腕姿势。从动作捕捉设备获取的骨盆框架和手部关节角度,作为机器人动作。
选择三个具有不同特征的目标和相应的任务来证明该框架的有效性。
以下是三个目标及其对应的任务。
瓶子。机器人必须从随机的起始位置拾取瓶子,并将其放置在目标位置内,且不能将其翻倒。瓶子的直径很大,人手无法完全握住它,而机械手由于手掌较大,却能够握住整个瓶子。单纯地匹配机器人和人类手指尖可能会导致不稳定的抓握。
碗。机器人必须从随机的起始位置拾取碗,同时保持直立旋转,并将其放置在目标位置内。碗的凹形会引起人手和物体手之间复杂的接触相互作用,并且机器人需要精确的控制才能在不倾斜碗的情况下拿起碗。
书。机器人必须拿起书本并重新调整方向,以使其垂直站立。由于书籍的平整度和尺寸,机械手在重定位过程中必须与书籍保持良好、一致的接触,以防止滑落。此外,仔细放置对于确保书本保持直立至关重要。
对于瓶子、碗、书的每个任务,分别收集 113、100、114 个人体动作捕捉演示和 92、114、93 个机器人遥操作演示。存在许多不同的可能目标轨迹来完成相同的任务,这强调提出的合成数据生成管道的必要性。针对每个任务训练 Ψ_enc,dec 和 ψ_enc,dec,并且各个任务之间共享一个回归器 Ω。每个数据集按 9:1 的比例分为训练集和验证集。
使用位置控制来控制机械臂和机械手。请注意,所需的手腕姿势和手部关节值(即实际作为命令输入的机器人动作)可能与基于机器人与目标之间交互的实际值不同,如图所示。在可视化过程中所需的机器人本体感觉穿透表面,实际的机器人沿着目标表面与目标接触。这种差异使基于运动学的重定位方法(即匹配人和机器人指尖)变得不理想,因为机器人手指可能会因接触力不足而滑动。
通过实验,旨在回答以下问题。 (问题 1)沿着人体动作捕捉流形的手部运动细化过程是否会为合成的人机交互数据产生更符合物理规律、更自然的人体运动? (Q2)回归模型 Ω 是否有必要为手部运动细化提供良好的潜在初始化? (问题 3)与基线相比,重定向模型 F 能否更好地将人类动作捕捉数据转换为机器人动作数据? (Q4)重定向模型 F 可以推广到未见过的目标轨迹吗? (问题 5)重定向模型在人体动作捕捉演示中是否具有抗噪声能力?