大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB

这两天,我在朋友圈说道,本质上来讲,斯坦福mobile aloha就是大模型机器人领域里的缩略版ChatGPT时刻,虽然aloha本身并没有像ChatGPT那么强大(毕竟才三人团队),但会让大模型机器人成为今2024年最大的爆发点,为何这么讲呢?

  • 一方面,ChatGPT对于各大公司最大的意义是,让大家看到了在大模型上投入的希望,而mobile aloha则让大家看到了在大模型机器人上投入的希望,更会加大:大家在另一条路线「预训练模型 + RL」上的投入与决心
  • ​二方面,虽说视频生成也会很火,但还没到能改变许多行业的地步,估计得明后年,至于无人驾驶还得再搞几年

而第二大爆发点,我觉得是agent,这个“大”更多是对社会的影响力,当然,agent是一个框架流程,本身也会嵌入在大模型机器人的设计里头

这不,mobile aloha还没过去一个月,各种大模型机器人便已喷涌而出,光我在我组织的“大模型机器人交流群”里便发了以下新闻/进展(当然,有些新闻稿犯的一些事实性错误,本文已经纠正)

  1. 机器人领域首个开源视觉-语言操作大模型,RoboFlamingo框架激发开源VLMs更大潜能
  2. Dobb·E: An open-source, general framework for learning household robotic manipulation
    可以把这个Dobb.E的工作理解为下面OK-Robot的前置工作
  3. Meta、纽约大学造了一个OK-Robot,让机器人端茶倒水so Eazy
  4. 用大模型训练实体机器人,谷歌推出机器人代理模型
  5. CMU华人18万打造高能机器人,全自主操作,1小时学会开12种门
  6. 机器人正在接管旧金山
  7. 伯克利开源高质量大型机器人操控基准,面对复杂自主操控任务不再犯难

由于我今年特别看好大模型机器人的发展,且作为一个创业者 我希望不断挑战难度更大的事情,而作为一个技术研究者或大模型开发者 我希望把各个领域的技术给串起来(比如NLP大模型和CV大模型),综合为一个大场景而服务,毕竟作为大模型应用而言,场景第一 数据第二 模型第三

第一部分 RoboFlamingo:首个开源的视觉-语言机器人操作大模型

近年来,大模型的研究正在加速推进,它逐渐在各类任务上展现出多模态的理解和时间空间上的推理能力。机器人的各类具身操作任务天然就对语言指令理解、场景感知和时空规划等能力有着很高的要求,这自然引申出一个问题:能不能充分利用大模型能力,将其迁移到机器人领域,直接规划底层动作序列呢?

去年Google发布的一项颇有影响力的工作即Robotics Transformer 2(RT-2),已经展示了一种使vlm适应低级机器人控制的可能解决方案,然而其需要对广泛的视觉-语言数据进行联合微调,以充分展示其有效性。因此,机器人领域迫切需要一种低成本的替代解决方案,有效地启用具有vlm的机器人操作策略

对此,ByteDance Research 基于开源的多模态语言视觉大模型 OpenFlamingo 开发了开源、易用的 RoboFlamingo 机器人操作模型,只用单机就可以训练。使用简单、少量的微调就可以把 VLM 变成 Robotics VLM,从而适用于语言交互的机器人操作任务

  • 项目主页:https://roboflamingo.github.io
  • 代码地址:https://github.com/RoboFlamingo/RoboFlamingo
  • 论文地址:Vision-Language Foundation Models as Effective Robot Imitators,Submitted on 2 Nov 2023 (v1)

OpenFlamingo 在机器人操作数据集 CALVIN 上进行了验证,实验结果表明,RoboFlamingo 只利用了 1% 的带语言标注的数据即在一系列机器人操作任务上取得了 SOTA 的性能。随着 RT-X 数据集开放,采用开源数据预训练 RoboFlamingo 并 finetune 到不同机器人平台,将有希望成为一个简单有效的机器人大模型 pipeline

1.1 研究背景与相关工作

这是此前的一些工作,主要有以下三大类

  1. 微调
    尽管Jang等人(2022)和Lynch & Sermanet(2020)等早期研究已经训练了一个视觉编码器和一个语言编码器,以学习操纵任务中输入语言和视觉数据的表示,但最近的一些工作直接采用预训练模型来获取优质表示,并从头开始训练策略模型或微调整个模型(some recent work directly takes pre-trained models to obtain great representations, then trains the policy model beyond them from scratch or fine-tuning the whole model)

    大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第1张图片

    例如,Jiang等人采用预训练的T5模型对多模态提示进行编码,并通过微调T5模型以及额外训练对象编码器和注意力层来学习动作
    For instance, Jiang et al. (2023) utilizes a pre-trained T5 (Raffel et al., 2020) model to encodethe multi-modal prompts, and learn the actions by fine-tuning the T5 model and additionally trainingan object encoder and attention layers

    此外,Brohan等人(2022)提出了RT-1 (即Robotics Transformer)。该模型是一个35M的视觉-语言-动作模型(VLA),通过将动作标记化并在标记空间中对齐视觉、语言和动作,且在大量真实世界操纵数据集上进行训练
    它使用Universal Sentence编码器(Cer等人,2018)获取语言嵌入,并采用预训练的EfficientNet-B3(Tan & Le,2019)作为视觉标记器
    Besides, Brohan et al. (2022) proposedRT-1, i.e., robotics transformers, a 35M vision-language-action model (VLA) which tokenizes the action and aligns the vision, language, and action in the token space and is trained on a large amount of real-world manipulation dataset
    using the Universal Sentence Encoder (Cer et al., 2018) to obtain the language embedding and the pre-trained EfficientNet-B3 (Tan & Le, 2019) as the vision tokenizer.
  2. LLM规划
    一些方法已经利用大型语言模型(LLMs)作为强大的零样本计划器,例如SayCan Ahn等人(2022),以生成预定义的分步计划,并在给定任务上提供人工交互提示,随后指示不同的预训练低级策略来执行这些计划并完成多个任务
    Some approaches have exploited large language models (LLMs) as a powerful zero-shot planner, e.g., SayCan Ahn et al. (2022), to generate step-by-step pre-defined plans withhuman-interactive prompts on given tasks, subsequently instructing different pre-trained low-levelskill policies to execute those plans and finish multiple tasks.

    大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第2张图片

    与其他研究相比,控制策略无需理解指令能力,而是依赖预训练冻结LLM来选择必要技能
    Compared to other works, the controllingpolicies do not require any ability to understand instructions, but rely on the pre-trained frozen LLMto select necessary skills.
  3. 协同精调Co-Fine-Tuning
    Dries等人提出了540B PaLM-E模型,展示了一种不同的利用预训练视觉和语言模型的方法(Driess et al. (2023) proposed 540B PaLM-E model, showing a different way ofutilizing the pre-trained vision and language model)

    大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第3张图片

    具体而言,如下三点
    \rightarrow  他们选择了不同的预训练模型来编码输入场景,并将PaLM作为基础模型(they choose different pre-trained models to encoder the input scene, and the PaLM (Chowdhery et al., 2022) model as the base model)
    \rightarrow  通过使用移动操作问答数据以及从Web收集的图像标题和视觉问答数据等辅助视觉语言训练数据(using both mobile manipulation question-answering data and auxiliary vision-language training data such as image captioning and visual question answering data collected from the web)
    \rightarrow  他们通过端到端协同微调整个VLM来训练模型生成由语言描述的预定义多步计划(train the model to generate pre-defined multi-step plans described by language by co-fine-tuning the whole VLM end-to-end)
    与SayCan类似,他们需要低级控制策略来执行生成的计划(Similar to SayCan (Ahn et al., 2022), they require low-level control policies to executethe generated plans)

    他们的方法揭示了VLMs在适应机器人操作方面具有潜力,但是他们关键性的协同微调训练策略需要大量规模化Web数据、视觉语言数据和低级机器人动作。此外,VLMs及其所使用的数据是私有化的,这使得每位机器人从业者难以实施这样的解决方案
    Their method reveals that VLMs have the potential to be adapted into robot manipulation, yet their key co-fine-tuning training strategy requires a large amount of both web-scale data vision-languagedata and low-level robot actions. Additionally, the VLMs and the data they use are private, making ithard for every robotics practitioner to play on such a solution for their own

尽管之前的模型在一定程度上弥合了机器人操作任务中视觉和语言之间的差距,但它们要么专注于低级技能策略(如SayCan和PaLM-E),要么训练一个庞大的整体模型(如RT-1),或者需要大量视觉语言数据和计算资源来确保学习操作策略时不会忽视视觉与语言之间重要的对齐关系

相比这些工作,RoboFlamingo是一个简单而直观的解决方案,可以轻松适应现有VLM(本文使用OpenFlamingo并只需微调少量操作演示
RoboFlamingo is a simple andintuitive solution to easily adapt existing VLMs (OpenFlamingo (Alayrac et al., 2022; Awadallaet al., 2023) used in this paper), only requiring fine-tuning on a small number of manipulation demonstrations

大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第4张图片

1.2 方法: Vision Encoder + Feature Fusion Decoder + Policy Head

具体而言,其利用已有的基于图像 - 文本对的视觉语言基础模型,通过训练端到端的方式生成机器人每一步的 relative action。模型的主要模块包含了 vision encoder,feature fusion decoder 和 policy head 三个模块

大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第5张图片

  1. Vision encoder 模块先将当前视觉观测输入到 ViT 中,并通过 resampler 对 ViT 输出的 token 进行 down sample
  2. Feature fusion decoder 将 text token 作为query
    \rightarrow  并在每个 layer 中先将 vision encoder 的 output 作为 key和value 进行 cross attention

    注意,在交叉注意力中,什么做Q,什么做K V确实容易混淆,有的新闻稿便会弄错,怎么防止搞错呢?
    i)  可以简单粗暴的把Q定义为主人,K V定义为客人,主人一般邀请客人到家交流,而在我们面对Feature fusion decoder时,它里面的text token当然就是主人,故自然作为query,然后把vision encoder 的 output 拿过来做cross attention,而拿过来的output自然便作为客人邀请过来了,故而是key和value
    ii) 其实包括transformer中decoder的第二个注意力层便也有类似之意(详见此篇transformer通俗笔记)

    \rightarrow  之后进行 self attention 以完成视觉与语言特征的融合
  3. 最后,对 feature fusion decoder 进行 max pooling 后将其送入 policy head 中
    policy head 根据 feature fusion decoder 输出的当前和历史 token 序列直接输出当前的 7 DoF relative action(包括6-dim 的机械臂末端位姿和 1-dim 的 gripper open/close)

在训练过程中,RoboFlamingo 利用预训练的 ViT、LLM 和 Cross Attention 参数,并只微调 resampler、cross attention 和 policy head 的参数

模仿学习「Imitation learning (Pomerleau, 1988; Zhang et al., 2018; Liu et al., 2020; Jang et al., 2022) 」,允许智能体通过从指令标记的专家游戏数据\mathcal{D}=\left\{(\tau, l)_{i}\right\}_{i=0}^{D}中进行模仿来学习

  1. 其中D表示轨迹数量,l表示语言指令,\tau = \left\{\left(o_{t}, a_{t}\right)\right\}包含在达到给定指令描述的目标之前所采取的状态和动作
  2. 学习目标可以简单地归结为最大化似然条件下策略\pi_{\theta}的模仿目标(The learning objective can be simply concluded as a maximum likelihood goal-conditioned imitation objective to learn the policy πθ)
    \ell=\mathbb{E}_{(\tau, l)_{i} \sim \mathcal{D}}\left[\sum_{t=0}^{|\tau|} \log \pi_{\theta}\left(a_{t} \mid o_{t}, l\right)\right]

1.2.1 视觉编码器Vision Encoder(ViT + 重采样器Resampler):得到视觉特征\hat{X}_{t}

视觉编码器由ViT重采样器Resampler构成,在每个时间步长t,通过ViT模块对双视图相机图像I_{t}G_{t}编码为由visual token sequence组成的\hat{X}_{t}(The vision encoder consists of a vision transformer (ViT) (Yuan et al., 2021) and a perceiver resampler (Alayrac et al., 2022). At every time step t, the two-view camera images It, Gt are encoded to Xˆt, consisting of a visual token sequence, through the ViT module):

\hat{X}_{t}^{v}=\operatorname{ViT}\left(I_{t}, G_{t}\right)

其中\hat{X}_{t}^{v}=\left(\hat{x}_{t 1}^{v}, \cdots, \hat{x}_{t N}^{v}\right)表示t处的视觉token序列,N表示编码后输出的token编号

在编码之后,RoboFlamingo利用感知器重采样器Resampler 将视觉tokens的数量从N压缩到K。换句话说,Resampler通过维护一组可学习的参数,并运用注意力机制将token序列的数量减少至k(the resampler maintains a set of learnable parameters and utilizes the attention mechanism to reduce the number of token sequences to K)

形式上,Resampler的公式如下:

K_{R}=\hat{X}_{t}^{v} W_{K}^{R}

\quad V_{R}=\hat{X}_{t}^{v} W_{V}^{R}

X_{t}^{v}=\operatorname{softmax}\left(\frac{Q_{R} K_{R}^{T}}{\sqrt{d}}\right) V_{R}

其中

  • Q_{R} \in \mathbb{R}^{K \times d},作为Resampler可学习参数的查询向量
  • d表示隐藏维度大小
  • W_{K}^{R}, W_{V}^{R} \in \mathbb{R}^{d_{v} \times d},表示键和值的线性变换矩阵
  • d_v为视觉token特征维度
  • K_RV_R是经过变换后的视觉输入V的键和值向量

1.2.2 特征融合解码器Feature Fusion Decoder

重采样器X_{t}^{v} \in \mathbb{R}^{K \times d}输出的压缩视觉tokens进一步传递至特征融合解码器,该解码器旨在通过将“语言指令”与“编码的视觉特征X_{t}^{v}”融合,以生成视觉-语言联合嵌入(The compressed visual tokens output from the resampler Xtv ∈ RK×d are further passed to the feature fusion decoder, which is designed to generate the vision-language joint embedding by fusing the language instruction with the encoded vision feature Xtv)

在RoboFlamingo中,我们利用OpenFlamingo的预训练解码器,并按照Awadalla等人的方式对解码器模块进行微调,具体来说,解码器有L层,每一层都涉及一个transformer解码器层和一个交叉注意力层(each of which involves a transformer decoder layer and a cross-attention layer)

  • transformer层直接从预训练的语言模型(如LlaMA (Touvron et al., 2023)、GPT-Neox (Black et al., 2022)和MPT (Team et al., 2023))中复制而来,并在整个训练过程中被冻结
    The transformer layers are directly copied from a pre-trained language model (such as LlaMA (Touvron et al., 2023), GPT-Neox (Black et al., 2022) and MPT (Team et al., 2023)) and are frozen during the whole training process
  • 交叉注意力层将语言token作为query,将编码后的视觉token作为key和value,通过在操纵数据上的模仿学习目标进行微调
    the cross-attention layer takes the language token as query, and the encoded visual token as key and value, which is fine-tuned by imitation learning objectives on manipulation data (see following sub-sections)

形式上,如果我们将x_{i} \in \mathbb{R}^{d}表示为指令的第i -th个嵌入token(we denote xi ∈ Rd the i−th embedded token of the instruction),M表示为指令长度,X \in \mathbb{R}^{M \times d}表示为指令的嵌入矩阵(X ∈ RM×d is the embedded matrix of the instruction)

那么嵌入的自然语言指令应该为X=\left(x_{1}, x_{2}, \cdots, x_{M}\right),并且给定输入X_{t}^{l}时,可以计算出第l个解码器层的输出X_{t}^{l+1}(then the embedded natural language instruction should be X = (x1, x2, · · · , xM) and output Xtl+1 of the l-th decoder layer given the input Xtl is computed by)

\begin{array}{l} \hat{X}_{t}^{l}=\operatorname{Tanh}(\alpha) \cdot \operatorname{MLP}\left(A\left(X_{t}^{l} W_{Q}^{C}, X_{t}^{v} W_{K}^{C}, X_{t}^{v} W_{V}^{C}\right)\right)+X_{t}^{l} \\ X_{t}^{l+1}=\operatorname{MLP}\left(A\left(\hat{X}_{t}^{l} W_{Q}^{S}, \hat{X}_{t}^{l} W_{K}^{S}, \hat{X}_{t}^{l} W_{V}^{S}\right)\right)+\hat{X}_{t}^{l} \end{array}

其中
  • X_{t}^{1}=X\hat{X}_{t}^{l}对应于时间t时刻门控交叉注意力层的输出(ˆXl t corresponds to the output of the gated cross-attention layer at time instant t)
  • W_{Q}^{C}, W_{K}^{C}, W_{V}^{C} \in \mathbb{R}^{d \times d}表示交叉注意力层(cross-attention layer)的可学习参数
  • \alpha \in \mathbb{R}是一个可学习的门控参数,用于调节稳定性的混合权重(α ∈ R is a learnable gate parameter to control the mixing weights for stability)
  • W_{Q}^{S}, W_{K}^{S}, W_{V}^{S} \in \mathbb{R}^{d \times d}表示自注意力层的参数
  • MLP代表多层感知器网络
通过视觉和语言token之间的深度互动,我们期望得到输出 X_{t}^{L}=\left\{x_{t, 1}^{L}, x_{t, 2}^{L}, \cdots, x_{t, M}^{L}\right\}的机器人操作( With the deep interaction of the vision and language token, we expect the output Xt = Xt L = {x L t,1 , xL robot manipulation)

1.2.3 policy head

特征融合解码器的输出X_{t}^{L}被训练为视觉观察和语言指令的表示(The output Xt L from the feature fusion decoder is trained as the representation of the vision observation and language instruction),这些表示将进一步翻译成低级控制信号(which will be further translated into low-level control signals)

为了实现这一目标,我们采用一个额外的策略头p_{\theta}来预测动作,例如7自由度末端执行器姿态和夹持器状态(the 7 DoF end-effector pose and gripper status),且尝试了多种策略来模拟历史观测序列,并将其作为策略头进行使用

  • 比如长短期记忆网络(LSTM)(Hochreiter & Schmidhuber, 1997),带有一个MLP用于最终预测
  • 类似的仅解码器变换器(Brown et al., 2020)也被测试过,其中包含一个MLP
  • 或者只对单步信息进行建模的单个MLP

以LSTM版本为例,在视觉-语言联合嵌入序列X_{t}^{L}(with the vision-language joint embedding sequence Xt L)上通过在token dimension上进行最大池操作得到聚合嵌入(aggregated embedding),并预测动作

{X}_{t}=\operatorname{MaxPooling}\left(X_{t}\right)

h_{t}=\operatorname{LSTM}\left(\tilde{X}_{t}, h_{t-1}\right)

a_{t}^{\text {pose }}, a_{t}^{\text {gripper }}=\operatorname{MLP}\left(h_{t}\right)

其中h_{t}表示t处的隐藏状态,a_{t}^{\text {pose }}a_{t}^{g r i p p e r}是预测的末端执行器姿态和夹持器状态

最终,我们利用最大似然模仿学习目标来微调所提出的pre-trained backbonepolicy head


具体来说,期望的相对姿态通过回归损失(可使用均方误差MSE损失)进行优化,而抓手状态使用分类损失(可使用二进制交叉熵BCE损失):

\ell=\sum_{t} \operatorname{MSE}\left(a_{t}^{\text {pose }}, \hat{a}_{t}^{\text {pose }}\right)+\lambda_{\text {gripper }} \operatorname{BCE}\left(a_{t}^{\text {gripper }}, \hat{a}_{t}^{\text {gripper }}\right)

其中

  • \hat{a}_{t}^{\text {pose }}\hat{a}_{t}^{g r i p p e r}是时间步长t时末端执行器姿态和抓取器状态的演示
  • \lambda_{g r i p p e r}对应于抓取器损失的权重(λgripper corresponds to the weight of gripper loss)

在训练过程中,我们遵循OpenFlamingo的微调范例,只训练重采样器Resampler的参数,每个解码器层的gated cross-attention module和policy head,而冻结所有其他参数(In the training procedure, we follow the fine-tuning paradigm of OpenFlamingo by only training the parameters of the resampler, the gated cross-attention module of each decoder layer, and the policy head while freezing all other parameters)

1.3 实验结果

1.3.1 基准和基线

数据集:

大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第6张图片

CALVIN(Composing Actions from Language and Vision)是一个开源的模拟基准测试,用于学习基于语言的 long-horizon 操作任务

  1. 与现有的视觉 - 语言任务数据集相比,CALVIN 的任务在序列长度、动作空间和语言上都更为复杂,并支持灵活地指定传感器输入
  2. CALVIN 分为 ABCD 四个 split,每个 split 对应了不同的 context 和 layout

定量分析:

大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第7张图片

RoboFlamingo 在各设置和指标上的性能均为最佳,说明了其具有很强的模仿能力、视觉泛化能力以及语言泛化能力

  • Full 和 Lang 表示模型是否使用未配对的视觉数据进行训练(即没有语言配对的视觉数据)
  • Freeze-emb 指的是冻结融合解码器的嵌入层
  • Enriched 表示使用 GPT-4 增强的指令

1.3.2 不同的 policy head

消融实验:

大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第8张图片

实验考察了四种不同的策略头部:MLP w/o hist、MLP w hist、GPT 和 LSTM,其中

  • MLP w/o hist 直接根据当前观测预测历史(MLP w/o hist takes only the current observation as input topredict actions, which ignores the observation history),其性能最差
  • MLP w hist 将历史观测在 vision encoder 端进行融合后预测 action(MLP w hist takes the history frames into the vision encoder with position embedding, and encodes the history information through the cross-attention layers in the feature fusion decoder),性能有所提升
  • GPT 和 LSTM 在 policy head 处分别显式、隐式地维护历史信息
    (c) GPT and (d) LSTM both utilize the VLM backbone to process single-frame observation and integrate the history with the policy head.
    GPT explicitly takes the visual history as input to predict the next action
    LSTM implicitly maintainsa hidden state to encode memory and predict the action

    其表现最好,说明了通过 policy head 进行历史信息融合的有效性

    且由于GPT和LSTM的性能相似,故选择LSTM作为默认选择,毕竟其实现相对更简单

1.3.3 预训练、模型大小、指令微调对机器人的影响

  • 视觉-语言预训练的影响
    预训练对于 RoboFlamingo 的性能提升起到了关键作用。实验显示,通过预先在大型视觉-语言数据集上进行训练。RoboFlamingo 在机器人任务中表现得更好
  • 模型大小与性能
    虽然通常更大的模型会带来更好的性能,但实验结果表明,即使是较小的模型,也能在某些任务上与大型模型媲美
  • 指令微调的影响
    指令微调是一个强大的技巧,实验结果表明,它可以进一步提高模型的性能

1.3.4 定性结果

相较于基线方法,RoboFlamingo 不但完整执行了 5 个连续的子任务,且对于基线页执行成功的前两个子任务,RoboFlamingo 所用的步数也明显更少

以下是RoboFlamingo的一些重要参考文献

  1. Brohan, Anthony, et al. "Rt-1: Robotics transformer for real-world control at scale." arXiv preprint arXiv:2212.06817 (2022).
  2. Brohan, Anthony, et al. "Rt-2: Vision-language-action models transfer web knowledge to robotic control." arXiv preprint arXiv:2307.15818 (2023).
  3. Mees, Oier, Lukas Hermann, and Wolfram Burgard. "What matters in language conditioned robotic imitation learning over unstructured data." IEEE Robotics and Automation Letters 7.4 (2022): 11205-11212.
  4. Alayrac, Jean-Baptiste, et al. "Flamingo: a visual language model for few-shot learning." Advances in Neural Information Processing Systems 35 (2022): 23716-23736.
  5. Mees, Oier, et al. "Calvin: A benchmark for language-conditioned policy learning for long-horizon robot manipulation tasks." IEEE Robotics and Automation Letters 7.3 (2022): 7327-7334.
  6. Padalkar, Abhishek, et al. "Open x-embodiment: Robotic learning datasets and rt-x models." arXiv preprint arXiv:2310.08864 (2023).
  7. Brown, Tom, et al. "Language models are few-shot learners." Advances in neural information processing systems 33 (2020): 1877-1901.
  8. Awadalla, Anas, et al. "Openflamingo: An open-source framework for training large autoregressive vision-language models." arXiv preprint arXiv:2308.01390 (2023).
  9. Driess, Danny, et al. "Palm-e: An embodied multimodal language model." arXiv preprint arXiv:2303.03378 (2023).
  10. Jiang, Yunfan, et al. "VIMA: General Robot Manipulation with Multimodal Prompts." NeurIPS 2022 Foundation Models for Decision Making Workshop. 2022.
  11. Mees, Oier, Jessica Borja-Diaz, and Wolfram Burgard. "Grounding language with visual affordances over unstructured data." 2023 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2023.
  12. Tan, Mingxing, and Quoc Le. "Efficientnet: Rethinking model scaling for convolutional neural networks." International conference on machine learning. PMLR, 2019.
  13. Zhang, Tianhao, et al. "Deep imitation learning for complex manipulation tasks from virtual reality teleoperation." 2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2018.

 第二部分 纽约大学:Dobb·E——把机器人带回家

2.1 Dobb·E:基于预训练模型和微调的行为克隆

在这项工作中,纽约大学一研究团队通过引入Dobb-E(这是其论文:On Bringing Robots Home,Submitted on 27 Nov 2023),提出了家庭教学机器人的框架,其只需五分钟就能学会一项新任务,这要归功于用廉价零件和iphone制作的示范收集工具,具体来说,Dobb-E的关键组件包括:

  • 硬件方面,主要使用了一种名为“棒”的演示收集工具(如下图A所示,相当于数据收集工具,然后可以在机器人上使用类似的设置,如下图C所示,最终机器人本身通过模仿人类的操作实现行为克隆,如下图D所示),该工具结合了3D打印组件和iPhone的可负担伸展抓取器。此外,将iPhone安装在机器人上,以便实现从棒直接传输数据,无需进行域适配
    Hardware: The primary interface is our demonstration collection tool, termed the "Stick." It combines an affordable reacher-grabber with 3D printed components and an iPhone. Additionally,an iPhone mount on the robot facilitates direct data transfer from the Stick without needing domain adaptation.

  • 预训练数据集:使用棒工具收集了一个为期13小时的数据集,名为纽约只家(HoNY),其中包含来自22个纽约家庭共216个环境的5620个演示。这些演示支持我们系统的适应性,并被用于Dobb-E预训练表示模型
    Pretraining Dataset: Leveraging the Stick, we amass a 13 hour dataset called Homes of NewYork (HoNY), comprising 5620 demonstrations from 216 environments in 22 New York homes,bolstering our system's adaptability. This dataset serves to pretrain representation models forDobb-E.
  • 模型和算法:基于预训练数据集,我们成功构建了一种流线型视觉模型,即家庭预训练表示(HPR),并采用先进的自监督学习(SSL)技术进行训练。对于新任务而言,仅需进行24次迭代调整即可微调该视觉模型,并结合视觉和深度信息来实现3D推理
    Models and algorithms: Given the pretraining dataset we train a streamlined vision model, called Home Pretrained Representations (HPR), employing cutting-edge self-supervised learning (SSL)techniques. For novel tasks, a mere 24 demonstrations sufficed to finetune this vision model,incorporating both visual and depth information to account for 3D reasoning.
  • 集成:我们的整体系统,封装硬件,模型和算法,以商用移动机器人为中心:Hello Robot Stretch

最终让Dobb-E在10个家庭中进行了为期30天的实验,在此期间,它尝试了109个任务,并成功学习了102个任务,其表现为50%,总体成功率为81%。同时,发现

  1. 简单方法的惊人效果:Dob-E采用了视觉模仿学习的简单行为克隆配方,利用ResNet模型[Deep residual learning for image recognition]进行视觉表示提取,并使用双层神经网络[The perceptron: a probabilistic model for information storage and organization in the brain,这竟然是1958年的一篇老论文,我是没想到的,^_^ ]进行动作预测
    Surprising effectiveness of simple methods: Dobb-E follows a simple behavior cloning recipefor visual imitation learning using a ResNet model [5] for visual representation extraction anda two-layer neural network [6] for action prediction
    平均而言,仅通过收集每个任务在5分钟内91秒的数据,Dob-E能够在家中实现81%的成功率
  2. 有效SSL预训练对结果产生了影响:我们基于家庭数据训练的HPR基础视觉模型,在与其他基础视觉模型相比,在更大规模互联网数据集上训练时至少提高了23%任务成功率
    Impact of effective SSL pretraining: Our foundational vision model, HPR trained on home dataimproves tasks success rate by at least 23% compared to other foundational vision models [7-9],which were trained on much larger internet datasets
  3. 里程计、深度和专业知识:Dob-E的成功在很大程度上依赖于操纵杆提供高度准确的里程计和iPhone姿态与位置感应动作,以及iPhone激光雷达所提供的深度信息。此外,收集演示数据的易用性也使得使用操纵杆进行迭代研究问题变得更加快速、便捷
    Odometry, depth, and expertise: The success of Dobb-E is heavily reliant on the Stick providinghighly accurate odometry and actions from the iPhones' pose and position sensing, and depthinformation from the iPhone's Lidar. Ease of collecting demonsrations also makes iterating onresearch problems with the Stick much faster and easier
  4. 剩余挑战:机器人力量、范围和电池寿命等硬件限制限制了机器人可以解决物理任务的能力(详见第3.3.3节),而该策略框架则受到模糊感知和更复杂临时扩展任务等因素影响

本质上,Dob-E是一个行为克隆框架[10]。而行为克隆是模仿学习的一种形式,通过观察和模仿人类或其他专家代理的行为来学习执行任务。行为克隆涉及训练模型以模仿演示的动作或行为,并通常使用标记的训练数据将观察映射到期望的动作

  1. 在我们的方法中,我们首先对一个轻量级基础视觉模型进行预训练,在家庭演示数据集上进行实验
  2. 然后在新家庭中给定新任务时,收集了一些演示并微调我们的模型以解决该任务

整个方法可以分为4个阶段:

  1. 设计一个硬件设置,以便收集演示及其无缝转移到机器人身上
  2. 在不同的家庭中使用该硬件设置收集数据
  3. 对该数据上预训练基础模型(pretraining foundational models on this data)
  4. 将经过训练的模型部署到家庭中

2.1.1 硬件设计

该系统并未要求用户移动整个机器人,而是利用一款价格便宜的25美元可伸缩末端执行器创建了一个“你好机器人”的复制品,并通过3D打印的iPhone支架进行增强,此外,iPhone Pro(版本12或更新)配备的摄像头设置和内部陀螺仪能够以每秒30帧的速度获取RGB图像、深度数据以及6D位置信息(包括平移和旋转)

使用已安装在iPhone上的Record3D来捕获演示数据,该应用程序能够保存

  1. 从相机记录的1280×720像素的RGB数据
  2. 激光雷达传感器记录的256×192像素的深度数据(注意,如paper第21页最后所说,adding depth perception to the model helps it perform much better than the model with RGB-only input)
    不过,最终模型训练时,上面这两块数据会被缩放到256×256像素
  3. 以及iPhone内部的里程表(odometry)和陀螺仪记录的手柄运动(6D的平移和旋转数据)

然后以30 FPS速率将这些数据记录到手机中,并进行导出和处理

所有的系统都部署在Hello Robot Stretch上,这是一款单臂移动机械手机器人,已经可以在公开市场上购买。我们在所有实验中使用Stretch RE1版本,其灵巧的手腕附件赋予了机器人6D运动能力。它成本低廉、便携轻便(仅重51磅/23公斤),并且可以通过电池供电长达两个小时。此外,Stretch RE1还配备了Intel NUC计算机,可以以30 Hz的频率运行学习策略

2.1.2 对预训练数据集(Pretraining Dataset)的大量收集

凭借上面的硬件设置,只需将手柄带回家,将iPhone连接到手柄上,并使用Record3D应用程序记录时进行任何演示者想要展示的操作,最终在一些志愿者的协助下收集了一个名为纽约之家(HoNY)的家庭任务数据集

  1. 该数据集由22个不同家庭中志愿者共同创建,在总计13小时录制时间内包含5620个演示视频,总计近150万帧图像
  2. 志愿者专注于八个广泛定义好的任务类别:开关按钮、开门、关门、抽屉打开、抽屉关闭、拣选和放置物品、手柄抓取以及游戏数据。对于游戏数据,我们要求志愿者记录他们使用手柄在家中进行任意活动时产生的相关数据。这种有趣行为过去已被证明对表示学习目标具有潜力[21, 24]
  3. 指导志愿者花费约10分钟来记录他们所处环境或场景中每个演示视频。最初选择的演示任务是多样化且具有一定挑战性,但对机器人而言仍然可行

尽管iPhone可以提供末端执行器的姿态数据(the pose of the end-effector),但无法直接获取夹持器本身的开启或关闭状态。为了解决这一问题,我们训练了一个模型来追踪夹持器尖端

  1. 从数据集中选取了500个随机帧,并在这些帧上使用像素坐标标记了两个夹持器尖端的位置
  2. 然后,利用该数据集对一个由三层ConvNet构成的夹持器模型进行训练,该模型试图将夹持器尖端之间的距离预测为0到1之间的标准化数值,该模型在heldout评估集上获得了0.035的MSE验证误差(以0-1尺度表示)
    We trained a gripper model on that dataset, which is a3-layer ConvNet that tries to predict the distance between the gripper tips as a normalized number between 0 and 1
    随后被用于标记数据集中其余帧中夹持器的值(介于0到1之间)

2.1.3 Policy Learning with Home Pretrained Representations

拥有多样化的家庭数据集之后,下一步的任务是训练一个基础的视觉模仿模型,以便在家中进行轻松地修改和部署。他们的策略由两个简单组件构成:一个视觉编码器和一个策略头

  • ResNet34足够小,可以在机器人的机载计算机上运行
    使用MoCo-v3自监督学习算法在我们收集的数据集上对视觉编码器进行60个epochs的预训练,称这个模型为家庭预训练表示(HPR)模型,部署的所有策略都是基于这个模型训练的
    We pretrainour visual encoder on our collected dataset with the MoCo-v3 self-supervised learning algorithm for60 epochs. We call this model the Home Pretrained Representation (HPR) model, based on which allof our deployed policies are trained.
    且比较了使用我们自己的视觉编码器与在不同数据集和算法上训练的视觉编码器(如R3M [8]、VC1 [9]和MVP [7])甚至只是在ImageNet-1K [59]上进行预训练后效果之间 的差异
    We compare the effects of using our own visual encoder vs. apretrained visual encoder trained on different datasets and algorithms, such as R3M [8], VC1 [9], andMVP [7], or even only pretraining on ImageNet-1K [59], in Section 3.4.1.
  • 下游策略学习方面,在每个新任务中,根据所捕获到深度值和视觉编码器进行简单操纵策略学习。该策略输入空间为256×256像素大小RGB-D图像(4通道),输出空间为一个7维向量,其中前三个维度表示相对平移,接下来三个维度表示相对旋转(轴角表示),最后一个维度表示夹持器值范围介于0到1之间
    Downstream Policy Learning On every new task, we learn a simple manipulation policy based onour visual encoder and the captured depth values. For the policy, the input space is an RGB-D image(4 channels) with shape 256×256 pixels, and the output space is a 7-dimensional vector, where thefirst 3 dimensions are relative translations, next 3 dimensions are relative rotations (in axis anglerepresentation), and the final dimension is a gripper value between 0 and 1.

    大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第9张图片

    具体而言,我们设计了一个简单结构用于实现该策略:首先应用于RGB通道的图像表达模型,并通过中位池化操作应用于深度通道;然后经过两层全连接层将512 维图像表达和512 维深度值投影到7 维动作空间
    Our policy is learned topredict an action at 3.75 Hz, since that is the frequency with which we subsample our trajectories. The policy architecture simply consists of our visual representation model applied to the RGB channelsin parallel to a median-pooling applied on the depth channel, followed by two fully connected layersthat project the 512 dimensional image representation and 512 dimensional depth values down to 7dimensional actions.

在监督训练期间, 网络从观察到动作映射进行学习, 并未冻结任何参数, 学习速率设置为 3×10^−5 进行50次迭代更新(During this supervised training period where the network learns to map fromobservation to actions, we do not freeze any of the parameters, and train them for 50 epochs with alearning rate of 3×10 −5)

网络采用均方误差(MSE)损失函数进行训练,在计算损失之前将每个轴上动作标准化为零均值和单位标准差 (We train our network with a mean-squared error (MSE) loss, and normalizethe actions per axis to have zero mean and unit standard deviation before calculating the loss)

2.1.4 部署到一个新的家庭

为了解决新任务,首先简要收集一些任务示范。通常会收集24个新示范作为经验数据,对于简单的5秒任务来说这是足够的。在实际操作中,收集这些示范大约需要5分钟时间。然而,在某些环境下重置所需时间更长,在这种情况下,收集示范可能需要更多时间

  1. 为了使机器人策略具备一定的空间泛化能力,我们通常从任务设置前各种位置开始收集数据,并且通常在一个小型4×6或5×5网格中进行
  2. 一旦数据收集完成,将R3D文件中的数据转换为数据集格式需要约5分钟。接着,在GPU RTX A4000上进行50次训练平均需时约20分钟。因此,从开始数据收集到获得可在机器人上部署的策略,平均时间为30分钟
  3. 然后使用安装在手臂上的iPhone和Record3D应用程序,通过USB将RGB-D图像流传输到机器人计算机上。为了获得预测动作,我们对输入图像和深度进行处理。利用基于PyKDL的逆运动学求解器,在机器人末端执行器上执行预测的相对动作
    We use the iPhone mounted on the arm and the Record3D app to stream RGB-Dimages via USB to the robot computer. We run our policy on the input images and depth to get the predicted action. We use a PyKDL based inverse kinematics solver to execute the predicted relative action on the robot end-effector.

    由于模型预测摄像头帧中的运动,我们在机器人URDF中添加了一个关节来连接额外摄像头,从而可以直接执行预测动作,无需精确计算从摄像头帧到机器人末端执行器帧之间的转换
    Since the model predicts the motion in the camera frame, we addeda joint in the robot’s URDF for the attached camera, and so we can directly execute the predicted action without exactly calculating the transform from the camera frame to the robot end-effectorframe

    对于夹持关闭操作,采用二进制方式根据任务变化应用阈值来预测夹持状态。通过接收观察并命令机器人执行策略预测的动作,并等待其完成以接收下一个观察,在机器人上同步运行策略
    For the gripper closing, we binarize the predicted gripper value by applying a threshold that can vary between tasks. We run the policy synchronously on the robot by taking in an observation,commanding the robot to execute the policy-predicted action, and waiting until robot completes theaction to take in the next observation.
  4. 针对评估实验,通常每个任务会使用10个不同初始起始位置(如上图b所示),这些起始位置改变了机械臂夹持装置垂直和水平方向上的初始位置。在这10次试验之间,我们会手动重置机械臂和环境
    For our evaluation experiments we generally use 10 initialstarting positions for each robot task (Figure 9 (b)). These starting positions vary our robot gripper’s starting position in the vertical and horizontal directions. Between each of these 10 trials, we manuallyreset the robot and the environment.

第三部分 纽约大学和Meta:OK-Robot

3.1 OK-Robot:What Really Matters in Integrating Open-KnowledgeModels for Robotics

最近,纽约大学、Meta 研发出的一款机器人学会了这个技能。你只需要对它说,「把桌子上的玉米片拿到床头柜上」,它就能自己找到玉米片,并规划出路线和相应的动作,顺利完成任务。此外,它还能帮你整理东西或扔垃圾

这个机器人名叫 OK-Robot,由来自纽约大学、Meta 的研究者共同构建。他们将视觉语言模型(用于物体检测)、导航和抓取的基础模块整合到一个开放知识型框架中,为机器人的高效拾放操作提供了解决方案

  • 论文链接:OK-Robot: What Really Matters in Integrating Open-KnowledgeModels for Robotics,Submitted on 22 Jan 2024
  • 项目链接:https://ok-robot.github.io

OK-Robot 定位中的「开放知识」指的是在大型公开数据集上训练的学习模型

  1. 当 OK-Robot 被放置在一个新的家庭环境中时,它将从 iPhone 上获取扫描结果。根据扫描结果,它会使用 LangSam(即Language Segment-Anything) 和 CLIP 计算出密集的视觉语言表征,并将其存储在语义存储器中
    OK-Robot is seeded with a scan taken from an iPhone. Given this scan, dense vision-language representationsare computed using LangSam [24] and CLIP [9] and storedin a semantic memory
  2. 在此之后,给定一个需要拾取的对象的语言查询,查询的语言表征与语义记忆相匹配
    Then, given a language-query for an object that has to be picked, language representations of the query is matched with semantic memory
  3. 接下来,它会依次应用导航和拾取模块,移动到所需物体并将其拾取。类似的过程也可用于丢弃物体
    After this, navigationand picking primitives are applied sequentially to move to the desired object and pick it up. A similar process can be carriedout for dropping the object

为了研究 OK-Robot,研究者在 10 个真实的家庭环境中对其进行了测试

header_video_ultra_ultra_com..

通过实验,他们发现,在一个从未见过的自然家居环境中,该系统零样本部署的成功率平均为 58.5%。然而,这一成功率在很大程度上取决于环境的「自然程度」。因为他们发现,通过改进查询、整理空间和排除明显具有对抗性的物体(太大、太半透明、太滑),这一成功率达到了约 82.4%

总之,通过实验,他们得出了以下结论:

  1. 预训练的视觉语言模型对开放词汇导航非常有效:目前的open-vocabulary vision-language模型 —— 如 CLIP 或 OWL-ViT(Vision Transformer for Open-World Localization,by Google Research 2022)—— 在识别真实世界中的任意物体方面表现出色,并能以零样本的方式导航、找到这些物体
    Pre-trained VLMs are highly effective for open-vocabulary navigation: Current open-vocabulary vision-language models such as CLIP [9] or OWL-ViT [Simple Open-Vocabulary Object Detection with Vision Transformers,和DETR有点点类似,两阶段训练方式:1. Contrastively pre-train image and text encoders on large-scale image-text data,2. Add detection heads and fine-tune on medium-sized detection data]

    大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第10张图片

    offerstrong performance in identifing arbitrary objects in the realworld, and enable navigating to them in a zero-shot manner
  2. 预训练的抓取模型可直接应用于移动操控:与 VLM 类似,根据大量数据预训练的专用机器人模型可以直接应用于家庭中的开放词汇抓取。这些机器人模型不需要任何额外的训练或微调
  3. 如何组合组件至关重要: 研究者发现,在预先训练好模型的情况下,可以使用一个简单的状态机模型(state-machine model)将它们组合起来,而无需进行任何训练。他们还发现,使用启发式方法来抵消机器人的物理限制,可以在真实世界中获得更高的成功率
  4. 目前仍存在一些挑战:考虑到在任意家庭中进行零样本操作的巨大挑战,OK-Robot 在先前工作的基础上进行了改进:通过分析失败模式,他们发现在视觉语言模型、机器人模型和机器人形态学方面可以进行重大改进,这将直接提高开放知识操纵智能体的性能

3.2 技术组成和方法

该研究主要解决这个问题:从 B 上拿起 A 并将其放在 C 上,其中 A 是一个物体,B 和 C 是现实世界环境中的某个地方。要实现这一点,所提系统需要包含以下模块:

  • 开放词汇对象导航模块
  • 开放词汇 RGB-D 抓取模块
  • 释放或放置对象的启发式模块(dropping heuristic)

3.2.1 开放词汇物体导航(open-vocabulary object navigation):扫描、构图、检测、存储、查询、寻路

  1. 首先是扫描房间
    开放词汇对象导航遵循了 CLIP-Fields 的方法,并假设有一个预先映射阶段,即使用 iPhone 手动扫描家庭环境
    Scanning the home: For open vocabulary object navigation,we follow the approach from CLIP-Fields [27] and assumea pre-mapping phase where the home is “scanned” manually using an iPhone. 
    这种手动扫描只是用 iPhone 上的 Record3D 应用程序拍摄家庭视频,这将产生一系列带位置的 RGB-D 图像
    This manual scan simply consists of taking a video of the home using the Record3D app on the iPhone,which results in a sequence of posed RGB-D images.
  2. 地图构建
    扫描每个房间的时间不到一分钟,一旦信息收集完毕,RGB-D 图像以及相机的姿态和位置就被导出到项目库中进行地图构建
    especially for a novel space, while our “scan” takeless than one minute for each room. Once collected, the RGB-Dimages, along with the camera pose and positions, are exportedto our library for map-building.
    且录制时必须捕捉地面表面以及环境中的物体和容器(there cording must capture the floor surface alongside the objectsand receptacles in the environment)
  3. 接下来是进行物体检测(Detecting objects)
    在扫描的每一帧上,会有一个开放词汇对象检测器对扫描的内容进行处理。本文选择 OWL-ViT 物体检测器,因为这种方法在初步查询中表现更好
    On each frame of the scan, we run an open-vocabulary object detector. Unlike previous works which usedDetic [7], we chose OWL-ViT [8] as the object detector since we found it to perform better in preliminary queries
    研究者在每一帧上应用检测器,并提取每个对象边界框、CLIP 嵌入、检测器置信度,并将它们传递到导航模块的物体存储模块
    We applythe detector on every frame, and extract each of the objectbounding box, CLIP-embedding, detector confidence, and passthem onto the object memory module of our navigation module

    在之前的工作基础上,我们进一步将边界框细化为使用Segment Anything(SAM)的对象掩码
    Building on top of previous work [27], we further refinethe bounding boxes into object masks with Segment Anything(SAM) [28]
  4. 然后进行以物体为中心的语义存储(Object-centric semantic memory)
    本文借助 VoxelMap(类似于Clip-Fields和OVMM的以物体为中心的记忆) 来完成这一步(We use an object-centricmemory similar to Clip-Fields [27] and OVMM [25] that wecall the VoxelMap)
    具体来说,物体掩模是通过深度图像和相机采集的姿态反投影到真实世界坐标系中,从而生成一个点云。每个点都与来自CLIP的关联语义向量相关联。然后,我们将点云以5厘米分辨率进行立体像素(简称体素)化,并对每个体素计算属于该体素的CLIP嵌入检测器置信度加权平均值。这个体素图构成了我们物体记忆模块的基础
    The object masks are back-projected inreal-world coordinates using the depth image and the pose collected by the camera, giving us a point cloud where each point has an associated semantic vector coming from CLIP.
    Then, we voxelize the point cloud to a 5 cm resolution and for each voxel, calculate the detector-confidence weighted average for the CLIP embeddings that belong to that voxel. This voxel map builds the base of our object memory module. 
  5. 之后是查询记忆模块(Querying the memory module):当给定一个语言查询时,使用CLIP语言编码器将其转换为语义向量(Given a language query, we convertit to a semantic vector using the CLIP language encoder)
    然后,我们寻找使编码向量和立体像素语义表示(the voxel’s semantic representation)之间点积最大化的顶部体素。由于每个体素都与家中的真实位置有关联,类似于下图(a),这使得我们能够找到最有可能匹配查询对象所在的地方
    Then,we find the top voxel where the dot product between the encoded vector and the voxel’s semantic representation is maximized. Since each voxel is associated with a real locationin the home, this lets us find the location where a queriedobject is most likely to be found, similar to Figure 2(a)

必要时,本文将「A on B」实施为「A close B」。为此,查询 A 选择前 10 个点,查询 B 选择前 50 个点。然后计算 10×50 成对欧氏距离,并选择与最短 (A, B) 距离相关的 A 点。

完成上述过程,接下来就是导航到现实世界中的对象:一旦得到了现实世界中的 3D 位置坐标,就可以将其用作机器人的导航目标来初始化操作阶段。导航模块必须将机器人放置在手臂可触到的范围,以便机器人随后可以操纵目标物体

为了从空间中的任何其他点安全地导航到目标点,简言之,通过利用之前捕获的RGB-D图像构建障碍物地图,比如创建了一个2D网格,每个单元大小为10cm×10cm,然后使用A*算法进行导航,具体而言

  1. 为了将体素图转换为障碍物图,我们设定了地板和天花板高度,并将被占据的体素视为已占据的网格单元,而没有天花板或地板体素则表示未探索的网格单元
    我们将被占据或未探索的单元标记为不可导航区域
    在每个被占据点周围20厘米范围内的所有点也被标记为不可导航区域,以考虑机器人本身及其旋转半径
  2. 在A*算法中,我们使用s3函数作为节点成本启发式来远离任何障碍物进行路径规划,这使得生成路径与理想Voronoi路径相似

3.2.2 机器人对现实世界物体的抓握

与开放词汇导航不同,为了完成抓取任务,算法需要与现实世界中的任意对象进行物理交互,这使得这部分变得更加困难。因此,本文选择使用预训练的抓取模型来生成现实世界中的抓取姿态,并使用 VLM 进行语言条件过滤

本文使用的抓取生成模块是 AnyGrasp,它在给定单个 RGB 图像和点云的场景中使用平行钳口夹具生成无碰撞抓取

  • AnyGrasp 提供了场景中可能的抓握,如上图第2列所示,包括抓握点、宽度、高度、深度和抓握分数,该分数表示每次抓握中未校准的模型置信度
  • 使用语言查询过滤抓握:对于从 AnyGrasp 获得的抓握建议,本文采用 LangSam 过滤抓握。本文将所有建议的抓握点投影到图像上,并找到落入对象掩模的抓握点(上图第 4 列)
  • 抓握执行。一旦确定了最佳抓握(上图第5列),就可以使用简单的预抓握方法来抓握目标对象

3.2.3 释放或放置对象的启发式模块

抓握对象后,接下来就是将对象放置在什么地方。与 HomeRobot 的基线实现不同,该方法假设物体放下的位置是一个平坦的表面,本文进行了扩展,还涵盖了凹物体,如水槽、箱子、盒子和袋子。

至此,导航、抓握和放置都有了,之后就可以直接将它们组合起来,该方法可以直接应用于任何新的家庭。对于新的家居环境,该研究可以在一分钟内扫描房间。然后,只需不到五分钟即可将其处理到 VoxelMap 中。一旦完成,机器人就可以立即放置在选定的场地并开始运行。从到达一个全新的环境到开始在其中自主操作,该系统平均需要不到 10 分钟即可完成第一个取放任务

// 待更

第四部分 Google AutoRT:极大利好机器人数据的收集

在高层次上,AutoRT通过开放词汇表对象检测器收集数据

  1. 首先对场景进行理解和描述
  2. 然后LLM解析该描述,在给定高层目标的情况下生成明智且安全的语言目标
  3. 最后使用LLM确定如何执行这些目标

AutoRT采用了一个带有摄像头、机械臂和移动基座的移动机械手作为机器人平台。在此处,我们仅考虑操作数据的收集,因此导航只用于获取不同操作设置——然而值得注意的是该系统对其他机器人实现和收集模式也具有通用性

4.1 探索阶段:导航到目标

  1. 第一步是对空间进行探索,并找到有趣的场景进行操作(The first stage of AutoRT is to explore the space and find interesting scenes for manipulation)
    为了绘制环境,我们采用了 Chen 等人提出的自然语言地图方法,该方法利用 VLM 构建,将物体检测编码为视觉语言嵌入\phi_{i} ,相应位置(x_i, y_i, z_i)由机器人的深度传感器和 SLAM 确定
    Tomap the environment, we use the natural language map approach proposed by Chen et al. (Open-vocabulary queryable scene representations for real world planning),which is built using a VLM to encode object detections into visual-language embeddings φi, with corresponding position (xi,yi,zi) determined by the robot’s depth sensor and SLAM.

    因此,给定一个类似于“海绵”的文本目标 q ,我们可以通过查询接近 q 文本嵌入的 \phi_{i} 来引导机器人走向海绵
    Thus, givena textual target q like “sponge”, we can direct the robot towards a sponge by querying for a φithat is close to the text embedding for q.
  2. 为了确定导航目标,在感兴趣区域中采样状态时,我们根据之前看到对象的平均嵌入与潜在距离成比例进行采样
    To determine navigation goals we sample this map forregions of interest via sampling states proportional to their latent distance to an average embeddingof previously seen objects (see Appendix B for more details)

    每个环境只生成一次该地图,并复制到所有收集机器人所在空间中,并从缓存中加载以节省未来情节时间
    For each environment, this map isgenerated once, then copied to all robots collecting in the space and loaded from cache to save timein future episodes.

总之,如下图所示,每个机器人在环境中进行探索,随机选择导航目标并靠近物体。场景和物体由VLM描述,并提供LLM文本作为机器人生成操纵任务的依据。机器人执行有效任务,对情节进行评分,并重复该过程。这种方法不需要事先了解环境布局或其中包含的物体,使其适用于由20多个机器人组成的舰队,在新颖设置下运行。绿色部分是本工作的贡献

4.2 任务列表的生成

在机器人操作场景之前,需要生成一个操纵任务列表。这个过程包括两个步骤:

  1. 场景描述:根据机器人摄像头拍摄的图像,VLM会输出文本来描述机器人观察到的场景以及其中存在的五个物体。例如,在给定场景中,VLM列出了肥皂、餐巾、零食、布和海绵

    Given an image from the robot camera, a VLM outputs text describing thescene the robot observes, and 5 objects that exist in that scene. For example, as shown in Fig. 5,the VLM lists soap, napkin, snack, cloth, sponge in the given scene.

  2. 任务建议:在这一步中,AutoRT会提示生成任务列表。提示首先提供系统角色说明,比如“我是在办公环境中操作的机器人”,以指导LLM扮演相应角色。然后通过由机器人constitution编写的任务生成规则列表结束
    Task proposal: In this step, AutoRT is prompted to generate a list of tasks. This prompt beginswith a system prompt, such as: “I am a robot operating in an office environment”, which describesthe role the LLM should play. It continues with a list of rules that should be followed for taskgeneration, codified by the robot constitution.

    提示部分还可以注入之前VLM调用中得到的场景和对象描述信息。基于这些提示,LLM会生成一个潜在的操纵任务列表。值得注意的是,为了保持底层模型通用性,并没有针对我们特定用例进行LLM微调
    The prompt ends with a section, where we can inject the scene and object description from the prior VLM call. Given this prompt, an LLMgenerates a list of potential manipulation tasks (see Fig. 5). We note, the LLM is not fine-tuned toour specific use case to maintain the generality the underlying model.

第五部分 CMU 18万机器人:预训练 + RL之后,一切自主操作

5.1 先预训练(通过演示数据进行行为克隆)后RL(通过CLIP视觉语言模型给予环境反馈)

在本文中,我们提出了开放世界移动操作系统(Open-World Mobile Manipu-lation System),这是一个全栈方法,用于解决开放世界中真实关节物体的移动操作问题

  1. 通过“带有相关参数的结构化动作空间”来实现有效的学习
    Efficient learning is enabled by a structured ac-tion space with parametric primitives
  2. 自适应学习允许机器人通过在线RL从自我实践数据中不断学习
    by pretraining the Adaptive learning allows the robot to keep learning fromself-practice data via online RL
  3. 我们介绍了一种低成本的移动操作硬件平台,该平台具备高有效载荷,使其能够与物体进行重复交互。例如,在开放世界环境下穿越各种门以及在狭窄和杂乱的空间中导航等任务都可以完成。为了测试系统的有效性,我们对大学校园内4栋建筑中的8个新物体进行了现场测试,并发现自适应收益将成功率从预训练策略的50%提高到适应后的95%
    We introduce a low-cost mobile manipulation hardware plat-form that offers a high payload, making it capable of repeatedinteraction with objects, e.g. a heavy, spring-loaded door, anda human-size, capable of maneuvering across various doorsand navigating around narrow and cluttered spaces in theopen world. We conducted a field test of 8 novel objectsranging across 4 buildings on a university campus to testthe effectiveness of our system, and found adaptive earningboosts success rate from 50% from the pre-trained policy to 95% after adaptation

5.1.1 策略的初始化:通过收集到的演示数据进行行为克隆

为了实现高效学习,采用了一个结构化的分层动作空间。该空间包括一个固定的高级动作策略和可学习的低级控制参数。通过利用遥操作演示产生不同数据集进行行为克隆(BC),然后初始化了策略(To achieve efficient learning, we use astructured hierarchical action space. This uses a fixed high-level action strategy and learnable low-level control param-eters. Using this action space, we initialize our policy viabehavior cloning (BC) with a diverse dataset of teleoperated demonstrations)

然而,在开放世界环境中,对象变化范围广泛,因此初始的BC策略可能无法适应机器人可能遇到的每个未见物体。为解决这一问题,我们使机器人能够从在线样本中持续学习和适应,并描述了在线学习过程(we enable the robot to learn from the online samples it collects to continually learn andadapt. We describe the continual learning process as well asdesign considerations for online learning)

为了提高学习效率,采用参数化的基本动作空间(parameterized primitive action space)

  1. 具体来说,假设使用一个被g参数化的抓取原语G(.)进行访问
    Concretely, we assume access to a grasping primitive G(.) parameterized by g.
  2. 此外,还引入了一个受限的移动操作原语M(.),其中包含两个参数:一个离散参数C和一个连续参数c
    We also havea constrained mobile-manipulation primitives M(.), whereprimitive M(.) takes two parameters, a discrete parameter C and a continuous parameter c.
    轨迹以开环方式执行,即在每个抓取原语之后跟随一组N个受限的移动操作原语
    Trajectories are executed in an open-loop manner, a grasping primitive followed by asequence of N constrained mobile-manipulation primitives:

\left\{I_{s}, G(g),\left\{M\left(C_{i}, c_{i}\right)\right\}_{i=1}^{N}, I_{f}, R\right\}

其中Is代表初始观察图像,G(g)和M(Ci,ci)分别表示参数化抓取和约束操作原语,If代表最终观察图像,ris表示轨迹的奖励(where Is is the initial observed image, G(g), M(Ci,ci))denote the parameterized grasp and constrained manipulationprimitives respectively, I f is the final observed image, and ris the reward for the trajectory)

尽管这个结构化空间在表达能力上不如完整的动作空间强大,但它足以学习我们每天遇到的铰接对象的有效策略,并包括20个不同门、抽屉和冰箱等开放世界环境中的情景。该结构只需使用20-30个轨迹序列就能从少量样本中进行学习

5.1.2 自适应学习:模仿学习 + 在线RL

给定初始观测图像I_s,我们使用分类器\pi_{\phi}\left(\left\{C_{i}\right\}_{i=1}^{N} \mid I\right)来预测N个离散参数\left\{C_{i}\right\}_{i=1}^{N}序列的约束移动操作,并利用条件策略网络\pi_{\theta}\left(g,\left\{c_{i}\right\}_{i=1}^{N} \mid I,\left\{C_{i}\right\}_{i=1}^{N}\right)生成抓取原语的连续参数和N个约束移动操作原语序列(Given an initial observation image Is, we use a classifierπφ({Ci}Ni=1|I) to predict the a sequence of N discrete pa-rameters {Ci}Ni=1 for constrained mobile-manipulation, anda conditional policy network πθ(g,{ci}Ni=1|I,{Ci}Ni=1) whichproduces the continuous parameters of the grasping primi-tive and a sequence of N constrained mobile-manipulationprimitives),机器人按照开环方式逐个执行参数化原语(The robot executes the parameterized primitivesone by one in an open-loop manner)

  • 模仿学习
    模仿学习旨在通过学习策略参数\pi_{\theta, \phi},以最大化专家动作的可能性(The imitation learning objective is to learn policy pa-rameters πθ,φ that maximize the likelihood of the expertactions)
    具体而言,对于给定图像观测数据集I_s和相应的动作\left\{g,\left\{C_{i}\right\}_{i=1}^{N},\left\{c_{i}\right\}_{i=1}^{N}\right\},模仿学习目标是:

\max _{\phi, \theta}\left[\log \pi_{\phi}\left(\left\{C_{i}\right\}_{i=1}^{N} \mid I_{S}\right)+\log \pi_{\theta}\left(g,\left\{c_{i}\right\}_{i=1}^{N} \mid\left\{C_{i}\right\}_{i=1}^{N}, I_{S}\right)\right]

  • 在线RL
    在线RL面临着一个核心挑战,即操作新的铰接对象,这些对象不符合行为克隆训练数据分布(The central challenge we face is operatingnew articulated objects that fall outside the behavior cloningtraining data distribution)。为了解决这一问题,我们使策略能够利用机器人收集的在线样本进行持续改进。换言之,我们致力于最大化策略下预期奖励总和
                                                                                    \max _{\theta, \phi} \mathbb{E}_{\pi_{\theta, \phi}}\left[\sum_{t=0}^{T} r\left(s_{t}, a_{t}\right)\right]
    由于我们采用了前文所述的高度结构化的行为空间,因此我们可以使用相对简单的强化学习算法来优化该目标。具体而言,我们应用了REINFORCE目标(分别定义为公式3、公式4)
                                                                    \begin{array}{l} \nabla_{\theta, \phi} J(\theta, \phi)=\mathbb{E}_{\pi_{\theta, \phi}}\left[\sum_{t=0}^{T} \nabla_{\theta} \log \pi\left(a_{t} \mid s_{t}\right) \cdot r_{t}\right] \\ =\mathbb{E}_{\pi_{\phi, \theta}}\left[\left(\nabla_{\phi} \log \pi_{\phi}\left(C_{i} \mid I\right)+\nabla_{\theta} \log \pi_{\theta}\left(g, c_{i} \mid C_{i}, I\right)\right) \cdot R\right] \end{array}
    其中R代表轨迹执行结束时所获得的奖励。需要注意的是,我们只有单个时间步长过渡,并且所有动作都由观察到的图像I_s决定,并以开环方式执行(where R is the reward provided at the end of trajectory execution. Note that we only have a single time-step transition, all actions are determined from the observed image Is , and executed in an open-loop manner)
  • 整体微调
    为了确保策略不会与模拟数据集的初始化偏离过大,我们在微调时采用加权目标进行优化。整体损失函数定义如下(定义为公式5):

    其中,在线采样数据的损失通过上面的公式4进行优化,而批量离线数据的损失则通过上面公式2的BC算法进行优化。在执行更新操作时,我们对在线和离线数据使用相同大小的批次

5.2 训练细节

5.2.1 抓取细节与受限的移动操作

给定从真实感相机获得的场景RGBD图像,使用现有的视觉模型[Detecting twenty-thousand classes using image-level supervision],[Segment anything]来获取门和手柄的掩码,并仅提供文本提示

  1. 此外,由于门是一个平面,我们可以利用相应的掩码和深度图像来估计门的表面法线(Furthermore, since the door is aflat plane, we can estimate the surface normals of the doorusing the corresponding mask and the depth image)
  2. 这被用于将底座移动到靠近门位置并使其垂直,并设置抓取手柄时的方向角(This is used to move the base close to the door and align it tobe perpendicular, and also to set the orientation angle forgrasping the handle)
  3. 通过使用相机标定将手柄2D掩码中心投影到3D坐标中,即可得到名义上的抓取位置
    The center of the 2d mask of the handle is projected into 3d coordinates using camera calibration,and this is the nominal grasp position. 
  4. 抓取原语的低级控制参数指示了抓取位置偏移量。这对于不同类型手柄可能需要稍微调整位置以达到最佳效果非常有帮助,并且可以通过学习低级连续值参数来实现
    The low-level control parameters to the grasping primitive indicate an offset for this position at which to grasp. This is beneficial since dependingon the type of handle the robot might need to reach a slightlydifferent position which can be learned via the low-levelcontinuous valued parameters

在SE2平面中,我们有一个9维向量对机器人手臂末端执行器和机器人底座的速度进行控制,其中前6个维度对应于手臂控制,最后3个维度对应于底座。我们所采用原语对该空间施加以下约束(We use velocity control for the robot arm end-effector and the robot base. With a 6dof arm and 3dof motion for the base (in the SE2 plane), we have a 9-dimensional vector -):

\text { Control : } \quad\left(v_{x}, v_{y}, v_{z}, v_{\text {yaw }}, v_{\text {pitch }}, v_{\text {roll }}, V_{\mathrm{x}}, V_{\mathrm{y}}, V_{\omega}\right)

且对这个空间施加的约束如下

\begin{aligned} \text { Unlock : } & \left(0,0, v_{z}, v_{\text {yaw }}, 0,0,0,0,0\right) \\ \text { Rotate : } & \left(0,0,0, v_{\text {yaw }}, 0,0,0,0,0\right) \\ \text { Open : } & \left(0,0,0,0,0,0, V_{\mathrm{x}}, 0,0\right) \end{aligned}

对于控制部分,策略输出与要执行原始数据相关联索引及其相应运动低级参数。低级控制命令范围为-1至1,并具有固定持续时间执行时间。参数符号决定速度控制方向,在解锁和旋转时顺时针或逆时针,在打开时向前或向后(For control, the policy outputs an index corresponding to which primitive is to executed, as well as the corresponding low-level parameters for the motion. The low-level control command is continuous valued from -1 to 1 and executed for a fixed duration of time. The sign of the parameters dictates the direction of the velocity control, either clockwise or counter-clockwise for unlock and rotate, and forward or backward for open)

5.2.2 预训练数据集

在此项目中考虑铰接对象由三个刚性部分组成:基座部分、框架部分和手柄部分

为了在操作未见过的新型铰接物体时提供泛化效益,我们首先收集了一个离线演示数据集。我们在BC训练数据集中包括每个类别3个对象,并为每个对象收集10个演示轨迹,共产生120条轨迹记录

此外,在泛化实验中还从每个类别中选取2个测试对象。训练和测试对象在视觉外观方面具有显著差异,例如纹理、颜色;在物理动力学方面也存在差异,例如弹簧加载;以及驱动方式上可能出现顺时针或逆时针等差异性质量特征

5.2.3 自主和安全的在线适应设计

如前所述,为了更好的操作BC训练领域之外的新对象,该团队开发了一个能够完全自主强化学习(RL)在线适应的系统

  • 安全感知探索:确保机器人在进行探索时所采取行动对其硬件是安全的至关重要,特别是因为它需要与对象进行关节约束下交互。然而,由于我们使用低成本手臂(如xarm-6),无法精确支持力感应

    为了部署我们的系统,在线采样期间读取关节电流并设置一种基于此机制来确保安全性。如果机器人采样到一个导致关节电流达到阈值的动作,则会立即终止该事件并重置机器人,以防止手臂从潜在地对自身造成损害,并提供负奖励以阻止此行为
  • 奖励规格:在我们的主要实验中,一名人类操作员会根据机器人是否成功打开门来给予奖励。成功打开门则得到+1分,失败则得到0分,违反安全规定则得到-1分。这种设置是可行的,因为系统只需要很少样本进行学习(ahuman operator provides rewards- with +1 if the robot suc-cesfully opens the doors, 0 if it fails, and -1 if there is a safetyviolation. This is feasible since the system requires very fewsamples for learning)
    然而,在自主学习中,我们希望消除依赖人类参与的瓶颈。因此,故研究了使用大型视觉语言模型作为奖励来源的方法(For autonomous learning however, wewould like to remove the bottleneck of relying on humansto be present in the loop. We investigate using large visionlanguage models as a source of reward)

    具体而言,我们使用CLIP计算两个文本提示和机器人执行后观察到的图像之间的相似性得分,而所使用的两个提示是“关闭的门”和“打开的门”(Specifically, we use CLIP [52] to compute the similarity score between two textprompts and the image observed after robot execution. Thetwo prompts we use are - ”door that is closed” and ”door that is open”)
    然后通过计算最终观察到图像与这些提示之间的相似性得分(We compute the similarity score of the finalobserved image and each of these prompts)
    \rightarrow  如果图像更接近指示门被打开,则给予+1奖励;否则给予0奖励(assign areward of +1 if the image is closer to the prompt indicatingthe door is open, and 0 in the other case)
    \rightarrow  如果违反安全规定,则给予-1奖励
  • 重置机制:机器人采用视觉里程计,并利用底座上安装的T265跟踪摄像头导航回初始位置。每次情节结束时,机器人释放夹具并移动回原始SE2基地位置,并获取IF图像以计算奖励值。随后,在基地SE2位置上应用随机扰动以增强策略学习鲁棒性
    The robot employs visual odometry,utilizing the T265 tracking camera mounted on its base,enabling it to navigate back to its initial position. At theend of every episode, the robot releases its gripper, andmoves back to the original SE2 base position, and takes animage of I f for computing reward. We then apply a randomperturbation to the SE2 position of the base so that the policylearns to be more robust
    此外,在获得+1奖励(即成功打开门)时,机器人有一个脚本程序来关闭门

5.3 硬件情况

// 待更

第六部分 Agility Robotics(Dynamic Robotics Laboratory):Digit似要接管旧金山

6.1 Digit所使用的动作预测模型:Causal Transformer

目前,尽管一些人形机器人在特定环境下表现良好,但一般存在泛化和适应新环境方面的问题

为了更好的解决这个问题,来自加州大学伯克利分校的研究人员通过此篇论文《Real-World Humanoid Locomotion with Reinforcement Learning》提出了运用Causal Transformer的方法,其通过自回归的方式从观察-动作历史信息中预测下一个动作,也就是模型的输出(预测的动作)只依赖于其输入(观察-动作历史信息)中的先前信息(看到这,我惊呆了,它竟然把动作预测干成了类似于:对NLP句子中下一个token的预测)

  1. 具体来说,在处理“观察-动作对”时,模型会将每个“观察-动作对”作为一个token,并通过自注意力机制来学习这些token之间的关系
    在自注意力计算中,模型会为每个token分配权重,这些权重反映了在预测当前动作时,序列中其他token的重要性
  2. 由于Causal Transformer限制了自注意力只能考虑前面的token,它能够捕捉到序列中的因果依赖,即当前动作的决策是基于之前观察-动作的历史信息

最终,Causal Transformer能够使机器人在复杂和动态的环境中,在没有未来信息的情况下做出适应性更强的决策,从而使得机器人可以在室内外各种环境中稳健行走,应对不同地形,甚至还能背个书包,提袋垃圾

顺带说两点 你可能意想不到的点

  1. Our controller is trained entirely in simulation and deployed to the real world zero-shot,from page 5
  2. This setting is relevant since our robot is blind and may find itself in such situations during deployment,form page13

6.2 Digit的原理与框架

如下图所示

  • (A)我们的训练分为两个步骤
    \rightarrow  首先,我们假设环境是完全可观察的,并训练一个「教师状态策略」\pi_{s}\left(a_{t} \mid s_{t}\right)
    \rightarrow  其次,我们采用教师模仿和强化学习相结合的方法来培养「学生观察策略」
    即,The policy learning includes two steps: teacher state policy training and student observation policy learning
  • (B)利用Isaac Gym模拟器,在4个A100 GPU和数千个随机环境中进行大规模并行训练,模拟了机器人的刚体和接触动力学

    最后,将该策略迁移到真实机器人上
  • (C)Causal Transformer通过对下一个动作进行自回归预测来从观察和行动历史中进行训练。我们认为观察-行动历史包含有关世界的有用信息,而强大的Transformer模型可以利用这些信息来调整上下文中的动作

6.2.1 问题建模:可观察的马尔可夫决策过程POMDP

他们将控制问题描述为马尔可夫决策过程MDP,为离散时间决策过程提供了一个数学框架

  1. MDP包括
    状态空间S、动作空间A
    转移函数P\left(s_{t+1} \mid s_{t}, a_{t}\right)和标量奖励函数R\left(s_{t+1} \mid s_{t}, a_{t}\right),分别确定在时间步长t采取行动a_t后从状态s_t转移到状态s_{t+1}的概率,以及对智能体行动质量的反馈
  2. 解决MDP问题的方法是通过强化学习,旨在找到最优策略,以有限或无限的时间范围内最大化预期累积奖励。实际应用中,由于无法准确估计真实环境中潜在状态,在存在噪声观测空间时需要修改MDP框架以反映观测不确定性(In practice, estimating true underlying state of an environment is impossible for real-worldapplications. In the presence of a noisy observation space, the MDP framework needs to bemodified to reflect the uncertainty in the observations)
  3. 故通过引入观测空间O和观测函数Z\left(o_{t} \mid s_{t}\right)来实现,该函数确定将状态s_t观察为o_t的概率(This can be done by introducing an observation space O and an observation function Z(ot|st), which determines the probability of observing state st as ot)
    此时,MDP变成部分可观察的马尔可夫决策过程POMDP,智能体必须根据噪声观测而非真实环境状态做出决策(The MDP now becomes a Partially Observable Markov DecisionProcess (POMDP), where the agent must make decisions based on its noisy observations ratherthan the true state of the environment.)

6.2.2 Causal Transformer基于观察-动作序列确定行动策略

接下来的目标是找到一个策略\pi _o,用于在POMDP问题中进行实际部署

我们的策略将由“观察-动作”组成的长度为l的历史轨迹作为输入,该历史轨迹表示为o_{t}, a_{t-1}, o_{t-1}, a_{t-2}, \ldots, o_{t-l+1}, a_{t-l},并输出下一个动作a_t

  1. 为了实现这一目标,我们采用Transformer(50)来进行序列轨迹建模和动作预测,Transformer最关键的特征是使用自注意力机制,在计算输出时能够权衡每个输入元素的重要性。自注意力机制通过自注意力函数实现,该函数接收一组查询Q、键K和值V,并输出加权和,计算方式如下所示:
                                                                            \operatorname{Attention}(Q, K, V)=\operatorname{softmax}\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right) V
    其中d_k代表键的维度
  2. 通过自注意力机制,Transformer能够捕获输入元素之间较长距离上的依赖关系。我们将运动轨迹中每个观察-动作对表示为一个token。Transformers可以通过反复这样一个过程:向每个token(Q和K上使用softmax)分配权重并将token(V)映射到特征空间,从而有效地突出相关观察和动作信息,并推断步态和接触状态等重要信息
    We represent each observation-action pair in the locomotion trajectory as a token. Transformers are able to extract the structural information of these tokens through a repeated processof assigning weights to each token (softmax on Q and K) in time, and mapping the tokens (V )into features spaces, effectively highlighting relevant observations and actions and thus enablingthe inference of important information such as gait and contact states.
    我们利用多层感知机(MLPs)将每个观察-动作对嵌入到特征空间中去(We employ Multi-LayerPerceptrons (MLPs) to embed each observation-action pair into a feature space)
  3. 为了捕捉序列中每个token位置信息,在特征中添加正弦位置编码器(sinepositional encoding)
    且通过限制自注意力机制只关注前面的token,在利用时间依赖关系推断观察与行动之间产生causal Transformer(We leverage the temporal dependencies among the observations and actions byrestricting the self-attention mechanism to only attend to preceding tokens, resulting in a causaltransformer)

6.2.3 确定目标函数:基于模仿学习和RL联合训练

在强化学习中,智能体必须通过试错不断积累经验并更新策略以优化决策过程。然而,在复杂的高维环境中,获得有用的奖励信号可能需要大量交互和模拟步骤,因此直接使用RL来优化策略在观测空间中是缓慢且资源密集的。为了克服这些限制,他们采用了以下方法

  1. 首先,假设环境是完全可观测的(模拟环境中一切可观测),并通过模拟训练一个教师状态策略\pi_{s}\left(a_{t} \mid s_{t}\right),该训练快速且资源高效。我们调优奖励函数(如步态参数),直到在模拟中获得最佳状态策略
    First, we assume that the environment is fully observable and train a teacher state policy πs(at|st) using simulation. Thistraining is fast and resource-efficient, and we tune the reward functions, such as gait-parameters,until an optimal state policy is obtained in simulation.
  2. 接下来,通过Kullback-Leibler(KL)发散将学习到的状态策略提炼为观测策略(Next, we distill the learned state policy to an observation policy through Kullback-Leibler (KL) divergence)
  3. 同时考虑状态空间和观测空间之间差异可能导致次优决策问题,采用一种联合优化方法将RL损失与状态策略监督相结合定义目标函数L\left(\pi_{o}\right)=L_{R L}\left(\pi_{o}\right)+\lambda D_{K L}\left(\pi_{o} \| \pi_{s}\right)
    Joint optimization with reinforcement learning.The discrepancy between the state spaceand the observation space can result in suboptimal decision-making if relying solely on state-policy supervision, as policies based on these separate spaces may have different reward man-ifolds with respect to the state and observation representations.
    To overcome this issue, weutilize a joint optimization approach combining RL loss with state-policy supervision

    \rightarrow  相当于训练目标包括两项,一项是基于教师监督策略的模仿学习,一项是强化学习两个方面(an imitation learning term based on teacher policy supervision and a reinforcement learning term based),其中\lambda代表状态策略监督的权重因子,L_{R L}\left(\pi_{o}\right)表示强化学习损失,D_{K L}\left(\pi_{o} \| \pi_{s}\right)是观察策略\pi _o和状态策略\pi _s之间的KL散度
    \rightarrow  在训练过程中,权重因子\lambda逐渐退火至零,在训练视界的中点通常达到零,这使得观测策略能够早期从老师那里获益(即状态策略是观测策略的老师),并最终超越它(The weighting factor λ is gradually annealed to zero over the course of the training process,typically reaching zero at the mid-point of the training horizon, which enables the observation policy to benefit from the teacher early on and learn to surpass it eventually)

    值得注意的是,我们的方法不需要任何预先计算的轨迹或离线数据集,因为状态策略监督和强化学习监督都通过策略学习进行优化
    It is importantto note that our approach does not require any pre-computed trajectories or offline datasets, asboth the state-policy supervision and RL-supervision are optimized through on-policy learning.
  4. 实验中使用了actor-critic方法来训练RL策略,并且没有共享权重
    动作空间由16个驱动关节PD设定值和8个驱动腿关节预测PD增益组成。我们未训练任何控制四个脚趾电机的策略,而是使用固定PD增益将电机设置为默认位置。这种方法在基于模型控制中被广泛采用(55,56)。奖励函数受人类行走生物力学研究启发,并经过试错调整。在奖励设计中没有预先计算步态库​​​​​

6.3 迁移到现实中后的表现

为了模拟机器人的闭链动力学,引入了“虚拟弹簧”模型。在模拟中随机化机器人的动态属性、控制参数和环境物理属性,以及添加噪声和延迟到观察中

从模拟到现实的转移方面,研究人员在机器人公司Agility Robotics提供的高保真度模拟器中验证策略,该模拟器准确模拟了Digit机器人的动态和物理属性

  1. 经过实验,Digit机器人能够在多种环境中可靠行走,展现出对外部干扰的鲁棒性

  2. 以及在不同地形和载荷条件下的适应性(左:脚被绊住,右:下坡)

  3. 顺带保持手臂摆动协调有力,不顺拐


第七部分 伯克利开源通用机器人学习的操控基准

7.1 Functional Manipulation Benchmark for Generalizable Robotic Learning

24年1月下旬,加州大学伯克利分校智能机器人实验室(RAIL)的研究团队提出了FMB(Functional Manipulation Benchmark for Generalizable Robotic Learning)

  • 项目主页:https://functional-manipulation-benchmark.github.io/
  • 论文地址:FMB: a Functional Manipulation Benchmark for Generalizable Robotic Learning
  • 共同第一作者主页:https://people.eecs.berkeley.edu/~jianlanluo/
  • https://charlesxu0124.github.io/

7.1.1 物体和任务

FMB 中的任务大致分为两类:单物体多步骤操控任务和多物体多步骤操控任务。这些任务旨在测试机器人的基本技能,如抓取、重新定位和装配等,这些都是完成整个任务所必需的技能。FMB 中的任务要求机器人不仅能完成单一的操控技能,还要求机器人能够将这些技能组合起来,完成更为复杂的多步骤任务。

FMB 的任务设计灵活多变,研究人员可以根据需要选择专注于单一技能,深入研究机器人的操控能力,也可以研究完整的多步骤任务,这需要机器人进行长期规划并具备从失败中恢复的能力。由于涉及选择合适的物体并推理操控物体的顺序,更为复杂的多步骤任务要求机器人能够做出复杂的实时决策

7.1.2 大型数据集

为了使机器人更好地理解和掌握复杂的任务

  • 研究团队收集了一个涵盖上述任务的大规模专家人类示范数据集,包含超过22550个操作轨迹
    研究团队采用了4个不同的摄像机记录这些示范数据,其中两个摄像机安装在机器人的末端执行器上,另外两个安装在箱子两侧以提供全局视角(we have four Intel RealSense D405cameras, two of which are mounted on the robot end-effector, and the rest are placed on each side of the bin to provide a complementary view of objects inthe bin)
    这些摄像机捕捉了对于机器人学习解决任务至关重要的 RGB 彩色图像信息、深度信息等数据,且提供了可做校准的相机内联功能,这种校准可以在必要时将深度图像转换为点云(We simultaneously capture RGB and depthimages from these cameras, and we also provide calibrated camera intrinsics. This calibration allows for the conversion of depth images into point clouds when necessary)

  • 此外,数据集还记录了机器人末端执行器的力 / 扭矩信息,这对于像装配这样需要接触大量物体的的任务非常重要

通过这些丰富的数据,机器人能够深入理解任务的每个细节,更加精确地模仿人类的操作技巧。正是由于数据的深度和广度,为机器人学习提供了坚实的基础。这使得机器人在执行复杂任务时,能够更加人性化和更灵巧地对任务作出响应

7.2 FMB的模仿学习系统

7.2.1 基于 Transformer 和 ResNet 的两种策略模型

简而言之,基于 Transformer 和 ResNet 的两种模型都使用了共享权重的ResNet 编码器,让其对每个图像视图进行编码,然后与本体感知信息、可选的物体、以及相应的机器人技能编码特征结合,以预测 7 自由度的动作,具体而言

在下图左侧所示的基于Transformer的策略中,他们提出了一个仅解码器Transformer架构(最近的研究表明,在机器人控制中,Transformer的主要优势在于处理多模态输入和利用大规模、多样化数据集进行扩展)

且为了对来自多个摄像机视角的图像进行标记,他们采用了共享权重的ResNet-34编码器(We use weight-shared ResNet-34 encoders to tokenize images from multiple camera views)

  1. 但为了满足策略输入的需要,还在输入侧添加了FiLM层来对object ID或primitive ID进行条件处理
    We additionally add FiLM (Perez et al., 2018) layers to condition on the object ID or primitive ID if they are required as part of the inputs to the policies.
  2. 机器人本体信息通过MLP单独标记,并与正弦位置嵌入连接后通过具有4个注意力头和4个MLP层的自注意力层进行处理
    Robot proprioceptive information is tokenized via an MLP separately. These tokens, after being concatenated together with sinusoidal position embeddings, are then processed through self-attention layers with four attention heads and four MLP layers.
  3. 训练期间使用高斯量化器将连续6D机器人动作空间每个维度离散化为256个箱子,运行时向机器人发送命令时会将离散化动作空间转换回连续值
    Each dimension of the continuous 6D robot actionspace is discretized into 256 bins during training byusing a Gaussian quantizer. The discretized actionspace is converted back into continuous values whensending commands to the robot at runtime.

而在上图右侧所示的基于ResNet的策略中,该结构由ResNet-34视觉骨干和一个MLP作为策略头组成(It is composed of ResNet-34 vision backbones and an MLP as the policy head),且在所有任务中都采用这个通用结构,只对每个任务的特定输入进行调整

  1. 首先,对多张RGB图像和深度图像(且如paper 第11页右上角所述,同时使用深度和RGB信息训练的ResNet策略,始终优于使用相同数据数量训练的仅使用RGB的策略),使用共享权重的ResNets进行编码,然后再连接特征(It takes multiple RGB and depth images and encodes them separately with weight-shared ResNets before concatenating the features)
  2. 然后,如上图右侧的左下角所示,系统还融合了机器人本体感知信息(如末端执行器姿态、扭转或力/扭矩测量),在进行线性投影之后进入MLP层
    It also takes the robot’s proprioceptive information, such as end-effector pose, twist, or force/torque measurements, then performs linear projection before being fed into the MLP
    且系统还能够调节object ID和manipulation skill ID,并以one-hot向量形式表示(这种机制对于处理长时间、多阶段任务非常重要),同样的,在进行线性投影之后进入MLP层
    the system iscapable of conditioning on both the object ID and manipulation skill ID, which are represented as one-hot vectors,This mechanism is crucial for employing a hi-erarchical approach to effectively address long-horizon,multi-stage tasks.
  3. 最终的输出结果包括6D末端执行器扭转和一个二进制变量,指示夹子是否应该打开或关闭(The output is a 6D end-effector twist as well as a binary variable that indicates whether the gripper should open or close)

7.2.2 多步骤任务的解决:分级控制 (hierarchical control)

对于一些简单任务,他们tested the performance of ResNet policies with and without action chunking(这个动作分块算法即斯坦福一研究团队提出的ACT),along with a Transformer-based policy without action chunking on seen and unseen objects.

  • 在已见和未见物体上,ResNet策略没有动作分块时在旋转技能方面表现优于“有动作分块的ResNet策略”,和Transformer
    The ResNetpolicy without action chunking outperforms its coun-terpart with action chunking and Transformer on therotate skill.
  • 然而,在夹具放置和重新抓取技能方面,相比有或没有动作分块的ResNet策略,Transformer策略表现更佳
    In contrast, the Transformer policies out-perform ResNet policies with or without action chunk-ing for the place on fixture and regrasp skills

但对于多步骤任务,传统的 ResNet、Transformer 和 Diffusion 方法均未能奏效,好在该论文中提出的分级控制 (hierarchical control) 方法显示出了潜力

具体而言

  • 复杂任务要求机器人能够像人类一样连续完成多个步骤。此前的方法是让机器人学习整个过程,但这种方法容易因为单一环节的错误而不断累计误差,最后导致整个任务失败
    无论是在单物体还是多物体操控任务中,这种方法的成功率均为 0/10
  • 针对累积误差问题,研究团队采用了分层控制策略
    分层策略通过将任务分解成若干小块,每完成一块便相当于通过一个决策点,即使出现错误也能迅速纠正,避免影响后续环节
    例如,如果机器人在抓取过程中未能稳固抓住物体,human oracle会持续让机器人尝试直至成功(The hierarchical policiesuse a human oracle as the high-level policy)

    大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第11张图片

虽说有人类的高级策略赋予一定的先验知识了,但到底用什么样的策略可以做更好呢

如下图所示,对于Multi-Object Multi-Stage Manipulation任务而言,分层策略采用人类预测作为高级策略,依次触发具有每个阶段适当的原始和对象ID的低级策略(sequentially triggering a low-level policy with the appropriate primitive and object IDs for each stage)

大模型机器人的爆发时刻:从RoboFlamingo、OK-Robot到CMU 18万机器人、Digit、FMB_第12张图片

  1. 与单一对象聚类任务相似,所有无条件策略均未能成功。值得注意的是,基于Transformer的策略表现出色,成功率达到7/10(Similar to single-object ma-nipulation tasks, all unconditioned policies achieved zerosuccess. Remarkably, the Transformer-based policy outper-formed others, achieving a success rate of 7/10)
  2. 之所以如此,与基于ResNet的策略相比,基于Transformer的策略能够有效地排除与任务无关的模态,例如在任务中不必要地插入第4个摄像机
    这一属性在FMB任务的多阶段、多任务模仿学习环境中特别有益
    In contrast to the ResNet-basedpolicies, the Transformer-based policies learned to ef-fectively ignore task-irrelevant modalities, such as thenon-essential fourth camera in the insertion task.
    Thisattribute is particularly beneficial in the multi-stage,multi-task imitation learning settings characteristic of FMB tasks.

最终,机器人在学习后能够自主进行功能操控

参考文献与推荐阅读

  1. 上文正文中的一系列原始论文(文中都已附有对应的链接),它们是本文最最关键的参考文献
  2. 机器人领域首个开源视觉-语言操作大模型,RoboFlamingo框架激发开源VLMs更大潜能
    如果某些点与本文冲突,请以本文为准,本文更严谨、准确
  3. 买个机器人端茶倒水有希望了?Meta、纽约大学造了一个OK-Robot
  4. On Bringing Robots Home
  5. 用大模型训练实体机器人,谷歌推出机器人代理模型
  6. CMU华人18万打造高能机器人,全自主操作,1小时学会开12种门
  7. “机器人正在接管旧金山”
  8. 伯克利开源高质量大型机器人操控基准,面对复杂自主操控任务不再犯难

你可能感兴趣的:(大模型机器人系列,大模型机器人,RoboFlamingo,OK-Robot,CMU机器人,Digit,模仿学习,强化学习)