HOMIE:具有同构外骨骼座舱的人形机器人操控
25年2月来自上海AI实验室和香港中文大学的论文“HOMIE: Humanoid Loco-Manipulation with Isomorphic Exoskeleton Cockpit”。
目前的人形遥操作系统要么缺乏可靠的低级控制策略,要么难以获取准确的全身控制命令,这使得遥操作人形机器人执行操控任务变得非常困难。为了解决这些问题,HOMIE,一种人形遥操作驾驶舱,它集成人形操控策略和低成本外骨骼硬件系统。该策略使人形机器人能够行走和下蹲到特定的高度,同时适应任意的上身姿势。这是通过基于强化学习的训练框架实现的,该框架结合上身姿势课程、高度跟踪奖励和对称性利用,而不依赖于任何运动先验。作为该策略的补充,硬件系统集成同构外骨骼臂、一副运动感应手套和一个踏板,使单个操作员能够完全控制人形机器人。与基于逆运动学的方法相比,该座舱可以实现更稳定、快速和精确的人形机器人远程操控,加快任务完成速度并消除重定位错误。还验证座舱收集的数据对于模仿学习的有效性。
HOMIE如图所示:
在执行诸如仓库中转移货物等任务时,人类始终依靠身体敏捷性来行走、蹲到特定高度和操纵目标。虽然人形机器人有望最终接管这些劳动密集型任务,但实现完全自主仍然是一项重大挑战。在此期间,强大的遥控系统至关重要,使操作员能够无缝控制机器人执行复杂的操作任务。这些系统不仅允许人类精确而流畅地引导机器人,而且还可以作为收集高质量演示以提高自主能力的关键工具。实现这一愿景需要两个不可或缺的组成部分:(1)强大的操作策略,使机器人能够扩展操作工作空间;(2)一种允许单个操作员同时精确控制机器人上半身操纵和下半身运动的方法。
然而,现有的大多数遥控人形机器人的努力,仅仅集中在控制上半身 [1, 2, 3, 4, 5]。这种限制严重限制机器人的操作工作空间,因为它阻止机器人自由移动或调整其姿势(例如,下蹲)以适应不同的任务要求。 虽然一些研究人员已经探索通过强化学习(RL)为人形机器人配备操控能力[6,7,8,9,10,11],但这些方法往往无法实现必要的运动范围,例如下蹲到特定的高度,而这对于许多现实世界的任务来说至关重要。 此外,许多人形全身遥操作方法要求操作员进行身体移动来控制机器人的运动,这使得在长距离内保持精确、稳定的全身控制具有挑战性。 主流遥操作系统通常依靠基于视觉的方法[1,3,4,5]或异构外骨骼[2]来确定末端执行器的姿势,然后依靠逆运动学(IK)来计算关节位置。尽管如此,姿势估计和 IK 求解都会引入不准确性,从而影响遥操作的精度和可靠性。
双臂机器人遥操作
遥操作双臂机器人执行复杂的操作任务,是收集现实世界专家演示的有效方法,然后 IL 可以使用这些演示来学习自主技能 [14, 1, 3, 17, 18]。一些研究人员使用与遥控臂相同的机械臂 [19, 14, 15, 16],使关节匹配成为可能,从而确保高精度和快速响应速度。然而,由于机械臂成本高昂,建立这样的系统需要大量费用。此外,使用这些系统遥操作灵巧的手是不可行的。另一种方法是使用 VR 设备 [1, 5] 或仅使用相机 [20, 4, 21]。这些工作使用基于视觉的技术来捕捉操作员的手腕姿势和手部关键点,IK 使用这些数据来计算手臂和手的关节位置。但由于精度、推理速度的限制,以及难以处理姿态估计的遮挡,这类方法不能保证快速准确的姿态获取。一些研究人员尝试使用 MoCap 方法 [13, 22, 23, 24] 在更高频率下获取更准确的姿态,但 MoCap 设备非常昂贵。此外,由于 IK 是一种近似解的迭代方法,即使准确捕捉到手腕和手部的姿态,IK 的局限性也可能阻止机器人实现所需的姿态。另一种可能的解决方案是,基于外骨骼的遥操作系统,它不需要额外的相同机器人,因此整体成本相对较低。一些研究使用正向运动学 (FK) 计算外骨骼的末端执行器姿态,然后应用 IK 确定机器人的关节位置,同时使用计算机视觉技术捕捉手部姿态 [2]。然而,这些系统也受到 IK 和姿态估计不准确的限制。一些研究利用同构外骨骼 [15, 16],其也可采用关节匹配来遥控机器人,从而确保低成本和高精度及控制频率。尽管如此,这些系统通常操控配备有夹持器的机械臂,因此其应用仅限于基本操控任务,而非灵巧任务。由于一些项目已经引入廉价可靠的运动感应手套 [25, 26],重新设计它们并将它们与外骨骼相结合可能会克服这一限制,但这一解决方案尚未在该领域实现。HOMIE 旨在结合上述所有优点,将同构外骨骼臂与一副新型运动感应手套集成在一起。HOMIE 与之前的代表性遥控系统的比较见下表。
人形机器人全身操控
为了使机器人能够执行全身操控任务,一些研究人员专注于基于模型的优化算法 [27、28、29、30、31],特别是通过解决最优控制问题 (OCP) 来生成运动控制律。尽管付出了巨大努力使 OCP 在计算上易于处理,但这些算法在在线处理过程中仍然难以应对复杂场景,因为它们对计算的要求很高。基于强化学习 (RL) 的算法,尤其是基于近端策略优化 (PPO) [32] 的算法,提供了更强大的替代方案。利用这些方法,一些研究成功实现四足机器人的全身操控 [33、34、35、36],还有一些研究教会人形机器人穿越各种地形 [37、38、39、40、41、42、43、44] 或进行跑酷 [45]。这些成就激励研究人员将相同技术应用于人形全身操控 [46]。一些研究为人形机器人训练全身策略 [10],使它们能够以类似于人类操作员的方式行动,甚至可以与人一起跳舞。还有一些研究将上半身和下半身分开 [9、6、7、8、11],使用通过 RL 训练的策略来控制下半身,同时直接设置上半身的关节位置,从而帮助机器人实现更好的平衡。尽管取得令人印象深刻的成果,但这些方法仍然面临一些常见的局限性。首先,它们通常依靠重定向的 MoCCap 数据 [12] 来获取先前的运动 [47],以训练机器人。然而,获取 MoCap 数据的成本很高,并且要使机器人适应新的姿势需要额外收集数据,这严重阻碍这些方法的可扩展性。其次,许多这些方法都采用基于视觉的算法来估计操作员的姿势,这种姿势缺乏基于外骨骼的设备那样的精度。这种限制降低人形机器人有效执行操作任务所需的精度。第三,这些方法通常无法结合控制机器人身高的能力。高度控制对于处理不同高度的目标至关重要,缺乏高度控制会严重限制机器人的操作工作空间。最后,在发出运动命令时,一些研究直接依赖身体运动数据 [9、6、7、8],而另一些研究则使用操纵杆或踏板 [11]。当操作员需要在大型环境中控制机器人时,前一种方法就不切实际,而后一种方法则提供更有效的解决方案。然而,用操纵杆控制需要用手,而手可能已经被其他手动任务占用,因此使用踏板进行运动命令的优势就凸显出来。
如图所示,HOMIE 由低级策略 π_loco 和基于外骨骼的硬件系统组成。在任何给定时间 t,驾驶舱内的操作员通过显示屏观察机器人的第一视点 (FPV)。通过踩下踏板,操作员提供所需的运动命令 C_t = [v_x,t, ω_yaw,t, h_t],其中 v_x,t 是所需的前进或后退速度,ω_yaw,t 是转弯速度,h_t 是机器人躯干的目标高度。策略 π_loco 根据 C_t 控制机器人的下半身。同时,操作员控制外骨骼为机器人的上半身提供所需的关节角度 q_upper,这些角度直接设置给机器人。上下半身协同工作,不断循环,最终使遥控机器人能够在现实世界或模拟中完成操控任务。驾驶舱和机器人之间的通信通过 Wi-Fi 实现,即使机器人远离硬件系统也可以进行操作。我们可以在遥控机器人时收集演示,并利用它们来训练自主策略 π_auto。训练成功后,π_auto 可以接管操作员,给出 C_t 和 q_upper,从而驱动机器人自主执行任务。
为了使人形机器人能够通过 Wi-Fi 在驾驶舱和机器人之间执行位置操控任务,设计一个基于 RL 的训练框架,该框架训练不同的机器人在不断变化的上身姿势下完成蹲下和行走。以 Unitree G1 为例,并在下图中展示该框架的过程。通过此过程训练的策略 π_loco 能够实现零样本模拟-到-现实的迁移。
1)训练设置:每一步的观测值定义为 O_t = [C_t, ω_t, g_t, q_t, q ̇_t, a_t−1],其中 C_t 为指令,ω_t 为身体角速度,g_t 为 g^-> = [0, 0, −1] 在机器人躯干坐标系的投影,q_t 为机器人所有关节的关节角度,q ̇_t 为机器人所有关节的关节速度,a_t−1 为最后一次动作。然后可以通过连接 O_t−5:t 来获得 π_loco 的全部观测值。策略中的动作与机器人下半身的关节一一对应。当神经网络根据 O_t−5:t 计算 a_t 后,利用 τ_t,i = K_p_i × (a_t,i − q_0,t,i) − K_d_i × q̇_t,i 计算出关节电机的力矩,从而驱动电机工作,实现机器人的运动。式中,i 表示关节编号,{K_p_i} 和 {K_d_i} 分别为各关节的刚度和阻尼,{q_0,t,i} 为各关节的默认关节位置。
2)上肢姿态课程:采用课程学习技术,确保 π_loco 在机器人上肢任何连续变化的姿态下,依然能够完成运动任务。通过上肢动作比率 r_a 来调整上肢关节角度的采样范围。在训练开始时,r_a 设置为 0。每次策略驱动机器人以达到阈值的奖励函数跟踪线速度时,r_a 都会增加 0.05,最终达到 1。首先从概率分布中采样 r_a
然后通过 U(0, r’_a) 重新采样 a_i。实际上,采样 a_i 如下:
随着 r_a 的增加,概率分布逐渐从接近 0 过渡到 U(0, 1)。这确保在课程过程中,概率分布始终满足 p(x|r_a ) > 0, ∀ x ∈ [0, 1], r_a ∈ [0, 1)。与直接使用 U(0, r_a) 相比,该方法以更渐进、更平滑的方式接近最终目标。
为了模拟驾驶舱控制时上身运动的连续变化,按照上述过程每 1 秒重采样一次目标上身姿势。然后,使用均匀插值来确保目标运动在 1 秒间隔内逐渐从当前值变为期望值。如果不采用这种方法,机器人在连续运动下很难保持平衡。
3)高度跟踪奖励:跟踪高度可以显著扩大人形机器人的可行操作工作空间,从而帮助机器人执行更多的位置操纵任务。因此,π_loco 需要使机器人能够蹲到目标这个高度 h_t。为了实现这一点,设计一个新的奖励函数
在训练过程中,每 4 秒重采样一次所有命令。此时,随机选择三分之一的环境来训练机器人蹲下,而其余三分之二的环境则专注于教机器人站立和行走。这种策略有助于平衡蹲姿和走姿的学习。此外,同一环境在学习蹲姿和学习走姿之间切换,使策略能够在蹲姿和走姿任务之间平稳过渡。
4)利用对称:在训练框架中引入了与 [50] 相同的技巧。每次从模拟中获得过渡 T_t = (s_t, a_t, r_t, s_t+1) 时,都会对其进行翻转操作。具体来说,根据机器人的 x-z 平面对 actor 和 critics 的观察应用对称性。这涉及翻转 x-z 平面上的元素,例如机器人左右关节的位置、速度和动作,以及所需的转弯速度,以获得镜像过渡 T’_t。然后将 Tt 和 T’_t 都添加到展开存储中。这个过程有助于提高数据效率,保证采样数据的对称性,降低训练策略左右性能不对称的可能性。在学习阶段,也将这个过程应用到从展开存储中得到的样本 T_t 上,得到 T’_t。Tt 和 T’_t 分别经过 actor 和 critical 网络,得到 a_t, a′_t, V_t, V’_t,用于计算额外的损失:
这两个损失被添加到网络优化过程中,确保网络的对称性。
为了使单个操作员能够控制人形机器人的全身,设计一个低成本的基于外骨骼的硬件系统。对于人形机器人的上半身遥控操作,设计3D打印的 7 自由度同构外骨骼臂,用于精确映射上肢关节角度,专门针对两种类型的人形机器人:Unitree G1 和 Fourier GR-1。此外,还设计一双低成本的运动感应手套,能够映射高达 15 自由度的手指角度。对于运动命令获取,设计一个脚踏板,模拟驾驶过程中脚的按压和释放动作,从而能够控制人形机器人的运动,例如行走和下蹲。操作员可以轻松部署该系统并对机器人的操控进行单人遥控,类似于在座舱中驾驶汽车或玩赛车游戏。
1)同构外骨骼:为了实现人形机器人上肢关节的精确控制和映射,采用同构外骨骼,作为控制机器人上半身的遥操作解决方案。基于 Unitree G1 和 Fourier GR-1 的形态,同构外骨骼设计由一对对称的手臂组成,每只手臂有 7 个自由度,与机器人每只手臂的 7 个自由度相对应(肩部 3 个自由度,肘部 1 个自由度,腕部 3 个自由度)。外骨骼的每个关节都配备 DYNAMIXEL XL330-M288-T 伺服器,可提供精度为 0.09° 的关节角度读数和调整,从而实现精确的关节角度映射和初始标定。外骨骼的操作部分设计为与人体手臂的长度相匹配。考虑到完全复制机器人上臂结构的挑战,将伺服器与机器人的电机 URDF 关节坐标系对齐。通过按比例将坐标轴的相对位置映射到伺服器的相对位置,确保操作员的经验和系统的同构性质都得到保留。同构外骨骼使用可调节的带子固定在操作员的背部。这种设置最大限度地减少对操作员基本动作的干扰,同时覆盖人形机器人的大部分上身运动范围。
2)运动感应手套:对于手指的精细遥控操作,采用关节匹配方法。基于 Nepyone 手套项目 [25],设计一款低成本的运动感应手套,可直接连接到外骨骼进行组装和使用,提供高达 15 个自由度的手指捕捉,以控制灵巧的手。具体来说,每根手指上都配备三组传感器,分别映射指尖和指腹的俯仰运动,以及指腹的偏航运动,这样的设置足以实现人形机器人不同灵巧手的映射。在每个关节处放置霍尔(Hall)效应传感器和小型钕(neodymium)磁铁,当关节旋转时,钕磁铁也会旋转,从而影响传感器感应到的磁场,实现手指关节角度的映射。此外,设计手套的微控制器、传感器模块和结构模型。微控制器安装在手背上,可以通过端连接器直接连接到封装好的传感器上,可以轻松插拔以重新分配和修改映射关系。运动感应手套可以轻松地连接到不同的外骨骼上或从其上拆卸,具有很高的通用性。
3)脚踏板:在座舱中,脚踏板被用作遥控器的替代品,通过向 π_loco 发出命令 C_t,可以对人形机器人的下半身进行命令控制。操作员通过踩下和释放脚踏板来控制机器人下半身运动的加速和减速。用高精度旋转电位器将踏板压力变化映射到电信号。在系统中,通过线速度、偏航速度和高度调整来控制人形机器人的运动。这些命令使机器人能够充分展示其运动能力。为了实现这一点,用三个小踏板来控制这些命令。此外,一对模式切换按钮(带瞬时开关的脚踏式)用于在前进/后退和左/右转弯方向之间切换,如图所示。用户可以修改踏板配置并重新分配命令以适应不同的运动组合。
选择另一种机器人 Fourier GR-1,它与 Unitree G1 有很大不同,以展示方法在不同机器人模型中的通用性。如图所示二者对比,Fourier GR-1 比 Unitree G1 高得多、重得多,但手部重量比较低。与 Unitree G1 的训练设置相比,仅改变高度跟踪的范围和一些特定于机器人的距离值,而没有对奖励尺度或训练流程进行任何其他更改。
为了进一步证明运动感应手套的可扩展性,在 SAPIEN [51] 环境中测试 AnyTeleop [4] 中 Dex Retargeting 库中的不同类型灵巧手。结果如图所示,上线显示测试的灵巧手名称,下线表示每只手的关节数量。
为了证明遥操作系统的效率,比较硬件系统和基于 VR 的方法 OpenTelevision [1] 在四个任务中的任务完成时间,如图所示。这些任务旨在评估系统在各种场景中精确控制机器人手臂和手的能力:
拾取和放置:机器人需要从桌子上拿起一个西红柿并将其放入水果篮中。
扫描条形码:机器人必须握住扫描仪,用手指按下按钮,然后扫描盒子上的条形码。
交接:机器人需要抓住一个西红柿并将其传递给另一只手。
打开烤箱:机器人必须将手指插入手柄并打开烤箱门。
将 Unitree G1 和 Fourier GR-1 的训练策略从 Isaac Gym 迁移到仿真器 GRUtopia [53] 开发的场景中,该场景基于 Isaac Sim 和 IsaacLab [54]。通过这种迁移,HOMIE 可以在各种模拟环境中控制机器人。通过利用这些模拟场景,机器人可以比在现实世界中更经济高效地在更广泛的场景中执行各种操作任务。如图所示,操作员可以在复杂、逼真的环境中无缝地指挥机器人的运动和动作,展示 HOMIE 在各种模拟环境中的多功能性和适用性。
为了验证 HOMIE 收集的 IL 算法演示有效性,设计两个不同的任务:蹲下捡拾:蹲在沙发上捡西红柿;拾取和放置:拾取和放置西红柿。以 10Hz 的频率捕获 RGB 图像、机器人状态 q_t、上身命令 q_upper 和运动命令 C_t,并为每个任务收集 50 个 episodes。图像捕获的硬件设置如图所示:
如图显示由 π_auto 控制执行提议任务的机器人:
如图(a)展示适用于 Unitree G1 和 Fourier GR1 的同构外骨骼的物理模型。由于人形机器人的配置不同,两组同构外骨骼的手腕和肩部组件之间存在明显的结构差异,而其他组件及其用法保持不变。两组外骨骼共用相同的背部连接器,该连接器集成操作员连接、对接站固定、U2D2 放置和双臂联动功能,如图(b)所示。
运动感应手套通过一根长度可调的松紧带固定在手掌上,并通过五根较小的长度可调松紧带连接到指尖,便于手指固定和临界角度映射,确保能够适应不同手型的操作员。手套的手掌部分嵌入一个微控制器,其外露端口可直接连接到位于手指处的 15 个霍尔(Hall)传感器模块,如图(a)所示。手套的每个手指都有三个自由度,即指尖的俯仰运动(α)、指腹的俯仰运动(β)和指腹的偏航运动(γ)。由于拇指、小指和其他三个手指的结构长度不同,将它们分为三部分。需要注意的是,手指关节的角运动与感应磁场变化引起的霍尔(Hall)传感器读数变化并不呈现出明显的线性关系。这与磁铁和霍尔(Hall)传感器的定位以及手套的结构设计有关。在运动感应手套设计中,两者之间的关系在其变换范围内遵循指数模式,特别是在手指和指腹从张开到握拳的俯仰运动中。此外,手套已经在 Inspire Dexterous Hands RH56DFTP 实际设备上进行控制测试,如图(b)所示。