视觉语言机器人的大爆发:从RT2、VoxPoser、OK-Robot到Figure 01、清华CoPa

前言

一年多前,OpenAI重塑了聊天机器人,彻底推动大模型技术的突飞猛进,一个月前,OpenAI又重塑了视频生成,当sora的热度还在持续时,没想到OpenAI在机器人领域也出手了,和Figure联合打造的人形机器人,边与人类自然流畅对话、边干活(给人类苹果、整理桌面)

如此,现在大模型机器人的发展有三个攻克点

  1. 一个是模仿学习,以斯坦福的mobile aloha、UMI为代表
  2. 一个是预训练 + RL,以CMU 18万机器人为代表
  3. 一个则是视觉语言模型,以VoxPoser、figure 01、CoPa为代表,过程中有的会用到模仿学习去训练机器人的动作策略

本文则重点介绍第三个攻克点

第一部分 Google的RT1、PaLM-E、RT-2

1.1 RT-1

1.2 PaLM-E:将复杂自然语言指令分解为简单指令

1.3 RT-2:直接理解复杂指令从而直接操控机械臂

在此之前,RT-1 做的事情只是把简单指令转化成机械臂动作序列,而 PaLM-E 的工作则是用大模型将复杂的指令分解成多个简单的指令,然后再去调用 RT-1 执行动作

RT-2 则是把以上环节端到端地集成到了一起,它能够用复杂文本指令直接操控机械臂,中间不再需要将其转化成简单指令,通过自然语言就可得到最终的 Action。比如,可以直接对它说往左边移 0.1 毫米,把夹子松开或者夹紧等

第二部分 李飞飞团队:具身智能VoxPoser

2.1 机器人对从没见过的任务也能一次执行且不需要示范

大模型接入机器人,把复杂指令转化成具体行动规划,无需额外数据和训练,说白了,人类可以很随意地用自然语言给机器人下达指令,如:打开上面的抽屉,小心花瓶!

图片

大语言模型+视觉语言模型就能从3D空间中分析出目标和需要绕过的障碍,帮助机器人做行动规划

图片

然后重点来了, 真实世界中的机器人在未经“培训”的情况下,就能直接执行这个任务。

图片

新方法实现了零样本的日常操作任务轨迹合成,也就是机器人从没见过的任务也能一次执行,连给他做个示范都不需要。

可操作的物体也是开放的,不用事先划定范围,开瓶子、按开关、拔充电线都能完成

图片

2.2 VoxPoser:大模型指导机器人如何与环境进行交互

2.2.1 3D Value Map:既标记了“在哪里行动”,也标记了“如何行动”

机器人如何直接听懂人话?李飞飞团队将该系统命名为VoxPoser,如下图所示,它的原理非常简单(项目地址论文地址代码地址,发布于23年7月)

  1. 首先,给定环境信息(用相机采集RGB-D图像)和我们要执行的自然语言指令
    例如,给定一条指令“打开顶层抽屉并注意花瓶”,LLMs可以被提示推断做任务拆解(而这个拆解很重要啊,拆解的好 机器人可以更快get):1)应该抓住顶层抽屉的把手,2)把手需要向外移动,3)机器人应该远离花瓶

    图片

  2. 接着,LLM(大语言模型)根据这些内容编写代码,所生成代码与VLM(视觉语言模型)进行交互,指导系统生成相应的操作指示地图,即3D Value Map 所谓3D Value Map,它是Affordance Map和Constraint Map的总称,既标记了“在哪里行动”,也标记了“如何行动”
    比如,继续接着上面的例子——“打开顶层抽屉并注意花瓶”而言,通过生成调用感知API的Python代码(generating Python code to invoke perception APIs),LLMs可以获得相关对象或部件的空间几何信息,然后操纵3D体素(3D voxels)以在观察空间的相关位置上指定奖励或成本(例如,把手区域被分配高值,而花瓶周围被分配低值,即the handle region is assigned high values while the surrounding of the vase is assigned low values)

    图片

  3. 如此一来,再搬出动作规划器,将生成的3D地图作为其目标函数,便能够合成最终要执行的操作轨迹了
    而从这个过程我们可以看到,相比传统方法需要进行额外的预训练,这个方法用大模型指导机器人如何与环境进行交互,所以直接解决了机器人训练数据稀缺的问题
    更进一步,正是由于这个特点,它也实现了零样本能力,只要掌握了以上基本流程,就能hold任何给定任务

    相当于对于上面的任务——“打开顶层抽屉并注意花瓶”,在其最后,组合的价值地图可以作为运动规划器的目标函数,直接合成实现给定指令的机器人轨迹 1,而无需为“每个任务或LLM”额外提供训练数据

2.2.2 将指令拆解成很多子任务 + 规划路径

在具体实现中,作者将VoxPoser的思路转化为一个优化问题,即下面这样一个复杂的公式:

\min _{\tau_{i}^{\mathbf{r}}}\left\{\mathcal{F}_{\text {task }}\left(\mathbf{T}_{i}, \ell_{i}\right)+\mathcal{F}_{\text {control }}\left(\tau_{i}^{\mathbf{r}}\right)\right\} \quad \text { subject to } \quad \mathcal{C}\left(\mathbf{T}_{i}\right)

其中

  • \mathbf{r}表示机器人,\tau_{i}^{\mathbf{r}}表示机器人对应的运动轨迹,其中每个路径点包括期望的6自由度末端执行器姿态、末端执行器速度和夹爪动作,\ell_{i}表示第i个任务
  • \mathcal{F}_{\text {task }}评分了T_i 完成指令\ell_{i}的程度,而\mathcal{F}_{\text {control }}指定了控制成本,例如鼓励\tau_{i}^{\mathbf{r}}尽量减少总控制力或总时间
  • \mathcal{C}\left(\mathbf{T}_{i}\right)表示动力学和运动学约束,这些约束由机器人的已知模型和基于物理或基于学习的环境模型来实施
    最终,通过为每个子任务\ell_{i}解决这个优化问题,得到了一系列机器人轨迹,共同实现了指令\mathcal{L} 所指定的整体任务

它考虑到了人类下达的指令可能范围很大,并且需要上下文理解,于是将指令拆解成很多子任务,比如开头第一个示例就由“抓住抽屉把手”和“拉开抽屉”组成

VoxPoser要实现的就是优化每一个子任务,获得一系列机器人轨迹,最终最小化总的工作量和工作时间

而在用LLM和VLM将语言指令映射为3D地图的过程中,系统考虑到语言可以传达丰富的语义空间,便利用“感兴趣的实体(entity of interest)”来引导机器人进行操作,也就是通过3D Value Map中标记的值来反应哪个物体是对它具有“吸引力”的,那些物体是具有“排斥性”。

图片

还是以开头的例子举例,抽屉就是“吸引”的,花瓶是“排斥”的。

当然,这些值如何生成,就靠大语言模型的理解能力了。

而在最后的轨迹合成过程中,由于语言模型的输出在整个任务中保持不变,所以我们可以通过缓存其输出,并使用闭环视觉反馈重新评估生成的代码,从而在遇到干扰时快速进行重新规划

因此,VoxPoser有着很强的抗干扰能力,比如下图将废纸放进蓝色托盘

图片

最后,作者还惊喜地发现,VoxPoser产生了4个“涌现能力”

  1. 评估物理特性,比如给定两个质量未知的方块,让机器人使用工具进行物理实验,确定哪个块更重;
  2. 行为常识推理,比如在摆餐具的任务中,告诉机器人“我是左撇子”,它就能通过上下文理解其含义;
  3. 细粒度校正,比如执行“给茶壶盖上盖子”这种精度要求较高的任务时,我们可以向机器人发出“你偏离了1厘米”等精确指令来校正它的操作;
  4. 基于视觉的多步操作,比如叫机器人将抽屉精准地打开成一半,由于没有对象模型导致的信息不足可能让机器人无法执行这样的任务,但VoxPoser可以根据视觉反馈提出多步操作策略,即首先完全打开抽屉同时记录手柄位移,然后将其推回至中点就可以满足要求了

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

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

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

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

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

3.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)

    例如,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

    此外,还有上文提到过的RT-1 (即Robotics Transformer),作为一个35M的视觉-语言-动作模型(VLA),其通过将动作标记化并在标记空间中对齐视觉、语言和动作,且在大量真实世界操纵数据集上进行训练「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 
    它使用Universal Sentence编码器(Cer等人,2018)获取语言嵌入,并采用预训练的EfficientNet-B3(Tan & Le,2019)作为视觉标记器「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 with human-interactive prompts on given tasks, subsequently instructing different pre-trained low-levelskill policies to execute those plans and finish multiple tasks.

    与其他研究相比,控制策略无需理解指令能力,而是依赖预训练冻结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)

    具体而言,如下三点
    \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

3.2 RoboFlamingo Vision Encoder + Feature Fusion Decoder + Policy Head

具体而言,RoboFlamingo利用已有的基于图像 - 文本对的视觉语言基础模型,通过训练端到端的方式生成机器人每一步的 relative action

模型的主要模块包含了 vision encoder,feature fusion decoder 和 policy head 三个模块,以下是这三个模块分别要做的事

  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]

3.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的键和值向量

3.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)

3.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 backbone和policy 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)

3.3 实验结果

3.3.1 基准和基线

数据集:

图片

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

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

定量分析:

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

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

3.3.2 不同的 policy head

消融实验:

实验考察了四种不同的策略头部: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 s
    tate to encode memory and predict the action
    其表现最好,说明了通过 policy head 进行历史信息融合的有效性

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

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

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

图片图片图片

图片图片图片

3.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.

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

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

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

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

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]

    offer strong 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 在先前工作的基础上进行了改进:通过分析失败模式,他们发现在视觉语言模型、机器人模型和机器人形态学方面可以进行重大改进,这将直接提高开放知识操纵智能体的性能

4.2 技术组成和方法

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

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

4.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路径相似

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

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

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

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

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

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

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

// 待更

第五部分  Figure人形机器人

5.1 史无前例:Figure人形机器人的惊艳时刻

5.2 机器人与人类流畅对话并流畅干活背后的原理

Figure 的创始人 Brett Adcock 和 AI 团队的负责人 Corey Lynch 在 X 上解释了此次视频中机器人互动背后的原理

此次的突破,由 OpenAI 与 Figure 共同做出。OpenAI 提供负责提供视觉推理和语言理解,而 Figure 的神经网络提供快速、低水平、灵巧的机器人动作

机器人所做出的所有行为都是出于已经学习过,内化了的能力,而不是来自远程操作

整个流程为:图像 + speech to text =》VLM接收并做综合处理 =》NNP输出执行策略 =》 WBC执行策略且将VLM处理得到的response speak出来,具体则如下

  1. 研究人员将机器人摄像头中的图像输入(Figure 的机载摄像头以 10hz 的频率拍摄图像),和机载麦克风捕获的语音中的文本转录到由 OpenAI 训练的,可以理解图像和文本的多模态模型(VLM)中
    由该VLM模型处理对话的整个历史记录,且对于接下来要采取什么动作干活已有大概的规划
  2. 然后通过Neural Network Policies细化「VLM给定的大概规划」,得到更具体的动作策略(决定在机器人上运行哪些学习到的闭环行为来完成给定的命令)
  3. 最后,一方面将特定的神经网络权重加载到 GPU 上并执行策略(相当于Whole body controller)
    二方面 通过VLM处理得到的语言响应通过文本到语音的方式将其speak给人类

这也是为什么这个机器人,属于「端到端」的机器人控制。从语言输入开始,模型接管了一切处理,直接输出语言和行为结果,而不是中间输出一些结果,再加载其他程序处理这些结果

5.2.1 OpenAI的VLM模型:理解环境 + 人类的口头任务 + 基本的常识和上下文记忆能力

OpenAI 的模型的多模态能力,是机器人可以与世界交互的关键,我们能够从视频中展示中看到许多类似的瞬间,比如:

  1. 描述一下它的周围环境
  2. 做出决定时使用常识推理。例如,「桌子上的盘子和杯子等餐具接下来很可能会进入晾衣架」
  3. 比如在视频中,当人说“我饿了”,Figure思考了2-3秒后(因为语音识别、大语言模型、TTS是通过pipeline方式连起来的,都需要计算时间),小心翼翼地伸手抓住苹果,并迅速给人递过来
    因为Figure基于大语言模型的常识,明白苹果是它面前唯一可以“吃”的事物,在人类没有任何提示和说明的前提下,即可以接近于人类的反应速度,与人自然交互
    相当于有了大模型的支持,让该机器人具备了一定的常识
  4. 比如视频中展示的「你能把它们放在那里吗?」「它们」指的是什么?「那里」又在哪里?正确回答需要反思记忆的能力(能够拥有短期记忆的背后益于大模型的长上下文的理解能力,使得可以精准抓取长上下文里的指代关系)

5.2.2 机器人操控小模型(类似Google的RT-1):输出action

而具体的双手动作,可以分成两步来理解:

  1. 首先,互联网预训练模型对图像和文本进行常识推理,以得出高级计划。如视频中展示的:Figure 的人形机器人快速形成了两个计划:
    1)将杯子放在碗碟架上,2)将盘子放在碗碟架上
  2. 其次,一个基于neutral network的机器人操控小模型以 200hz 的频率(RT-2论文里提到的决策频率则只有1到5hz)生成的 24-DOF 动作(手腕姿势和手指关节角度),充当高速「设定点(setpoint)」,供更高速率的全身控制器跟踪。全身控制器确保安全、稳定的动力,如保持平衡

所有行为均由Transformer 策略驱动(比如mobile aloha所用过的ACT算法,本质是一个模仿学习),将像素直接映射到动作

出门问问的李志飞认为

  1. Figure 01的整个框架类似于PaLM-E和RT-1的pipeline组合,即分两步:多模态模型把复杂的自然语言指令分解为简单指令后,继而调用机器人的操控系统(类似Google的RT-1)执行相应的动作
  2. 而非RT-2,因为RT-2中间不再需要将其转化成简单指令,通过自然语言就可得到最终的 Action,算是一个 VLA(Vision-Language-Action Model)模型
    相当于RT-2全程就一个模型,但Figure 01还是组合了OpenAI的VLM + Figure公司的机器人操控小模型

    RT-2的好处在于做到了真正的端到端 根据输入直接得到输出action(没有Figure 01中的机器人操控小模型),坏处是执行速度有限,故没法做到200hz的决策速度

第六部分 清华推出机器人操控框架CoPa

6.1 清华具身智能CoPa,超过之前李飞飞团队的VoxPoser

3月下旬,清华交叉信息研究院的一团队通过这篇论文《CoPa: General Robotic Manipulation through Spatial Constraints of Parts with Foundation Models》提出了名为CoPa的机器人操控框架,其利用嵌入在基础模型中的常识知识(比如视觉语言模型的代表GPT-4V)为开放世界机器人操控生成一系列6自由度末端执行器姿势

具体而言,将操控过程分解为两个阶段:

  1. 任务导向抓取,类似抓到锤柄
    使用视觉语言模型(VLMs) 比如GPT4-V,通过一种新颖的粗到细的定位机制选择对象的抓取部件(这句话的意思类似,好比人拿一个锤子去钉钉子时,是知道用手去拿锤子的锤柄,而非锤头)
  2. 任务感知运动规划,类似拿打击面对准钉子
    再次利用VLMs来识别与任务相关的对象部件的空间几何状态(或约束),然后用于推导抓取后的姿势

6.1.1 机器人基础模型:用于整体任务规划

近年来,基础模型已经极大地改变了机器人领域的格局[Toward general-purpose robots via foundation models: A survey and meta-analysis]。 许多研究采用在大规模图像数据集上进行预训练的视觉模型,用于生成视觉表征以进行视觉运动控制任务[比如A universal semanticgeometric representation for robotic manipulation、The unsurprising effectiveness of pre-trained vision models for control、Real-world robot learning with masked visual pre-training,” in Conference on Robot Learning等等]

其他一些研究利用基础模型来规定强化学习中的奖励[Vip: Towards universal visual reward and representation via value-implicit pre-training、Eureka: Humanlevel reward design via coding large language models、Learning reward functions for robotic manipulation by observing humans、Zero-shot reward specification via grounded natural language、Can foundation models perform zero-shot task specification for robot manipulation?、Liv: Language-image representations and rewards for robotic contro]

此外,许多研究利用基础模型进行机器人高层规划,取得了显著的成功,比如

  1. Do as i can, not as i say: Grounding language in robotic affordances
  2. Grounded decoding: Guiding text generation with grounded models for robot control
  3. Look before you leap: Unveiling the power of gpt-4v in robotic vision-language planning
  4. Progprompt: Generating situated robot task plans using large language models
  5. Physically grounded vision-language models for robotic manipulation
  6. Task and motion planning with large language models for object rearrangement
  7. Language models as zero-shot planners: Extracting actionable knowledge for embodiedagents
  8. Text2motion: From natural language instructions to feasible plans
  9. Llm+ p: Empowering large language models with optimal planning proficiency
  10. Robots that ask for help: Uncertainty alignment for large language model planners
  11. Llm-planner: Few-shot grounded planning for embodied agents with large language models
  12. Tidybot: Personalized robot assistance with large language models

当然了,也还有一些研究利用基础模型进行低层控制[比如Google的RT-1、RT-2、Open x-embodiment: Robotic learning datasets and rt-x model、Octo: An open-source generalist robot policy

此外,一些研究对视觉语言模型VLMs进行微调,直接输出机器人动作。 然而,这种微调方法需要大量的专家数据,为了解决这个问题

  • Code as Policies [Code as policies: Language model programs for embodied control]使用大型语言模型LLMs编写控制机器人的代码
  • 而VoxPoser[16]通过基础模型生成机器人轨迹,产生基于基础模型的值图

然而,这些方法依赖于复杂的提示工程,并且对场景只有粗略的理解。 与之形成鲜明对比的是,CoPa通过合理利用视觉语言模型中的常识知识,对场景有着细致入微的理解,并且能够推广到开放世界的场景,无需额外的训练,只需要最少的提示工程

6.1.2 机器人操控模型:用于精确控制

机器人操控是机器人领域中一个关键且具有挑战性的方面

  • 大量的研究利用专家演示的模仿学习IL来获得操控技能(比如Google的RT-1、RT-2等等)
    尽管模仿学习在概念上很简单,并且在广泛的真实世界任务中取得了显著的成功,但它在处理分布不匹配的样本时存在困难,并且需要大量的专家数据收集工作
  • 强化学习(RL)是另一种主要方法[比如Do as i can, not as i say、Imitation learning from observation with automatic discount scheduling、End-to-end training of deep visuomotor policies]使机器人能够通过与环境的试错交互来发展操控技能
    然而,RL的样本效率限制了它在真实世界环境中的适用性,导致大多数机器人系统依赖于从仿真到真实的转移[比如Sim-to-real reinforcement learning for deformable object manipulation、Self-supervised sim-to-real adaptation for visual robotic manipulation]
    而从仿真到真实的方法需要构建特定的仿真器,并面临仿真到真实之间的差距
  • 此外,通过这些端到端学习方法学习的策略通常缺乏对新任务的泛化能力。 相比之下,通过利用基础模型的常识知识,CoPa可以在开放世界场景中实现泛化,而无需额外的训练

6.2 物体抓取与运动规划

打开抽屉需要抓住把手并沿直线拉动,而拿起水杯则需要先抓住杯子然后抬起来。受到这一观察的启发,将方法分为两个模块:

  1. 面向任务的抓取
    给定语言指令 l 和初始场景观察O_0 (RGB-D图像),在面向任务的抓取模块中的目标是为指定的感兴趣对象生成适当的抓取姿态,该过程表示为P_{0}=f\left(l, O_{0}\right),并将机器人到达P_0后的观察表示为O_1
  2. 任务感知的运动规划
    对于任务感知的运动规划模块,我们的目标是得出一系列抓取后的姿态,表示为g\left(l, O_{1}\right) \longrightarrow\left\{P_{1}, P_{2}, \ldots, P_{N}\right\},其中N是完成任务所需的姿态总数。 在获取目标姿态之后,机器人的末端执行器可以利用运动规划算法(如RRT* [50]和PRM* [51])到达这些姿态

6.2.1 任务导向的抓取:SoM + GPT-4V + 准确定位物体被抓部位

物体的初始抓取的整个过程如下所示

  1. 首先使用SoM对场景中的物体进行分割和标记
  2. 然后,结合指令,我们使用GPT-4V选择抓取/任务相关的物体
  3. 最后,类似的细粒度部件定位被应用于定位特定的抓取/任务相关部位

首先,采用一种称为Set-of-Mark (SoM) [55]的最新视觉提示机制,其利用分割模型将图像分割成不同的区域,并为每个区域分配一个数字标记(即在粗粒度对象定位阶段,使用SoM在对象级别上检测和标记场景中的所有对象)

其次,类似人类根据预期使用方式抓取物体的特定部件(例如,当用刀切割时,我们握住刀柄而不是刀刃;同样,拿起眼镜时,我们抓住镜框而不是镜片。这个过程实质上代表了人类运用常识的能力),CoPa利用视觉语言模型(VLMs),如GPT-4V [https://cdn.openai.com/papers/GPTV_System_Card.pdf],它们融合了大量的常识知识[Look before you leap:Unveiling the power of gpt-4v in robotic vision-language planning],[Sage: Bridging semantic and actionable parts for generalizable articulated-object manipulation under language instructions],以确定抓取物体的适当部位

最后,为了生成任务导向的抓取姿势,我们的方法首先使用抓取模型生成抓取姿势提案,并通过我们的新颖抓取部件基准模块筛选出最可行的一个

那如何生成抓取姿势的提案呢?简言之,利用预训练的抓取模型生成抓取姿势提案,具体而言

  1. 首先通过将RGB-D图像反投影到3D空间中将其转换为点云
  2. 然后将这些点云输入到GraspNet [Graspnet-1billion: A largescale benchmark for general object grasping]中,这是一个在包含超过十亿个抓取姿势的大型数据集上训练的模型。 GraspNet输出6自由度的抓取候选项,包括抓取点的信息、宽度、高度、深度和“抓取得分”,该得分表示成功抓取的可能性
  3. 然而,鉴于GraspNet在场景中产生了所有潜在的抓取,我们有必要使用一个选择性的过滤机制来选择根据语言指令所述的具体任务选择最佳的抓取方式

总之,回顾上述整个过程,可知分为以下三步

  1. VLMs的任务是根据用户的指令来确定目标对象进行抓取(例如,一个锤子)
  2. 然后,从图像中裁剪出所选对象,并应用细粒度部件定位来确定要抓取的具体部位(例如,锤子的把手)。 这种由粗到细的设计赋予了CoPa对复杂场景的细粒度物理理解能力,实现了泛化
  3. 最后,我们过滤抓取姿势候选,将所有抓取点投影到图像上,并仅保留在抓取部件掩码内的点。 从中选择GraspNet评分最高的姿势作为最终的执行抓取姿势P_0

6.2.2 任务感知的运动规划

在成功执行面向任务的抓取后,现在的目标是获得一系列抓取后的姿态。 可将这一步骤分为三个模块:

  1. 与任务相关的部件定位
    与之前的抓取部件定位模块类似,我们使用粗粒度的物体定位和细粒度的部件定位来定位与任务相关的部件
    在这里,需要识别多个与任务相关的部件(例如锤子的打击面、手柄和钉子的表面)。 此外,观察到机器人手臂上的数字标记可能会影响VLM的选择,因此过滤掉了机器人手臂上的标记
  2. 操控约束生成
    在执行任务的过程中,与任务相关的物体往往受到各种空间几何约束的限制。 例如,充电手机时,充电器的连接器必须与充电口对齐;同样,盖子必须直接放在瓶口上方才能盖上瓶子。 这些约束本质上需要常识知识,包括对物体物理属性的深入理解。 我们旨在利用VLM生成被操控对象的空间几何约束
  3. 目标姿态规划

6.3 与23年李飞飞团队VoxPoser的对比

6.4 目前CoPa的局限与不足

  1. 首先,CoPa处理复杂对象的能力受到其依赖的simplistic geometric elements(如surfaces and vector)的限制
    CoPa’s capability to process complex objects is con-strained by its reliance on simplistic geometric elements such as surfaces and vector
    通过将更多的几何元素纳入我们的建模过程,可以改善这一点
  2. 其次,目前使用的VLMs是在大规模2D图像上进行预训练的,缺乏对3D物理世界的真实基础。这个限制影响了它们进行准确的空间推理的能力
    若将3D输入(如点云)整合到VLMs的训练阶段中,可以缓解这个挑战
  3. 最后,现有的VLMs只产生离散的文本输出,而我们的框架实际上需要连续的输出值,如物体部件的坐标
    the existing VLMs produce only discrete textual outputs, where as our framework essentially necessitates continuous output values, like the coordinates of object parts
    开发具备这些能力的基础模型仍然是一个备受期待的进展

// 待更

参考文献与推荐阅读

  1. 李飞飞「具身智能」新成果!机器人接入大模型直接听懂人话,0预训练就能完成复杂指令
    VoxPoser论文一作在Twitter上发的关于VoxPoser的视频:https://twitter.com/wenlong_huang/status/1677375515811016704
  2. 谷歌AGI机器人大招!54人天团憋7个月,强泛化强推理,DeepMind和谷歌大脑合并后新成果,RT-2
  3. 买个机器人端茶倒水有希望了?Meta、纽约大学造了一个OK-Robot
  4. 机器人领域首个开源视觉-语言操作大模型,RoboFlamingo框架激发开源VLMs更大潜能
    如果某些点与本文冲突,请以本文为准,本文更严谨、准确
  5. 只用 13 天,OpenAI 做出了能听、能说、能自主决策的机器人大模型
  6. 国内创业者和投资人如何看待 Figure 01 机器人:距离具身智能还有多远?
  7. OpenAI 和 Figure 机器人背后的技术原理是什么?
  8. OpenAI没有放弃的机器人梦想 | 甲子光年
  9. 斯坦福家务机器人Mobile ALOHA的关键技术:动作分块算法ACT的原理解析
  10. 一句指令就能冲咖啡、倒红酒、锤钉子,清华具身智能CoPa「动」手了
  11. 叠衣服、擦案板、冲果汁,能做家务的国产机器人终于要来了,来自X Square
  12. 2个月不见,人形机器人Walker S会叠衣服了,来自优必选 + 百度文心一言
  • 11
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
这个错误提示表明在执行命令时找不到指定的文件或目录。根据引用\[1\]和引用\[2\]的内容,可能是由于没有正确设置ROS工作区的环境变量导致的。 首先,确保你已经按照引用\[1\]中的步骤创建了工作区,并且在工作区的根目录下执行了`catkin_make`命令生成了`devel`文件夹。 然后,按照引用\[1\]中的步骤,执行以下命令设置环境变量: ``` $ source devel/setup.bash ``` 接着,你可以尝试执行以下命令来验证环境变量是否设置成功: ``` $ echo $ROS_PACKAGE_PATH ``` 如果输出结果中包含你的工作区路径(比如`/home/xiejc/DRL-robot-navigation/catkin_ws/devel/share:/opt/ros/melodic/share`),则说明环境变量设置成功。 如果仍然出现相同的错误提示,可能是由于工作区路径设置不正确或者文件确实不存在。请仔细检查路径是否正确,并确保`setup.bash`文件存在于`devel`文件夹中。 希望这些信息对你有帮助! #### 引用[.reference_title] - *1* [用Turtlebot3实现基于深度强化学习的多移动机器人导航避障的仿真训练(附源码)](https://blog.csdn.net/Cameron_Rin/article/details/117027106)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【ROS】机械人开发二--ROS环境安装](https://blog.csdn.net/qq_51447215/article/details/127871120)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

v_JULY_v

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值