前言

由于我司「七月在线」自今年年初以来,一直在针对各个工厂、公司、客户特定的业务场景,做解决方案或定制开发,所以针对每一个场景,我们都会反复考虑“用什么样的机器人、什么样的技术方案”做定制开发

于此,便不可避免的追踪国内外最前沿的机器人技术进展,本来准备在上一篇博客《VLM驱动机器狗——从UMI on Legs到Helpful DoggyBot:分别把机械臂装到机器狗背上、夹爪装到机器狗嘴里》之后,解读今天上午看到的字节刚发的机器人大模型GR2

当时,还发微博说,“头一次看paper不看正文,而是直奔其References:​看有没有我预想中的文献,说明咱看paper的能力相比去年强很多了”

没想到

  1. 晚上,一在上海一机器人公司的朋友,又发我了一个链接:OmniH2O: Universal and Dexterous Human-to-Humanoid Whole-Body Teleoperation and Learning,并说这个挺可以的

    我回复他说,这个工作 之前看到过,和humanplus、television 挺像「OmniH2O论文(24年6.13)和humanplus(24年6.15)的发布时间差不多,但比television(24年7月初)发布的更早,但后来再一细究发现,OmniH2O的前身H2O发布的更早(24年5月7日):Learning Human-to-Humanoid Real-Time Whole-Body Teleoperation,和此文第一部分中介绍的AnyTeleop发布时间差不多(24年5.16)

    之前 一直没来得及解读,准备也解读下,😆
  2. 我再问他,你们是在仿真环境中 复现了下,是不
    他回答道:“他们最近开源了代码,有新的改进,目前我在仿真中试了下,后续可以尝试迁移”

考虑到OmniH2O及其前身H2O是之前的工作,在字节机器人大模型GR2之前,故本文先解读这个OmniH2O及其前身H2O

第一部分 H2O:Learning Human-to-Humanoid Real-Time Whole-Body Teleoperation

24年5月7日,来自CMU的研究者Tairan He, Zhengyi Luo, Wenli Xiao, Chong Zhang, Kris Kitani, Changliu Liu, Guanya Shi,发布了这篇论文《Learning Human-to-Humanoid Real-Time Whole-Body Teleoperation

  • 如下图所示,该人形机器人由人类操作员通过RGB摄像头进行实时远程操控

  • 这个H2O人形机器人在我熟知的几大开源人形机器人里——比如humanplus television,算是发布的最早的了,比如其便是humanplus的第31篇参考文献

1.0 相关工作及背景:第一个实现基于学习的全身远程操作的方法

1.0.1 数据集的问题

首先,识别出全身人形机器人远程操作的一个主要挑战是缺乏一个针对人形机器人的可行动作数据集,这对于训练能够跟踪多样化动作的控制器至关重要。尽管先前的研究已经探索了人类到人形机器人的直接动作重定向,主要集中在运动方面的努力[23-25],但将大规模的人类动作数据集重定向到人形机器人上带来了新的挑战

也就是说,人类与人形机器人之间显著的动态差异意味着某些人类动作对于人形机器人来说可能是不可行的(例如侧手翻、步幅超过人形机器人腿长的步伐)

鉴于此,他们引入了一种自动化的“模拟到数据”过程,将大规模的人类动作数据集[26-Amass,关于,在此文HumanPlus的1.1.2 训练用于全身控制的low-level policy:Humanoid Shadowing Transformer中有介绍]重定向并优化为适用于现实世界人形机器人体现的动作

  1. 具体来说,我们首先通过逆运动学将人类动作重定向到人形机器人,并训练一个具有特权状态信息访问权限的人形机器人控制器[18-Perpetual humanoid control for real-time
    simulated avatars],以在模拟中模仿未经滤波的动作
  2. 之后,去除特权模仿器无法跟踪的动作序列(we remove the motion sequences that the privileged imitator fails to track)
    通过这样做,创建了一个大规模的人形机器人兼容动作数据集。在获得可行动作的数据集后,再开发了一种可扩展的训练过程,用于现实世界的动作模仿器,该过程结合了广泛的域随机化以弥合模拟与现实之间的差距

    对了,所谓域随机化是在机器人视觉和仿真领域中使用的技术,其核心思想是在训练过程中对模拟环境中的各种参数进行随机化,以便模型能够在不同的外部条件下学习,从而提高模型在现实环境中的泛化能力
  3. 为了促进实时远程操作,设计了一个状态空间,优先考虑现实世界中使用RGB摄像头可获得的输入,例如关键点位置。在推理过程中,我们使用一个现成的人体姿态估计器[27-Hybrik: A hybrid analytical-neural inverse kinematics solution for 3d human pose and shape estimation]来提供全局人体位置以供人形机器人追踪

1.0.2 将人类动作转移到现实世界的仿人机器人上

在基于强化学习的类人控制器出现之前,传统方法通常采用基于模型的优化来跟踪重新定位的动作,同时保持稳定性 [1-Teleoperation of humanoid robots:A survey]

  1. 为此,这些方法在稳定性和接触约束下最小化跟踪误差,需要预定义的接触状态 [6,10,12,13,37–40] 或从传感器估计的接触 [7,9,14,41,42],这限制了在实验室外的大规模部署
  2. Zhang 等人 [11-Slomo: A general system for legged robot motion imitation from casual videos] 使用隐式接触的模型预测控制MPC来跟踪从视频中提取的动作,但轨迹必须首先离线优化以确保动态可行性
    此外,由于计算负担,MPC中使用的模型需要简化 [6,11,14],这限制了可跟踪动作的能力。基于强化学习的控制器可能提供一种不需要明确接触信息的替代方案
  3. 一些研究[43, 44]使用模仿学习将人类风格的动作转移到控制器上,但不能准确跟踪人类动作。Cheng等人[22-Expressive whole-body control for humanoid robots]训练了全身类人控制器,可以从离线的人类动作中复制上半身动作,但下半身依赖于根部速度跟踪,并未跟踪精确的下半身动作

    相比之下,CMU的工作实现了人类动作的实时全身跟踪

1.0.3 人形机器人远程操控

人形机器人遥操作可以分为三种类型:

  1. 任务空间遥操作 [45,46]
  2. 上半身重定向遥操作[47,48]
  3. 全身遥操作 [6,7,13,42,49]

对于第一种和第二种类型,人类与人形机器人之间的共享形态并未得到充分利用,全身控制必须以任务指定的方式解决。这也引发了一个问题,即如果不需要跟踪下半身的运动,机器人可以选择具有更好稳定性的设计,例如四足 [50] 或轮式配置 [51]

CMU的工作属于第三种类型,并且是第一个实现基于学习的全身远程操作的方法。此外,他们的方法不需要在人类远程操作员身上使用捕捉标记或力传感器,因为他们直接使用RGB摄像头捕捉人类动作进行跟踪,这可能为收集大规模类人数据以训练自主代理铺平道路(所以后来的humanplus也是用的这个RGB摄像头的方式捕捉人类动作进行跟踪)

1.1 Retargeting:人类动作重定向至人形机器人

首先,将全身实时人形远程操作建模为目标条件下的RL问题

作为符号惯例,使用表示来自姿态估计器/关键点检测器的运动学量(不包含物理模拟),用表示来自动作捕捉(MoCap)的真实值,而使用没有重音符号的普通符号表示来自物理模拟的数值

为了将问题表述为目标导向的强化学习,其中策略π被训练用于跟踪实时的人体动作

  1. 将学习任务表述为一个由状态集S、动作集A、转移动态T、奖励函数R和折扣因子γ组成的马尔可夫决策过程(MDP):
    \mathcal{M}=\langle\mathcal{S}, \mathcal{A}, \mathcal{T}, \mathcal{R}, \gamma\rangle
    其中,状态s_{t} \in \mathcal{S}、动作a_{t} \in \mathcal{A}\mathcal{T}代表轨迹、\mathcal{R}代表奖励函数
    且状态\boldsymbol{s}_{t}包含本体感知\boldsymbol{s}_{t}^{\mathrm{p}},和目标状态s_{t}^{g}——人类远程操作者全身运动的统一表示
  2. 基于本体感觉s_p^t和目标状态s_g^t,可以定义用于策略训练的奖励
    r_{t}=\mathcal{R}\left(\boldsymbol{s}_{t}^{\mathrm{p}}, \boldsymbol{s}_{t}^{\mathrm{g}}\right)
    动作a_t \in \mathbb{R}^{19}指定了 PD 控制器将用于驱动自由度的关节目标位置
    然后,应用近端策略优化(PPO)[52] 来最大化累积折扣奖励
    E\left[\sum_{t=1}^{T} \gamma^{t-1} r_t\right]

    从而将远程操作任务表述为运动模仿/跟踪/模拟任务,在每一帧训练类人机器人跟踪参考运动

其次,需要参数化人体模型与人体运动数据集

在视觉和图形学界,参数化人体模型「如 SMPL[53,相当于是人形机器人的运动建模方法,可以代表人形机器人,在我解读的humanplus一文中的此节“1.1.2 训练用于全身控制的low-level policy:Humanoid Shadowing Transformer”也有相关介绍]」因其易于处理的人体形状和动作表示而广受欢迎

  1. SMPL 将人体表示为体型参数 β∈R^10,姿势参数\theta \in \mathbb{R}^{24 \times 3},以及根部平移p \in \mathbb{R}^{24 \times 3}
  2. 给定\beta\thetapS表示 SMPL 函数,其中\mathcal{S}(\boldsymbol{\beta}, \boldsymbol{\theta}, \boldsymbol{p}): \boldsymbol{\beta}, \boldsymbol{\theta}, \boldsymbol{p} \rightarrow \mathcal{R}^{6890 \times 3}将参数映射到一个具有 6890 个顶点的人体三角网格的顶点位置
  3. AMASS[26] 数据集包含 40 小时的运动捕捉数据,这些数据用 SMPL 参数表示

最后,为了使仿人机器人能够模仿未编写脚本的人类动作,需要大量的全身动作来训练一个稳健的动作模仿策略

由于人类和仿人机器人在身体结构、形状和动力学方面存在显著差异,直接从人类动作数据集中重新定向的动作可能导致许多仿人机器人无法执行的动作,而这些不可行的动作序列可能会妨碍模仿训练,正如之前的研究所观察到的那样[32-Universal humanoid motion representations for physics-based control]

为了解决这些问题,作者设计了一种“模拟到数据”的方法,以补充传统的重新定向,将大规模的人类动作数据集转换为仿人机器人可行的动作

1.1.1 动作重定向:通过SMPL数据集建模人形以逼近人类动作

由于SMPL运动结构与人形运动之间存在非微不足道的差异,作者针对初始重定向执行了一个两步过程

  1. 首先,由于SMPL身体模型可以表示不同的身体比例,故需要在SMPL中找到一个最接近人形结构的身体形状\boldsymbol{\beta}^{\prime}
    First,since the SMPL body model can represent different body proportions,we first find a body shape β′ closest to the humanoid structure.

    即选择12个在人类和人形之间具有对应关系的关节(We choose 12 joints that have a cor-respondence between humans and humanoids),如下图所示「将SMPL身体拟合到H1人形模型。(a) 人形模型关键点的可视化(红点),(b) 红色的人形模型关键点 分别与 SMPL关键点(绿色点和网格)在拟合SMPL形状β′之前和之后的对比,(c) 拟合前后的对应12个关节位置

    并在形状参数上执行梯度下降,以使用一个通用的静止姿势最小化关节距离(perform gradient descents on the shape parameters to minimize the joint distances using a common rest pose)
    在找到最优的β′后,给定以SMPL参数表示的一系列动作,使用原始的平移p和姿势θ,但使用拟合的形状β′来获取身体关键点的位置集
    After finding the optimal β′, given a sequence of motions ex-pressed in SMPL parameters, we use the original translationp and pose θ, but the fitted shape β′ to obtain the set of body keypoint positions.
  2. 然后,通过使用Adam优化器[54]最小化12个关节位置差异,将动作从人类重定向到人形
    Then we retarget motion from human tohumanoid by minimizing the 12 joint position differencesusing Adam optimizer [54].

    请注意,该重定向过程试图匹配人类的末端执行器到人形(例如脚踝、肘部、手腕),以保持整体运动模式
    Notice that our retargeting process try to match the end effectors of the human to the humanoid (e.g. ankles, elbows, wrists) to preserve the overallmotion pattern.

顺带补充几点

  1. 另一种方法是直接复制人类到人形的局部关节角度,但这种方法可能会由于运动学树的巨大差异导致末端执行器位置的巨大差异
    Another approach is direct copying the localjoint angles from human to humanoid, but that approach can lead to large differences in end-effector positions due to the large difference in kinematic trees.
  2. 此外,在整个过程中,作者还添加了一些基于启发式的过滤,以去除不安全的序列,例如坐在地上。在重定向之前寻找β′的动机是,在静止姿势下,人形在其双脚之间有很大的间隙。如果天真地尝试匹配人类和人形之间的脚部运动,人形运动可能会出现内八字的伪影
    使用β′,可以找到一个在其静止姿势下(如上图所示)有大间隙的人体结构

    最终,在拟合过程中使用β′可以有效地创建更可行的运动,如下图所示「(a) 不使用β′进行重定向,导致不稳定的“内八字”人形动作。(b)使用β′进行重定向,导致平衡的人形动作

  3. 关于重定向的更多细节,还可以看下此文《HumanPlus——斯坦福ALOHA团队开源的人形机器人:融合影子学习技术、RL、模仿学习》中的1.1.2节:训练用于全身控制的low-level policy:Humanoid Shadowing Transformer(含重定位)

1.1.2 基于仿真的数据清洗:提高数据质量

由于人类与电机驱动的人形机器人之间能力的显著差距,即便把AMASS数据集中的13K运动序列\hat{Q},经过计算,得到10k重新定向的运动序列\hat{Q}^{\text {retarget }},依然包含大量在人形上无法实现或不现实的运动(比如里面可能有倒立的运动,而人形在目前情况下 很难倒立)

考虑到从大规模数据集中手动查找这些数据序列可能是一个相当繁琐的过程

  1. 因此,作者提出了一种“模拟到数据”的程序,其中训练了一个动作模仿器\pi_{\text {privileged }}类似于PHC [18-Perpetual humanoid control for real-time simulated avatars]),该模仿器可以访问特权信息privileged information且没有域随机化domain randomization,以模仿所有未被进一步清洗的数据\hat{Q}^{\text {retarget }}
    Thus, we propose a “sim-to-data” procedure, where we train a motion imitator πprivileged (similar to PHC [18]) with accessto privileged information and no domain randomization toimitate all uncleaned data ˆQretarget.
  2. 没有域随机化,\pi_{\text {privileged }}可以在动作模仿中表现良好,但不适合转移到真实的人形机器人
    Without domain random-ization, πprivileged can perform well in motion imitation, butis not suitable for transfer to the real humanoid.
    然而,\pi_{\text {privileged }}代表了动作模仿性能的上限,而\pi_{\text {privileged }}无法模仿的序列则代表不合理的序列

    具体来说,按照PULSE [32-Universal humanoid motion representations for physics-based control]中提出的相同状态空间、控制参数和困难负样本挖掘程序训练\pi_{\text {privileged }},并训练一个单一的模仿策略来模仿整个重定向的数据集

    经过训练,AMASS的1万个动作序列中约有8.5k被证明对H1人形机器人是合理的,将获得的干净数据集称为\hat{\boldsymbol{Q}}^{\text {clean }}

1.2 Sim-to-Real的训练

1.2.1 动作模仿器的训练:从本体状态到目标状态

接下来,为了训练\pi_{\text {privileged }},故遵循PULSE [32],并训练一个具有“人形机器人的完整刚体状态访问权限”的动作模仿器「To train πprivileged, wefollow PULSE [32] and train a motion imitator with access to the full rigid body state of the humanoid

  1. 具体来说,对于特权策略——privileged policy \pi_{\text {privileged }},其本体感受定义为
    \boldsymbol{s}_{t}^{\mathrm{p} \text {-privileged }} \triangleq\left[\boldsymbol{p}_{t}, \boldsymbol{\theta}_{t}, \boldsymbol{v}_{t}, \boldsymbol{\omega}_{t}\right]
    其中包含了人形机器人的所有刚体的全局三维位置\boldsymbol{p}_{t}、方向\theta_{t}、线速度\boldsymbol{v}_{t}和角速度\boldsymbol{\omega}_{t}
  2. 目标状态定义为
    \boldsymbol{s}_{t}^{\text {g-privileged }} \triangleq\left[\hat{\boldsymbol{\theta}}_{t+1} \ominus \left.\boldsymbol{\theta}_{t}, \hat{\boldsymbol{p}}_{t+1}-\boldsymbol{p}_{t}, \hat{\boldsymbol{v}}_{t+1}-\boldsymbol{v}_{t}, \hat{\boldsymbol{\omega}}_{t}-\boldsymbol{\omega}_{t}, \hat{\boldsymbol{\theta}}_{t+1}, \hat{\boldsymbol{p}}_{t+1}\right]\right.
    其中包含了人形机器人中所有刚体的当前模拟结果与参考结果之间的一帧帧差异(which contains the one-frame difference between the reference and current simulation result for all rigid bodies on the humanoid)
    它还包含了下一帧的参考刚体方向和位置,所有值都被归一化到人形机器人的坐标系中

    注意,所有值都是全局的,像全局刚体线速度vt和角速度ωt这样的值在现实世界中很难准确获得

1.2.2 整体训练流程图:包含Retargeting、Sim-to-Real、Real-time遥控

有了上述的Retargeting和Sim-to-Real的训练,可知整个训练过程前两部分如下图所示(建议好好品味下图,流程画的非常清晰)

  1. 重定向:H2O首先通过优化形状参数将SMPL身体模型对齐到类人结构
    然后,H2O使用训练好的特权模仿策略重新定向并去除不可行的动作,从而生成一个干净的动作数据集
  2. 仿真到现实训练:通过从清理后的数据集中采样的动作目标来训练模仿策略
  3. 实时遥操作部署:实时遥操作部署通过RGB摄像头和姿态估计器捕捉人类动作,然后人形机器人使用训练好的Sim-to-Real模仿策略进行模仿

接下来,咱们考虑全身遥操作下的策略训练

1.3 全身遥操作策略训练

1.3.1 状态空间

为了实现人形机器人实时遥操作,强化学习策略的状态空间必须仅包含在现实世界中可获得的量

这与仅限于模拟的方法不同,例如,在模拟中所有的物理信息(例如,足部接触力)都是可用的。但在现实世界中,由于缺乏惯性测量单元(IMU),无法获取每个关节的精确全局角速度,但特权策略\pi_{\text {privileged }}需要这些信息

  1. 故在状态空间设计中,本体感受由\boldsymbol{s}_{t}^{\mathrm{p}} \triangleq\left[\boldsymbol{q}_{t}, \dot{\boldsymbol{q}}_{t}, \boldsymbol{v}_{t}, \boldsymbol{\omega}_{t}, \boldsymbol{g}_{t}, \boldsymbol{a}_{t-1}\right]定义,其中
    关节位置\boldsymbol{q}_{t} \in \mathbb{R}^{19}——相当于自由度(DoF)位置
    关节速度\dot{\boldsymbol{q}}_{t} \in \mathbb{R}^{19}——相当于DoF速度
    根部线速度\boldsymbol{v}_{t} \in \mathbb{R}^{3},根部角速度\boldsymbol{\omega}_{t} \in \mathbb{R}^{3},根部投影重力\boldsymbol{g}_{t} \in \mathbb{R}^{3}
    以及上一次动作\boldsymbol{a}_{t-1} \in \mathbb{R}^{19}
  2. 目标状态是\boldsymbol{s}_{t}^{\mathrm{g}} \triangleq\left[\hat{\boldsymbol{p}}_{t}^{\mathrm{kp}}, \hat{\boldsymbol{p}}_{t}^{\mathrm{kp}}-\boldsymbol{p}_{t}^{\mathrm{kp}}, \hat{\boldsymbol{\boldsymbol { p }}}_{t}^{\mathrm{kp}}\right]
    \hat{\boldsymbol{p}}_{t}^{\mathrm{kp}} \in \mathbb{R}^{8 \times 3}是八个选定的参考身体位置的位置(肩膀、肘部、手、脚踝)
    \hat{\boldsymbol{p}}_{t}^{\mathrm{kp}}-\boldsymbol{p}_{t}{ }^{\mathrm{kp}}指参考关节与人形机器人自身关节之间的位置差异;
    \hat{\dot{\boldsymbol{p}}}_{t}^{\mathrm{kp}}是参考关节的线速度。所有数值均归一化到人形机器人的自身坐标系
  3. 作为对比,还考虑一个简化的目标状态\boldsymbol{s}_{t}^{\mathrm{g} \text {-reduced }} \triangleq\left(\hat{\boldsymbol{p}}_{t}^{\mathrm{kp}}\right)
    其中仅包含参考位置\hat{\boldsymbol{p}}_{t}^{\mathrm{kp}},而不包含位置差异
    敏捷策略的动作空间由19维关节目标组成,一个PD控制器通过将这些关节目标转换为关节力矩来跟踪它们:\tau=K_{p}\left(\boldsymbol{a}_{t}-\boldsymbol{q}_{t}\right)-K_{d} \dot{\boldsymbol{q}}_{t}

1.3.2 奖励的设计

作者将奖励函数r_t表述为三个部分的总和:1)惩罚;2)正则化;以及 3)任务奖励,详细总结见下表:奖励组件及权重(用于防止不期望行为的惩罚奖励、用于优化动作的正则化,以及用于实现实时全身跟踪成功的任务奖励)

请注意,虽然这个状态空间中只有八个选定的身体位置 \hat{\boldsymbol{p}}_{t}^{\mathrm{kp}},但作者为模仿任务提供了六个全身奖励项(自由度位置、自由度速度、身体位置、身体旋转、身体速度、身体角速度),相当于这些丰富的奖励为高效的强化学习训练提供了更密集的奖励信号

1.3.3 域随机化Domain Randomization

在H2O中使用的所有域随机化列在下表中

包括地面摩擦系数、连杆质量、躯干连杆的质心位置、PD控制器的PD增益、每个关节实际施加扭矩的扭矩噪声、控制延迟、地形类型。连杆质量和PD增益对于每个连杆和关节是独立随机化的,其余则是情节随机化,这些域随机化可以有效促进现实世界动态和硬件差异的仿真到现实转移

1.3.4 提前终止条件

作者引入了三个提前终止条件,以提高强化学习训练过程的样本效率:

  1. 低高度:基础高度低于0.3米
  2. 方向:在x或y轴上的重力投影超过0.7
  3. 远程操作容忍度:机器人与参考动作之间的平均连杆距离超过0.5米

第二部分 OmniH2O——通用灵巧且可全身远程操作并学习的人形机器人

2.1 整体概览OmniH2O

2.1.1 OmniH2O的特点

24年6.13日(humanplus是24年6.15,television则是24年7月初),来自CMU、上交的研究者们「Tairan He, Zhengyi Luo, Xialin He, Wenli Xiao, Chong Zhang, Weinan Zhang, Kris Kitani, Changliu Liu, Guanya Shi(标粗的标识也是H2O的作者)」,在上文H2O的基础上,通过《OmniH2O: Universal and Dexterous Human-to-Humanoid Whole-Body Teleoperation and Learning》此篇论文发布OmniH2O

OmniH2O使用运动学姿态作为通用控制接口,使人类能够通过多种方式控制具有灵巧双手的全尺寸人形机器人,包括通过VR头显进行实时遥操作、语音指令和RGB相机。OmniH2O还通过从遥操作示范中学习或与前沿模型(如GPT-4o)集成,实现完全自主

2.1.2 其与前身H2O、其他机器人的对比

与它的前身H20、以及与之前一些带虚拟现实的人形机器人有何异同呢

  1. H2O [3] 提出了一种基于强化学习的全身远程操作框架,该框架使用第三人称RGB摄像头获取人类远程操作者的全身关键点
    然而,由于基于RGB的姿态估计存在延迟和不准确性,以及对全局线性速度估计的要求,H2O [3] 在测试时需要使用动作捕捉(MoCap),仅支持简单的移动任务,并且在精细操作任务中缺乏精度
    相比之下,OmniH2O 能够在室内和野外实现高精度的灵巧移动操作
  2. 且OmniH2O为了控制全尺寸的人形机器人,提出了多种接口,如外骨骼 [31]、动作捕捉 [32,33] 和虚拟现实 [34,35]
    最近,由于其能够利用稀疏输入创建全身运动,基于虚拟现实的人形机器人控制 [36,37,38,39] 在图形学界引起了关注

    然而,这些基于虚拟现实的工作仅专注于动画的人形机器人控制,并不支持移动操作。而OmniH2O则可以控制真实的人形机器人完成现实世界的操作任务
  3. 此外,机器人领域的一个主要挑战是公开可用的数据集数量有限,相较于语言和视觉任务的数据集[40]。近期的努力[40,41,42,43,44,45,46,47]集中在使用各种不同的机器人平台收集用于不同任务的机器人数据

    然而,这些数据集大多是通过固定基座的机器人手臂平台收集的。即便是迄今为止最全面的数据集之一——Open X-Embodiment [40],也不包括人形机器人的数据

    故,OmniH2O算是首个发布全尺寸人形机器人全身运动操控数据集的团队

2.2 深入细节:通用且灵活的人类到仿人全身控制

与H2O类似,OmniH2O也将学习问题表述为目标条件强化学习goal-conditioned RL

  1. 该学习问题针对一个由元组\mathcal{M}=\langle\mathcal{S}, \mathcal{A}, \mathcal{T}, \mathcal{R}, \gamma\rangle定义的马尔可夫决策过程(MDP),其中包含状态S、动作at∈A、转移T、奖励函数R和折扣因子γ
    状态\boldsymbol{s}_{t}包含本体感知s_{t}^{\mathrm{p}}和目标状态\boldsymbol{s}_{t}^{\mathrm{g}}
    目标状态s_{t}^{\mathrm{g}}包括来自人类遥控操作员或自主代理的运动目标
  2. 基于本体感知s_{t}^{\mathrm{p}}、目标状态\boldsymbol{s}_{t}^{\mathrm{g}}和动作a_t,定义奖励
    r_{t}=\mathcal{R}\left(s_{t}^{\mathrm{p}}, \boldsymbol{s}_{t}^{\mathrm{g}}, \boldsymbol{a}_{t}\right)
    其中,动作a_t指定目标关节角度,并通过 PD 控制器驱动电机

    且应用近端策略优化算法PPO来最大化累积折扣奖励
    E\left[\sum_{t=1}^{T} \gamma^{t-1} r_t\right]
  3. 在这项工作中,作者研究运动模仿任务,其中策略\pi_{\text{OmniH2O}}被训练用于跟踪下图 所示的实时运动输入

    此任务为类人控制提供了通用接口,因为运动姿态可以由许多不同的来源提供
    且,将运动姿态定义为q_t \equiv (\theta_t, p_t),由类人模型上所有关节的 3D 旋转\theta_t和位置p_t组成
    另,为了定义速度\dot{q}_{1:T},有\dot{q}_t \equiv (\omega_t, v_t),其中\omega_t为角速度,v_t为线速度
  4. 作为符号惯例,使用\tilde{\cdot}表示来自 VR 头显或姿态生成器的运动学量,使用\hat{\cdot}表示来自 MoCap 数据集的真实值,而不带重音的符号表示来自物理模拟或真实机器人的数值

2.2.1 人体运动重定向

类似类似H2O的重定向过程,OmniH2O也使用来自AMASS [49]数据集的重定向动作训练OmniH2O的动作模仿策略

但H2O的一个主要缺点是人形机器人倾向于采取小的调整步伐而不是静止不动。为了增强稳定站立和下蹲的能力,我们通过添加包含固定下半身动作的序列来偏向OmniH2O的训练数据

具体来说,对于数据集中的每个动作序列\hat{\boldsymbol{q}}_{1: T},再定义\hat{\boldsymbol{q}}_{1: T}^{\text {stable }}以达到将根部位置和下半身稳定为下图所示的站立或蹲下姿势

2.2.2 奖励与域随机化

为了训练适合作为现实世界中可部署的学生策略的教师的\pi_{\text {privileged }},OmniH2O采用了模仿奖励和正则化奖励

之前的研究[18,3]经常使用诸如脚部空中时间或脚部高度这样的正则化奖励来塑造下半身的动作。然而,这些奖励导致人形机器人为了保持平衡得不断跺脚,而不是静止站立

为了鼓励在运动中静止站立和迈大步,OmniH2O提出了一个关键的奖励函数:每一步的最大脚部高度。他们发现,当结合精心设计的curriculum应用此奖励时,它能有效帮助强化学习决定何时站立或行走

2.2.3 教师:特权模仿策略

在对人形机器人进行真实世界的遥操作时,许多在仿真中可以获取的信息(例如,每个身体连接的全局线性/角速度)是无法获得的

此外,遥操作系统的输入可能是稀疏的(例如,对于基于VR的遥操作,仅已知手和头部的姿态),这使得强化学习优化具有挑战性

  1. 为了解决这个问题,OmniH2O首先训练一个使用特权状态信息的教师策略,然后将其提炼到一个状态空间有限的学生策略中
    相当于如下图所示, sim-to-real策略通过监督学习从使用特权信息训练的强化学习教师策略中提炼而成

    举个例子,学生先提出一个目标状态
    \rightarrow  首先,老师先在仿真环境中示范一遍如何更好的从老师当下的状态s_{t}^{\text {p-privileged }}做到目标状态s_{t}^{\text {g-privileged }},这个过程中有老师的策略或经验,比如\pi_{\text {privileged }}
    \rightarrow  然后,学生再在实践环境中,同样的按照曾经老师之前的状态\boldsymbol{s}_{t}^{\text {p-real }}自行独立做到目标状态\boldsymbol{s}_{t}^{\text {g-real }},这个过程中有学生的策略或经验,比如\pi_{\mathrm{OmniH} 2 \mathrm{O}}
    为何必须如此呢,因为只有当下状态基本一致、目标状态基本一致,才具备可比或学习性,哈,不知屏幕前的你,通透了否

    那为何学生需要向老师学习呢
    因为老师是在仿真环境中,属于理论派,可以更好的挖掘理论上可行的方法
    而学生是在真实环境中,属于实践派,虽说理论指导实践,但两者之间有时是有差距的,即老师在仿真环境中实现的好动作,学生在实践中不一定能高水准的复现(此即所谓现实与理想之间的差距)
    而这,刚好就是所谓的Sim-to-Real


    总之,获得特权状态可以帮助强化学习找到更优的解决方案,正如之前的研究[50-Learning quadrupedal locomotion over challenging terrain]和OmniH2O的实验所示
  2. 故OmniH2O训练一个特权运动模仿器
    \pi_{\text {privileged }}\left(\boldsymbol{a}_{t} \mid \boldsymbol{s}_{t}^{\mathrm{p} \text {-privileged }}, \boldsymbol{s}_{t}^{\mathrm{g} \text {-privileged }}\right)

    本体感觉被定义为
    \boldsymbol{s}_{t}^{\mathrm{p} \text {-privileged }} \triangleq\left[\boldsymbol{p}_{t}, \boldsymbol{\theta}_{t}, \dot{\boldsymbol{q}}_{t}, \boldsymbol{\omega}_{t}, \boldsymbol{a}_{t-1}\right]

    其中包含类人刚体的位置p_t、方向\theta_t、线速度\dot{q}_t、角速度 \omega_t以及前一个动作a_{t-1}

    目标状态被定义为
    s_t^{g-\text{privileged}} \equiv [\hat{\theta}_{t+1} \ominus \theta_t, \hat{p}_{t+1} - p_t,\hat{v}_{t+1} - v_t, \hat{\omega}_{t} - \omega_t, \hat{\theta}_{t+1}, \hat{p}_{t+1}]
    其中包含参考姿态\hat{\theta}_t, \hat{p}_t以及类人所有刚体的参考状态与当前状态之间的单帧差异

2.2.4 学生:具有历史记录的Sim-to-Real模仿策略

OmniH2O设计的控制策略通过使用运动学参考动作作为中间表示,使其兼容多种输入来源。由于估计全身运动\tilde{\boldsymbol{q}}_{t}(包括旋转和平移)较为困难(特别是从VR头戴设备获取),故选择仅通过位置\tilde{\boldsymbol{p}}_{t}来控制人形机器人进行远程操作

具体而言

  • 对于真实的操控, 目标状态是
    \boldsymbol{s}_{t}^{\text {g-real }} \triangleq\left(\tilde{\boldsymbol{p}}_{t}^{\text {real }}-\boldsymbol{p}_{t}^{\text {real }}, \tilde{\boldsymbol{v}}_{t}^{\text {real }}-\boldsymbol{v}_{t}^{\text {real }}, \tilde{\boldsymbol{p}}_{t}^{\text {real }}\right)
    上标“真实”表示使用来自VR头显的3个可用点(头部和双手)。对于其他控制接口(例如RGB、语言),他们使用相同的3点输入以保持一致性,尽管可以轻松扩展到更多关键点以减少歧义

    那为何使用3点输入呢,原因在于他们测试了从最小(3个)到全身动作目标(22个)的配置,发现3点追踪可以在性能上与更多输入关键点相媲美。如他们所预料到的,3点策略在某种程度上牺牲了全身动作追踪的精确性,但在适用于市售设备方面具有更大的实用性
    说白了,牺牲一定的准确性以换取更大的实用性
  • 对于本体感觉,学生策略
    \boldsymbol{s}_{t}^{\mathrm{p} \text {-real }} \triangleq\left(\boldsymbol{d}_{t-25: t}, \dot{\boldsymbol{d}}_{t-25: t}, \boldsymbol{\omega}_{t-25: t}^{\text {root }}, \boldsymbol{g}_{t-25: t}, \boldsymbol{a}_{t-25-1: t-1}\right)
    使用在现实世界中易于获取的值,包括
    关节(自由度)位置\boldsymbol{d}_{t-25: t}
    关节速度\dot{d}_{t-25: t}
    根部角速度\boldsymbol{\omega}_{t-25: t}^{\text {root }}
    根部重力\boldsymbol{g}_{t-25: t}
    先前动作\boldsymbol{a}_{t-25-1: t-1}
    顺带解释一下,为何是25步呢?原因在于作者在不同的历史步骤(0, 5, 25, 50)都进行了实验,他们发现25步在性能和学习效率之间达到了最佳平衡

    历史数据的包含有助于通过我们的师生监督学习提高策略的稳健性。请注意,他们的观察中没有包含全局线速度v_t信息,策略通过历史信息隐式学习速度。这消除了像H2O [3]中对动作捕捉的需求,并进一步增强了在野外部署的可行性

2.2.5 策略蒸馏:学生策略向老师策略的逼近与学习

接下来,按照DAgger[51]框架训练可部署的远程操作策略\pi_{\mathrm{OmniH} 2 \mathrm{O}}

  1. 对于每个回合,在模拟中运行学生策略
    \pi_{\mathrm{OmniH} 2 \mathrm{O}}\left(\boldsymbol{a}_{t} \mid \boldsymbol{s}_{t}^{\text {p-real }}, \boldsymbol{s}_{t}^{\text {g-real }}\right)
    来获得
    \left(s_{1: T}^{\text {p-real }}, s_{1: T}^{\text {g-real }}\right)
    的轨迹
    即for each episode,we roll out the student policy πOmniH2O(at|sp-realt, sg-realt) in simulation to obtain trajectories of (sp-real1:T , sg-real1:T ).

    通过使用参考姿态\hat{\boldsymbol{q}}_{1: T}和模拟的人形状态s_{1: T}^{\mathrm{p}},可以计算特权状态
    \boldsymbol{s}_{t}^{\mathrm{g} \text {-privileged }}, \boldsymbol{s}_{t}^{\mathrm{p} \text {-privileged }} \leftarrow\left(\boldsymbol{s}_{t}^{\mathrm{p}}, \hat{\boldsymbol{q}}_{t+1}\right)
    即Using the ref-erence pose ˆq1:T and simulated humanoid states sp1:T , we can compute the privileged statessg-privilegedt, sp-privilegedt←(spt, ˆqt+1).
  2. 然后,使用\left(s_{t}^{\mathrm{p} \text {-privileged }}, s_{t}^{\mathrm{g} \text {-privileged }}\right)对进行查询
    向教师
    \pi_{\text {privileged }}\left(\boldsymbol{a}_{t}{ }^{\text {privileged }} \mid \boldsymbol{s}_{t}^{\mathrm{p} \text {-privileged }}, \boldsymbol{s}_{t}^{\mathrm{g} \text {-privileged }}\right)
    请求计算参考动作\boldsymbol{a}_{t}{ }^{\text {privileged }}

    即Then, using the pair (sp-privilegedt, sg-privilegedt), we query the teacher πprivileged(atprivileged|sp-privilegedt, sg-privilegedt) to calculate the reference action atprivileged.
  3. 为了更新\pi_{\mathrm{OmniH} 2 \mathrm{O}},损失函数为
    \mathcal{L}=\left\|\boldsymbol{a}_{t}{ }^{\text {privileged }}-\boldsymbol{a}_{t}\right\|_{2}^{2}

最终,实验表明,可部署的学生策略在动作模仿方面显著优于之前的研究[3-即H2O,Learning human-to-humanoid real-time whole-body teleoperation],并且达到了与教师策略相似的成功率

2.2.6 灵巧的手部控制

如下图3(c)所示「OmniH2O的通用设计支持多种人类控制接口,包括VR头显、RGB摄像头、语言等,且还支持通过自主代理进行控制,如GPT-4o或使用通过远程操作收集的数据集训练的模仿学习策略

他们使用VR [52, 53] 估计的手部姿态,并基于逆运动学直接计算现成的低级手部控制器的关节目标

在这项工作中,使用VR进行灵巧的手部控制,但手部姿态估计也可以由其他接口(例如,MoCap手套 [54] 或RGB摄像头 [55])替代

2.3 趣味工作:语音指令控制机器人干活与GPT4o加持

2.3.1 语音指令控制机器人做动作

通过将\pi_{\mathrm{OmniH} 2 \mathrm{O}}与预训练的文本到动作生成模型MDM[57-Human motion diffusion model]连接,实现了通过语音指令控制人形机器人

如下图所示

人类可以描述所需的动作,例如“举起你的右手”,然后MDM生成相应的动作目标,由OmniH2O跟踪「with humans describing desired motions, such as “raise your right hand”. MDM generatesthe corresponding motion goals that are tracked by the OmniH2O

我个人感觉到很amazing,毕竟确实挺酷的,直接口头让机器人干活

  1. 语音模型根据人类语音转换成文本
  2. 然后类似MDM、Momask这样的模型再根据文本生成3D骨骼动画,作为机器人的动作目标
  3. 然后用训练好的策略\pi_{\mathrm{OmniH} 2 \mathrm{O}} 去驱动人形机器人达到该动作目标

我真的好想复现这个工作了..

2.3.2 GPT-4o自主控制

作者将系统OmniH2O与GPT-4o集成,使用安装在人形机器人上的头戴式摄像机为GPT-4o捕捉图像

提供给GPT-4o的提示提供了几种运动原语供其选择——基于当前的视觉环境

以下是用于自主拳击任务的示例提示:

  • 你是一个人形机器人,头部装备了一台稍微向下倾斜的摄像机,提供第一人称视角
    我给你分配一个任务:当一个蓝色目标出现在你面前时,伸出并收回你的左拳
    当一个红色目标出现时,用你的右拳做同样的动作。如果面前没有目标,则保持静止

    每次我会给你三个选项:向前移动你的左手,向前移动你的右手,或者保持不动。你应该根据当前图像直接用相应的选项A、B或C作出回应。请注意,你自己也戴着蓝色的左拳击手套和红色的右拳击手套,请不要将它们识别为拳击目标
    现在,请根据当前图像为我提供A、B、C的答案

对于使用HumanTask实现自主问候,给的提示是:

  • 你是一台人形机器人,头部配备了一台稍微向下倾斜的摄像头,提供第一人称视角
    我给你分配了一个新任务,要求你对面前的人类手势作出回应。记住,人是面对着你站立的,所以要注意他们的手势
    如果有人伸出右手与你握手,请用你的右手握住他们的右手(选项A)
    如果有人张开双臂准备拥抱,请张开你的双臂回应拥抱(选项B)
    如果你看到有人挥手告别,请挥手回应(选项C)
    如果没有明显的手势,请保持静止(选项D)
    根据当前图像和观察到的手势,直接用相应的选项A、B、C或D来回应。仅直接回复A、B、C或D,不要包含任何其他字符

之所以选择运动原语而不是直接生成运动目标,是因为GPT-4o的响应时间相对较长。如上图所示,机器人能够根据目标的颜色给出正确的出拳,并根据人类姿势所表明的意图成功地与人类打招呼

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐