ORCA:一款开源、可靠、成本高效、拟人化的机械手,可实现不间断灵巧任务学习

25年4月来自瑞士 ETH 的论文“ORCA: An Open-Source, Reliable, Cost-Effective, Anthropomorphic Robotic Hand for Uninterrupted Dexterous Task Learning”。

通用机器人应该拥有类似人类的灵巧性和敏捷性,才能像人一样灵活地执行任务。类似人类的外形设计,进一步促进海量人手交互数据集的使用。然而,灵巧操作的主要瓶颈不仅在于软件,更在于硬件。接近人类能力的机械手通常价格高昂、体积庞大,或者需要企业级维护,这限制了它们在更广泛的研究和实际应用中的普及。开源 ORCA 机械手,是一款可靠且拟人化的17自由度肌腱驱动(tendon-driven)机械手,集成触觉传感器,组装时间不到八小时,材料成本低于 2000 瑞士法郎。ORCA 的关键设计特性,例如弹跳关节、自动标定和肌腱系统,显著降低复杂性,同时提高可靠性、准确性和稳健性。对 ORCA 机械手进行一系列任务的基准测试,涵盖遥操作、模仿学习以及零样本模拟-到-真实的强化学习。此外,还证明它的耐用性,承受超过 10,000 次连续操作循环(相当于约 20 小时),且不会出现硬件故障,唯一的限制因素是实验本身的持续时间。

复制人手复杂的灵巧性,一直是机器人技术的核心挑战 [1], [2]。尽管机械手在工业自动化领域表现出色,但其有限的多功能性,使其不适合与为人手设计的工具和物体进行交互 [3], [4]。因此,人们投入大量研究来开发拟人机械手并训练它们解决复杂的操作任务 [5], [6]。然而,与机械手相比,拟人手需要更多的执行器,这增加其组装和控制的复杂性。此外,良好的拟人手硬件必须耐用、可重复且用途广泛,才能用于机器学习应用。无论是强化学习 (RL) 中的模拟与现实之间的差距,还是模仿学习 (IL) 中遥操作的准确性,灵巧操作的瓶颈不仅源于软件,而且或许更重要的是硬件限制 [7]–[9]。

自早期以来,肌腱驱动的机械手一直是机器人研究的焦点[11]–[13]。在众多设计中,专有的“Shallow Hand”[14]在灵巧操作任务中展现出了令人印象深刻的能力[15]。然而,这些机械手的成本超过10万瑞士法郎,需要大量维护[16],并且由于其专有且高度集成的设计,维修起来很困难。其他近期的肌腱驱动的机械手设计,例如 InMoov 机械手[17]和 DexHand[18],具有开源和低成本的优势。然而,InMoov 机械手的灵活性有限,而 DexHand 的组装难度较大,而且它们都尚未在自主操作任务中展现出实际的适用性。

肌腱驱动手的替代方案是直接驱动(direct-driven)手,例如售价约 15,000 瑞士法郎的 Allegro 手 [19],以及开源 LEAP 手 [20],后者性价比更高,售价低于 2,000 瑞士法郎,只需三个小时即可组装,可靠性达到了前所未有的水平。然而,所有直接驱动手的设计都存在一些局限性,例如体积庞大、外形尺寸受限,以及无法匹敌真正人手的柔软度、外形尺寸和灵活性。在手指内嵌入电机,会增加惯性并限制功率输出,从而限制类人运动所必需的快速、动态和有力的动作。

本文介绍 ORCA 手:一种由肌腱驱动、灵巧且拟人化的机械手,配备完全集成的触觉传感器。ORCA 手的设计旨在实现可靠性、简便性和多功能性,可执行各种任务。

ORCA 手的设计遵循一个要求,即在最小化复杂性和成本的同时,实现灵巧性和可靠性。它由五个手指组成,包括一个可对生(opposable)的拇指和一个驱动的腕关节(如图-A),其大小与普通人手相似 [21]。手指安装在一个类似于人手掌的底座上,该底座包含腕骨和掌骨。掌关节与安装在塔架上的腕关节机构相连。塔架包含电机和所有辅助电子设备,并封装在一个保护壳内。

请添加图片描述

肌腱-驱动,提升敏捷性

除腕关节外,每个关节均由两条张力下的鱼线(尼龙纤维编织成直径 0.4 毫米的绳索)驱动,此处称为肌腱。一条肌腱负责屈曲(屈肌),另一条负责伸展(伸肌)。这一决定是基于以下观察:与直接驱动的手相比,更小的外形尺寸和更低的手指惯性,更能模拟人手的灵活性和灵巧性。此外,肌腱驱动使 ORCA 手不受驱动器选择的影响,从而使得未来可以使用除电动机以外的其他驱动技术,例如收缩人造肌肉。
虽然肌腱驱动具有许多优势,但它也存在一些挑战,例如摩擦累积、磨损和随时间推移而松弛,这些挑战会影响运动精度和使用寿命。以下方式缓解这些挑战:
通过使肌腱绕光滑的金属销和杆偏转来避免肌腱与聚乳酸 (PLA) 直接接触,如图-C 所示。
使用特氟隆(Teflon)管进行非线性布线,例如从拇指底部到手腕。
最后,可以使用安装在电机上的棘轮线轴(ratchet spool)机构手动重新张紧肌腱,如上图-A3 所示。棘轮连接到顶部线轴,允许在一个方向上旋转,同时锁定另一个方向上的运动。这种设计使 ORCA 手更加易于使用,因为无需拧下线轴(spool)或肌腱,即可在几秒钟内完成重新张紧。线轴系统可以快速消除任何累积的松弛。此外,肌腱可以轻松松开,使关节弹出,以便快速更换损坏的部件。

请添加图片描述

可弹出销关节

滚动接触关节 [18], [22] 已成为 3D 打印手上针孔关节的流行替代方案,因为它们能够脱位而不是断裂。然而,这些机制需要韧带,而韧带可能会随着时间的推移而松动,从而增加复杂性。引入一种销关节设计,当施加过大的径向和轴向载荷时,关节可以“弹出”并脱位而不是断裂(上上图-A1)。

这一特性是通过将轴承置于圆弧形凹槽中实现的,这些凹槽在正常工作条件下将轴承紧紧地固定住,但在发生强力碰撞时,轴承可以脱位。该机构结合针孔关节的优势,例如轴向稳定性和简单的运动学,以及基于韧带滚动接触关节的坚固性,同时组装极其快速简便。

特意取消第 2 指至第 5 指上的远离指(DIP)关节,这样做的好处是大大简化组装并提高可靠性。DIP 关节在人手中并不直接受驱动,因此在灵巧操作任务中,与其他手部关节相比,它的重要性较低。取消 DIP 关节的一个积极作用是显著增加指尖可用于触觉感知集成的空间。
拇指与其他手指不同,它有四个自由度,而不是三个,即指间关节 (IP)、掌指关节 (MCP)、外展关节 (ABD) 和腕掌关节 (CMC)。此外,拇指在掌心旋后(supination) 15°,使其与其他手指相对 [21]。

腕关节设计

没有腕关节的机械手,其主要局限性在于无法将手掌平行于桌面等表面,因为机械臂会阻碍其运动。腕关节的缺失会严重影响抓取性能。基于此,围绕手的横轴(桡尺轴)增加一个旋转自由度。人类腕关节可以屈伸约 80° [21],而 ORCA 腕关节机构可以实现 60° 的屈伸。没有使用肌腱驱动的腕关节,而是选择皮带传动,以应对腕关节承受的更大负荷。使用带有玻璃纤维增​​强的标准 GT2 同步带,随时间的推移,其松弛积累可以忽略不计。决定不在腕部添加第二个自由度来表示人类腕部的径向/尺骨偏差,主要是为了避免不必要的复杂性和增加成本,因为与屈伸运动相比,人类腕部在此类运动中受到很大限制 [21]。

集成触觉传感

许多先前的研究通过集成触觉传感器(尤其是在指尖)来增强机械手的操控能力。这些传感器包括力传感器 [24]、[25]、压阻式压力传感器 [26]、电容式压力传感器 [27] 和霍尔效应传感器 [28]。

对于 ORCA 机械手,利用力传感电阻器 (FSR)(RP-C7.6-ST 薄膜压力传感器)安装在 FDM 打印的固体 PLA 背板上,并由硅胶模制表层覆盖,为机械手的五个指尖提供二进制触觉反馈。虽然 FSR 传感器理论上可以测量施加力的大小,但由于柔性皮肤及其不规则表面会根据指尖的接触点在不同程度上抑制外力,因此选择一个二进制理解。如果没有关于压痕位置的额外信息,就无法估计力的大小,而 FSR 传感器本身无法提供这些信息。

所有传感器都通过细铜线(∅ 0.2mm)连接到外部电子设备,这些铜线通过 PTFE 管穿过内部手指和手掌结构,以保护它们免受环境和外力的影响,同时提供清晰的视觉外观。为了读取 FSR 传感器的输出,每个传感器与一个10 kΩ电阻组成一个电压分离器,其三个节点分别连接到 5V 输入、模拟输入和地,所有这些都由一个小型微控制器(Arduino Nano Every)提供。

自标定以实现精确控制

在机器学习环境中,例如用于模仿学习的数据收集,记录的一致性至关重要。如果在不同运行中人类遥控操作和机械手之间的差距很大,那么策略就更难准确地模仿人类 [29]。此外,这种一致性不仅在数据收集过程中至关重要,而且在策略部署过程中也至关重要。训练数据和已部署系统之间的任何偏差,都可能导致策略性能不佳,因为学习的模型可能无法有效地泛化到条件不匹配的场景。在尝试缩小模拟与现实之间的差距时,这一点尤为重要。虽然可以使用本体感觉传感器确保可靠的控制一致性,如 [14] 所示,但这会增加显著的成本和复杂性。因此,提出一种更具成本效益的替代方法:

令 θ_i 为真实角度,θ ̃_i 为关节 i 的命令角度,∀ i ∈ {1,…,17},φ_i 为同一关节电机的角位移。理想目标是始终使 θ_i = θ ̃_i。然而,在实践中,尤其是在肌腱驱动的机械手上,由于电机到关节的映射依赖于模型,因此存在差异。

参考 ORCA 机械手的布线,如上图所示,每条肌腱都穿过或靠近旋转中心(CoR)。这种设计确保关节位置大致解耦,并可以线性独立地驱动。由于系统的线性特性以及专注于控制电机角度φ ̃_i,可以将期望角度表示为θ ̃_i = R’_i ·φ_i。因此,实际角度 θ_i 与电机角度之间的关系为:θ_i = R′_i ·φ_i + ε(r_M, r_J, s, d, m)。

由于可以直接控制电机角度,可根据 θ ̃_i 来定义 φ_i。为了确定R_i,使用一种称为自动标定的程序,该程序可以估算 R_i 并最小化误差项。该过程如上图-B所示。

讨论硬件性能测试如下。

如图所示重复拾取和放置的实验设置:纸板作为栅栏,防止方体滚出测试区域,并实现不间断的长期策略部署。

请添加图片描述

可靠性和稳健性

为了评估 ORCA 手在长时间任务中的可靠性和稳健性,进行一项实验,连续驱动手关节2.5小时(上上图-C)。将一个毛绒动物玩具固定在手掌上,让它每四秒用所有手指抓握一次。这种使用柔性物体的装置类似于[20]进行的重复性测试,能够评估在更大运动范围内增加压力下的行为。此外,为了测试腕关节的耐用性,以手指频率的四分之一(即每16秒一次)将腕关节屈伸至40°。

在2250个抓握循环中,手掌始终可靠地执行相同的抓握动作,没有出现断裂、电机停止或肌腱松弛过度的情况。在下图-C 中,展示驱动中指 MCP 和 PIP 关节的电机在每个抓握周期中的最大电流,以及腕关节电机在每个腕伸屈周期中的最大电流。每个电机的电流可以估算出关节在给定角度变化时必须克服的外部扭矩和摩擦力。在 2.5 小时不间断的关节运动中,每个周期的最大电流大致保持不变,这证明机械手的坚固性、关节运动的高重复性以及其长时间运行的能力。机械手塔架侧面的风扇可防止电机过热(如下图-C),从而使机械手几乎可以无限期地工作。需要特别指出的是,实验并未因失败而终止,而是在 2.5 小时后结束,因为这被认为足以证明系统的可靠性。未来计划进行更多延长测试,直至机械手失效,并包括传感器坚固性评估。

请添加图片描述

精度与延迟

精确控制关节运动对于任何灵巧操作任务的可靠性能都至关重要。此外,动作命令与其在现实世界中的执行之间的过大延迟,会严重阻碍闭环行为的实现。将延迟纳入机械手模型进行模拟训练,有助于弥合模拟与现实之间的差距。为了进一步证明 ORCA 机械手的可靠性,对机械手关节执行不同动作命令的精度和延迟进行基准测试。采用以下实验设置来对机械手的精度和延迟进行基准测试:

通过在一根手指上连接不同的 AprilTag 并测量它们之间的相对方向,可以以相对较低的误差(对于实验设置,σ = 0.08◦)计算出手指上每个关节的角度。将三个 tag36h11 AprilTag 放置在 ORCA 机械手食指的 MCP 和 PIP 关节上,并将它们对齐在同一平面上(如上图 B)。然后,将 RealSense D435i 摄像头放置在 AprilTag 前方,使用自定义脚本确保摄像头以 90° ± 5° 的角度面向标签,以便进行更精确的角度测量。以 60 fps 的速度记录图像帧并将其保存到 ROS2 包文件中。同时,发布以正弦波模式驱动食指 MCP 和 PIP 关节的指令角度,并将它们记录到同一个 ROS2 包文件中。这样能够将指令角度与从图像帧获得的实际角度同步,并离线评估系统的延迟和准确性。

将 ORCA 手与 LEAP [20] 手的准确性和延迟进行比较,将系统的肌腱-驱动机器手动力学与直接-驱动机器人手的动力学进行比较(如上图-A)。用 2 Hz 和 5 Hz 的正弦波模式驱动双手食指的 MCP 和 PIP 关节。每次测试前,都会利用 ORCA 机械手的自动标定机制来计算之前可能累积的肌腱长度或松弛度变化。通过自动标定,ORCA 机械手的指关节能够精确地跟随指令的正弦输入。事实上,得益于肌腱驱动的驱动设计,实现与 LEAP 机械手类似的精度,但体积却小得多。此外,ORCA 机械手的关节旋转比 LEAP 机械手的关节更平稳,LEAP 机械手的关节抖动更多,这可能是由于线缆以及可能增加的惯性干扰 LEAP 机械手的指关节运动。两只机械手的平均延迟均小于 0.2 秒,其中大部分延迟来自软件处理。然而,ORCA 机械手的松弛度可能会带来额外的延迟,因此定期重新张紧线轴对于实现稳健的性能至关重要。

基准测试实验存在一个局限性,即无法评估双手在更快运动下的准确度和延迟,因为 AprilTag 无法追踪低于 2 Hz 的正弦波频率,也无法追踪步进信号(由于 60 fps 时的运动模糊)。使用兼容 ROS2、帧率为 240 fps 的摄像头记录手指关节,可以在未来实现更彻底的系统识别。

强化学习

强化学习 (RL) 通常用于学习难以演示或需要精细运动控制的灵巧任务,例如手中物体的重定向 [30]。将 RL 应用于灵巧操作任务的一个关键挑战是,在模拟中学习的策略在迁移到真实的机械手时往往表现不佳。使用 [22] 中的 IsaacGymEnvs 包装器来训练 4096 个 ORCA 手模型,并结合优势参与者-评论家 (A2C) 架构来学习手中球的重定向。经过一小时的域随机化训练后,可以在实体ORCA手上部署一个鲁棒的策略(如图-B所示),该策略可以成功地沿着给定的旋转轴重定向网球。

请添加图片描述

模仿学习

模仿学习已成为操控领域另一种主流方法,因为它能够从一组演示中学习任务,而无需特定于任务的奖励或模拟环境。人们提出各种架构来提取有意义的观察表征并将其映射到正确的动作[31]–[33]。然而,将模仿学习应用于灵巧平台带来额外的挑战,主要是因为它们的动作空间维度更高[34], [35]。

为了演示 Orca 手的自主任务执行能力,采用最先进的机器人扩散transformer[31]。装置包括安装在机械臂(Franka Emika Panda)上的 Orca 手,该机械臂配备两个外部摄像头和一个腕戴式摄像头。

使用动作捕捉手套 [10] 收集演示,该手套提供绝对腕部追踪和手指姿势估计。使用类似于 [36] 基于能量的最小化目标,将这些演示重定位到机器人的状态空间中。腕部姿势用于控制笛卡尔末端执行器空间中的机械臂。这种遥操作方法,能够展示机械手在各种任务中的多功能性(如图所示),并且即使对于未经培训的操作员,也能快速直观地收集演示。

请添加图片描述

该策略将三幅摄像机图像以及来自机械臂末端执行器和机械手的本体感受数据作为输入。输出包含一个预测未来动作的动作块。

在大约 2 小时 30 分钟的时间里,收集 214 条记录(视频、本体感受数据、动作),并在 NVIDIA GeForce RTX 4090 GPU 上训练该策略,共计 500 个 epoch,耗时约 4 小时。

针对所提出的任务,对图像预处理进行消融研究 (ablation studies)。具体而言,比较三种策略变型:(1) 基于原始 RGB 输入训练的基准策略;(2) 包含方体颜色分割的策略;以及 (3) 基于两个数据集训练的混合策略(如图所示)。

请添加图片描述

对于 (2) 和 (3),使用 CIELAB [37] 颜色空间生成二值掩码,并调整参数以隔离红色方体。基于 RGB 图像,创建三通道灰度图像,并将二值掩码的第一个通道(任意选择)非零像素设置为 255,从而有效地突出显示方体。

触觉感知

还评估指尖传感器。为了确定触觉传感器的绝对阈值 (AT),使用直径 2 厘米、接触面平坦的圆柱形压头,在指尖前表面施加受控的正交力。通过在压头顶部放置标定砝码来改变施加的力。Arduino 上相应模拟输入端的任何输出读数高于 0.01V 即为触觉感知。

虽然所用的 FSR 传感器的额定最小触发力为 0.29N,但指尖在 10 个循环中能够以完美的精度记录低至 0.05N 的力。目前尚不清楚这是由于商用 FSR 传感器的额定最小触发力低于标准值,还是硅胶表层对传感器产生了意外的预载效应。

然而,硅胶表层的磨损会显著影响传感器的绝对阈值 (AT)。虽然在实验中安装在无名指上的传感器在数千次抓握循环后没有出现性能下降,但由于硅胶皮的降解,在硅胶皮和安装的 FSR 传感器之间产生气隙,安装在小指上的传感器的 AT 值增加到 6.38N。

此外,在大约 4,500 到 7,000 次抓握循环后,连接传感器和外部电子设备的细铜线在拇指、食指和中指上断裂。断裂点出现在不同的高度,但都集中在 MCP 和 ABD 关节区域。

遥操作和模仿学习的实验。

通过拾取、交互和放置各种物体,成功评估 ORCA 手的灵活性和稳定性:
堆叠 3 个大小不同的立方体(与 IL 实验相同)。首先将立方体分别放在桌子上。
从桌面抓取一个毛绒玩具(大小约为 3 个大立方体)。
抓取放在桌子上的网球。
拧开 Nutella 巧克力酱罐(8 厘米)的盖子。罐子本身已完全拧紧。
旋转指尖陀螺 2 秒。指尖陀螺用手戴在手指上,但抓取和旋转完全由遥操作完成。
拿起一支笔,在一张固定的纸上写上“Hello”(你好)(字体大小约为 200)。
拿起放在一个封闭盒子上的一张纸。
拿起一个杯子,将其中 50 毫升水倒入另一个杯子中。

为了检验硬件平台和训练好的IL策略的可靠性,设计一项连续的拾取放置评估任务。机械手需要从桌面拾取一个边长为6厘米的方体,并将其放置在滑动表面上,然后立方体会落回桌面上的随机位置。

为了评估不同的策略,收集测试区域内拾取方体的失败位置与成功位置的比率,迭代次数为60次(每个子区域10次)。其中最成功的策略仅使用方体的掩码图像,部署时间为7小时17分钟(约2000次抓取循环),期间ORCA机械手的硬件无需人工干预,且在拾取放置任务中也仅采用了极少的辅助干预。在整个测试过程中,该策略保持稳定的性能,没有出现肌腱松弛或断裂的情况。实验的结论并非源于失败,而是因为它充分证明系统的可靠性和有效性。

虽然集成触觉感知技术提供了一种经济高效且门槛较低的指尖触觉反馈方法,但目前的设计在数千次抓握循环的可靠性方面仍然存在诸多局限性。这些局限性包括:硅胶表皮的老化,而硅胶表皮对于将接触力可靠地传输到传感器至关重要(大约在2,000至4,000次抓握循环后,两个指尖会出现老化);以及用于信号传输的细铜线的断裂(大约在3个指尖会出现,大约在4,500至7,000次抓握循环后)。

ORCA 手的设计易于组装和维修。考虑到所有必要的机械部件,一个人只需不到 8 小时就能组装出一只完整的ORCA机械手,它包含集成传感器、张紧肌腱和柔软皮肤。