导读:
具身智能为人与机器人的交互带来了更多便利,利用大语言模型(LLMs)的推理能力,能够将人类的语言指令逐步转换为机器人可以理解的指令信号。
然而,由于缺乏环境信息作为机器人理解环境和人类指令的上下文支持,基于LLMs的方法的泛化能力有限,同时语言由高层自然语言转换为底层机械指令的过程中往往存在信息损失。
随着感知决策一体化系统的提出,LLMs+感知的结构被证明能够很好的应对端到端的指令理解任务,本文作者基于MLLMs提出了端到端的人与机器人交互大模型,能够直接从人类指令端到端的生成机器人的动作,极大增强了人机交互能力。
具身智能(Embodied AI)为智能体(如机器人)提供了感知、推理和与物理世界及人类交互的能力。然而,机器人操作框架的泛化能力仍然是一个核心挑战。一方面,机器人策略难以泛化到具有多种属性和机制的物体上,例如具有不同物理约束和抓取偏好的物体。另一方面,适应不同机器人平台的学习框架也面临困难,这主要源于高层次场景理解与低层次操作和控制策略之间的差距。因此,如何创建一个具有推理能力的通用框架,将高层次语义理解映射到通用的机器人行为,成为一个重要问题。
利用大语言模型(LLMs)的推理能力,提出了逐步的自然语言计划供机器人执行是一种可行的方法,在2021~2023年间占据该领域的主导。然而,由于缺乏环境信息(例如物体状态和形状的视觉信息)作为上下文支持,难以在现实场景中进行决策。因此,它们依赖于低层次技能模型来将视觉观察和语言命令转化为低层次动作。然而,这些技能模型在泛化到新场景或不同机器人平台时仍然面临困难,需要精确调整动作序列以适应机器人的形态和执行器。
机器人操作的技能和低层次行为涉及精确的动作序列,这些序列包括接触点、抓取姿势、物理约束、路径点和运动轨迹。虽然一些之前的研究探索了抓取区域和接触点的估计,但它们主要专注于特定任务和物体。协调和泛化这些模块到复杂环境中的多物体交互任务仍然是一个重大挑战。
最近,多模态大语言模型(MLLMs)的快速发展表明,它们在场景理解、物体特性理解以及跨多种场景和物体的泛化能力上表现出了强大的能力。这暗示了通过建立与物理世界交互的连接,能够更高效地设计智能系统。此外,虽然MLLMs擅长高层次场景理解,机器人系统则专注于精确的轨迹规划和执行。因此,代码可以作为概念知识与机器人低层次行为之间的符号桥梁。这种连接有望将MLLMs的高级认知处理与机器人控制和规划的需求相结合,可能会带来更基础且跨平台的机器人系统。
基于以上观察,本文提出了一种用于机器人代码生成的大型视觉语言模型框架,名为RoboCodeX,作为MLLMs与机器人控制系统之间的接口,将高层次语义和物理偏好转化为针对机器人的低层次动作。通过以代码表示这些计划和偏好,可以实现跨不同形态机器人的共享和转移。具体来说,RoboCodeX能够理解多样的感知输入,如视觉、深度数据和人类指令,并采用树状思维结构,将高层次的人类指令分解为多个通过文本代码注释定义的对象中心操作单元。每个单元作为一个节点,进一步分解为以下几个关键部分:
●通过对环境中物体的详细3D空间分析生成目标姿态建议。
●利用视觉启发和3D几何信息(如关节物体的平移或旋转轴约束)预测物体物理特性,确保生成现实且可行的运动计划。
●利用对环境和任务目标的多模态理解预测偏好,选择最佳的抓取位置和接近方向。
●通过规划算法生成安全、优化且符合物理约束的运动轨迹。
为了增强RoboCodeX在代码中表达物理机器人偏好和行为的推理能力,本文还构建了一个多模态推理数据集用于预训练,并引入了迭代自我更新的方法进行监督微调。
本文的主要贡献如下:
●提出了RoboCodeX,一个具备树状思维推理能力的大型视觉语言模型,用于机器人代码生成。它预测物理约束、偏好排名和目标位置建议,作为高层次概念知识与低层次机器人行为之间的接口。
●提出了一个专门的多模态推理数据集,并通过迭代自我更新的方法进行监督微调,以增强RoboCodeX将语义和物理偏好转化为特定机器人动作的能力。
●大量实验表明,RoboCodeX在模拟和实际机器人系统中的表现达到最先进水平,在四种不同的操作任务中相比于GPT-4V提升了17%的成功率,并在具身导航任务中表现出色。
如图1 所示,该方法的目的是利用一个大模型直接将人类的人机交互指令转换为机器人的动作,实现人机交互的端到端学习框架。该系统的输入为人类的指令和机器人的初始状态,随后系统将会利用大模型中的Encoder将这两个初始输入进行编码,随后推送到统一的特征空间。随后大模型内部的网络会将该特征分为不同的对象类型(Object)来进行学习,对象类型(Object)是通过预训练的模型获取的,基本能够涵盖人类指令中涉及的机器人交互对象。第三步是依据这些对象类型,为每一个对象类型生成一个对应的操作计划,并生成对应的轨迹,如图中的"Code for Motion Planning"部分,最终将所有的Motion串联在一起,形成机器人的最终动作轨迹。下面笔者将细节介绍整体框架实现。
▲图1|RobocodeX框架©️【深蓝AI】编译
■2.1 问题描述和设定
作者将长期操作问题视为一个高级的自由格式的人类指令,如"清洁桌子"。观察包含来自三个深度摄像头视角(左、右、顶部)的RGBD数据。由于直接为长期高层次指令生成整个轨迹较为困难,作者通过MLLMs的视觉推理采用树状思维方法,将整个任务分解为多个以物体为中心的独立单元。
本文研究的核心问题是如何生成一组运动轨迹。作者将轨迹表示为一系列密集的末端执行器路径点,由操作空间控制器执行。针对每个子任务,作者将其描述为一个优化问题,通过解决该优化问题来获得机器人的运动轨迹序列,进而完成整体任务。
■2.2 多模态树状思维代码生成
作者提出了一个用于合成机器人行为的新框架,结合了多视角的3D感知、多模态代码推理和运动规划,用于执行复杂的实际任务。首先通过获取三个不同视角的RGBD帧来捕获观察结果,避免由于单一视角导致的遮挡问题,并提供全面的3D信息。随后,这些数据被融合为一个统一的3D空间表示(截断有符号距离场,TSDF)。
截断有符号距离场(Truncated Signed Distance Field, TSDF)是计算机视觉和3D重建领域中的一种常用表示方法,通常用于描述物体的三维几何形状。TSDF通过在三维空间中描述每个点与物体表面的相对距离,能够有效地表示物体的几何形状,同时截断不重要的远距离信息来优化计算效率。这种方法对于实时3D重建和机器人感知非常有用。来自三个视角的RGB图像与自然语言指令一起输入到RoboCodeX模型中。RoboCodeX采用树状思维架构,围绕语义解析、上下文定位和目标导向分解展开视觉推理,直接将视觉特征与物体的交互偏好和物理约束关联起来。
对于每个物体单元,生成运动轨迹的过程受到语言指令和偏好的影响,最终输出包括末端执行器的运动轨迹和离散的抓取动作指令,该过程的流程如图2所示,左侧即为多模态代码生成的主体部分,和段落介绍的内容一致,右侧即为生成的代码示例,可以看到生成的代码还包含了一些详细的注释,提升了整体的可解释性。
▲图2|多模态树状思维代码生成图示©️【深蓝AI】编译
■2.3 视觉语言模型设计
该模型采用了BLIP2的基本架构,包括视觉变换器(Vision Transformer)、Q-Former和语言模型。在此架构中,Q-Former的作用是通过压缩视觉模态中的令牌数量,减少需要处理的视觉信息规模,从而降低对GPU内存的需求。为了进一步提高模型在处理视觉信息时的效率,研究团队还设计了一个高效的视觉适配器,该适配器能够聚合来自视觉变换器不同阶段的特征,捕捉层次化的视觉信息。这一设计使得模型能够提取更有用、更具细节性的视觉信息,并与文本信息一起进行编码处理。经过压缩的视觉序列令牌与文本令牌相结合,作为输入一同传入语言模型,最终支持复杂任务的代码生成。这一集成多模态信息的机制,确保了模型在应对不同任务时具有高度的灵活性和有效性。
为了弥补当前多模态模型在复杂推理能力上的不足,研究团队开发了一个多样化的机器人多模态代码生成数据集。该数据集通过借助GPT-4生成任务描述及相应的编程代码,模拟出多种机器人任务场景,并在仿真环境中执行这些任务,以建立一个覆盖广泛、类型多样的数据集。这一数据集不仅涵盖了不同的任务类型和环境,还包括多样化的物体和交互方式,确保了模型在推理和执行过程中能够处理丰富多样的场景和挑战。
此外,研究团队设计了一个监督微调过程,专门用于进一步精炼模型在机器人代码生成任务中的表现。通过这一微调过程,模型可以不断调整和优化其生成的代码质量,从而在不同的任务和场景中表现出更高的成功率。研究团队通过反复验证和优化,确保模型在实际应用中具备可靠性和适应性,能够满足复杂的机器人操作需求。
RoboCodeX的实验通过设计多样化的任务和环境来验证其方法的有效性,其采用了非常独特且新颖的实验设计,和以往的实验设计有很大区别,因此笔者这里先简单介绍一下实验部分使用的评估指标,实验通过以下几个标准来评估RoboCodeX的有效性:
●任务完成率:评估机器人在不同任务(如抓取、放置、开关抽屉等)中的成功率。任务的成功与否是评估模型生成的代码是否能够正确执行的直接指标。
●零样本学习能力:通过在未经过额外训练的机器人平台上直接执行任务,验证该框架的零样本泛化能力,说明它能够根据预先学到的知识适应新环境和新任务。
●机器人轨迹规划与执行的准确性:通过轨迹生成与实际执行的比较,评估该方法是否能够在给定的约束条件下生成安全、优化的运动轨迹,确保避障和物体操作的稳定性。
●代码生成的质量:通过观察生成的机器人控制代码的执行效果,评估其在操作复杂任务中的效率和可行性。
■3.1 跨平台的通用性测试
实验中使用了两个不同的机器人平台:Franka Emika和UR5。这两个机器人手臂的硬件配置和控制策略有所不同,但RoboCodeX通过代码生成和多模态推理方法,在不需要额外训练的情况下,能够执行零样本的操作任务。这展示了该框架的跨平台适应性,说明该方法能够在不同硬件平台上保持较高的通用性和可移植性。这对评估框架在不同机器人上的扩展性和实用性是至关重要的。
▲图3|跨平台的通用性测试实验©️【深蓝AI】编译
■3.2 任务复杂性的评估
通过实验任务设计------如多阶段的抓取和放置任务、将物体放入抽屉的任务,RoboCodeX被要求处理多个物体的操作和场景中的复杂物体交互。尤其是这些任务不仅需要视觉感知,还涉及路径规划、运动控制和抓取等多种操作技能。通过这些多样化的任务测试,验证了该方法能够有效地处理复杂任务,并能生成适合不同任务和场景的高质量操作代码。
这些任务从操作的精细程度(如打开/关闭抽屉)到多物体交互(如多个物体的抓取和放置),全面展示了RoboCodeX在面对复杂环境时的行为生成能力。
▲图4|多阶段抓取实验©️【深蓝AI】编译
■3.3 仿真任务的泛化能力
在Gazebo仿真环境中,RoboCodeX被测试于42种不同类别的物体(来自YCB和Google Scanned物体数据集),这些物体的形状、大小和材质各异。通过对这些物体执行抓取和放置任务,验证了该方法在处理不同物体类别时的泛化能力。
同时,操作来自PartNet-Mobility数据集的柜子,包括不同视角下找到相同的物体进行操作,进一步展示了RoboCodeX在面临多样化操作任务时的适应能力。这一部分实验展示了该方法对实际环境中的不同物体和任务的广泛适用性。
▲图5|仿真实验©️【深蓝AI】编译
■3.4 视觉感知与多模态推理的结合
RoboCodeX的一个关键特点是将视觉信息和语言指令整合到任务执行中。通过在实验中使用RGBD摄像头捕捉不同视角的图像,并将其融合为3D场景表示(TSDF),RoboCodeX能够准确理解物体的几何形状、物理属性以及任务需求。
这种多模态推理在实际任务中的表现,证明了该方法能够有效将视觉感知和语言描述转换为实际的操作行为,如图6中,提示词为"帮助玩具坐在车上",这里的"坐"和"放"体现了玩具的不同姿态,机器人需要敏锐的区分这里的动词,并实现不同的抓取和放置,从图中来看最终玩具很好的"坐在"车上,而不是被"放在"车上,体现出了RoboCodeX的有益效果。
▲图6|视觉感知与多模态推理实验©️【深蓝AI】编译
本文提出了一种多模态代码生成框架,通过结合视觉与语言数据生成机器人执行代码,并提出了一种新型的树状思维方法来分解任务。此外,通过迭代微调与多模态数据集增强了模型的推理能力。通过涵盖真实世界机器人平台、仿真环境中的操作任务以及多模态信息处理的实验,全面验证了RoboCodeX框架的有效性。具体来说,实验展示了该方法在跨平台、任务复杂性、多样化物体操作及多模态信息处理中的优越表现,证明了该框架在具身智能应用中的实际应用潜力。