英伟达HOVER——用于人形机器人的多功能全身控制器:整合不同的控制模式且实现彼此之间的无缝切换

news2024/11/14 5:51:10

前言

前几天,一在长沙的朋友李总发我一个英伟达HOVER的视频(自从我今年年初以来持续不断的解读各大顶级实验室的最前沿paper、以及分享我司七月在具身领域的探索与落地后,影响力便越来越大了,不断加油 ),该视频说的有点玄乎,但我还是记住了这个工作

这两天仔细看了下HOVER的论文:HOVER: Versatile Neural Whole-Body Controller for Humanoid Robots,原来这个工作是与之前本博客内介绍过的H2O、OmniH2O的工作是一脉相承的,包括这三篇论文的一作都是Tairan He(只是HOVER想做的是统一各个控制模式——H2O OmniH2O/ExBody/HumanPlus,且让各个模式之间可以自由切换)

顺带我们也回顾下本博客内已经介绍过的各种人形机器人

  • Open-television,也是HOVER的第1篇参考文献
    UC San Diego的三大机器人:AnyTeleop、Open-TeleVision、Bunny-VisionPro——从RGB相机到VR远程控制机器人
  • Okami,是HOVER第3篇参考文献
    从根据视频学习的SeeDo(VLM生成规划和代码),到UT Austin的两大人形机器人OKAMI、Harmon
  • Digit,HOVER的第4篇参考文献
    带RL的机器人:从类似预测下一个token的伯克利Digit到CMU 18万机器人
  • OmniH2O,第9篇参考文献,作者是Tairan He, Zhengyi Luo, Xialin He, Wenli Xiao, Chong Zhang, Weinan Zhang, Kris Kitani, Changliu Liu, Guanya Shi

    H2O,第10篇参考文献,作者是Tairan He, Zhengyi Luo, Wenli Xiao, Chong Zhang, Kris Kitani, Changliu Liu, Guanya Shi
    OmniH2O——通用灵巧且可全身远程操作并学习的人形机器人(其前身H2O是HumanPlus的重要参考)
  • ExBody,第12篇参考文献,作者是Xuxin Cheng, Yandong Ji, Junming Chen, Ruihan Yang, Ge Yang, Xiaolong Wang
    从MDM、RobotMDM到UC San Diego的Exbody——人体运动扩散模型:赋能机器人的训练
  • HumanPlus,第13篇参考文献
    HumanPlus——斯坦福ALOHA团队开源的人形机器人:融合影子学习技术、RL、模仿学习

HOVER最大的意义在于

  1. 在此之前,机器人要完成不同的任务必须依赖特定的控制策略
    举个例子,如果我们希望人形机器人进行导航,那就要依赖于根速度或位置跟踪进行专门优化;要是想让机器人去完成端茶、擦桌子这样的桌面任务,就需要优先考虑上半身关节角度跟踪
    每换一个方向就要更改策略重新训练一次
  2. 那么有没有一种通用的训练策略,能够在不用更换控制模式的情况下训练多种任务呢?
    有了,就是HOVER

    意在把导航、桌面操作等任务的共通点提炼成全身运动模仿,让机器人通过学习通用的运动技能来训练全身控制模式。一通百通,全身运动会了,端个茶带个路也是轻而易举
    从而将多种控制模式整合成统一的策略,且还能在保留各模式独特功能的同时,实现模式间的自然衔接
    说白了,可以在一台人形机器人身上集成多种不同的控制模式(比如H2O模式、OmniH2O模式、ExBody模式、HumanPlus模式),且可以让他们随意切换

最大的不足则是,HOVER没开放代码

第一部分 HOVER

1.1 HOVER提出的背景及相关工作

1.1.1 背景

人形机器人是一种多功能的形态,支持多种机器人任务和应用,包括双手操作[1–3,即open-television、Learning visuotactile skills with two multifingered hands、Okami]、双足行走[4–7]和灵活的全身控制[8–14]。尽管这些努力展示了令人印象深刻的成果,每个项目都根据其特定任务和场景使用了不同的全身控制公式

  1. 一些使用根速度跟踪[5-Reinforcement learning for versatile, dynamic, and robust bipedal locomotion control,6-Humanoid parkour learning]来支持行走
    根部速度跟踪仅用于运动能力,并用于仿人的导航和地形穿越

    一些选择关节角度跟踪[12-ExBody,13-HumanPlus]以实现富有表现力的动作
    局部关节角度跟踪是跟踪仿人的局部关节角度,可以被认为是运动学运动模仿的特例,其中全局位置信息被舍弃

    还有一些使用选定身体关键点的运动学跟踪[9-OmniH2O,10-H2O]来支持远程操作
    运动学运动跟踪指的是跟踪仿人身体上每个刚体的全身运动学运动,深受图形学社区中的运动模仿文献[38–41]的启发

    当然,还可以结合不同的上身和下身控制模式:例如,上身可以使用局部关节角跟踪进行控制,而下身则使用速度跟踪[12]。即使在相同的运动学跟踪模式中,稀疏性设计也会因所选关键点而有所不同[9-OmniH2O,10-H2O]
  2. 虽然这些方法在运动跟踪的最终目标上相似,但它们需要任务特定的控制器接口和奖励设计。这不仅使开发过程重复且耗时,还限制了最终全身控制器的多功能性

    例如,使用根速度跟踪[5,6]在不平坦地形上进行双足行走的机器人,将难以无缝切换到需要精确双手操作的任务,此时可能需要关节角度或末端执行器跟踪[2,12,13]。这些任务特定的依赖性限制了多功能性,因为每个控制器都被限制在单一的控制模式

    除了运动跟踪之外,许多预训练的操作策略[15-Open x-embodiment: Robotic learning datasets and rt-x models,16-Openvla: An open-source vision-language-action model]需要在不同的配置空间中运行,例如关节角度和末端执行器位置。这种变化性突显了需要一个统一的低级人形控制器,能够适应多种控制模式配置

    说白了,就是大家用的算法或控制策略,可能在某一套硬件上能比较好的work,但可能换到另一个硬件上,则不一定能很好的work,尽管它们都是机器人
    正由于这些控制模式都是独立开发的,彼此之间不兼容。在这项工作中,故HOVER想统一所有这些控制模式,即将多种控制模式下的运动技能整合为一个统一的策略

1.1.2 HOVER及其优势

为此,来自NVIDIA、CMU、UC Berkeley、UT Austin(得克萨斯大学奥斯汀分校)、UC San Diego的研究者们

  • Tairan He*1,2(他是a second-year Ph.D. student at the Robotics Institute at Carnegie Mellon University, advised by Guanya Shi and Changliu Liu. I am also a member of NVIDIA GEAR group led by Jim Fan and Yuke Zhu)
  • Wenli Xiao*1,2、Toru Lin1,3、Zhengyi Luo1,2、Zhenjia Xu1、Zhenyu Jiang1,4、Jan Kautz1
  • Changliu Liu2Guanya Shi2
  • Xiaolong Wang1,5
  • Linxi "Jim" Fan†1、Yuke Zhu†1,4
    「以上标粗的同时也是OmniH2O的作者,且最后两个作者带的†表示是GEAR Team Leads」

提出了HOVER

其是一个用于人形全身控制的统一神经控制器——旨在学习一种统一的控制策略,可以直接用于使用不同控制模式控制真实的人形机器人「we aim to learn a unified control policy that can be directly used to control real humanoids using different control modes

如下图所示,4个机器人分别代表H2O模式、OmniH2O模式、ExBody模式、HumanPlus模式,但不同控制模式下背后对应的策略可以统一为HOVER策略

且其支持如下图图1所示的多种控制模式,包括用于真实世界应用的超过15种有用模式,且适用于19自由度的人形机器人

  • 这种多功能的命令空间涵盖了大多数先前工作中使用的模式[9,10,12,13]。为了确保在任务中具有良好泛化能力的稳健运动技能基础,作者训练了一个预言机运动模仿器,以模仿来自MoCap的大规模人类运动数据[17],涵盖多种类型运动和控制目标
  • 且还通过策略蒸馏过程,将这些运动技能从原始策略转移到一个能够处理多种控制模式的“通用策略”中。结果表明,生成的多模式策略不仅支持多样的控制模式,而且在下图图3中展示的结果显示「在相应模式下,之前工作的专家(蓝色)HOVER的通用策略(绿色)之间的比较。使用的指标是:上/下关节误差(弧度)、全局/局部身体位置误差(毫米)、根速度误差(米/秒)和根旋转误差(弧度)。这些指标评估每种策略在不同控制模式下对参考动作和关节配置的跟踪准确性」,其性能优于为每种模式单独训练的策略

    作者假设这是因为策略利用了跨模式共享的物理知识,例如维持平衡、类人运动和精确的肢体控制。这些共享技能增强了泛化能力,从而在所有模式下实现更好的性能
    他们宣称,相比之下,单模式策略通常对特定的奖励结构和训练环境过拟合,限制了其适应性。HOVER的多模式通用策略还实现了模式之间的无缝切换,使其既稳健又多才多艺

1.2 HOVER的方法

1.2.1 面向目标的RL用于人形控制

作者将问题表述为一个目标条件强化学习任务,其中策略\pi被训练用于跟踪实时的人体运动

  1. 状态\boldsymbol{s}_{t}包括代理的本体感受s_{t}^{\mathrm{p}}和目标状态s_{t}^{\mathrm{g}}
    其中,目标状态s_{t}^{\mathrm{g}}提供了目标运动目标的统一表示(在原论文中第II-B节详细描述)
  2. 利用代理的本体感受s_{t}^{\mathrm{p}}和目标状态s_{t}^{\mathrm{g}},定义奖励
    r_{t}=\mathcal{R}\left(s_{t}^{\mathrm{p}}, s_{t}^{\mathrm{g}}\right)
    用于策略优化
  3. 动作\boldsymbol{a}_{t} \in \mathbb{R}^{19}表示目标关节位置,这些位置被输入到PD控制器中以驱动机器人的自由度。且作者采用近端策略优化(PPO)算法 [18] 来最大化累计折扣奖励
    \mathbb{E}\left[\sum_{t=1}^{T} \gamma^{t-1} r_{t}\right]
    该设置被框定为一个命令跟踪任务,其中人形机器人学习在每个时间步跟随目标命令

上面HOVER这里的表述与H2O、OmniH2O的表述是一致的(关于H2O/OmniH2O的介绍,如本文开头所说,详见此文:OmniH2O——通用灵巧且可全身远程操作并学习的人形机器人(其前身H2O是HumanPlus的重要参考))

  • H2O中
    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]
  • OmniH2O则也一致
    基于本体感知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)

1.2.2 仿人控制的命令空间设计

在腿式运动中,根速度[19]或位置跟踪[20]是常用的命令空间。然而,仅关注根跟踪会限制仿人机器人的全部能力,尤其是在全身运动操作任务中

作者观察到,尽管先前的工作[9,10,12,13]引入了具有不同优缺点的控制模式,但每种模式通常都针对特定任务子集进行定制,因此缺乏通用仿人控制所需的灵活性。相反,作者的目标是设计一个综合控制框架,以适应各种场景并对各种人形任务皆具有适应性

为实现这一目标,命令空间必须构建以满足以下关键标准:

  • 通用性:命令空间应涵盖大多数现有配置,允许通用控制器在不牺牲性能或多功能性的情况下替换任务专用控制器。该空间应具有足够的表达能力,以便与现实世界的控制设备接口,包括如图1所示的操纵杆、键盘、动作捕捉系统、外骨骼和虚拟现实(VR)头戴设备
  • 原子性:命令空间应由独立的维度组成,使得控制选项可以任意组合,以支持各种模式

基于这些标准,作者为人形机器人全身控制定义了一个统一的命令空间。这个空间由两个主要控制区域组成——上半身控制和下半身控制——并包含三种不同的控制模式:

  1. 运动学位置跟踪:机器人关键刚体点的目标3D位置
  2. 局部关节角度跟踪:每个机器人电机的目标关节角度
  3. 根部跟踪:目标根部速度、高度和方向,由滚动、俯仰和偏航角指定

在作者的框架中,如下图图1所示

引入了一个独热掩码向量来指定指令空间中哪些组件被激活用于跟踪。最近关于基于学习的人形全身控制的工作[9,10,12,13],如下表表I所示,可以视为他们统一指令空间的子集,每个子集代表特定的配置

1.2.3 动作重定向:从人到SMPL再到人形上

最近的研究表明,从大型动作数据集中学习鲁棒的全身控制对人形机器人具有优势[9,10,12,13]。从人类动作数据集[17]到人形动作数据集的重定向过程分为三个步骤:

  1. 步骤1:首先使用正向运动学计算人形机器人的关键点位置,将其关节配置映射到工作空间坐标
  2. 步骤2:接下来,通过优化SMPL参数以匹配正向运动学计算的关键点,使SMPL模型符合人形机器人的运动学
  3. 步骤3:最后,通过梯度下降匹配拟合的SMPL模型和人形机器人之间的对应关键点,重新定向AMASS数据集
    PS,关于什么是AMASS,详见此文:HumanPlus——斯坦福ALOHA团队开源的人形机器人:融合影子学习技术、RL、模仿学习的1.1.2节,即用于全身控制的low-level policy:通过AMASS离线数据RL训练HST(含重定位)

过程中,遵循与[10-H2O]相同的动作重定向和“模拟到数据”程序,将大规模人类动作数据集[17]转换为仅包含对人形机器人可行动作的数据集\hat{Q}

1.2.4 从大规模人类动作中训练Oracle策略:相当于教师/特权策略

在状态空间设计上,作者训练一个oracle运动模仿器(其有对应的本体感受和目标状态,而从本体感受到目标状态所用的行动策略\pi^{\text {oracle }},就相当于OmniH2O的特权或教师策略\pi_{\text {privileged }})

\pi^{\text {oracle }}\left(a_{t} \mid s_{t}^{\mathrm{p} \text {-oracle }}, s_{t}^{\mathrm{g} \text {-oracle }}\right)

  • 本体感觉被定义为
    s_{t}^{\text {p-oracle }} \triangleq\left[\boldsymbol{p}_{t}, \boldsymbol{\theta}_{t}, \dot{p}_{t}, \boldsymbol{\omega}_{t}, \boldsymbol{a}_{t-1}\right]
    其中包含人形刚体的位置\boldsymbol{p}_{t},方位\boldsymbol{\theta}_{t},线速度\dot{p}_{t},角速度\boldsymbol{\omega}_{t},以及前一个动作\boldsymbol{a}_{t-1}
  • 目标状态被定义为
    s_{t}^{\text {g-oracle }} \triangleq\left[\hat{\boldsymbol{\theta}}_{t+1} \ominus \boldsymbol{\theta}_{t}, \hat{\boldsymbol{p}}_{t+1}-\boldsymbol{p}_{t}, \hat{\boldsymbol{v}}_{t+1}-\right.\left.\boldsymbol{v}_{t}, \hat{\boldsymbol{\omega}}_{t+1}-\boldsymbol{\omega}_{t}, \hat{\boldsymbol{\theta}}_{\boldsymbol{t}}, \hat{\boldsymbol{p}}_{\boldsymbol{t}}\right]
    其中包含参考姿态\left(\hat{\boldsymbol{\theta}}_{t}, \hat{\boldsymbol{p}}_{t}\right)以及所有人形刚体的参考状态与当前状态之间的一帧差异
  • 作者使用与[9-OmniH2O]相同的策略网络结构,一个三层MLP,层维度为[512,256,128]

下图是HOVER论文原文

  • 其在H2O中,是如下定义的
    具体来说,对于特权策略——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}

    目标状态定义为
    \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.

    下图是H2O论文原文
  • 至于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以及类人所有刚体的参考状态与当前状态之间的单帧差异

    下图是OmniH2O论文原文

在奖励设计和领域随机化(Domain Randomization)上,作者将奖励r_{t}公式化为三个组成部分的总和:1)惩罚,2)正则化,3)任务奖励,详细信息见下表表 II 

作者遵循[9-OmniH2O]中的相同域随机化来随机化模拟环境和人形的物理参数,以实现成功的模拟到现实的转移

1.2.5 通过蒸馏的多模式多功能控制器

对于学生策略中的本体感受学生策略\pi^{\text {student }}相当于OmniH2O中的real

  1. 从先知教师\pi^{\text {oracle }}蒸馏而来的学生策略
    \pi^{\text {student }}\left(s_{t}^{\mathrm{p} \text {-student }}, s_{t}^{\text {g-student }}\right)
  2. 本体感受定义为
    s_{t}^{\mathrm{p} \text {-student }} \triangleq\left[q, \dot{q}, \omega^{\text {base }}, g\right]_{t-25: t} \cup\left[a_{t-25: t-1}\right]
    其中 q 是关节位置,\dot{q} 是关节速度,\omega^{\text {base }}是基座角速度,g 是重力向量,a是动作历史
    根据 [9],作者将这些项在最近的 25个步骤中堆叠起来,以表示学生的本体感受输入

而在OmniH2O中


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点输入以保持一致性,尽管可以轻松扩展到更多关键点以减少歧义
  • 对于本体感觉,学生策略
    \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}

对于命令掩码

如下图图2所示,学生策略的任务命令输入是通过基于模式和基于稀疏性的掩码来定义的

具体而言,学生的任务命令输入s_{t}^{g \text { g-student }}表示为

s_{t}^{\text {g-student }} \triangleq M_{\text {sparsity }} \odot\left[M_{\text {mode }} \odot s_{t}^{\mathrm{g} \text {-upper }}, M_{\text {mode }} \odot s_{t}^{\text {g-lower }}\right.

模式掩码M_{\text {mode }}选择特定的任务命令模式独立地控制上半身和下半身。例如,上半身可以跟踪运动学位置,而下半身则专注于关节角度和根部跟踪,如图2所示

在模式特定的遮罩之后,应用稀疏遮罩Msparsity。例如,在某些场景中,上半身可能只跟踪手的运动学位置,而下半身则仅跟踪躯干的关节角度。模式和稀疏二进制遮罩的每一位都来自于伯努利分布B(0.5)。模式和稀疏遮罩在剧集开始时随机化,并在剧集结束前保持不变

在策略蒸馏上,作者使用DAgger框架[21]进行策略蒸馏

  1. 对于每个回合,作者在模拟中展开学生策略
    \pi^{\text {student }}\left(\mathbf{a}_{t} \mid s_{t}^{\mathrm{p} \text {-student }}, s_{t}^{\mathrm{g} \text {-student }}\right)
    以获得
    \left(s_{t}^{\mathrm{p} \text {-student }}, s_{t}^{\mathrm{g} \text {-student }}\right)
    的轨迹
  2. 在每个时间步,还计算相应的oracle状态
    \left(s_{t}^{\mathrm{p} \text {-oracle }}, s_{t}^{\mathrm{g} \text {-oracle }}\right)
    利用这些oracle状态,可以查询oracle教师策略
    \pi^{\text {oracle }}\left(\hat{\mathbf{a}}_{t} \mid s_{t}^{\mathrm{p} \text {-oracle }}, s_{t}^{\mathrm{g} \text {-oracle }}\right)
    以获得参考动作\hat{\mathbf{a}}_{t}
  3. 然后通过最小化损失函数
    \mathcal{L}=\left\|\hat{\mathbf{a}}_{t}-\mathbf{a}_{t}\right\|_{2}^{2}
    来更新学生策略\pi^{\text {student }}

    其中\hat{\mathbf{a}}_{t}是来自oracle的参考动作,而\mathbf{a}_{t}是学生策略采取的动作

而在OmniH2O中


其按照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)
    的轨迹

    通过使用参考姿态\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)
  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 }}
  3. 为了更新\pi_{\mathrm{OmniH} 2 \mathrm{O}},损失函数为
    \mathcal{L}=\left\|\boldsymbol{a}_{t}{ }^{\text {privileged }}-\boldsymbol{a}_{t}\right\|_{2}^{2}

第二部分 实验与论证

作者在运动跟踪上对HOVER进行了评估,包括模拟环境(第III-A和第III-B节)和现实环境(第III-C节)。在模拟中,作者使用重定向的AMASS数据集\hat{Q}进行评估

在现实世界中,作者测试了20个静态运动序列,重点是定量跟踪和定性多模式控制的运动任务。他们的实际机器人采用了一个19自由度的UnitreeH1平台[23],总重约为51.5公斤,高度约为1.8米。基准

为了解决

  • Q1: HOVER作为一个通用策略能否超越为特定指令配置训练的策略?
  • Q3:HOVER 能否转移到现实世界的硬件上并执行多样化的多模态控制?

作者将HOVER与几位(特定场景的机器人策略)专家进行比较

如下表表I所示

  • ExBody [12]专注于跟踪上半身关节角度和根速度
  • HumanPlus[13]跟踪全身关节和根速度
  • H2O [10]跟踪八个关键点(肩膀、肘部、手、脚踝)的运动学位置
  • 而OmniH2O [9]跟踪头部和双手的运动学位置

此外,作者还比较了其他有用的跟踪模式(例如,左手模式、右手模式、双手模式、仅头部模式)

  1. 对于每种控制模式,作者仅向控制器提供相关的观察输入,并使用RL训练专家基准
    例如,在仅左手模式中,仅提供左手的参考运动
  2. 为了解决问题Q2,作者与另一种多模态强化学习策略进行比较,该策略对目标指令采用相同的掩蔽过程,但从头开始用强化学习目标训练基线模型
    To address Q2, wecompare with another multi-mode RL policy, which followsthe same masking process on the goal commands, but trainsthe baseline with RL objective from scratch.
    在多模式RL基准训练期间,模式和稀疏性在每个episode开始时随机化,并在episode结束前保持不变,这与蒸馏过程中随机化掩蔽过程相同
    During the multi-mode RL baseline training, mode and sparsity arerandomized at the beginning of each episode and remainfixed until the episode ends, which is same as the randomized masking process during distillation

在具体指标的计算上,他们会报告生存率,其中如果人形机器人撞击地面而不是用脚着地,情节就会终止。作者根据运动姿态、关节角度和根部扭曲及旋转来计算跟踪误差

指标的平均值是在数据集\hat{Q}的所有运动序列中计算的

  1. 且通过比较全身位置的跟踪误差E_{g-\mathrm{mpjpe}}(毫米)
  2. 相对于根部的每关节平均误差(MPJPE)E_{\mathrm{mp} j p e}(毫米)
  3. 关节跟踪误差E_{j}(弧度)
  4. 根部速度E_{\text {root-vel }}(米/秒)
  5. 根部方向跟踪误差E_{\text {root-rpy }}(弧度)

等指标来评估策略模仿参考动作的能力

为了展示物理现实感,他们还会记录平均关节加速度E_{\mathrm{acc}}(毫米/帧²)和速度

2.1 与特定场景的机器人策略专家的比较

为了解决Q1(HOVER作为一种通用策略是否能超过为特定命令配置训练的策略?),作者比较了相同HOVER策略在不同控制模式下的性能与相应专家策略的表现

例如,HOVER在ExBody模式下的性能通过一个固定的掩码来匹配整个数据集\hat{Q}的ExBody模式进行评估,如表III和上文1.1.2节最后的图3所示,HOVER始终表现出优越的泛化能力

在每个命令模式下,HOVER在至少12个指标中的7个上优于先前工作的专家控制器,这在表III中的粗体值中有所体现。这种在各种控制模式下的一贯优势凸显了HOVER的多功能性

此外,这意味着即使专注于单一控制模式而不考虑多模式的多样性,从一个oracle策略中提炼出的策略仍然优于RL训练的专家。与其他有用控制模式的专家比较。除了前面提到的基线,作者还评估了四种额外的模式:左手模式、右手模式、双手模式和头部模式

且训练了四个强化学习专家分别跟踪这些模式。下表表IV的结果显示,HOVER在跟踪为特定命令配置训练的指标方面始终优于专家

2.2 现实世界评估

为了解决Q3(HOVER是否能转移到现实世界的硬件并执行多模式控制?),作者进行了定量跟踪实验和定性多模式控制的运动测试

  • 站立动作评估
    通过跟踪20种不同的站立动作在实际环境中评估HOVER的性能
    其中,两种动作在图5(左)中进行了视觉展示。表V中呈现的定量指标显示,HOVER在12项指标中有11项优于专业策略

    此外,他们展示了如图5中间所示的根部俯仰运动的成功跟踪,以及如图5右侧所示的全身运动学跟踪,机器人能够跟踪高度动态的跑步动作
  • 多模式评估
    且还评估了HOVER在图6中对运动的广义化能力,其中作者突然在操作过程中切换命令模式以模拟真实场景。HOVER在图6(a)中成功地从ExBody模式过渡到H2O模式,并在图6(b)中在执行转向和后退行走时从HumanPlus模式过渡到OmniH2O模式

  • 此外,作者还进行了一次真实测试的远程操作演示,使用Vision Pro随机遮挡头部和手的位置。例如,在图6(c)的中间,类人机器人仅跟踪人类的头部位置,忽略挥动的手臂,处于头部模式

    结果表明,HOVER可以在不同模式下平稳地跟踪运动,展示了其在真实场景中的鲁棒性(例如,当参考运动中有遮挡时)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2238684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言中“type”的含义

在C语言中,“type”是指数据类型,它定义了变量可以存储的数据种类以及可以对这些数据执行的操作。C语言提供了一系列基本的数据类型,它们包括但不限于: 整型(Integer Types): int:用…

ffmpeg 视频滤镜:屏蔽边框杂色- fillborders

滤镜描述 fillborders 官网链接 > FFmpeg Filters Documentation fillborders滤镜有几种方式帮你屏蔽边框的杂色、不好的图案。 滤镜使用 参数 left <int> ..FV.....T. set the left fill border (from 0 to INT_MAX) (default 0)right …

云计算答案

情境一习题练习 一、选择题 1、在虚拟机VMware软件中实现联网过程&#xff0c;图中箭头所指的网络连接方式与下列哪个相关&#xff08; C &#xff09;。 A.仅主机模式 B.桥接 C.NAT D.嫁接 2、请问下图这个虚拟化架构属于什么类型&#xff08; A …

[ Linux 命令基础 2 ] Linux 命令详解-系统管理命令

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

Golang | Leetcode Golang题解之第554题砖墙

题目&#xff1a; 题解&#xff1a; func leastBricks(wall [][]int) int {cnt : map[int]int{}for _, widths : range wall {sum : 0for _, width : range widths[:len(widths)-1] {sum widthcnt[sum]}}maxCnt : 0for _, c : range cnt {if c > maxCnt {maxCnt c}}retur…

QT中使用图表之QChart绘制动态折线图

使用QChart绘制一个随着时间的变化而动态显示的折线图 每一秒增加1个点&#xff0c;总共显示10s内的数据 显然x轴我们使用日期时间轴 同时使用1个定时器&#xff0c;每隔1秒往折线系列中添加1个数据进去 步骤如下&#xff1a; 1、创建图表视图 //1、创建图表视图 QChartV…

自然语言处理在客户服务中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 自然语言处理在客户服务中的应用 自然语言处理在客户服务中的应用 自然语言处理在客户服务中的应用 引言 自然语言处理概述 定义…

vs2022搭建opencv开发环境

1 下载OpenCV库 https://opencv.org/ 下载对应版本然后进行安装 将bin目录添加到系统环境变量opencv\build\x64\vc16\bin 复制该路径 打开高级设置添加环境变量 vs2022新建一个空项目 修改属性添加头文件路径和库路径 修改链接器&#xff0c;将OpenCV中lib库里的o…

【含文档】基于ssm+jsp的校园疫情管理系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: apache tomcat 主要技术: Java,Spring,SpringMvc,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定义了两个…

在Django中安装、配置、使用CKEditor5,并将CKEditor5录入的文章展现出来,实现一个简单博客网站的功能

在Django中可以使用CKEditor4和CKEditor5两个版本&#xff0c;分别对应软件包django-ckeditor和django-ckeditor-5。原来使用的是CKEditor4&#xff0c;python manager.py makemigrations时总是提示CKEditor4有安全风险&#xff0c;建议升级到CKEditor5。故卸载了CKEditor4&…

网络管理之---3种网络模式配置

目标&#xff1a; 了解几个概念&#xff1a; 1.什么是IP&#xff1f;什么是IP地址&#xff1f; 2.什么是桥接、NAT、仅主机模式 3.端口&#xff1f; 4.什么是网络接口命名规则 5.网络管理器 IP&#xff1a;指网络之间互联的协议&#xff0c;是TCP/IP 体系中的网络协议 I…

统信UOS开发环境支持Electron

全面支持Electron开发环境,同时还提供了丰富的开发工具和开发资源,进一步提升工作效率。 文章目录 一、环境部署1. Electron应用开发介绍2. Electron开发环境安装安装Node.js和npm安装electron环境配置二、代码示例Electron开发案例三、常见问题一、环境部署 1. Electron应用…

三级等保安全解决方案,实施方案,整改方案(Word,PPT等相关资料学习)

信息系统进行三级等保的主要原因在于保障信息安全&#xff0c;维护国家安全和公共利益。三级等保是我国根据相关法律法规制定的信息安全等级保护制度中的一部分&#xff0c;旨在确保信息系统的完整性、可用性和保密性。通过三级等保&#xff0c;信息系统可以得到一系列的安全保…

优选算法合集————双指针(专题一)

题目一&#xff1a;移动零 题目描述&#xff1a; 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输…

python基于深度学习的音乐推荐方法研究系统

需求设计 一款好的音乐推荐系统其目的是为用户进行合理的音乐推荐&#xff0c;普通的用户在登录到系统之后&#xff0c;能够通过搜索的方式获取与输入内容相关的音乐推荐&#xff0c;而以管理员登录到系统之后&#xff0c;则可以进行徐昂管的数据管理等内容操作。此次的需求主…

Docker 镜像和容器的导入导出及常用命令

Docker 镜像和容器的导入导出 1.1 镜像的导入导出 1.1.1 镜像的保存 通过镜像ID保存 方式一&#xff1a; docker save image_id > image-save.tar例如&#xff1a; rootUbuntu:/usr/local/docker/nginx# docker imagesREPOSITORY TAG IMAGE ID …

Java集合 List——针对实习面试

目录 Java集合 ListJava List的三种主要实现是什么&#xff1f;它们各自的特点是什么&#xff1f;Java List和Array&#xff08;数组&#xff09;的区别&#xff1f;Java List和Set有什么区别&#xff1f;ArrayList和Vector有什么区别&#xff1f;什么是LinkedList&#xff1f;…

超级干货O2OA数据中心-查询配置开发

O2OA提供的数据管理中心&#xff0c;可以让用户通过配置的形式完成对数据的汇总&#xff0c;统计和数据分组展现&#xff0c;查询和搜索数据形成列表数据展现。也支持用户配置独立的数据表来适应特殊的业务的数据存储需求。本文主要介绍如何在O2OA中开发和配置自定义数据查询语…

Unity中IK动画与布偶死亡动画切换的实现

在Unity游戏开发中&#xff0c;Inverse Kinematics&#xff08;IK&#xff09;是创建逼真角色动画的强大工具。同时&#xff0c;能够在适当的时候切换到布偶物理状态来实现死亡动画等效果&#xff0c;可以极大地增强游戏的视觉体验。本文将详细介绍如何在Unity中利用IK实现常规…

【ArcGISPro】单次将自己建立的工具箱添加至Arcpy中

新建工具箱 添加至Arcpy中 调用刚添加的工具箱