前言

在上一篇文章《OmniH2O——通用灵巧且可全身远程操作并学习的人形机器人(其前身H2O是HumanPlus的重要参考)》中的“2.3节趣味工作:语音指令控制机器人干活与GPT4o加持”时,我们提到

通过将与预训练的文本到人体动作生成扩散模型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. 然后用训练好的策略 去驱动人形机器人达到该动作目标

我自己都想复现这个工作了..

故,本文来了

第一部分 从Human Motion Diffusion Model、PhysDiff到RobotMDM

1.1 动态扩散模型

22年9月,来自TAU的研究者们通过此篇论文《Human Motion Diffusion Model》提出了运动扩散模型MDM,在该文中,作者通过在无分类器的方式下对CLIP进行条件化来实现文本到动作的转换,类似于文本到图像

如下图所示「运动扩散模型(MDM)通过在给定文本提示的情况下生成多样化的动作,反映了文本到动作映射的多对多特性,其中,较深的颜色表示序列中的较晚帧,即最后生成的帧

1.1.1 MDM的整体框架与几何损失

MDM的目标是在给定任意条件c的情况下合成长度为N的人体动作x1:N。这个条件可以是任何将决定合成的现实世界信号,例如音频(Li等,2021;Aristidou等,2022)、自然语言(文本到动作)(Tevet等,2022;Guo等,2022a)或离散类别(动作到动作)(Guo等,2020;Petrovich等,2021)

此外,也可以进行无条件的动作生成,此时将其表示为空条件c=\emptyset,生成的动作x^{1: N}=\left\{x^{i}\right\}_{i=1}^{N}是由关节旋转或位置x^{i} \in \mathbb{R}^{J \times D}表示的人体姿势序列,其中J为关节的个数,D为关节表示的维数(总之,MDM 可以接受由位置、旋转或两者共同表示的运动,下文还会详述此点)

首先,在整体框架上

扩散建模为马尔可夫噪声过程,\left\{x_{t}^{1: N}\right\}_{t=0}^{T},其中x_{0}^{1: N}取自数据分布,且有

q\left(x_{t}^{1: N} \mid x_{t-1}^{1: N}\right)=\mathcal{N}\left(\sqrt{\alpha_{t}} x_{t-1}^{1: N},\left(1-\alpha_{t}\right) I\right)

其中,t \in(0,1)是常数超参数,当\alpha_{t}足够小时,可以得到如此近似x_{T}^{1: N} \sim \mathcal{N}(0, I)。从这里开始,用x_t表示在噪声步骤t的完整序列

在该语境中,条件运动合成将分布p\left(x_{0} \mid c\right)建模为逐步清理x_T的反向扩散过程。且不再像 Ho 等人所提出的那样预测\epsilon_t,而是遵循 Ramesh 等人(2022)的方法,直接预测信号本身,即\hat{x}_0=G(x_t, t, c),其目标是(Ho 等人,2020)

\mathcal{L}_{\text {simple }}=E_{x_{0} \sim q\left(x_{0} \mid c\right), t \sim[1, T]}\left[\left\|x_{0}-G\left(x_{t}, t, c\right)\right\|_{2}^{2}\right]

其次,在几何损失上

在运动领域,生成网络通常使用几何损失进行正则化(Petrovich等,2021;Shi 等,2020)。这些损失用于强化物理属性并防止伪影,促进自然和连贯的运动

在这项工作中,作者尝试了三种常见的几何损失来调节(1)位置(在我们预测旋转的情况下),(2)脚部接触,以及(3)速度

\begin{array}{c} \mathcal{L}_{\mathrm{pos}}=\frac{1}{N} \sum_{i=1}^{N}\left\|F K\left(x_{0}^{i}\right)-F K\left(\hat{x}_{0}^{i}\right)\right\|_{2}^{2} \\ \mathcal{L}_{\text {foot }}=\frac{1}{N-1} \sum_{i=1}^{N-1}\left\|\left(F K\left(\hat{x}_{0}^{i+1}\right)-F K\left(\hat{x}_{0}^{i}\right)\right) \cdot f_{i}\right\|_{2}^{2} \\ \mathcal{L}_{\text {vel }}=\frac{1}{N-1} \sum_{i=1}^{N-1}\left\|\left(x_{0}^{i+1}-x_{0}^{i}\right)-\left(\hat{x}_{0}^{i+1}-\hat{x}_{0}^{i}\right)\right\|_{2}^{2} \end{array}

如果预测关节旋转,FK(·)表示将关节旋转转换为关节位置的正向运动学函数(否则,它表示恒等函数)。f_{i} \in\{0,1\}^{J}是每一帧i的二进制足部接触掩码。仅与足部相关,它指示它们是否接触地面,并根据二进制真实数据设置(Shi等,2020)。本质上,它通过在接触地面时将速度归零来减轻足部滑动效应

总体而言,训练损失是

\mathcal{L}=\mathcal{L}_{\text {simple }}+\lambda_{\text {pos }} \mathcal{L}_{\text {pos }}+\lambda_{\text {vel }} \mathcal{L}_{\text {vel }}+\lambda_{\text {foot }} \mathcal{L}_{\text {foot }}

1.1.2 MDM的模型架构图

如下图所示

  • 在左侧中可以看到该模型的输入总共有两个:一个运动序列x_{1:N}^t——一个噪声步骤中长度为N的序列,和一个条件编码c
    但这个条件编码c需要先做一定处理,即它一开始是一个基于CLIP(Radford等,2021)的文本嵌入,首先被随机屏蔽以进行无分类器学习「通过使用CLIP(Radford等人,2021)文本编码器将文本提示编码为c来实现文本到运动的转换,并通过每个类别的学习嵌入实现动作到运动的转换,然后与t一起投影到输入tokenz_{t k}中——相当于噪声时间步t和条件编码c分别通过独立的前馈网络投影到与transformer相同的维度,然后相加以生成token z_{t k}
    The model is fed a motion sequencex1:Nt of length N in a noising step t, as well as t itself and a conditioning code c. c, a CLIP (Radfordet al., 2021) based textual embedding in this case, is first randomly masked for classifier-free learningand then projected together with t into the input token ztk.

    且噪声输入xt的每一帧也被线性投影到与transformer相同的维度,并与标准位置嵌入相加。z_{t k}和投影帧随后被输入到编码器。除去第一个输出token(对应于z_{t k}),编码器的结果被投影回原始运动维度,并作为预测\hat{x}_{0}——即在在每个采样步骤中,transformer编码器预测最终的干净运动\hat{x}_{0}^{1: N}
  • 在右侧则是采样MDM

    给定一个条件c,然后在期望运动的维度上采样随机噪声x_T,然后从T迭代到1。在每个步骤t,MDM预测干净样本\hat{x}_{0},并将其扩散回x_{t-1}

    具体而言,根据Ho等人(2020)的说法,从p\left(x_{0} \mid c\right)进行采样是以迭代的方式完成的
    在每个时间步t,预测出干净样本\hat{x}_{0}=G\left(x_{t}, t, c\right),然后将其重新加噪至x_{t-1}

    这一过程从t=T开始重复,直到获得x_0
        \rightarrow  且使用无分类器引导法训练我们的模型G(Ho & Salimans,2022),在实际操作中,G通过随机设置c=\emptyset来学习有条件和无条件的分布,这占样本的10%,使得G\left(x_{t}, t, \emptyset\right)可以近似p\left(x_{0}\right)
        \rightarrow  然后,在对G进行采样时,可以通过插值甚至外推这两种变体来在多样性和保真度之间进行权衡——使用s
    G_{s}\left(x_{t}, t, c\right)=G\left(x_{t}, t, \emptyset\right)+s \cdot\left(G\left(x_{t}, t, c\right)-G\left(x_{t}, t, \emptyset\right)\right)

// 待更

1.2 PhysDiff

1.3 RobotMDM

第二部分 UC San Diego的Exbody:全身运动控制

2.1 提出背景与相关工作

2.1.1 提出背景与其定义

尽管基于物理的角色动画能够生成在虚拟环境中看起来很自然的反应式控制策略,但这种结果通常涉及到较大的执行器增益,范围在60kg/m,这比当前硬件所能实现的增益大一个数量级

且他们还发现,人类的参考运动通常包含比机器人硬件更多的自由度(DoF)。例如,基于物理的动画可以使用更多的自由度『例如,69个自由度[35]』,而真实世界中的机器人(例如,Unitree H1)仅有19个自由度

24年2月初,UC San Diego提出了一种面向人形机器人的全身运动控制策略Exbody,其对应的论文为《Expressive Whole-Body Control for Humanoid Robots

  1. 其通过结合来自图形学社区的大规模人类运动捕捉数据,和在仿真环境中的深度强化学习RL,生成一个可以直接部署在真实机器人上的全身控制器
  2. Exbody的核心思想是不完全模仿参考动作。他们提出了一种新颖的控制器训练方法,该控制器以参考动作和根运动命令作为输入,用于真实的人形机器人控制「We propose to train a novel controller that takes both a reference motion and a root movement commandas inputs for real humanoid robot control
    他们将这种方法称为表达性全身控制(Expressive Whole-Body Control,简称ExBody)

在使用RL进行训练时,鼓励人形机器人的上半身模仿多样化的人类动作以实现表达性,同时放松对其双腿的动作模仿要求

  1. 具体来说,腿部运动的奖励函数被设计为稳健地跟随参考动作提供的根运动命令,而不是匹配每个确切的关节角度。且在高度随机化的复杂地形模拟中训练我们的策略。这不仅允许稳健的仿真到现实的转移,还学习了一种不会简单“重复”给定动作的策略
    用户可以命令人形机器人以不同的速度移动,在不同的方向转弯,在多样的地形上行走,同时在上半身再现参考动作
    如图1所示,可以命令机器人与人类共舞,挥手和握手,同时行走,或者在不同地形上像木乃伊一样行走

  2. 作者在模拟和现实实验中采用了Unitree H1机器人
    且为了从多样化的人类动作中学习,使用了CMU的MoCap数据集(大约包含780个参考动作)。这种丰富性不仅使得人形机器人动作更具表现力,也使得行走更加稳健
    他们认为他们的结果表明,ExBody的方法通过放宽约束确实能够带来更好和更稳健的结果

2.1.2 相关工作

第一方面,对于全身控制与腿式机器人

腿式机器人通常需要协调整个身体来完成一些任务或动作,例如跳舞、伸手拿远处的物体等

  1. 这些动作以前主要通过动力学建模和控制来实现
    40-Dynamic walk of a biped
    61-Simbicon: Simple biped locomotion control
    21-Anymal-a highly mobile and dynamic quadrupedal robot
    41-Whole-body control of humanoid robots
    9-Whole body humanoid control from human motion descriptors
    26-The 3d linear inverted pendulum mode: A simple modeling for a biped walking pattern generation
    57-Hybrid zero dynamics of planar biped walkers

    然而,对于具有高自由度的人形机器人
    17-Mabel, a new robotic bipedal walker and runner
    27-Development of wabot
    20-The development of honda humanoid robot
    7-The mit humanoid robot: Design,motion planning, and control for acrobatic behaviors
    2-Boston Dynamics
    1-Agility Robotics
    这将需要大量的工程和建模[51-A compliant hybrid zero dynamics controller for stable, efficient and fast bipedal walking on mabel],并且对真实世界的动力学变化敏感
  2. 最近针对四足机器人的基于学习的方法
    15-Deep whole-body control: learning a unified policy for manipulation and locomotion
    22-Efficient multitask learning with an embodied predictive model for door opening and entry with wholebody control
    5-Legs as manipulator: Pushing quadrupedal agility beyond locomotion
    23-Learning wholebody manipulation for quadrupedal robot
    48- Curiositydriven learning of joint locomotion and manipulation tasks
    25-Dribblebot: Dynamic legged manipulation in the wild
    24-Hierarchical reinforcement learning for precise soccer shooting skills using a quadrupedal robot
    实现了全身运动和操作能力

    这些进展还促进了基于学习的人形控制的改进
    29-Words into action: Learning diverse humanoid robot behaviors using language guided iterative motion refinement
    52-Humanmimic: Learning natural locomotion and transitions for humanoid robot
    via wasserstein adversarial imitation
    31- Robust and versatile bipedal jumping control through multi-task reinforcement learning
    49-Deep imitation learning for humanoid loco-manipulation through human teleoperation

    然而,大多数研究更关注于运动方面或学习相对较小的数据集
    与之前的所有工作不同,Exbody的研究实现了对真实世界中人类大小机器人进行全身控制以表现丰富的动作

第二,对于崎岖地形的研究

崎岖地形的研究已经被广泛开展

  1. 包括通过奖励规范化
    39- Rapid locomotion via reinforcement learning
    28-Rma: Rapid motor adaptation for legged robots
    14-Minimizing energy consumption leads to the emergence of gaits in legged robots
    13- Learning deep sensorimotor policies for vision-based autonomous drone racing

    模仿学习[11-Adversarial motion priors make good substitutes for complex reward functions]

    以及步态启发式[30-Reinforcement learning for robust parameterized locomotion control of bipedal robots,50-Blind bipedal stair traversal via sim-to-real reinforcement learning]的方法

    另,基于视觉的运动已经在跨越楼梯
    4- Legged locomotion in challenging terrains using egocentric vision
    60-Neural volumetric memory for visual locomotion control
    38- Learning to jump from pixels
    10-Learning vision-based bipedal locomotion for challenging terrain

    征服跑酷障碍[63-Robot parkour learning,6-Robot parkour learning]、操作箱体[8-Sim-to-real
    learning for humanoid box loco-manipulation]等方面取得了巨大成功
  2. 然而,这些工作尚未完全利用示例数据。即使是利用重新定位的动物运动或预优化轨迹的工作,仍然使用了非常小的数据集
    [43- Learning agile robotic locomotion skills by imitating animals
    56-Amp in the wild: Learning robust, agile, natural legged locomotion skills
    11-Adversarial motion priors make good substitutes for complex reward functions
    16-Opt-mimic: Imitation of optimized trajectories for dynamic quadruped behaviors
    59-Generalized animal imitator: Agile locomotion with versatile motion prior]

    而Exbody的框架可以从使用大规模运动数据集中学习中受益

第三,基于物理的角色动画

全身类人动作控制在计算机图形学领域得到了广泛研究,其目标是生成逼真的角色行为

  1. 诸如[45, 46, 53, 19]之类的对抗方法随着动作越来越多会出现模式崩溃的问题。Peng 等人[46]使用单位球体潜在空间来表示 187 种动作
    然而,它仍然存在模式崩溃的问题,并且利用了额外的技能发现目标
  2. 基于模仿的方法[58, 55, 62, 42]通过将 “控制和动作生成” 解耦来缓解此问题,其中训练了一个通用的动作跟踪控制器来跟踪任何动作,而动作生成器输出要跟踪的动作
    mitation-basedmethods [58, 55, 62, 42] alleviate this problem by decoupling control and motion generation, where a general motion track-ing controller is trained to track any motions and a motiongenerator outputs motions to track.

    这些工作展示了成功转移到真实的机器人四足动物[44,11]
    [58]将整个CMU MoCap数据分成几个簇,并训练专家混合策略以再现整个数据集的物理上合理的控制器
    Luo等人[35]通过逐步分配新网络来学习新动作,使用了类似的想法
  3. 然而,这些方法很难转移到真实的人形机器人,因为不现实的角色模型『SMPL人形模型[33]总共有69个自由度,23个球形关节被驱动,每个关节有3个自由度,通常没有扭矩限制』,以及使用了仿真环境中的特权信息(机器人世界坐标、速度等),如表 I 所示

    因此,作者提出了表达性全身控制以解决此问题。ExBody 放宽了下半身跟踪目标,而是使用了全身根部运动目标
    考虑到机器人的能力,他们选择了一组运动,主要包括步行、日常行为和表情,并且只使用一个单一的网络来处理所有运动

2.1.3 问题定义:根部运动控制与Expressive Whole-Body Control

作者将人形运动控制视为学习一个目标条件的运动策略

\pi: \mathcal{G} \times \mathcal{S} \mapsto \mathcal{A}

其中

  • \mathcal{G} 是指定行为的目标空间,S 是观察空间,A 是包含关节位置和扭矩的动作空间
  • 在本文的其余部分假设,在不失一般性的情况下,观察空间和动作空间由H1 人形机器人设计给出
    且作者声明,他们认为他们提出的方法应该可以推广到类似的身体形式,即使它们在具体的驱动自由度数量上有所不同

一方面,是命令条件的运动控制(Command-conditioned Locomotion Control)——根部运动控制

作者的的目标是为 Unitree H1 硬件生成一个稳健的控制策略,该策略能够通过线性速度\mathbf{v} \in \mathbb{R}^{3}、以横滚/俯仰/偏航r p y \in \mathbb{R}^{3}表示的机身姿态,以及在根链接处测量的机身高度 h来进行指令控制

形式上,根部运动控制的目标空间

\mathcal{G}^{m}=\langle\mathbf{v}, r p y, h\rangle

  • 观测S包括机器人的当前本体感知信息s_t = \left[\omega_{t}, r_{t}, p_{t}, \Delta y, q_{t}, \dot{q}_{t}, \mathbf{a}_{t-1}\right]^{T}
  • \omega_{t}是机器人根部的角速度,r_{t},p_{t}分别是横滚和俯仰
    注意,策略并未观测当前速度v、绝对身体高度h 以及当前偏航角y_{t},因为这些是对真实机器人来说的特权信息

    如下表1所示,在 PHC中,策略观察每个刚体的线速度Linear velocities和关键点位置keypoint positions,而在 ASE 中,线速度仅针对根部root。PHC 和 ASE都观察到在真实机器人上不可用的特权状态

  • 且作者让策略观察当前偏航角与期望偏航角之间的差异\Delta y=y_{t}-y,以将全局量转换为局部框架,从而可以在部署时直观地指令
  • 动作\mathbf{a}_{t} \in \mathbb{R}^{19}是关节级比例-微分(PD)控制器的目标位置
    PD 控制器使用指定的PD 增益k_{p}^{i} 和阻尼系数k_{d}^{i}计算每个电机的扭矩

二方面,是富有表现力的全身控制(Expressive Whole-Body Control,ExBody)

作者将命令条件的运动控制扩展为包含机器人运动的描述,这些描述未被\mathcal{G}^{m} 中的根姿态和速度捕获

故作者将其表述为更通用的目标空间\mathcal{G}=\mathcal{G}^{e} \times \mathcal{G}^{m},其中表达目标\mathbf{g}^{e} \sim \mathcal{G}^{e}包括期望的关节角度和身体的各种3D 关键点位置

具体来说,在这项工作中,作者处理一个放宽的问题,其从\mathcal{G}^{e} 中排除了身体下半部分的关节和关键点。这是因为机器人与人类的身体结构不同,包含来自人体运动捕捉数据的下半身特征往往会使问题过于受限,导致控制策略脆弱且性能较差

形式上,对于本文的其余部分,使用

\mathcal{G}^{e}=\langle\mathbf{q}, \mathbf{p}\rangle

其中

  • \mathbf{q} \in \mathbb{R}^{9}是上半身九个执行器的关节位置
  • \mathbf{p} \in \mathbb{R}^{18}是两个肩膀、两个肘部以及左右手的3D 关键点

表达性全身控制ExBody的目标是同时跟踪:根部运动目标(针对全身)\mathbf{g}^{m} \sim \mathcal{G}^{m},以及表达式目标(针对上半身)\mathbf{g}^{e} \sim \mathcal{G}^{e}The goal of expressive whole-body control (ExBody)is to simultaneously track both the root movement goal (for the whole body) gm ∼Gm, as well as the target expression goal (for upper body) ge ∼Ge

2.2 表达式全身控制ExBody

如下图图2所示

  1. 框架能够使用来自多种来源的数据进行训练,例如静态人体运动数据集、生成模型、视频到姿态模型等,这些资源广泛可用
  2. 在运动重定向之后,获得了一系列与机器人运动学结构兼容的运动片段
    且作者从重定向的运动片段的丰富特征中提取表达目标\mathbf{g}^{e}和根部运动目标\mathbf{g}^{m},作为“目标条件强化学习目标”的目标
    We extract expression goal ge and root movement goal gm from the rich features from retargeted motion clips as the goal of our goal-conditioned RL objective.

    根部运动目标\mathbf{g}^{m}也可以通过操纵杆命令直观地给出,从而能够方便地在现实世界中部署

在接下来的章节中,将介绍该方法的关键组成部分,包括将人类动作捕捉数据策划和重定向到人形机器人硬件的策略,以及如何利用这些先验知识改进强化学习训练过程

// 待更

第三部分 可跳简单舞蹈的Exbody 2:富有表现力的人形全身控制

24年12月17,UC San Diego的Xiaolong Wang团队推出Exbody的升级版Exbody 2

  • 其项目地址为:exbody2.github.io
  • 其对应的GitHub为:jimazeyu/exbody2
     代码库改编自Exbody一代Expressive Humanoid
    截止到25年6月中旬,该Exbody 2的示例policy、完整的训练流程、部署代码 暂未发布
    此外,其重定向和运动处理代码分别改编自PHCASE
    ——顺带提下,exbody2 对这两个代码库的描述 搞反了 比如把ASE定义了重定向库,大家可以注意下

    不过,如果只是缺个
    部署代码
    \rightarrow  我有找到这个HOMIE——包括PBHC的作者也表示可以参考openhomie和unitree rl gym的真机代码,有提供G1的部署代码(我也和HOMIE作者确认了下,说他们GitHub上包含G1的部署代码)——当然 他们也用的别人的Walk these ways,对应的GitHub为leggedrobotics/rsl_rl
    \rightarrow  当然,也可以直接参考或用unitree_rl_gym的代码

    unitree_rl_gym仓库建立在以下开源项目的支持和贡献之上。特别感谢:
    legged_gym:训练和运行代码的基础
    rsl_rl:强化学习算法实现——即上面提到的Walk these ways
    mujoco:提供强大的模拟功能。
    unitree_sdk2_python:用于物理部署的硬件通信接口

    \rightarrow  此外,PBHC里的一群友还介绍了个基于unitree_sdk2_python的部署代码LeggedLabDeploy
  • 其对应paper为:ExBody2: Advanced Expressive Humanoid Whole-Body Control

这是一种通用的全身跟踪框架,可以接受任何参考动作输入并控制人形机器人模仿动作。该模型在仿真环境中通过强化学习进行训练,然后转移到现实世界

它将关键点跟踪与速度控制解耦,并有效利用特权教师策略(privileged teacher policy)将精确的模仿技能蒸馏到目标学生策略,可实现对诸如奔跑、蹲伏、跳舞及其他具有挑战性的动态动作的高保真复现

3.1 Exbody 2的提出背景与其创新性

3.1.1 提出背景与相关工作

机器人动作模仿机器人动作模仿可以分为两个主要领域:操作和表现力

目前,随着大规模人类运动数据集的日益可用[4-mocap database,45-Amass: Archive of motion capture as surface shapes]

  1. 解决这一挑战的实用方法是通过跟踪和模仿人类动作来学习复制多样化的运动[8-Exbody,20-Humanplus,23-Omnih2o,24-H2O]
  2. 然而,考虑到硬件,人形机器人和人类仍然存在很大差异,这阻碍了机器人完全复制人类动作的能力

这提出了一个引人注目的研究问题:在考虑到其物理限制的情况下,如何追求类人机器人的表现力和类似人类的能力,同时保持其稳定性和鲁棒性?

3.1.2 4个关键设计:多样化的数据集、两阶段训练、局部关键点跟踪策略、基于CVAE的远程运动

对此,作者训练了一个能够泛化到不同输入动作的单一策略,且确定了实现这一目标的四项技术设计

  • (i) 构建可行且多样化的训练数据集
    像AMASS [45]这样的人体动作数据集通常包含超出机器人物理能力的复杂动作,这会导致跟踪难度过大并降低性能

    一些工作通过优化数据集来解决该问题
    例如,ExBody[8]利用语言标签过滤不可行的动作,但模糊的描述(如“舞蹈”)仍可能包含不适合的动作

    其他方法,如H2O[24]和OmniH2O [24],采用SMPL模型模拟虚拟仿人机器人并过滤复杂动作。然而,SMPL虚拟人可以执行真实机器人无法完成的极端动作,导致仿真与现实可行性之间存在差距,进而影响训练效果

    作者系统地分析了数据集的难度和多样性,重点关注上半身运动多样性以实现稳定性和跟踪精度,以及下半身的可行性以实现稳健的训练
    实验表明,数据集中的多样性和可行性对于在训练和测试阶段实现富有表现力且稳定的行为至关重要
  • (ii)两阶段训练:教师-学生训练框架
    ExBody2采用了如下图图2(b)所示的两阶段教师-学生训练框架「(b)ExBody2在Unitree G1和H1全身控制任务中采用了教师-学生学习框架
    首先使用标准的强化学习算法PPO[60],在包含特权信息「包括真实根速度、每个身体连接的精确位置以及其他物理属性(如摩擦力)」的仿真环境中训练教师策略
    这能够得到一个能够准确模仿多样化人体动作的有效策略

    随后,通过对教师策略进行DAgger[59-A reduction of imitation learning and structured prediction to noregret online learning]风格的蒸馏,学习可部署的学生策略
    对于学生策略,特权信息被一系列历史观测值所替代
  • (iii) 局部关键点跟踪策略
    以往的全身跟踪方法,如 H2O [24] 和 OmniH2O [23],依赖于关键点位置的全局跟踪
    这种方法通常会导致在机器人难以与当前全局关键点对齐时,在后续步骤中出现跟踪失败,从而将其应用限制在高度静止的场景中

    相比之下,ExBody2 在局部坐标系下转换关键点,并将关键点跟踪与速度控制解耦
    且为了进一步提升跟踪的鲁棒性,作者会定期将全局跟踪关键点重置到局部坐标系。该方法确保了持续且稳健的全身跟踪
  • (iv) 基于CVAE的远程运动
    借助增强的全身跟踪能力,ExBody2的机器人现在可以执行长时间的运动模仿。然而,现有数据集中的动作相对较短,这在旨在实现连续运动执行而无需人工重置时提出了挑战

    为了解决这个问题,作者训练了一个条件变分自编码器(CVAE)[64-Learning
    structured output representation using deep conditional generative models,
    79-ALOHA ACT]模型来合成未来的动作

    如下图图2-c所示「(c) ExBody2采用了基于Transformer的CVAE进行连续运动合成,(d) 通过跟踪CVAE生成的运动,ExBody2可以在现实世界中无缝部署,以生动地模拟持续运动

    CVAE利用过去的动作信息生成未来的动作序列,使机器人在部署期间能够无缝执行复杂且富有表现力的动作

3.2 ExBody2的4个组件:数据集整理、策略学习、运动合成、实际部署

ExBody2由四个主要组件组成:数据集策划、策略学习、运动合成和实际部署。接下来,将详细介绍ExBody2的这些组件

3.2.1 动作数据集整理

在ExBody2的动作数据集整理过程中,重点放在对动作的详细分析和选择

首先,尤其是区分上半身和下半身运动所需的能力

此策略性方法旨在机器人可实现的范围内,最大化动作的多样性

  • 上半身动作
    数据集包含了丰富多样的上半身动作
    这种多样性对于挑战和提升机器人的适应能力和应对现实世界应用的准备程度至关重要,因为在现实应用中,对突发场景的灵活应对能力非常重要
  • 下肢动作
    由于机器人在机械结构和稳定性方面的限制,下肢动作的选择更加保守。包括基本的行走动作和细微的站姿调整

然而,对于跳跃或复杂旋转等高动态动作,则需谨慎评估。对这些不可行动作的训练会在学习过程中引入噪声,从而降低其有效性

其次,对于平衡动作与数据集完整性

数据集的策划过程需要在挑战机器人能力和保持动作在可行范围内之间进行微妙的平衡

  1. 过于简单的任务可能限制训练策略对新情境的泛化能力,而过于复杂的任务则可能超出机器人的操作能力,导致学习效果不佳
  2. 因此,在数据集准备过程中,会排除或修改那些包含超出机器人能力范围的复杂下肢动作的条目。这一步骤对于确保数据集内容丰富且具有可操作性,同时不会因不切实际的任务而使机器人的学习算法负担过重至关重要

通过精心策划,作者整理出适用于机器人训练的最优平衡的不同数据集

3.2.2 策略学习:教师策略(特权信息、运动跟踪目标、奖励设计)、学生策略(基于过去较长观测,对齐教师策略)

ExBody2旨在使全身动作的目标跟踪更加富有表现力。为此,ExBody2采用了与[37-Rma,38-Learning quadrupedal locomotion over challenging terrain]类似的高效两阶段教师-学生训练流程

  1. 首先使用现成的RL算法PPO [60],结合只能在模拟器中获得的特权信息(privileged information),训练出理想的教师策略
    即教师策略使用标准的PPO [60]算法在特权信息(包括跟踪目标和本体状态)上进行训练
  2. 在第二阶段,用与真实世界对齐的观测值替代特权信息,并将教师策略蒸馏为可部署的学生策略
    且使用IsaacGym[46-Isaac gym: High performance gpu-based physics simulation for robot learning]进行高效并行仿真来训练他们的策略
    即学生策略在没有特权信息的情况下,采用Dagger [59]进行训练,但使用了更长的历史序列
3.2.2.1 教师策略的训练:特权信息、运动跟踪目标、奖励设计

具体而言

  1. 可以将人形运动控制问题表述为一个马尔可夫决策过程(MDP),状态空间\mathcal{S} 包含
    \rightarrow  特权观测\mathcal{X}
    \rightarrow  本体感知状态\mathcal{O}
    \rightarrow  动作跟踪目标G

    策略\hat{\pi}\left\{p_{t}, o_{t}, g_{t}\right\}作为输入,并输出动作\hat{a}_{t},如图2(b)中所示为教师策略
    预测的动作\hat{a}_{t} \in R^{23}是关节比例微分(PD)控制器的目标关节位置
  2. 作者使用现成的PPO [60] 算法,以最大化累积未来奖励的期望
    E_{\hat{\pi}}\left[\sum_{t=0}^{T} \gamma^{t} \mathcal{R}\left(s_{t}, \hat{a}_{t}\right)\right]
    从而鼓励以鲁棒的行为跟踪示范,预测的\hat{a}_{t} \in R^{23}是关节比例微分(PD)控制器的目标位置

对于本体感知,如下表表6所示,是ExBody2中使用的本体感觉状态。旋转信息来自IMU。本体感觉历史长度为25

对于特权信息,包含人形机器人和环境的一些真实状态,这些状态只能在模拟器中观察到

它包括真实的根部速度、实际身体连接的位置以及物理属性(例如摩擦系数、电机强度)。特权信息可以显著提高RL算法的样本效率,通常被用来获得高性能的教师策略,如下表表7所示,便是ExBody2中使用的特权信息

对于运动跟踪目标,类似于Exbody [9],ExBody2学习一种可以通过操纵杆命令(例如线速度和身体姿态)控制的策略,以为了准确跟踪全身运动

运动跟踪目标由两个部分组成,分别是

  1. 上半身和下半身的目标关节和3D关键点
  2. 目标根速度和根姿势

 对于跟踪目标信息而言,教师策略和学生策略都将运动跟踪目标作为其观测的一部分,该目标包括关键点位置、自由度(关节)位置以及根部运动信息。运动跟踪目标的详细组成部分可参见表8

对于奖励设计,奖励函数经过精心构建,旨在提升人形机器人运动的性能和逼真度。奖励的主要组成部分包括对根部的速度、方向和朝向的跟踪,以及对关键点和关节位置的精确跟踪

其中,基于跟踪的奖励的主要元素详见下表表1

作者还加入了几个正则化项——原论文也把此称作为补充奖励,以增强机器人的稳定性,并提升从仿真到现实应用的可迁移性,如下表表5所示「表5介绍了正则化奖励组件及其权重,用于计算最终奖励。最终奖励将正则化项与基于跟踪的奖励相结合,以训练一个鲁棒的强化学习策略

3.2.2.2 学生策略的训练:从较长的过去观察序列中学习最终对齐教师策略

在此阶段,作者移除特权信息,并使用更长的历史观察来训练学生策略「特权信息教师策略利用特权信息以获得准确的运动跟踪性能不同,学生策略是在较长的历史长度上训练的,相较于教师,因为它无法观察特权信息,而必须从较长的过去观察序列中学习」。如下图图2所示

  1. 学生策略 对一系列将过去的观测值O_{t-H: t}与编码的g_{t}一起用于获得预测的a_{t} \sim \pi\left(\cdot \mid o_{t-H: t}, g_{t}\right)
  2. 然后,作者使用教师的动作\hat{a}_{t} \sim \hat{\pi}\left(\cdot \mid o_{t}, g_{t}\right)和一个MSE 损失来监督π
    l=\left\|a_{t}-\hat{a}_{t}\right\|^{2}

为了训练学生,作者采用DAgger [59- A reduction of imitation learning and structured prediction to noregret online learning]中使用的策略,作者在仿真环境中执行学生策略π以生成训练数据

  • 对于每个访问的状态,教师策略\hat{\pi}计算出作为监督信号的oracle动作
    然后通过在累积数据上迭代地最小化损失l 来继续优化策略 \pi
  • 对于教师策略 \hat{\pi} 的训练会通过连续的rollout持续进行,直到损失l达到收敛为止「The training of ˆπ continues through successive rollouts untilthe loss l reaches convergence
    而训练学生策略的一个关键方面是保留足够长的历史观测序列
3.2.2.3 分解跟踪策略

动作追踪包括两个目标:追踪自由度(关节)位置和关键点(身体关键点)位置。关键点追踪通常在动作追踪中起着至关重要的作用,因为关节自由度的误差会传播到整个身体,而关键点追踪则直接应用于身体

现有的工作如H2O、OmniH2O [23,24] 学习跟踪全局关键点的轨迹。然而,这种全局追踪策略通常会导致次优甚至失败的追踪行为,因为全局关键点可能随时间漂移,导致累积误差,最终阻碍学习

  1. 为了解决这个问题,作者将全局关键点映射到机器人的当前坐标系,并采用基于速度的全局跟踪
    速度与动作的协调使得即使出现轻微的位置偏差,也能以最大表现力完成追踪
  2. 此外,为了进一步提升机器人在跟随复杂关键点动作时的能力,作者在训练阶段允许关键点出现小幅全局漂移,并定期将其校正到机器人当前的坐标系
    在部署阶段,则严格采用基于速度分解控制的局部关键点追踪(During deployment, we strictly employ local key-point tracking with velocity-decomposed control)

3.2.3 连续运动合成:类似ALOHA ACT,通过CVAE做编码、解码

现有的运动通常较短,这限制了人形机器人持续执行有趣且复杂的行为

为了解决这一问题,作者训练了一个条件变分自编码器(CVAE)[64- Learning structured output representation using deep conditional generative models,79-ALOHA ACT],以合成未来动作,这些动作可以被全身跟踪策略直接利用,使机器人在部署过程中能够无缝地执行复杂且富有表现力的动作

如下图图2(c) 所示,CVAE 模型包含一个基于transformer 的编码器和解码器

CVAE 接收过去M 步的运动m_{t-M: t},并自回归地合成未来H 步的运动m_{t+1: t+H+1}m_{t}包括当前的自由度位置、根姿态、速度和角速度

  1. 具体来说,作者利用基于Transformer 的CVAE 架构,类似于[79-ALOHA ACT]中提出的架构
    首先通过两个独立的MLP 分别对自由度位置和根信息进行tokenize——即对于教师和学生策略,将相应的输入拼接后输入MLP层进行策略学习,获得tokenized的运动信息
  2. 然后通过Transformer 编码器网络,利用[CLS] token的特征,计算后验分布
    q_{\phi}\left(m_{t-M: t}, m_{t+1: t+H+1}\right)
    相当于在训练过程中,Transformer CVAE编码器f_{e n c}接收整段全部动作m_{t-M: t+H+1}和一个分类token [CLS],并得到输出序列z,即采用[CLS] token对应的输出以获得一个后验高斯分布z 」

    为了简化记号并与标准CVAE 保持一致,作者
    条件c=m_{t-M: t}表示为历史上下文
    x=m_{t+1: t+H+1}表示为要预测的目标
    在训练时,潜在变量z\mathcal{N}\left(\mu(c, x), \sigma(c, x)^{2}\right.中采样

    相当于编码器利用双向注意力从过去M步动作m_{t-M: t}未来H步动作m_{t+1: t+H+1}中提取潜在后验变量z——The encoder leverages bidirectional attention to extract the latent posterior variable z based on past M−step motions mt−M:t and future H-step motions mt+1:t+H+1
  3. 一个Transformer 解码器将利用zc=m_{t-M: t}以及位置嵌入一块,用于预测H 步的未来运动\hat{x}
    相当于解码器在因果注意力下,基于z过去M 步动作m_{t-M: t}、位置嵌入pos emb,去预测未来H步动作m_{t+1: t+H+1}——即the decoder uses causal attention to predict future H-step motions mt+1:t+H+1 based on z and mt−M:t.

    1) 这里m_t 包括当前关键点位置、根部速度、根部角速度、位置和旋转
    2) 预测归预测,那实际的未来H步动作m_{t+1: t+H+1}怎么生成的呢?一个潜在变量z 被采样并与整段全部动作m_{t-M: t+H+1}一起输入解码器,以生成未来H步动作m_{t+1: t+H+1}
    A latent variable z is sampled and fed into the decoder alongside mt−M:t+H+1 to generate mt+1:t+H+1

    CVAE 损失包括
    \rightarrow  重建损失
    l_{\text {recon }}=\|x-\hat{x}\|^{2}

    \rightarrow  KL 散度损失
    l_{K L}=\frac{1}{2} \sum_{i=1}^{d}\left(\sigma_{i}^{2}(x, c)+\mu_{i}^{2}(x, c)-1-\log \left(\sigma_{i}^{2}(x, c)\right)\right)
    其中,d是潜在空间的维数

    \rightarrow  为了提高预测运动的平滑性,作者还应用了平滑损失l_{\text {smooth }}=\left\|\hat{m}_{t+1}-m_{t}\right\|^{2}+\sum_{i=t+1}^{t+H}\left\|\hat{m}_{i+1}-\hat{m}_{i}\right\|^{2}

    最终,CVAE 训练的总损失为l_{\text {motion }}=l_{\text {recon }}+\alpha l_{K L}+\beta l_{\text {smooth }},在作者的实验中设置\alpha=\beta=0.5

    在推理过程中,z 被设置为先验的均值(即零)
    CVAE 在AMASS CMU动作捕捉数据集上进行训练,条件是过去50 帧的动作以预测未来15 帧的动作
    且采用与Zhao 等人[79-ALOHA ACT] 类似的时间集成策略来获得预测的未来动作

至于作者做的为证明ExBody2效果不错的一系列实验,请见原论文

下表表9 中提供了CVAE 的训练和架构超参数

3.2.4 真实世界部署

他们的真实机器人采用了Unitree G1平台,板载Jetson Orin NX作为主要的计算和通信设备

  1. 控制策略接收运动跟踪目标信息作为输入,计算每个电机的期望关节位置,并将指令发送到机器人的低层接口。该策略的推理频率设置为50 Hz。指令发送时延保持在18到30毫秒之间
  2. 低层接口以500 Hz的频率运行,确保平滑的实时控制。控制策略与低层接口之间的通信通过LCM(轻量级通信与编组)[27-Lcm: Light weight communications and marshallin]实现

顺带提下动作空间


动作是关节比例-微分(PD)控制器的目标位置

  • 对于 Unitree G1 为 23 维
  • 对于Unitree H1 为 21 维
    对于该H1,作者使用的是升级版的 Unitree H1。旧版 H1 拥有19 个自由度,而新版 H1 拥有 21 个自由度

3.3 实验

3.3.1 实验设置

作者在IsaacGym [46]模拟器中,针对两种机器人平台(Unitree G1和H1)进行了实验

为检验不同跟踪方法、运动控制策略和训练技术的有效性,作者利用一个高质量、精心整理的250个动作样本数据集评估了4种基线方法。该数据集经过仔细筛选,适用于最佳训练,后续实验将进一步说明

  1. Exbody[9]:该方法仅从人体数据中跟踪上半身动作,同时跟踪下半身的根部运动,但并未明确遵循步态模式,侧重于部分身体的跟踪
    即Exbody与Exbody2方法的主要区别如下:Exbody仅关注上半身运动跟踪,不采用教师-学生结构,历史长度仅为5,并且完全通过本地关键点进行跟踪
  2. Exbody†:Exbody 的全身控制版本,在该版本中,基于人体数据跟踪全身动作。该设置实现了全面的人体动作模仿,力求使整个身体姿态与参考数据相匹配
  3. OmniH2O*:对OmniH2O的重新实现,采用全局关键点跟踪,并使用原论文中描述的相同观测空间。在部署过程中,将OmniH2O适配到我们的本地跟踪评估,以实现公平比较
    即OmniH2O*在训练过程中不将机器人的速度作为特权信息,仅依赖全局跟踪
    为保证公平,尽管OmniH2O*保持其原有的训练方法,作者在测试时对其进行了调整,采用局部关键点来评估跟踪精度。除此之外,作者还确保观测空间和奖励设计与原始的OmniH2O实现保持一致
  4. ExBody2:我们的方法利用了局部关键点跟踪,并结合了多种训练技术,以提升整体运动的真实感和仿真到现实的迁移能力

关于指标。作者使用多个指标对策略在数据集中所有运动序列上的表现进行评估

平均线速度误差E_{\text {vel }}(\mathrm{m} / \mathrm{s})衡量机器人根部线速度与示范之间的误差,反映策略的速度跟踪能力,且通过关键身体位置和关节角度来计算跟踪误差

  • 平均每关键点位置误差(MPKPE) E_{\text {mpkpe }}(\mathrm{m})评估整体关键点位置的跟踪能力
    为了更详细的分析,作者会分别报告上半身的MPKPEE_{\text {mpkpe }}^{\text {upper }}(\mathrm{m})和下半身的MPKPEE_{\text {mpkpe }}^{\text {lower }}(\mathrm{m}),以分别评估上半身和下半身的关键点位置跟踪能力
  • 同样,平均每关节位置误差(MPJPE)E_{\text {mpjpe }}(rad)衡量关节的跟踪能力
    同样为了更细致的分析,作者还报告上半身的MPJPEE_{\text {mpjpe }}^{\text {upper }}(\mathrm{rad})和下半身的MPJPE E_{\text {mpjpe }}^{\text {lower }}(\mathrm{rad}),以评估不同身体区域的跟踪表现

3.3.2 评估结果:ExBody2的师生训练范式(将特权信息蒸馏到历史观测中)使得其综合表现更好

表2

图3是机器人表演恰恰舞的动作序列『从上到下依次为:由虚拟角色表示的参考动作、ExBody2算法在仿真中的表现以及其在真实机器人上的表现。底部三行展示了每帧误差:速度跟踪误差、上半身关节自由度误差和下半身自由度误差,蓝色曲线代表ExBody2橙色代表Exbody†绿色代表Exbody红色代表OmniH2O*

展示了在两种机器人平台Unitree G1和H1上不同算法的结果,其中ExBody2在所有跟踪指标上均优于其他方法。且ExBody2的方法在整个时间段内始终保持较低的跟踪误差且波动极小,表明其具有稳定且精确的跟踪性能

更具体地说,作者评估了以下指标

  1. 上半身跟踪精度:ExBody2的算法在上半身跟踪精度方面的表现略低于Exbody
    然而,Exbody为了保持平衡牺牲了下半身的跟踪,而ExBody2的算法能够在上半身和下半身的跟踪精度之间实现良好的平衡
  2. 下肢跟踪精度:ExBody2的算法在下肢跟踪精度方面,相较于其他算法,在G1和H1上均表现出更高的准确性
  3. 速度跟踪精度:ExBody2的算法在速度跟踪精度方面也表现优异,优于其他方法
    这一提升归因于ExBody2的师生训练范式,通过将特权信息蒸馏到历史观测中,最终使学生策略具备更好的速度跟踪能力

总体而言,ExBody2的算法在全身跟踪精度(包括上半身和下半身)以及速度跟踪精度方面相比基线算法取得了显著提升,在动态环境中展现出稳定且高效的跟踪性能

3.3.3 数据集消融实验

// 待更

3.3.4 策略训练的消融实验

最后,作者对ExBody2中的设计选择进行了消融实验,包括师生设置的有效性、用于训练策略的最优历史长度,以及使用延迟关键点重置的机制,如表4所示「实验在Unitree G1机器人上进行」

  • 首先,分析教师-学生训练的影响
    如表4(c)所示,缺少教师-学生训练时,跟踪精度显著下降。这主要是因为缺乏特权速度引导,使得单阶段强化学习策略难以直接从历史中学习速度。因此,策略无法跟上期望的动作,导致跟踪精度变差
  • 随后,作者在表4(a)中测试了用不同历史长度训练的学生策略。当不使用额外历史信息时,策略难以有效学习。在非零历史长度中,大多数策略表现相近,其中历史长度为25时效果最佳,因此作者在主要实验中采用了该长度
    更长的历史长度增加了拟合特权信息的难度,最终降低了跟踪性能
  • 最后,作者在表4(b)中通过采用延迟全局关键点重置策略,评估了引入小幅漂移的影响。且允许关键点在全局坐标系中短时间移动,然后再重置到机器人本地坐标系。这实际上起到了数据增强的作用,鼓励机器人在关键点出现更大漂移时进行跟踪
    这一设计显著提升了速度跟踪能力,使机器人能够利用绝对位置调整来补偿跟踪速度时出现的偏差

// 待更

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐