这两天,我在朋友圈说道,本质上来讲,斯坦福mobile aloha就是大模型机器人领域里的缩略版ChatGPT时刻,虽然aloha本身并没有像ChatGPT那么强大(毕竟才三人团队),但会让大模型机器人成为今2024年最大的爆发点,为何这么讲呢?
而第二大爆发点,我觉得是agent,这个“大”更多是对社会的影响力,当然,agent是一个框架流程,本身也会嵌入在大模型机器人的设计里头
这不,mobile aloha还没过去一个月,各种大模型机器人便已喷涌而出,光我在我组织的“大模型机器人交流群”里便发了以下新闻/进展(当然,有些新闻稿犯的一些事实性错误,本文已经纠正)
可以把这个Dobb.E的工作理解为下面OK-Robot的前置工作
由于我今年特别看好大模型机器人的发展,且作为一个创业者 我希望不断挑战难度更大的事情,而作为一个技术研究者或大模型开发者 我希望把各个领域的技术给串起来(比如NLP大模型和CV大模型),综合为一个大场景而服务,毕竟作为大模型应用而言,场景第一 数据第二 模型第三
近年来,大模型的研究正在加速推进,它逐渐在各类任务上展现出多模态的理解和时间空间上的推理能力。机器人的各类具身操作任务天然就对语言指令理解、场景感知和时空规划等能力有着很高的要求,这自然引申出一个问题:能不能充分利用大模型能力,将其迁移到机器人领域,直接规划底层动作序列呢?
去年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
这是此前的一些工作,主要有以下三大类
尽管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模型以及额外训练对象编码器和注意力层来学习动作此外,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.
一些方法已经利用大型语言模型(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.
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)
具体而言,如下三点与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
具体而言,其利用已有的基于图像 - 文本对的视觉语言基础模型,通过训练端到端的方式生成机器人每一步的 relative action。模型的主要模块包含了 vision encoder,feature fusion decoder 和 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) 」,允许智能体通过从指令标记的专家游戏数据中进行模仿来学习
视觉编码器由ViT和重采样器Resampler构成,在每个时间步长t,通过ViT模块对双视图相机图像、编码为由visual token sequence组成的(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):
其中表示处的视觉token序列,表示编码后输出的token编号
在编码之后,RoboFlamingo利用感知器重采样器Resampler 将视觉tokens的数量从N压缩到K。换句话说,Resampler通过维护一组可学习的参数,并运用注意力机制将token序列的数量减少至(the resampler maintains a set of learnable parameters and utilizes the attention mechanism to reduce the number of token sequences to K)
形式上,Resampler的公式如下:
其中
- ,作为Resampler可学习参数的查询向量
- 表示隐藏维度大小
- ,表示键和值的线性变换矩阵
- 为视觉token特征维度
- 和是经过变换后的视觉输入V的键和值向量
重采样器输出的压缩视觉tokens进一步传递至特征融合解码器,该解码器旨在通过将“语言指令”与“编码的视觉特征”融合,以生成视觉-语言联合嵌入(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等人的方式对解码器模块进行微调,具体来说,解码器有层,每一层都涉及一个transformer解码器层和一个交叉注意力层(each of which involves a transformer decoder layer and a cross-attention layer)
形式上,如果我们将表示为指令的第i -th个嵌入token(we denote xi ∈ Rd the i−th embedded token of the instruction),表示为指令长度,表示为指令的嵌入矩阵(X ∈ RM×d is the embedded matrix of the instruction)
那么嵌入的自然语言指令应该为,并且给定输入时,可以计算出第个解码器层的输出(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)
其中特征融合解码器的输出被训练为视觉观察和语言指令的表示(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)
为了实现这一目标,我们采用一个额外的策略头来预测动作,例如7自由度末端执行器姿态和夹持器状态(the 7 DoF end-effector pose and gripper status),且尝试了多种策略来模拟历史观测序列,并将其作为策略头进行使用
以LSTM版本为例,在视觉-语言联合嵌入序列(with the vision-language joint embedding sequence Xt L)上通过在token dimension上进行最大池操作得到聚合嵌入(aggregated embedding),并预测动作
其中表示处的隐藏状态,、是预测的末端执行器姿态和夹持器状态
最终,我们利用最大似然模仿学习目标来微调所提出的pre-trained backbone和policy head
具体来说,期望的相对姿态通过回归损失(可使用均方误差MSE损失)进行优化,而抓手状态使用分类损失(可使用二进制交叉熵BCE损失):
其中
- 、是时间步长时末端执行器姿态和抓取器状态的演示
- 对应于抓取器损失的权重(λ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)
数据集:
CALVIN(Composing Actions from Language and Vision)是一个开源的模拟基准测试,用于学习基于语言的 long-horizon 操作任务
定量分析:
RoboFlamingo 在各设置和指标上的性能均为最佳,说明了其具有很强的模仿能力、视觉泛化能力以及语言泛化能力
消融实验:
实验考察了四种不同的策略头部:MLP w/o hist、MLP w hist、GPT 和 LSTM,其中
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作为默认选择,毕竟其实现相对更简单
预训练对于 RoboFlamingo 的性能提升起到了关键作用。实验显示,通过预先在大型视觉-语言数据集上进行训练。RoboFlamingo 在机器人任务中表现得更好
虽然通常更大的模型会带来更好的性能,但实验结果表明,即使是较小的模型,也能在某些任务上与大型模型媲美
指令微调是一个强大的技巧,实验结果表明,它可以进一步提高模型的性能
相较于基线方法,RoboFlamingo 不但完整执行了 5 个连续的子任务,且对于基线页执行成功的前两个子任务,RoboFlamingo 所用的步数也明显更少
以下是RoboFlamingo的一些重要参考文献
- Brohan, Anthony, et al. "Rt-1: Robotics transformer for real-world control at scale." arXiv preprint arXiv:2212.06817 (2022).
- Brohan, Anthony, et al. "Rt-2: Vision-language-action models transfer web knowledge to robotic control." arXiv preprint arXiv:2307.15818 (2023).
- 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.
- Alayrac, Jean-Baptiste, et al. "Flamingo: a visual language model for few-shot learning." Advances in Neural Information Processing Systems 35 (2022): 23716-23736.
- 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.
- Padalkar, Abhishek, et al. "Open x-embodiment: Robotic learning datasets and rt-x models." arXiv preprint arXiv:2310.08864 (2023).
- Brown, Tom, et al. "Language models are few-shot learners." Advances in neural information processing systems 33 (2020): 1877-1901.
- Awadalla, Anas, et al. "Openflamingo: An open-source framework for training large autoregressive vision-language models." arXiv preprint arXiv:2308.01390 (2023).
- Driess, Danny, et al. "Palm-e: An embodied multimodal language model." arXiv preprint arXiv:2303.03378 (2023).
- Jiang, Yunfan, et al. "VIMA: General Robot Manipulation with Multimodal Prompts." NeurIPS 2022 Foundation Models for Decision Making Workshop. 2022.
- 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.
- Tan, Mingxing, and Quoc Le. "Efficientnet: Rethinking model scaling for convolutional neural networks." International conference on machine learning. PMLR, 2019.
- 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(这是其论文:On Bringing Robots Home,Submitted on 27 Nov 2023),提出了家庭教学机器人的框架,其只需五分钟就能学会一项新任务,这要归功于用廉价零件和iphone制作的示范收集工具,具体来说,Dobb-E的关键组件包括:
最终让Dobb-E在10个家庭中进行了为期30天的实验,在此期间,它尝试了109个任务,并成功学习了102个任务,其表现为50%,总体成功率为81%。同时,发现
平均而言,仅通过收集每个任务在5分钟内91秒的数据,Dob-E能够在家中实现81%的成功率
本质上,Dob-E是一个行为克隆框架[10]。而行为克隆是模仿学习的一种形式,通过观察和模仿人类或其他专家代理的行为来学习执行任务。行为克隆涉及训练模型以模仿演示的动作或行为,并通常使用标记的训练数据将观察映射到期望的动作
整个方法可以分为4个阶段:
该系统并未要求用户移动整个机器人,而是利用一款价格便宜的25美元可伸缩末端执行器创建了一个“你好机器人”的复制品,并通过3D打印的iPhone支架进行增强,此外,iPhone Pro(版本12或更新)配备的摄像头设置和内部陀螺仪能够以每秒30帧的速度获取RGB图像、深度数据以及6D位置信息(包括平移和旋转)
使用已安装在iPhone上的Record3D来捕获演示数据,该应用程序能够保存
然后以30 FPS速率将这些数据记录到手机中,并进行导出和处理
所有的系统都部署在Hello Robot Stretch上,这是一款单臂移动机械手机器人,已经可以在公开市场上购买。我们在所有实验中使用Stretch RE1版本,其灵巧的手腕附件赋予了机器人6D运动能力。它成本低廉、便携轻便(仅重51磅/23公斤),并且可以通过电池供电长达两个小时。此外,Stretch RE1还配备了Intel NUC计算机,可以以30 Hz的频率运行学习策略
凭借上面的硬件设置,只需将手柄带回家,将iPhone连接到手柄上,并使用Record3D应用程序记录时进行任何演示者想要展示的操作,最终在一些志愿者的协助下收集了一个名为纽约之家(HoNY)的家庭任务数据集
尽管iPhone可以提供末端执行器的姿态数据(the pose of the end-effector),但无法直接获取夹持器本身的开启或关闭状态。为了解决这一问题,我们训练了一个模型来追踪夹持器尖端
随后被用于标记数据集中其余帧中夹持器的值(介于0到1之间)
拥有多样化的家庭数据集之后,下一步的任务是训练一个基础的视觉模仿模型,以便在家中进行轻松地修改和部署。他们的策略由两个简单组件构成:一个视觉编码器和一个策略头
使用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.
在监督训练期间, 网络从观察到动作映射进行学习, 并未冻结任何参数, 学习速率设置为 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)
为了解决新任务,首先简要收集一些任务示范。通常会收集24个新示范作为经验数据,对于简单的5秒任务来说这是足够的。在实际操作中,收集这些示范大约需要5分钟时间。然而,在某些环境下重置所需时间更长,在这种情况下,收集示范可能需要更多时间
由于模型预测摄像头帧中的运动,我们在机器人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.
最近,纽约大学、Meta 研发出的一款机器人学会了这个技能。你只需要对它说,「把桌子上的玉米片拿到床头柜上」,它就能自己找到玉米片,并规划出路线和相应的动作,顺利完成任务。此外,它还能帮你整理东西或扔垃圾
这个机器人名叫 OK-Robot,由来自纽约大学、Meta 的研究者共同构建。他们将视觉语言模型(用于物体检测)、导航和抓取的基础模块整合到一个开放知识型框架中,为机器人的高效拾放操作提供了解决方案
OK-Robot 定位中的「开放知识」指的是在大型公开数据集上训练的学习模型
为了研究 OK-Robot,研究者在 10 个真实的家庭环境中对其进行了测试
header_video_ultra_ultra_com..
通过实验,他们发现,在一个从未见过的自然家居环境中,该系统零样本部署的成功率平均为 58.5%。然而,这一成功率在很大程度上取决于环境的「自然程度」。因为他们发现,通过改进查询、整理空间和排除明显具有对抗性的物体(太大、太半透明、太滑),这一成功率达到了约 82.4%
总之,通过实验,他们得出了以下结论:
该研究主要解决这个问题:从 B 上拿起 A 并将其放在 C 上,其中 A 是一个物体,B 和 C 是现实世界环境中的某个地方。要实现这一点,所提系统需要包含以下模块:
开放词汇对象导航遵循了 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.
扫描每个房间的时间不到一分钟,一旦信息收集完毕,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)
在扫描的每一帧上,会有一个开放词汇对象检测器对扫描的内容进行处理。本文选择 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]
本文借助 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.
然后,我们寻找使编码向量和立体像素语义表示(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*算法进行导航,具体而言
我们将被占据或未探索的单元标记为不可导航区域
在每个被占据点周围20厘米范围内的所有点也被标记为不可导航区域,以考虑机器人本身及其旋转半径
与开放词汇导航不同,为了完成抓取任务,算法需要与现实世界中的任意对象进行物理交互,这使得这部分变得更加困难。因此,本文选择使用预训练的抓取模型来生成现实世界中的抓取姿态,并使用 VLM 进行语言条件过滤
本文使用的抓取生成模块是 AnyGrasp,它在给定单个 RGB 图像和点云的场景中使用平行钳口夹具生成无碰撞抓取
抓握对象后,接下来就是将对象放置在什么地方。与 HomeRobot 的基线实现不同,该方法假设物体放下的位置是一个平坦的表面,本文进行了扩展,还涵盖了凹物体,如水槽、箱子、盒子和袋子。
至此,导航、抓握和放置都有了,之后就可以直接将它们组合起来,该方法可以直接应用于任何新的家庭。对于新的家居环境,该研究可以在一分钟内扫描房间。然后,只需不到五分钟即可将其处理到 VoxelMap 中。一旦完成,机器人就可以立即放置在选定的场地并开始运行。从到达一个全新的环境到开始在其中自主操作,该系统平均需要不到 10 分钟即可完成第一个取放任务
// 待更
在高层次上,AutoRT通过开放词汇表对象检测器收集数据
AutoRT采用了一个带有摄像头、机械臂和移动基座的移动机械手作为机器人平台。在此处,我们仅考虑操作数据的收集,因此导航只用于获取不同操作设置——然而值得注意的是该系统对其他机器人实现和收集模式也具有通用性
为了绘制环境,我们采用了 Chen 等人提出的自然语言地图方法,该方法利用 VLM 构建,将物体检测编码为视觉语言嵌入 ,相应位置由机器人的深度传感器和 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.
因此,给定一个类似于“海绵”的文本目标 ,我们可以通过查询接近 文本嵌入的 来引导机器人走向海绵
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.
每个环境只生成一次该地图,并复制到所有收集机器人所在空间中,并从缓存中加载以节省未来情节时间
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多个机器人组成的舰队,在新颖设置下运行。绿色部分是本工作的贡献
在机器人操作场景之前,需要生成一个操纵任务列表。这个过程包括两个步骤:
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.
任务建议:在这一步中,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.
在本文中,我们提出了开放世界移动操作系统(Open-World Mobile Manipu-lation System),这是一个全栈方法,用于解决开放世界中真实关节物体的移动操作问题
by pretraining the Adaptive learning allows the robot to keep learning fromself-practice data via online RL
为了实现高效学习,采用了一个结构化的分层动作空间。该空间包括一个固定的高级动作策略和可学习的低级控制参数。通过利用遥操作演示产生不同数据集进行行为克隆(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)
轨迹以开环方式执行,即在每个抓取原语之后跟随一组N个受限的移动操作原语
Trajectories are executed in an open-loop manner, a grasping primitive followed by asequence of N constrained mobile-manipulation primitives:
其中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个轨迹序列就能从少量样本中进行学习
给定初始观测图像,我们使用分类器来预测个离散参数序列的约束移动操作,并利用条件策略网络生成抓取原语的连续参数和个约束移动操作原语序列(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)
模仿学习旨在通过学习策略参数,以最大化专家动作的可能性(The imitation learning objective is to learn policy pa-rameters πθ,φ that maximize the likelihood of the expertactions)
具体而言,对于给定图像观测数据集和相应的动作,模仿学习目标是:
在线RL面临着一个核心挑战,即操作新的铰接对象,这些对象不符合行为克隆训练数据分布(The central challenge we face is operatingnew articulated objects that fall outside the behavior cloningtraining data distribution)。为了解决这一问题,我们使策略能够利用机器人收集的在线样本进行持续改进。换言之,我们致力于最大化策略下预期奖励总和
由于我们采用了前文所述的高度结构化的行为空间,因此我们可以使用相对简单的强化学习算法来优化该目标。具体而言,我们应用了REINFORCE目标(分别定义为公式3、公式4)
其中R代表轨迹执行结束时所获得的奖励。需要注意的是,我们只有单个时间步长过渡,并且所有动作都由观察到的图像决定,并以开环方式执行(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算法进行优化。在执行更新操作时,我们对在线和离线数据使用相同大小的批次给定从真实感相机获得的场景RGBD图像,使用现有的视觉模型[Detecting twenty-thousand classes using image-level supervision],[Segment anything]来获取门和手柄的掩码,并仅提供文本提示
在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 -):
且对这个空间施加的约束如下
对于控制部分,策略输出与要执行原始数据相关联索引及其相应运动低级参数。低级控制命令范围为-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)
在此项目中考虑铰接对象由三个刚性部分组成:基座部分、框架部分和手柄部分
为了在操作未见过的新型铰接物体时提供泛化效益,我们首先收集了一个离线演示数据集。我们在BC训练数据集中包括每个类别3个对象,并为每个对象收集10个演示轨迹,共产生120条轨迹记录
此外,在泛化实验中还从每个类别中选取2个测试对象。训练和测试对象在视觉外观方面具有显著差异,例如纹理、颜色;在物理动力学方面也存在差异,例如弹簧加载;以及驱动方式上可能出现顺时针或逆时针等差异性质量特征
如前所述,为了更好的操作BC训练领域之外的新对象,该团队开发了一个能够完全自主强化学习(RL)在线适应的系统
为了部署我们的系统,在线采样期间读取关节电流并设置一种基于此机制来确保安全性。如果机器人采样到一个导致关节电流达到阈值的动作,则会立即终止该事件并重置机器人,以防止手臂从潜在地对自身造成损害,并提供负奖励以阻止此行为
然而,在自主学习中,我们希望消除依赖人类参与的瓶颈。因此,故研究了使用大型视觉语言模型作为奖励来源的方法(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)
如果图像更接近指示门被打开,则给予+1奖励;否则给予0奖励(assign areward of +1 if the image is closer to the prompt indicatingthe door is open, and 0 in the other case)
如果违反安全规定,则给予-1奖励
此外,在获得+1奖励(即成功打开门)时,机器人有一个脚本程序来关闭门
// 待更
目前,尽管一些人形机器人在特定环境下表现良好,但一般存在泛化和适应新环境方面的问题
为了更好的解决这个问题,来自加州大学伯克利分校的研究人员通过此篇论文《Real-World Humanoid Locomotion with Reinforcement Learning》提出了运用Causal Transformer的方法,其通过自回归的方式从观察-动作历史信息中预测下一个动作,也就是模型的输出(预测的动作)只依赖于其输入(观察-动作历史信息)中的先前信息(看到这,我惊呆了,它竟然把动作预测干成了类似于:对NLP句子中下一个token的预测)
在自注意力计算中,模型会为每个token分配权重,这些权重反映了在预测当前动作时,序列中其他token的重要性
最终,Causal Transformer能够使机器人在复杂和动态的环境中,在没有未来信息的情况下做出适应性更强的决策,从而使得机器人可以在室内外各种环境中稳健行走,应对不同地形,甚至还能背个书包,提袋垃圾
顺带说两点 你可能意想不到的点
如下图所示
即,The policy learning includes two steps: teacher state policy training and student observation policy learning
他们将控制问题描述为马尔可夫决策过程MDP,为离散时间决策过程提供了一个数学框架
状态空间S、动作空间A
转移函数和标量奖励函数,分别确定在时间步长采取行动后从状态转移到状态的概率,以及对智能体行动质量的反馈
此时,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.)
接下来的目标是找到一个策略,用于在POMDP问题中进行实际部署
我们的策略将由“观察-动作”组成的长度为的历史轨迹作为输入,该历史轨迹表示为,并输出下一个动作
其中代表键的维度
我们利用多层感知机(MLPs)将每个观察-动作对嵌入到特征空间中去(We employ Multi-LayerPerceptrons (MLPs) to embed each observation-action pair into a feature space)
且通过限制自注意力机制只关注前面的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)
在强化学习中,智能体必须通过试错不断积累经验并更新策略以优化决策过程。然而,在复杂的高维环境中,获得有用的奖励信号可能需要大量交互和模拟步骤,因此直接使用RL来优化策略在观测空间中是缓慢且资源密集的。为了克服这些限制,他们采用了以下方法
值得注意的是,我们的方法不需要任何预先计算的轨迹或离线数据集,因为状态策略监督和强化学习监督都通过策略学习进行优化
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.
动作空间由16个驱动关节PD设定值和8个驱动腿关节预测PD增益组成。我们未训练任何控制四个脚趾电机的策略,而是使用固定PD增益将电机设置为默认位置。这种方法在基于模型控制中被广泛采用(55,56)。奖励函数受人类行走生物力学研究启发,并经过试错调整。在奖励设计中没有预先计算步态库
为了模拟机器人的闭链动力学,引入了“虚拟弹簧”模型。在模拟中随机化机器人的动态属性、控制参数和环境物理属性,以及添加噪声和延迟到观察中
从模拟到现实的转移方面,研究人员在机器人公司Agility Robotics提供的高保真度模拟器中验证策略,该模拟器准确模拟了Digit机器人的动态和物理属性
如果某些点与本文冲突,请以本文为准,本文更严谨、准确