H-GAP: Humanoid Control with a Generalist Planner

ICLR 2024
paper

Intro

本文方法研究利用大量人类动捕数据以及衍生的类人轨迹数据,基于MPC实现下游任务中机器人运动控制。
在这里插入图片描述

method

H-GAP 的算法框架分为三个部分:基于VQ-VAE对状态动作序列的离散化,基于Transformer对latent code的先验分布进行自回归建模,以及使用模型预测控制 (MPC) 的规划过程。

VQ-VAE

离散化是实现对多样化以及多模态轨迹数据建模的有效方法。特别是TAP,在高维空间验证了其可行性。本文方法思路与其相似但是只考虑状态动作序列。其中encoder可表达为:
f e n c ( s 1 , a 1 , s 2 , a 2 , … , s T , a T ) = ( z 1 , z 2 , … , z M T / L ) f_{\mathrm{enc}}(s_1,a_1,s_2,a_2,\ldots,s_T,a_T)=(z_1,z_2,\ldots,z_{MT/L}) fenc(s1,a1,s2,a2,,sT,aT)=(z1,z2,,zMT/L)

具体而言,输入T个状态动作序列,首先对每一个(s,a)的提取特征,然后对这T个特征,采用步长为L的一维卷积以及最大池化操作,得到T/L个特征向量块。 对于每个特征向量块又有M个latent codes对应,所以对每个特征块embedding到M个,共计MT/L个embeddings( ( x 1 , … , x M T / L ) (x_{1},\ldots,x_{MT/L}) (x1,,xMT/L))

然后通过最近邻方法从一个可优化的code book e ∈ R K × D e\in\mathbb{R}^{K\times D} eRK×D中找到最小 l 2 l_2 l2损失值的code,作为最终的latent code。

z i = e k , where k = arg ⁡ min ⁡ j ∥ x i − e j ∥ z_i=e_k,\text{where}k=\arg\min_j\|x_i-e_j\| zi=ek,wherek=argjminxiej

decoder则是输入初始状态以及latent code,重构序状态动作序列
f d e c ( s 1 , z 1 , z 2 , … , z M T / L ) = ( s 1 , a ^ 1 , s ^ 2 , a ^ 2 , … , s ^ T , a ^ T ) f_{\mathrm{dec}}(s_1,z_1,z_2,\ldots,z_{MT/L})=(s_1,\hat{a}_1,\hat{s}_2,\hat{a}_2,\ldots,\hat{s}_T,\hat{a}_T) fdec(s1,z1,z2,,zMT/L)=(s1,a^1,s^2,a^2,,s^T,a^T)

重构损失是输入轨迹和重建轨迹的均方误差。通过最小化重构误差以及,让latent codes接近embedding的距离损失 ∥ s g [ x ] − e ∥ 2 \|\mathrm{sg}[x]-e\|^{2} sg[x]e2 和embedding vector接近latent codes的距离损失函数 ∥ x − s g [ e ] ∥ 2 \|x-\mathrm{sg}[e]\|^{2} xsg[e]2来训练整个结构。sg表示梯度不更新。

Prior Transformer

先验模型是采用Transformer,输入初始状态以及latent code进行自回归建模 p ( z i ∣ z < i , s 1 ) p(z_i|z_{<i},s_1) p(ziz<i,s1)

MPC Planning

利用先验模型,输入初始状态生成latend codes, 对生成的latent code序列采用Top-p的随机采样发方法,该法方法与temperature>1相结合,高温系数保证多样性的同时,选区前p%的样本过滤掉低概率以及分布外的样本。然后由decoder得到预测的轨迹数据
在这里插入图片描述

相关推荐

  1. h.264与h.263的区别

    2024-04-10 09:04:01       50 阅读
  2. 数组|274. H 指数

    2024-04-10 09:04:01       63 阅读
  3. H12-831_265

    2024-04-10 09:04:01       56 阅读
  4. unity 导出H5

    2024-04-10 09:04:01       51 阅读
  5. H12-821_230

    2024-04-10 09:04:01       59 阅读
  6. H12-821_315

    2024-04-10 09:04:01       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 09:04:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 09:04:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 09:04:01       87 阅读
  4. Python语言-面向对象

    2024-04-10 09:04:01       96 阅读

热门阅读

  1. 需求分析思路

    2024-04-10 09:04:01       34 阅读
  2. HTTP和FTP之间的区别

    2024-04-10 09:04:01       38 阅读
  3. xilinx fpga 程序固化(含sdk)

    2024-04-10 09:04:01       41 阅读
  4. Linux journalctl命令详解

    2024-04-10 09:04:01       29 阅读
  5. 设计模式|单例模式(Singleton Pattern)

    2024-04-10 09:04:01       38 阅读