2021 NVIDIA CLIPORT: What and Where Pathways for Robotic Manipulation

端到端学习精细操纵+视觉-语言基础系统的多目标和多任务泛化能力的框架。二流架构(语义和空间路径),CLIPORT将CLIP的语义理解(“是什么”)与Transporter(以动作感知为中心,将桌面操作形式化为可供预测的拾取和放置的传统方法)的空间精度(“在哪里”)相结合。开源且含详细的环境部署步骤https://github.com/cliport/cliport

步骤:1.输入:3个摄像头(位于一个矩形桌子前方、左肩和右肩)的顶视RGB-D图像。2.添加任务:扩展Ravens基准测试,提出10个语言条件的操纵任务(对对象的摆放、堆叠、装箱等操作),每个任务实例由一组对象和属性进行构建(如姿势、颜色、大小和对象类别)。3.二流架构:CLIPORT采用语义(腹侧)(理解任务的语义含义,eg类别颜色)和空间(脊柱)(eg.空间位置姿态)路径。语义流使用CLIP对语言特征进行编码,空间流使用ResNet对RGB-D编码。4.操作:(结合语义和空间信息)语言指令操纵。5.训练和评估:通过模仿学习从专家示范中进行训练,并在模拟和真实世界环境中进行评估。

Tips:腹侧和脊柱的术语来源于生物学中大脑皮层的功能分区。腹侧通常负责处理高级的视觉和语义信息,而脊柱则负责处理空间感知和运动控制。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2022.2 google BC-Z:《BC-Z: Zero-Shot Task Generalization with Robotic Imitation Learning》。零样本任务泛化模仿学习。融合人类示范的多模态信息,包括运动轨迹、视觉图像和语言指令等,理解和学习新任务。不开源。

步骤:1.数据收集:专家远程操作和纠正,收集100个机器人操作任务的大型数据集。2.架构:策略架构分为编码器和控制层。编码器处理任务指令并生成嵌入向量,构建潜在任务空间并促进泛化,控制层根据状态和嵌入向量生成动作。

创新点:1.机器人操作数据集。2.新任务的泛化能力。3.可灵活设置任务条件(语言指令/人类视频)。

https://sites.google.com/view/bc-z/home https://github.com/google-research/tensor2robot/tree/master/research/bcz

Tips:泛化任务可以泛化到新对象、新环境、从仿真到现实、新的操作技能等。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2022.7 Google LM-Nav: 在大规模数据集上进行预训练,使得机器人能够从大量的语言、视觉和动作数据中学习。将语言、视觉和动作模型结合在一起,语言模型用于理解人类指令和环境描述,视觉模型用于感知环境中的物体和场景,动作模型用于规划和执行机器人的移动动作。通过与环境的交互,能够学习到合适的动作策略,并根据奖励信号进行优化和调整。

https://sites.google.com/view/lmnav

Google发布的第一篇应用大模型进行机器人导航的工作。

流程:1.建离线地图:使用Vision-Navigation Model(VNM)创建拓扑地图->由人控制机器人进行环境探索(机器人先实地过一遍图),将图片作为拓扑地图的节点->用Traversability函数(通过学习节点间时间步数给出权重)赋予边的(节点间)权重。2.LLM将人类的自然语言指令解析为一个地标的文本序列(如车、路标、左拐等)。3.VLM根据地标文本信息匹配对应的图片。4.导航:(1)规划:地图搜索->需经过的图片路标(当前位置到目标点)(2)控制:根据 节点间图片+(里程计)节点间相对位姿->预测机器人位置和任一拓扑地图节点间的位姿->里程计和PD控制器控制移动到下一节点。

问题:1.性能:传感器使用单个RGB相机,单线激光雷达,轮式里程计。2.多模态:除了RGB图像外,IMU,单线激光雷达,GPS等数据均未参与多模态模型训练。3.架构:直接使用节点的图像学习相对位姿。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2022.8 Google Saycan:预训练(机器人)低级技能+LLM高级语义知识,将来自LLM语言模型的概率(表示技能对指令有用的概率)与来自值函数的概率(表示成功执行所述技能的概率)结合起来,输出选择要执行的操作。(开源了仿真环境下的代码)

 

创新点:LLM+预训练技能(真实环境的约束和可行性),将高级语义知识与实际环境联系起来,完成复杂和时间跨度较长的指令。指令可解释性+决策过程可视化。步骤:对话交互的形式重复调用模型。1.用户提问题。2.LLM query得到一些动作及其相关性+value function(利用TD传播来训练)输出动作可行性。3.执行(Policy机器人的手,通过强化学习(RL)和行为克隆(BC)方法训练)动作后接着问LLM下一步操作,直至结束。

不足:1.依赖于语言模型(局限性)的训练数据。2.模型的性能受限于(机器人)底层控制技能的范围和能力(鲁棒性)。3.当开展技能失败时,模型偶尔不做出反应。4.(因为继承底层语言模型)在处理否定语句和模糊引用等方面存在困难。

改进:1.引入更多的现实环境约束(eg.环境反馈、人类反馈等)和引导。2.扩展机器人技能(更多场景)的范围和鲁棒性。3.提高语言模型对真实世界环境和物理规律的理解和推理能力。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2022.9 LATTE: 基于关键假设的数据生成策略,多模态注意力机制进行语义轨迹重塑,人机交互界面。根据机器人原始轨迹、用户语义目标及环境中的障碍物信息按照用户指令生成新轨迹。提供了一个简单demo的搭建运行代码。https://www.microsoft.com/en-us/research/group/autonomous-systems-group-robotics/articles/robot-language/

步骤:1.语言编码器使用预训练的BERT对自然语言命令编码生成语义特征向量,使用预训练的CLIP对环境中的障碍物的语义标签编码生成语义特征向量。2.几何编码器对每个轨迹点和障碍物位置(特征向量)进行线性变换映射到高维特征空间,将特征向量连接起来作为几何信息的表示。3.多模态transformer解码器将语义特征和几何特征结合起来,顺序预测输出的重塑轨迹。

问题:不涉及视觉模态。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2022.11 R3M: A Universal Visual Representation for Robot Manipulation复杂人类视频文本标注数据(有监督),时间对比学习、视频-语言对齐、L1惩罚实现稀疏和紧凑的表示,可作为下游策略学习的冻结感知模块,Franka Emika Panda机械臂。https://tinyurl.com/robotr3m 开源且含环境部署

步骤如下:1. 数据预处理:Ego4D人类视频数据集解析成帧,并与相应的自然语言注释配对。2. 时间对比学习捕获环境中的时间相关信息(顺序交互)。3. 视频-语言对齐学习语义相关特征。4. L1惩罚:鼓励紧凑的表示(更专注任务相关特征)。5. 训练:ResNet50架构预训练

Tips:有监督-有标签数据,图像分类任务;无监督-未标记数据,聚类、降维、生成任务;自监督-从数据学习模式和规律,自生成标签(伪标签)或任务,图像处理任务。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2022.10 Real-World Robot Learning with Masked Visual Pre-training大规模数据集,大型自监督MAE+ViT-Large+机器人控制策略的学习。

步骤:1.数据集大而多,且含以自我(视角)为中心的数据集。2.自监督视觉预训练MAE(masked autoencoders)自编码预训练预测被遮挡部分的内容,学习图像的表示。3.Vision Transformer (ViT)视觉编码器,对预训练的视觉表示(冻结)+(关节)控制策略编码训练,预测动作。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2022.10 NVIDIA VIMA: General Robot Manipulation with Multimodal Prompts 原始版的palm-e,将视觉和语言输入结合在具体机器人环境中直接预测动作(palm-e生成高级指令文本,有条件约束,原始离线地图知识,可做机器人推理和问答)。

步骤:1.输入:输入一个包含文本和图像或视频帧的输入序列(多模态提示序列(multimodal prompts))。#输入序列由交替的文本和视觉提示prompt组成,通过预训练的语言模型(如T5模型)进行编码#Prompt Encoder步骤中使用T5模型对文本输入进行编码

2.Transformer #1.编码:将视觉提示中的物体信息和多个视角的RGB图像编码为嵌入向量表示,以供后续的序列建模和决策生成步骤使用,包含ObjEncoder,GatoMultiViewRGBEncoder, MultiViewRGBPerceiverEncoder, MultiViewRGBEncoder四部分,实际使用的是vit模型。#ObjEncoder部分,将输入的物体图像或特征提取为物体的表示#GatoMultiViewRGBEncoder:多视角RGB编码器,用于对多个视角的RGB图像进行编码转换为嵌入向量表示。

#MultiViewRGBPerceiverEncoder:多视角RGB Perceiver编码器。Perceiver是一种结合了注意力机制和卷积操作的神经网络结构,用于处理结构化输入和输出。

#MultiViewRGBEncoder:一个多视角RGB编码器,用于对多个视角的RGB图像进行编码。#2.(基于GPT的序列建模方法)序列建模,包含引入OpenAIGPTPreTrainedModel(gpt预训练模型)和XAttnGPT、HFGPT三部分。学习输入序列的语义表示和序列之间的关联,从而生成合理的机器人动作序列。#XAttn表示交叉注意力(Cross-Attention),对输入的提示序列和历史交互序列进行编码,并通过交叉注意力机制将提示序列与历史交互序列进行关联。这样,模型可以在生成下一步动作时考虑到提示信息和先前的交互历史。#HFGPT(历史注意力)在生成下一步动作时主要关注历史交互序列,而不是提示序列。使用GPT对历史交互序列进行编码,并通过自注意力机制(Self-Attention)捕捉序列中的上下文信息,以生成下一步动作。#3.解码:Action Embedding(动作嵌入):将机器人的动作编码为嵌入向量,包含ActionEmbedding, ContinuousActionEmbedding两部分。ActionEmbedding将机器人的离散动作符号(如"pick and place"或"wipe")转换为嵌入向量(如使用整数编码),以便模型能够对其进行处理和预测。这种嵌入表示可以捕捉到不同动作之间的语义关系和相似性。#ContinuousActionEmbedding:将机器人的连续动作(通常由一组连续的数值表示,如机器人臂的位置和姿态)转换为嵌入向量,可以捕捉到不同连续动作之间的关系和变化。#Action Decoder(动作解码器):使用解码器部分生成机器人的动作序列。创建一个包含多个解码器的模块字典用于将神经网络输出转换为对应的动作。参数action_dims表示每个动作的维度,可以是一个整数(用CategoricalNet解码)或一个整数列表(用MultiCategoricalNet解码)。

3.通过1、2完成多模态提示多任务的学习(端到端的监督学习),(模型可以从人类专家轨迹数据中学习执行各种任务所需的动作序列)可执行多个不同的机器人操作任务。零样本泛化(通过多模态提示的序列建模和语义理解):无特定任务训练的情况下执行新任务。

Tips:实验都在仿真环境中开展,据说代码坑比较多,不过可以作为未开源palm-e的初始编码版本,https://vimalabs.github.io/

------------------------------------------------------------------------------------------------------------------------------------------------------------

2022.11 Google Gato :Generalist Agent单一大型transformer(XL)序列模型处理多模态、多任务、具身数据。不开源。

步骤:1.数据处理:不同任务、模态的数据(eg.图像、文本、自我感知、关节扭矩、按钮按压等)序列化(SentencePiece进行编码)转成一个平面的prompt序列(离散整数数据单元)。2.训练:嵌入层将prompt映射为向量表示(图像prompt通过ResNet提取特征后再映射为向量)。3.transformer,通过多头注意力机制学习全局上下文,采用自回归方式预测下一个prompt(生成序列),损失函数。4.连续的动作prompt解码成实际动作发送给环境,环境返回新观测后,重复上述预测过程不断生成动作序列。

 

创新点:1.处理多模态、多任务、多体现(multi-embodiment)数据。2.可扩展数据、计算和模型参数,扩大训练分布,泛化能力:增加任务、行为。

Tips:Continuous actions(连续动作)指连续范围内取值的动作,处理为浮点数-mulaw编码-离散化-均匀间隔的整数;Discrete actions(离散动作)指从离散动作空间中选择动作,处理(展平)为整数。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2022.11 NVIDIA PERCEIVER ACTOR: A MultiTask Transformer for Robotic Manipulation。利用Perceiver Transformer处理高维输入体素voxel,利用CLIP理解语言指令,用于6自由度(6-DoF)机器人动作操纵。

代码开源且有详细的环境部署步骤。https://peract.github.io/

------------------------------------------------------------------------------------------------------------------------------------------------------------

2023.1 Microsoft SMART: SELF-SUPERVISED MULTI-TASK PRETRAINING WITH CONTROL TRANSFORMERS多任务顺序决策、高维感知信息、长期交互问题。通用的预训练框架,control transformer模型(以控制为核心),旨在学习适用于多任务顺序决策的表示。因果注意力机制、动力学预测和随机掩码的事后控制。

用于多任务顺序决策。

步骤:1. control transformer模型(CT):通过因果注意力机制建模高维观测数据中的状态-动作交互。与Transformer的顺序决策模型不同,CT旨在学习与奖励无关的表示,从而使其成为适应不同学习方法(例如模仿学习和强化学习)和各种任务的统一模型。2. 以实现控制为核心的预训练目标:包含前向动力学预测、逆向动力学预测和随机掩码的事后控制。这些项侧重于与策略无关的转移概率,并鼓励CT捕获短期和长期时间粒度的动态信息。3. 预训练目标的实现:预训练目标是上述三个项的加权和,实验结果表明这种实现在性能上表现良好。

创新点:1.control transformer模型。2. 预训练动态信息目标(前向动力学预测、逆向动力学预测和随机掩码的事后控制)。3. 多任务顺序决策。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2023.2 Microsoft ChatGPT for Robotics 部分示例代码,使用ChatGPT通过提示和反馈进行自然语言交互来生成适用于机器人应用的代码PromptCraft-Robotics:https://github.com/microsoft/PromptCraft-Robotics

创新点:1.定义了一个高级机器人函数库,可针对感兴趣的形式或场景进行特定设计,并映射到机器人平台上实现。2.构建了一个提示(约束、指导、响应方法)来描述目标,同时识别函数库中允许的高级函数集合。3.用户直接分析或模拟来评估ChatGPT生成的代码输出并提供反馈(代码质量和安全性)。4.不断迭代后代码部署到机器人上。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2023.3 google Foundation Models for Decision Making

文章主要讨论了基于大规模数据预训练的基础模型在决策制定方面的问题(模型从外部实体获得反馈来进行适应和长期推理和规划,多模态)。

未来推测:行为生成模型用于生成代理或智能体在特定环境中采取的行为序列。

环境生成模型用于生成环境的动态变化和响应(状态转移和奖励信号)并建模,以进行决策制定和规划。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2023.3 google PaLM-E(RG-2)https://palm-e.github.io/(未开源)多模态语言模型(文本、图像和机器人轨迹等多种模态),利用机器人在环境中的运动轨迹信息来对齐不同模态的数据。语言生成和视觉感知与机器人动作相结合,准确地理解和生成与机器人行为相关的语言描述。预训练和微调策略。文本、图像、持续的传感器数据,在视觉问答、图像描述、多模态推理、零样本学习、多图像推理、机器人操作规划等方面表现出色。PaLM-E(对比SayCan)将动作的规划、可行性评估交给LLM来预测。

流程:1.图像和状态估计等多模态信息预先已集成到预先训练的语言模型的嵌入空间中。2.输入:由文本和连续观察(例如图像或状态估计)组成的多模态句子输入,这些观察结果被嵌入到与语言标记相同的潜在空间中。2.处理:多模态句子由LLM处理(LLM 在给定前缀或提示的情况下自动生成文本补全)。3.生成文本输出(问题的答案/一系列决策/具体代理的高级指令)。4.操作(1)如果任务可以仅通过文本输出来完成,则生成的文本被认为是解决方案。(2)如果任务需要具体的规划或控制,则生成的文本将用于调节低级策略或规划器将文本转换为低级操作)。5. 执行:机器人各模块在现实世界中执行动作,产生新的观察结果,必要时可用于重新规划(循环反馈)。

创新点:1.OSRT(Object Scene Representation Transformer):将现实世界的连续传感器模态直接纳入大语言模型。将图像和状态估计等多模态信息集成到预先训练的语言模型的嵌入空间中,使 PaLM-E 能够在单词和感知之间建立联系。2.通过多任务训练和混合数据集,不同任务和不同机器人的数据进行混合训练,实现了任务间的迁移和知识共享正迁移,高性能、泛化性和数据效率。3.冻结语言模型(Frozen language models):在训练过程中保持语言模型的参数(权重)不变,不仅可以保证模型在预训练时保留语言模型强大的语言理解能力,输出更准确、连贯的文本,还能避免在多模态训练中出现灾难性遗忘(catastrophic forgetting)(模型在学习新任务时会完全丧失对之前任务的知识和能力,导致之前训练任务的模型性能急剧下降)的问题。

文中还提到冻结语言模型的替代方法:扩大语言模型的大小。(PaLM-E已扩展到562B参数的规模,大部分人都做不了)4.虚拟环境仿真和真实环境测试均涉及。

PaLM-E(RG-2)提到的OSRT(Object Scene Representation Transformer:捕捉对象之间的关系和全局上下文信息,生成更细节、更真实场景图像的算法。

算法原理:1.输入:给定一组对象表示(对象的位置、类别和特征向量等信息)作为输入。2.对象表示转换器:将输入的对象表示编码为更高级的对象表示使用Transformer作为编码器捕捉对象之间的关系,通过自注意力机制对不同对象的相关性进行建模。3.场景表示生成器:将编码的对象表示和全局上下文结合起来生成整个场景的表示,使用Transforme解码器通过自注意力机制对不同对象进行加权聚合,以获得全局上下文信息。生成器还通过逆卷积操作来对场景表示进行上采样生成高质量的图像。4.优化和训练:前向传播、损失计算:使用像素级别的损失函数(如均方误差(MSE)损失或感知损失函数)计算生成的场景表示与真实图像之间的差异。反向传播更新参数。5.生成场景图像:经过训练,算法可以通过输入一组对象表示来生成对应的场景图像。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2022.12 Google RT-1: Robotics Transformer for Real-World Control at Scale 开源且有详细部署步骤。RT2在RT1基础上提升了泛化能力,(继承)符号理解、推理能力和人类识别能力,模型更大和推理更快。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2023.10 TidyBot: Personalized Robot Assistance with Large Language Models

https://github.com/jimmyyhwu/tidybot 开源且提供了详细的部署环境,

双视角,机器人顶部摄像头获取整个场景的俯视图像,底部摄像头获取物体近景图像。个性化规则,室内打扫任务。自监督。端到端?Kinova Gen3 7-DoF机械臂、Robotiq 2F-85并行夹持器。

333.png

步骤:1.顶部摄像头获取场景图像,ViLD物体检测。2.使用底部摄像头获取近景图像,CLIP物体分类识别。3.LLM输出预测的放置容器和操作(拿取(pick)和放置(place/扔掉(toss)。

------------------------------------------------------------------------------------------------------

2023.11 RoboFlamingo: VISION-LANGUAGE FOUNDATION MODELS AS EFFECTIVE ROBOT IMITATORS 抓取任务

RoboFlamingo可以在单个GPU服务器上进行训练或评估

https://github.com/RoboFlamingo/RoboFlamingo 开源且含部署步骤

步骤:

1. ViT:摄像头输入图像通过ViT转换为视觉特征表示。2. LLM:接收自然语言指令编码为语言特征表示。3. 视觉语言对齐:预训练的VLM将视觉和语言特征对齐。4. 动作生成:Policy Head将视觉、语义、历史动作和决策信息(LSTM长短期记忆网络)进行特征提取,生成机器人下一步的控制信号。

444.png444.png

------------------------------------------------------------------------------------------------------

2023.11 RT-Trajectory: Robotic Task Generalization via Hindsight Trajectory Sketches.通过粗糙轨迹草图的策略条件方法(RT轨迹)实现任务的zero-shot,在模型表达低层动作更细节的指导和允许学习策略根据视觉观测解释轨迹草图上下文之间取得了平衡。

------------------------------------------------------------------------------------------------------

2023.12 SARA-RT: Scaling up Robotics Transformers with Self-Adaptive Robust Attention.SARA方法将机器人控制策略扩展到实际应用中,通过“上训练”(up-training)线性注意力机制解决Transformer计算复杂度高的问题。

------------------------------------------------------------------------------------------------------

2023.8 WALL-E: Embodied Robotic WAiter Load Lifting with Large Language Model 用户指令通过gpt3.5发出指令,通过LLM编码动作和指令,实现6-DoF三维物体的抓取。

------------------------------------------------------------------------------------------------------2023.5 Google Instruct2Act: Mapping Multi-modality Instructions to Robotic Actions with Large Language Model  不同指令(文本、图像、鼠标点击观测图像中物体的顺序),模型根据任务调用不同的模型

步骤:1. 用户输入自然语言指令(CLIP编码)或者语言图像混合指令(从之前训练过的环境缓存(物体照片)中检索对应图像)或者鼠标点击(给用户观测图像-依次点击目标对象-点击点作为分割提示-SAM模型分割对象。2. 感知:调用SAM模型进行语义分割,识别场景中对象。之后使用CLIP对每个分割出的对象区域编码。3. 规划:利用LLM生成Python代码(感知代码:利用SAMCLIP识别对象,获取位置和类别信息。规划代码:根据对象信息和动作定义,生成可执行动作序列。执行代码:调用底层控制器执行动作序列,完成规划任务)。4. 机器人执行:坐标转换将图像空间物体位置转换为机器人坐标系下的位置,并添加边界限制,驱动机器人执行动作。

https://github.com/OpenGVLab/Instruct2Act 开源且有详细部署步骤。

222.png

2023.4 ERRA: An Embodied Representation and Reasoning Architecture for

Long-horizon Language-conditioned Manipulation Tasks

通过粗粒度(语言指令Λ、深度图像I和触觉信号T-编码器提取特征-连接-大模型谷歌T5生成模型+软提示调优(泛化)训练)和细粒度(深度图像、动作语言特征和触觉信号-RLPPO算法奖励-状态、时间、动作的策略网络)两个层级进行紧密耦合(粗细推理模块联合:粗粒度模块根据当前状态首先推断下一步动作语言,细粒度模块根据此生成具体动作执行-执行结果作为反馈再输入粗粒度模块推断下一个步骤-迭代闭环直至完成任务)的概率推理,完成机器人任务分解和长时域任务规划。不开源

111.png

------------------------------------------------------------------------------------------------------------------------------------------------------------

2023.07 Google RT-2: New model translates vision and language into action ,在机器人轨迹数据(将动作表示为文本标记纳入训练集中)和互联网规模的视觉-语言任务(如视觉问题回答)上共同微调出来的视觉-语言-动作模型VLA,实现VLMs能力扩展到机器人的闭环控制

新能力:泛化能力;训练数据中不存在的命令(如将物体放在特定的数字或图标上)及能够对用户命令做出基本推理的能力(如拿起最小或最大的物体,或者最接近另一个物体的物体);思维链推理使RT-2能够进行多阶段的语义推理,例如找出哪个物体可以用作临时的锤子(一块岩石),或者哪种饮料最适合一个疲倦的人(一种能量饮料)。

步骤:1.VLMs:使用大规模的网络数据对视觉-语言模型进行预训练。2.派生机器人控制策略:从预训练的视觉-语言模型中派生出机器人控制策略(从机器人数据中学到的物理运动技能,从网络数据中学到的图像和文本解释能力)。3.机器人控制策略的应用:从机器人数据中学到的技能重新应用到新的情境中,例如将物体放置在与语义相关的位置附近,解释物体之间的关系以确定应该拿取哪个物体以及放置在哪里。

不足:1.计算成本高:对于需要高频控制的场景实时推理较难实现(文中提到探索量化和蒸馏技术?)。2.现实环境受限:任务泛化性好,但真实环境机器人并没有通过这种额外的经验获得新的动作技能(受限于训练阶段的已有轨迹数据)。未来可研究通过新的数据收集范例(例如人类视频)来获取新的技能。

评价:这篇论文未开源,模型框架改动比较小,但是文章很新,主要可以学习添加其它机器人模态的方法、泛化能力、真实场景应用等。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2023.9 VLM: 视觉语言模型(VLM)在视觉问答和图像字幕等任务上效果较好,但在理解常见物体的物理概念(例如材料、脆弱性、重量密度、软硬)方面存在局限性,不擅长处理涉及与这些物体交互和进行物理推理的机器人操作任务中。Physically Grounded Vision-Language Models for RoboticManipulation提出了PhysObjects-由39.6K人工标注数据和417K自动化物理概念标注的数据集。https://iliad.stanford.edu/pg-vlm/

------------------------------------------------------------------------------------------------------------------------------------------------------------

2023.9 EmbodiedGPT: EmbodiedGPT: Vision-Language Pre-Training via Embodied Chain of Thought是一种端到端的多模态基础模型,通过将视觉信息和语言信息相结合,实现高级规划到低级控制的闭环设计。只在个别仿真测试,代码和EgoCOT数据集均未开源。

步骤:1.输入:视觉输入通过预训练的VIT进行视觉编码,同时通过Conv3D(三维CNN捕获视频中的时序信息和空间特征)提取视觉特征-全局平均池化(每个特征图的所有元素求平均值)得到一个全局的特征表示(图像语义信息、上下文、场景等整体特征)-提取任务相关的实例级特征(特定场景特定物体信息)。2.通过Embodied-Former。其中Embodied Queries是通过Embodied-former模块从视觉输入和Text Queries中提取的高级规划和低级控制。3.语言映射:VIT提取的视觉特征通过注意力交互提取视觉标记、文本查询和Embodied Queries(eg.任务描述、结构化规划指令等)-语言映射层映射到语言模态(含chain-of-thought)-形成embeddings(低维映射)-text prompt提示文本-通过冻结的LLaMA(Language-Modality Matching多模态学习和语言模态的匹配)指导模型生成视觉描述、视觉问答和具体任务的规划-Text Queries。4. 规划生成:Embodied Queries(与任务相关的实例级特征,涉及到具体的物体、场景、动作)和Text Queries(指导执行特定的任务,包括任务描述、要求、指导性的语言输入)通过Embodied-Former(利用chain-of-thought(视觉语言预训练范式)将二者交互,查询高度相关的特征,并结合语言映射层映射到语言模态)生成低级控制命令(逻辑推理和可执行的详细任务计划)。5. 执行:结合CNN全局特征,低级控制命令通过policy Mapping(下游策略网络)执行任务的低级控制命令,实现与真实环境的交互。

https://github.com/OpenGVLab/EmbodiedGP T

 

数据集:EgoCOT(大规模实体规划数据集)以自我为中心视频以及相应的高质量语言指令。EgoVQA自我中心的人-物互动视频问答任务。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2023.9 RoboAgent:RoboAgent:Generalization and Efficiency in Robot Manipulation

via Semantic Augmentations and Action Chunkin侧重于使用语义增强和动作表示在有限数据量有效地训练能够进行多任务操作技能的通用机器人,以及在实际场景中的泛化性和效率。 Franka Emika Panda 手臂,双指 Robotiq 夹具。开源代码较完整https://robopen.github.io/

步骤:1.数据集采集:通过由人类远程操作的 7,500 条机器人操作轨迹组成的数据集,含跨不同任务的各种操作技能集合。2.语义增强:将一个特定机器人演示重新创建为多个演示(不同的语义上下文(对象、纹理、背景等)),通过将真实世界的语义先验知识合并到多任务操作机器人中来泛化,并扩大了现有数据集

。3.文本处理:原视频文本、用户指令输入到text Encoder,一部分作为MT-ACT的文本输入,一部分利用FiLM(Feature-wise Linear Modulation特征线性调制)(条件图像生成和处理技术,通过线性变换调整特征图,允许神经网络处理多任务多场景等不同条件下的文本输入且不混淆)。4.图像处理:(训练阶段)图像语义增强后的离线视频图像通过CNN提取场景、物体的视觉特征。(测试阶段)实时视频图像通过CNN提取当前场景的视觉特征(指导机器人执行特定任务操作)。5.MT-ACT输入-黑色z(固定位置编码信息)蓝色jt(视频的环境多模态信息)τ(任务描述、操作执行)绿色(含多条件视频text、用户指令、视频图像CNN后的特征)黑色jt(机器人位置)。6.增强策略架构MT-ACT:使用CVAE识别不同模式数据隐式编码,并多任务操作分块transformer训练,从多模态数据集中恢复多种技能。

条件变分自动编码器CVAE(Conditional Variational Autoencoder):一种用于识别动作分布模式的生成模型,在给定某些条件下生成具有潜在变量(变体、依赖关系等)的数据样本。

7.输出动作分块:预测操作块(而非预测每步操作)实现更平滑的操作,并减轻在低数据模仿学习方案中常见的协方差偏移。

一个带有双指 Robotiq 夹具的 Franka Emika Panda 手臂,该夹具装有 Festo 自适应手指,以及多个固定摄像头。

------------------------------------------------------------------------------------------------------------------------------------------------------------

2023.11 VoxPoser:可组合的3D价值地图,用于指导机器人的操作,更准确地理解物体的位置和可操作性,根据奖励信号进行决策和规划。开源且有部署步骤。https://voxposer.github.io/,everyday robot的机械臂,简单的启发式方法实现具体任务:算法随机采样轨迹然后评分(dense reward),在每一步都重新规划。

步骤:1.绘制value map:环境(3D仿真环境,两个视角)+人为指定的语言目标,利用LLM和VLM交互生成绘制affordance和constraint的value map。

其中affordance maps中,蓝色区域是要抓取操控的目标,代表high reward

constraint map中,红色区域是约束(要避开的障碍),代表high cost。value map中,机器人尽量往蓝色区域走,避开红色区域。2.motion planner操作机械臂去完成语言指定的目标,随着环境的变化,camera中的图像也会变化,VLM会持续改进代码,让机器人在不同阶段到达不同目标。

创新点:1.用语言模型和视觉语言模型来提取affordance和constraints(可行性和约束),组成一个3D仿真环境中的value map。2.利用LLM代码编写能力和视觉语言模型(VLM)交互,把知识融入agent的observation space中。3.在3D的仿真环境中,根据提取的affordance和constraint,motion planner可以通过一组开放的(自由形式的)语言指令和一组开放的对象,zero-shot合成机器人操作任务的轨迹(6自由度,末端执行器)。

------------------------------------------------------------------------------------------------------

2023.11 Text2Motion: From Natural Language Instructions to Feasible Plans 通过LLM、机器人技能和空间规划动作,实现从自然语言指令到机器人动作的规划执行。

步骤:1.输入自然语言指令和环境的初始状态。2.LLM解释自然语言指令,生成多步骤计划。3. 利用机器人技能库和可行性空间动作规划,验证计划的可行性,并计算机器人在环境中执行任务的运动轨迹。